B.1 Markup and Structure

XML 1.0

Extensible Markup Language consists of basic rules for markup. W3C

Status

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

Description

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

Status

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

Description

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

Status

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

Description

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

Status

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/.

Description

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

Status

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

XML Schema Part 0: Primer

http://www.w3.org/TR/xmlschema-0/

XML Schema Part 1: Structures

http://www.w3.org/TR/xmlschema-1/

XML Schema Part 2: Datatypes

http://www.w3.org/TR/xmlschema-2/

Description

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.

RELAX NG

A simpler schema language.OASIS/ISO

Status

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/.

Description

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.

Schematron

An extremely flexible schema language.ISO

Status

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/.

Description

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.