XML started strong and has grown quite rapidly. It has proven itself a valuable technology, but it can be an intimidating one, when one considers all the moving parts that fall under the term "XML." This index of XML standards contains links to a series of articles that provide a summary of key XML technologies. You will also find recommendations of tutorials and other useful resources for evaluating and learning to use each technology.
The word standard is a bit slippery. Standards come in all forms, and multiple standards often compete in the same space. The practical approach is to define a standard as any specification that is significantly adopted by a diversity of vendors or is recommended by a respectable, vendor-neutral organization. This is, of course, a subjective criterion, but this material should give you enough of a start to be able to apply your own judgments on what XML technologies to use.
The many flavors of standards
Several organizations and informal groups of people have been involved in the process of making standards for XML users. This series provides links to most of these groups in the Resources sections of the individual cross reference pages, but the following explains some of the terms you'll find used to qualify standards in this article.
The World Wide Web Consortium (W3C) is an international consortium where over 400 member organizations as well as a full-time staff and the public work together to develop Web standards. The W3C formally issues Recommendations that tend to become de facto web standards, as exemplified by XML, HTML, PNG, CSS, XSLT, XML Schema, XForms, SOAP, WSDL, XQuery, and XML Signatures. A specification gains the status of W3C Recommendation only after a rigorous, public process. A working group publishes working draft versions of the specification to obtain public feedback during development. The last call working draft seeks final public comments, after which the specification becomes a Candidate Recommendation (a stable form presented for developers to create interoperable implementations) and then a Proposed Recommendation (ready for recommendation based on interoperable implementation reports; W3C vote pending).
International Organization for Standardization (ISO) is probably the most authoritative standards body in the world. Many of its standards carry some force of law in relevant industries.
Organization for the Advancement of Structured Information Standards (OASIS) has evolved in structure somewhat from the Standard Generalized Markup Language (SGML) days, but the work product is similar. The highest level of approval at OASIS is an OASIS Standard, representing approval after voting by the entire membership of OASIS. This is similar to a W3C Recommendation. The prior step is called a Committee Draft, which is approval of the spec by one technical committee (formerly called a Technical Resolution).
The Internet Engineering Task Force (IETF) is a model for an organization that thrives on the energy of the grass roots while trying to impose some measure of formal organization. Almost anyone with Internet access can submit an Internet Draft and propose it as a possible standard. A steering group reviews it and can recommend that it be published as a Request for Comment (RFC). RFCs can be marked as Standards Track RFCs or as outright Standard RFCs, but most publications that become RFCs are well regarded and often well implemented.
Finally, the XML community is celebrated for its activity in creating informal but important standards to fill gaps left by the big organizations. Simple API for XML (SAX), Resource Directory Description Language (RDDL), and EXSLT are some notable examples. OASIS has worked to be attractive as a venue for such standards, but there is still no shortage of people willing to start a mailing list thread with the goal of hammering out a de facto standard.
The following lists provide links to a series of brief summaries of each specification. For information on additional standards, see the XML Standards view.
Core XML standards
These technologies form the basis of what is expressed in an XML document:
- Canonical XML (c14n)
- XML Catalogs
- XML Information Set (Infoset)
- XML Namespaces
- RELAX NG
- Document Schema Definition Languages (DSDL)
- Uniform Resource Identifiers (URIs) and Internationalized Resource Identifiers (IRIs)
- W3C XML Schema (WXS)
- XML Inclusions (XInclude)
- XML Linking Language (XLink)
- XML Base
- Extensible Markup Language (XML)
- XML Path Language (XPath)
- XPointer Framework
XML processing standards
These standards relate to XML processing by developers:
- Cascading Style Sheets (CSS)
- Document Object Model (DOM)
- Remote Events for XML (REX)
- Simple API for XML (SAX)
- State Chart XML (SCXML)
- SQL with XML extensions (SQL/XML)
- XML Binding Language (XBL)
- XML Processing Model (XProc)
- Extensible Stylesheet Language Transformations (XSLT)
Key XML vocabularies
Like SGML before it, XML is a metalanguage: It is a syntactic basis for defining further languages. Those languages (such as HTML in the case of SGML, and XHTML in the case of XML) are the applications -- not to be confused with applications of programmer code (software applications), such as the Mozilla Firefox Web browser. Here is a selection of the most important XML applications (less precisely known as vocabularies):
- Atom Syndication Format
- Darwin Information Typing Architecture (DITA)
- Mathematical Markup Language (MathML)
- Open Document Format (ODF) for Office Applications (OpenDocument)
- Resource Description Framework (RDF)
- Synchronized Multimedia Integration Language (SMIL)
- Scalable Vector Graphics (SVG)
- Voice Extensible Markup Language (VoiceXML)
- XML Bookmark Exchange Language (XBEL)
- XQuery 1.0: An XML Query Language
- Extensible Stylesheet Language Formatting Objects (XSL-FO)