B.1 Markup and Structure

XML 1.0

Extensible Markup Language consists of basic rules for markup. W3C


XML 1.0 (second edition) became a Recommendation in October 2000. You can read the specification at http://www.w3.org/TR/REC-xml.


XML is a subset of SGML that is designed to be served, received, and processed on the Web in the way that is now possible with HTML. XML has the advantages of easy implementation and compatibility with both SGML and HTML.

XML 1.1

Update to XML for changes to Unicode. W3C


XML 1.1 became a Candidate Recommendation in October 2002. You can read the specification at http://www.w3.org/TR/xml11/.


XML updates the character tables and whitespace rules of XML 1.0 to reflect changes to the Unicode specification since XML 1.0 became a Recommendation.

Namespaces in XML

Namespaces are used to separate elements and attributes into different groups. W3C


Namespaces became a Recommendation in January 1999, and the specification is published at http://www.w3.org/TR/REC-xml-names/.


XML namespaces provide a simple method for qualifying element and attribute names used in XML documents by associating them with namespaces identified by URI references.

Namespaces in XML 1.1

Minor update to namespace rules. W3C


Namespaces in XML 1.1 became a Candidate Recommendation in December 2002, and the specification is published at http://www.w3.org/TR/xml-names11/.


The 1.1 specification cleans up rules for declaring namespaces by making a provision for undeclaring namespaces, making it possible to reduce the number of unused declarations that apply to a given document framework.

W3C XML Schema

The W3C XML Schema language defines object-like structures for XML documents. W3C


XML Schema became a W3C Recommendation in May 2001. The recommendation is published in three parts:

XML Schema Part 0: Primer


XML Schema Part 1: Structures


XML Schema Part 2: Datatypes



The XML Schema language is used to define documents in a way that is beyond the capabilities of DTDs. Schema uses valid XML to declare elements and attributes for structuring a document and also provides extensible facilities for defining datatypes of elements and attributes.


A simpler schema language.OASIS/ISO


RELAX NG became an OASIS Technical Committee Specification in December 2001. It is published at http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=relax-ng. RELAX NG is also part of the ISO Document Structure Description Language (DSDL). Information about that project can be found at http://www.dsdl.org/.


RELAX NG defines a schema language for describing XML document structures. RELAX NG has a mathematical basis similar to regular expressions, making it easy to process, as well as both an XML-based syntax and a human-friendly compact syntax. RELAX NG defines only structural components; for datatyping, RELAX NG schemas typically depend on W3C XML Schema.


An extremely flexible schema language.ISO


Schematron is an ongoing community project, and its most recent definition is published at http://www.ascc.net/xml/resource/schematron/. Schematron is also part of the ISO Document Structure Description Language (DSDL). Information about that project can be found at http://www.dsdl.org/.


Schematron uses tools from XSLT and XPath to define an extremely flexible set of tests for document structures. Schematron offers precision and customizable error reporting, though that precision can sometimes lead to very verbose schemas. As a result, Schematron is typically used to supplement RELAX NG or W3C XML Schema rather than to replace them.