XML Family of Languages

Overview and Classification of W3C Specifications

Airi Salminen
03 March 2011

This version: http://users.jyu.fi/~airi/xmlfamily-20110303.html
Latest version: http://users.jyu.fi/~airi/xmlfamily.html
Previous version: http://users.jyu.fi/~airi/xmlfamily-20100930.html
First version: http://users.jyu.fi/~airi/xmlfamily-20001109.html

Table of Contents
 
1. Introduction
2. Classification of the Languages
3. XML
4. XML Accessories
5. XML Transducers
6. XML Applications
    6.1 Non-textual Data
    6.2 Web Publishing
    6.3 Metadata and Semantic Web 
    6.4 Web Communication and Services
About this report


1. Introduction

XML is a markup language for presenting information as structured documents. The language has been developed from SGML (Standard Generalized Markup Language, ISO 8879) as an activity of the World Wide Web Consortium (W3C). Within W3C there is going on a number of other XML-related language development activities where the intent is to specify syntactic and semantic rules either for some specific kind of XML data or for data to be used together with XML data for a specific purpose. Together with XML, we call this group of languages the XML family of languages. The purpose of this report is to give a concise overview of the languages in the family and the current state of their development at W3C. The document introduces a classification for the languages and also serves as a portal to the specifications of the languages.

Results of W3C development activities are published as W3C Technical Reports. The process of developing technical reports is described in the W3C Process Document. This overview is based on the analysis of current technical reports of four types: Working Drafts, Candidate Recommendations, Proposed Recommendations, and Recommendations. The four types differ in their maturity from lower to higher:

After a Recommendation has been published there are basically three ways how the ideas in the report proceed. One pos­sibility is that the Recommendation remains a Recommendation indefinitely. Other­wise modification of the recommendation is started or W3C rescinds the entire Rec­ommendation. Rescinding may take place, for example, in a case the Recommenda­tion becomes outdated so that its modification is not considered useful. After deciding about the rescinding, W3C publishes a technical report labelled as Rescinded Recom­mendation. So far, no Rescinded Recommendations have been published. The modifications again are distin­guished according to the type of change needed. If new features are planned, then full process of advancing the technical re­port to a Recommendation is started. If the modi­fications are not minor corrections, affecting the conformance of the report to the im­plementations of the solutions de­scribed in the report, the modification process may involve a technical report in the maturity level Proposed Edited Recommendation (PER). At this step, the working group re­sponsible for the Recommendation seeks confirmation for the proposed modifications to the Recommendation from other W3C working groups and from the public.

2. Classification of the Languages

Considering the purpose of the XML-related languages developed at W3C, four main categories can be identified. The first category consists of the different versions of XML itself. The other three categories are called in this classification XML Accessories, XML Transducers, and XML Applications:

XML Accessories are languages which are intended for wide use to extend the capabilities specified in XML. Examples of XML accessories are the XML Schema language extending the definition capability of XML DTDs and the XML Names extending the naming mechanism to allow in a single XML document element and attribute names that are defined for and used by multiple software modules.

XML Transduces are languages which are intended for transducing some input XML data into some output form. Examples of XML transducers are the style sheet languages CSS and XSL intended to produce an external presentation from some XML data, and XSLT intended for transforming XML documents into other XML documents. A transducer language is associated with some kind of processing model which defines the way output is derived from input.

XML Applications are languages which define constraints for a class of XML data for some special application area, often by means of a DTD. Examples of XML applications are MathML defined for mathematical data and XML-Signature intended for digital signatures. XML accessories and XML transducers are often XML-based languages and thus also XML applications. In this report a language is however classified as an XML application only if it has not been included in the accessories or transducers.

The languages in the XML applications category can be further divided into four subcategories according to the application area:

The following sections introduce the languages according to the classification given above. The sections include tables listing the specification documents and those W3C Technical Reports which are closely related to the specifications (e.g. requirements and use cases). In the tables there are links to the specifications and other reports as they were at the date of this report. In cases were the target of a link in this overview document would be outdated, a link to the latest version of the W3C document is provided in the target. The tables also show the current phase of the specification process (WD = Working Draft, CR = Candidate Recommendation, PR = Proposed Recommendation, R = Recommendation, or PER = proposed Edited Recommendation). It has to be noticed that all specifications described by Working Drafts (WD) are work in progress and any changes in them may happen.

[IntroductionXMLXML AccessoriesXML TransducersXML Applications]

3. XML

The XML development started in 1996. The use of HTML (HyperText Markup Language) as the publishing language of the Internet had quickly expanded in the begin of 1990’s. The capabilities of the HTML to encode information were however very limited and there was a need to find an agreement about a generic markup language straightforwardly usable over the Internet. SGML (Standard Generalized Markup Language), published as an ISO standard in 1986, had been widely accepted as a generic markup language for digital documents, but the large collection of rules in SGML and the number of different optional features caused problems in the implementation and utilization of SGML. The goal in the XML development was to restrict the rules of SGML and thus to ease the writing of programs for processing documents.

The first W3C Recommendation for XML 1.0 was published in February 1998. The later editions of the specification incorporate the changes dictated by the errata documents, neither of them specifies a new version of XML. The new versio XML 1.1 was published as a recommendation in February 2004. The major changes in the new version concern the Unicode character code and its use in XML names. Versioning of the Unicode specification has caused problems in character encoding of XML 1.0 names since the characters in XML 1.0 names were restricted to characters in Unicode 2. In XML 1.1 the syntax of names is specified to allow future changes in Unicode. Table 1 includes links to the different XML specifications and also to those W3C documents which describe an abstract model for XML documents.

Table 1. Specifications for XML
Document, Phase (R, PR, CR, WD), Month, Year
- Extensible Markup Language (XML) 1.0, R, Feb. 1998
- Extensible Markup Language (XML) 1.0 (Second Edition), R, Oct. 2000
- Extensible Markup Language (XML) 1.0 (Third Edition), R, Feb. 2004
- Extensible Markup Language (XML) 1.0 (Fourth Edition), R, Aug. 2006
- Extensible Markup Language (XML) 1.0 (Fifth Edition), R, Nov. 2008
- Extensible Markup Language (XML) 1.1 R, Feb. 2004
- Extensible Markup Language (XML) 1.1 (Second Edition), R, Aug. 2006
- XML Blueberry Requirements, WD, Sept. 2001

Abstract models for XML documents:
- XML Information Set (Second Edition), R, Feb. 2004
- XML Path Language (XPath) Version 1.0, R, Nov. 1999
- Document Object Model (DOM) Level 1 Specification Version 1.0, R, Oct. 1998
- Document Object Model (DOM) Level 2 Core Specification Version 1.0, R, Nov. 2000
- Document Object Model (DOM) Level 3 Core Specification Version 1.0, R, April 2004
- XQuery 1.0 and XPath 2.0 Data Model (XDM), R, Jan. 2007

The XML specifications describe the concrete syntax of XML documents, and partially the behaviour of an XML processor, i.e., a software module used to read XML documents and to provide access to their content and structure. Slightly different abstract models for information available in XML documents have been introduced at W3C:

All of the four models describe an XML document as a tree structure but there are differences in the trees and in the information available in the trees.

XML is intended to be universal format for data on the Web. To support references to Internet resources, the use of different character sets, and the use of different natural languages of the world, the XML specification uses a set of specifications introduced by other development authorities than W3C. These specifications are listed in Table 2. Unicode has replaced several different character encoding systems by a uniform encoding where a unique number is provided for every character, to be used in different platforms, by different programs, and for different languages of the world. In principle, it allows data to be transported through different systems without corruption. In practice, however, the lack of Unicode support in software as well as evolution of the Unicode has caused problems in character encoding of XML 1.0 documents. To avoid the problems in the future, XML 1.1 was developed to allow future changes in Unicode. For more information about the Unicode see the Unicode Home Page. The central concepts related to characters and their encoding are defined in the W3C Recommendation titled Character Model for the World Wide Web 1.0: Fundamentals. The purpose of the character model is to support the transmittal and processing of the characters used around the world in a well-defined and well-understood way.

Table 2. The Basis for XML
Specification
Purpose
Developing Organization, Year
Unicode
Unicode3
ISO/IEC 10646
ISO/IEC 10646-2000
Describing characters in different natural languages of the world
The Unicode Consortium, 1996
The Unicode Consortium, 2000
ISO, 1993 + amendments
ISO, 2000
IANA-CHARSETS
Denoting character sets
IANA
IETF RFC 1766
ISO 639
ISO 3166
Denoting languages and countries
IETF, 1995
ISO, 1988
ISO, 1997
IETF RFC 2396
IETF RFC 2732
IETF 3987
Identifying Internet resources
IETF, 1998
IETF, 1999
IETF, 2005
IANA = Internet Assigned Numbers Authority
ISO = International Organization for Standardization
IETF = Internet Engineering Task Force

[Introduction XMLXML AccessoriesXML TransducersXML Applications]

4. XML Accessories

XML accessories are languages which are intended for wide use to extend the capabilities specified in XML. Table 3 lists the current XML accessories. In Table 3, as well as in the subsequent tables, the languages that have matured to the Recommendation status are listed in the chronological order of the first Recommendation.

XML Names is intended to facilitate the use of qualified element and attribute names in XML documents, in order to prevent name collisions. A qualified name consists of two parts: a namespace name as a prefix and a local part. The namespace name is identified by a URI reference. XML Names is used as an extension of XML in most other specifications of the XML family. A specification related to names is the specification for the attribute xml:id as an ID type attribute in XML specifications.  XML Schema extends the definition capabilities of XML, in particular, it allows the use of a variety of data types, e.g. boolean, float, int, date, and their validation in conforming software. XML Schema is intended to constrain XML documents but the schemas themselves are not necessarily written in XML. There is however an XML notation for the schema language. Three levels of conformance for schema aware processors are defined: minimally conforming processors, conformance to the XML representation of schemas, and fully conforming processors.

XPath defines how to address parts in XML documents. In support of this primary purpose it also provides basic facilities for manipulation of strings, numbers, and booleans. The development of the second version of XPath has started. XPointer defines fragment identifiers for URI references. It is built on top of the XPath language. XPointer extends XPath to allow addressing points and ranges as well as whole nodes, locating information by string matching, and using addressing expressions in URI references as fragment identifiers. The language has been specified in four separate documents: a basic framework, XPointer element() for addressing elements by their position in the element tree, XPointer xmlns() for binding namespace prefixes to namespace name, and XPointer xpointer() for full XPath addressing.

XLink is intended for description and creation of links between Internet resources. The links can be simple unidirectional links similar to HTML, as well as relationships among more than two resources. Links can also reside in a location separate from the linked resources, and they can be associated with metadata. XML Base provides a base URI service for XLink. The purpose of the service is to resolve relative URIs in links to external resources like images, applets, form-processing programs, and style sheets. XBL (XML Binding Language) provides a mechanism to attach bindings to elements. A binding defines behaviour that can be applied to an element so as to augment its presentation. Internationalization Tag Set (ITS) is defined to be used with schemas to support the internationalization and localization of schemas and documents. In the specification the implementation is provided to three schema languages: XML DTD, XML Schema, and RELAX NG.

Table 3. XML Accessories
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
XML Names
Qualifying element and attribute names
- Namespaces in XML 1.0 (Third Edition), R, Dec. 2009
- Namesapaces in XML 1.1 (Second Edition), R, Aug. 2006  
- Namesapaces in XML 1.1, R, Feb. 2004
- Namesapaces in XML 1.0 (Second Edition), R, Aug. 2006
 - Namespaces in XML, R, Jan. 1999

- Namespaces in XML 1.1 Requirements, WD, April 2002
xml-stylesheet processing instruction
Associating style sheets with an XML document
- Associating Style Sheets with XML documents Version 1.0 (Second Edition), R, Oct. 2010
- Associating Style Sheets with XML documents Version 1.0, R, June 1999
XPath
Addressing parts of an XML document
- XML Path Language (XPath) 2.0 (Second Edition), R, Dec.  2010
- XML Path Language (XPath) Version 1.0, R, Nov. 1999

- XML Path Language (XPath) 2.1, WD, Dec. 2009
- XPath and XQuery Functions and Operators 1.1, WD, Dec. 2009
XML Schema
Constraining a class of XML documents
- XML Schema Part 0: Primer Second Edition, R, Oct. 2004 (non-normative decription)
- XML Schema Part 1: Structures Second Edition, R, Oct. 2004
- XML Schema Part 2: Datatypes Second Edition, R, Oct. 2004
- XML Schema Part 0: Primer, R, May 2001 
- XML Schema Part 1: Structures, R, May 2001
- XML Schema Part 2: Datatypes, R, May 2001

- W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures, WD, Dec. 2009
- W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes, WD, Dec. 2009
- W3C XML Schema Definition Language (XSD): Component Designators, CR, Jan. 2010
- Guide to Versioning XML Languages using XML Schema 1.1, WD, July 2007
XLink
To create and describe links
- XML Linking Language (XLink) Version 1.1. R, May 2010
- XML Linking Language (XLink) Version 1.0, R, June 2001
XML Base
A base URI service for XLink
- XML Base (Second Edition), R, Jan. 2009
- XML Base, R, June 2001
XPointer
Fragment identifiers for URI
references
- XPointer Framework, R, March 2003
- XPointer element() Scheme, R, March 2003
- XPointer xmlns() Scheme, R, March 2003
xml:id
meaning of the attribute xml:id in XML documents
xml:id Version 1.0, R, Sept. 2005
ITS
Internationalization and localization of content
- Internationalization Tag Set (ITS) Version 1.0, R, April 2007
Entities for Characters
Entity definitions for characters
- XML Entity Definitions for Characters, R, April 2010
XBL
Binding language to define behaviour applied to XML elements
- XML Binding Language (XBL) 2.0, CR, March 2007
- XBL 2.0 Primer: An Introduction for Developers, WD, July 2007
Entity definitions for characters
Defining names so that to each is assigned a Unicode character or sequence of characters
- XML Entity Definitions for Characters, PR, Feb. 2010
[Introduction XMLXML AccessoriesXML TransducersXML Applications]

5. XML Transducers

The XML transducer languages are intended for transducing some input XML data into some output form. Table 4 lists the XML transducer languages. They include languages for rendering (CSS and XSL), transformation (XSLT), canonicalization (Canonical XML), fragment interchange (XML Fragment Interchange), merging (XInclude), querying (XQuery), content selection (DISelect), optimization (EXI), and pipelining (XProc).

CSS is a language for specifying style sheets for any structured documents. In developing CSS2 XML as a notation for structured documents was taken especially into account. CSS Mobile Profiles specifies a subset of CSS2 to be used for mobile devices. The goal in CSS3 is to create a modularized CSS specification. XSL is a style sheet language especially designed for XML documents. It uses XML syntax for style sheets. XSL contains the transformation language XSLT as its component. XSLT can be used also independently of XSL to describe transformations of XML documents.

Canonical XML defines a process to create a specified physical representation, a canonical form, to an XML document or a document subset. The process is called canonicalization. XML Fragment Interchange language includes capabilities to specify a part of a whole XML document as a fragment to be sent to a receiver. XInclude is a language for specifying merging of a set of XML documents represented as Infosets to a new Infoset.

XQuery is the W3C language for querying collections of XML data both locally and on the Web, be it physically stored in XML or viewed as XML via middleware. XQuery is based on an earlier introduced XML query language called Quilt, which in turn is built by pulling together features of several other XML query languages as well as features of the relational query language SQL and the object-oriented query language OQL. XQuery is a functional language and the input and output of a query is an ordered hierarchy of nodes, as described in the XQuery 1.0 and XPath 2.0 Data Model. The semantics of the various types of XQuery expressions are described informally in the XQuery 1.0 specification document. More formally the semantics is described in the XQuery 1.0 and XPath 2.0 Formal Semantics document. The XML Query Use Cases document describes important use cases for an XML query language. Each of the cases is focused on specific application area, and contains a Document Type Definition (DTD), example input data, a set of queries that might be applied to the input data, the formulazion of the queries in XQuery, and the expected result for each of the queries.

Table 4. XML Transducers
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
CSS
Rendering
- Cascading Style Sheets, level 2 CSS2 Specification, R, May 1998 (revised April 2008), not maintained any more

- CSS Writing Modes Module Level 3, WD, Feb. 2011
- Cascading Style Sheets (CSS) Snapshot 2007, WD, July 2010
- Media Queries, CR, July 2010
- The 'view-mode' Media Feature, CR, June 2010
- CSS Backgrounds and Borders Module Level 3, CR, Feb. 2011
- CSS Generated Content for Paged Media Module, WD, June 2010
- CSS Template Layout Module, WD, April 2010
- CSS Style Attributes, CR, Oct. 2010
- Selectors level 3, PR, Dec. 2009
- CSS Transitions Module Level 3, WD, Dec. 2009
- CSS 2D Transforms Module Level 3, WD, Dec. 2009
- CSS Multi-column Layout Module, CR, Dec. 2009
- Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification, WD, Dec. 2010
- CSS Fonts Module Level 3, WD, June 2009
- Flexible Box Layout Module, WD, July 2009
- CSS Image Values and Replaced Content Module Level 3, WD, Feb. 2011
- CSS Animations Module Level 3, WD, March 2009
- CSS 3D Transforms Module Level 3, WD, March 2009
- CSS Marquee Module Level 3, CR, Dec. 2008
 - CSS Mobile Profile 2.0, CR, Dec. 2008
- CSS Color Module Level 3, PR, Oct. 2010
- Cascading Style Sheets (CSS) Snapshot 2007, WD, May 2008
- CSS Namespaces Module, CR, May 2008
- Behavioral Extensions to CSS, WD, Oct. 2007
- CSS Grid Positioning Module Level 3, WD, Sept. 2007
- CSS3 module: Generated Content for Paged Media, WD, May 2007
- CSS Text Level 3, WD, Feb. 2011
- CSS Print Profile, WD, Oct. 2006
- CSS3 module: Paged Media, WD, Oct. 2006
- CSS3 Values and Units, WD, Sept. 2006
- CSS3 module: Cascading and inheritance, WD, Dec. 2005
- CSS Speech Module, WD, Dec. 2004
- CSS3 Basic User Interface Module, CR, May 2004
- CSS3 Hyperlink Presentation Module, WD, Feb. 2004
- The CSS ‘Reader’ Media Type, WD, Feb. 2004
- CSS3 module: Syntax, WD, August 2003
- CSS3 module: Presentation Levels, WD, August 2003
- CSS TV Profile 1.0, CR, May 2003
- CSS3 Ruby Module, CR, May 2003
- CSS3 Generated and Replaced Content Module, WD, May 2003
- CSS3 module: Lists, WD, Nov. 2002
- CSS3 module: line, WD, May 2002
- Introduction to CSS3, WD, May 2001
XSLT
Transformation
- XSL Transformations (XSLT) Version 2.0, R, Jan. 2007
- XSL Transformations (XSLT) Version 1.0, R, Nov. 1999

 - Requirements and Use Cases for XSLT 2.1, WD, June 2010
 - XSL Transformations (XSLT) Version 2.1, WD, May 2010
 - XSLT and XQuery Serialization 3.0, WD, Dec. 2010
Canonical XML
Canonicalization
- Canonical XML Version 1.1, R, May 2008
- Canonical XML Version 1.0, R, March 2001
- Exclusive XML Canonicalization Version 1.0, R, July 2002

- Canonical XML Version 2.0, WD, Aug. 2010
- XML Security 2.0 Requirements and Design Considerations, WD, Feb. 2010
- XML Security 1.1 Requirements and Design Considerations, WD, Feb. 2010
XSL
Rendering
- Extensible Stylesheet Languages (XSL) Version 1.1, R, Dec. 2006
- Extensible Stylesheet Language (XSL) Version 1.0, R, Oct. 2001

- Design Notes for Extensible Stylesheet Language (XSL) 2.0, WD, Feb. 2010
- Extensible Stylesheet Language (XSL) Requirements Version 2.0, WD, March 2008
XInclude
Merging
XML Inclusions (XInclude) Version 1.0 (Second Edition), R, Nov. 2006
XQuery
Querying
- XQuery 1.0: An XML Query Language (Second Edition), R, Dec. 2010
- XQuery 1.0 and XPath 2.0 Data Model (XDM) (Second Edition), R, Dec. 2010
- XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition), R, Dec. 2010
- XQuery 1.0 and XPath 2.0 Formal Semantics, (Second Edition), R, Dec. 2010
- XML Syntax for XQuery 1.0 (XQueryX), (Second Edition), R, Dec. 2010
- XQuery 1.0: An XML Query Language, R, Jan. 2007
- XQuery 1.0 and XPath 2.0 Data Model (XDM), R, Jan. 2007
- XQuery 1.0 and XPath 2.0 Functions and Operators, R, Jan. 2007
- XQuery 1.0 and XPath 2.0 Formal Semantics, R, Jan. 2007
- XML Syntax for XQuery 1.0 (XQueryX), R, Jan. 2007
- XSLT 2.0 and XQuery 1.0 Serialization, R, Jan.  2007

- XQuery Scripting Extension 1.0, WD, April 2010
- XQuery and XPath Full Text 1.0, PR, Jan. 2011
- XQuery 1.1: An XML Query Language, WD, Dec. 2009
- XQuery and XPath Data Model 1.1, WD, Dec. 2009
- XML Query (XQuery) 1.1 Requirements, WD, Dec. 2009
- XQueryX 1.1, WD, Dec. 2009
- XQuery Update Facility,PR, Jan. 2011
- XQuery 1.1 Use Cases, WD, Dec. 2008
- XQuery Scripting Extension 1.0 Use Cases, WD, Dec. 2008
- XQuery Scripting Extension 1.0 Requirements, WD, March 2007
EXI
Optimization of XML information
- Efficient XML Interchange (EXI) Format 1.0, PR, Jan. 2011
- Efficient XML Interchange (EXI) Primer, WD, Dec. 2009
- Efficient XML Interchange Evaluation, WD, April 2009
- Efficient XML Interchange (EXI) Impacts, WD, Sept. 2008
- Efficient XML Interchange (EXI) Best Practices, WD, Dec. 2007
- Efficient XML Interchange Measurements Note, WD, July 2007
XProc
To describe operations to be performed on XML documents
XProc: An XML Pipeline Language, R, May 2010
XML Fragment Interchange
Interchanging fragments
XML Fragment Interchange, CR, Feb. 2001

[Introduction XMLXML AccessoriesXML TransducersXML Applications]

6. XML Applications

The languages intended for XML documents on some specific application areas are divided into four subcategories and the links to the specifications are correspondingly provided in four tables. The first subcategory (Table 5) consists of languages intended for non-textual forms of data, e.g., mathematical data, multimedia data, animation, vector graphics, ruby, and voice. The second subcategory (Table 6) consists of the languages intended for Web publishing, to replace HTML. The third subcategory (Table 7) includes languages to describe metadata and in particular, languages for the Semantic Web. Finally, the fourth subcategory (Table 8) consists of the XML applications related to Web communication and services.

6.1 Non-textual Data

Table 5 shows the XML applications for non-textual forms of data. MathML is a language for describing mathematical notation. The goal of MathML is to eable encoding mathematical material for the Web. SMIL is a language for integrating a set of independent multimedia objects into a syncronized multimedia presentation. It can be used to describe temporal behaviour, layout of the presentation on the screen, and links between media objects. The second version of SMIL supports the reuse of SMIL syntax and semantics in other XML-based languages. SMIL Animation defines an animation framework for XML documents. It is based upon the SMIL 1.0 timing model, with some extensions. SVG is a language for describing two-dimensional vector and mixed vector/raster graphics in XML. The Ruby Annotation is a markup language for ruby, short runs of text alongside the base text, typically used in East Asian documents to indicate pronunciation or to provide a short annotation. To enable the use of speech on the Web and the access to the Web using spoken interaction W3C is developing a special markup language called VoiceXML. The latest languages in this class are EMMA and InkML. EMMA is a markup language intended for describing the interpretation of user input, for example, transcription of  raw signal derived from a speech or pen input into words. InkML is a markup language to represent ink entered with an electronic pen or stylus. The language allows the input and processing of handwriting, gestures, scetches, music, and other notational languages in Web-based applications.

Table 5. XML Applications for Non-Textual Forms of Data
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
SMIL
Multimedia documents
- Synchronized Multimedia Integration Language (SMIL 3.0) , R, Dec. 2008
- Syncronized Multimedia Integration Language (SMIL 2.1), R, Dec. 2005
- Synchronized Multimedia Integration Language (SMIL 2.0) Specification, R, August 2001
- Synchronized Multimedia Integration Language (SMIL) 1.0 Specification, R, June 1998

- Use Cases and Requirements for Ontology and API for Media Object 1.0, WD, Jan. 2010
- Use cases and requirements for Media Fragments, WD, Dec. 2009
- Media Fragments URI 1.0, WD, Dec. 2009
- SMIL Timesheets 1.0, WD, Jan. 2008
MathML
Mathematical notation
- Mathematical Markup Language (MathML) Version 3.0, R, Oct. 2010
- Mathematical Markup Language (MathML)
Version 2.0, R, Feb. 2001
- Mathematical Markup Language (MathML) Version 2.0 (Second Edition), R, Oct. 2003
- Mathematical Markup Language (MathML™) 1.01 Specification, R, July 1999

- A MathML for CSS profile, PR, Aug. 2010
Ruby Annotation
Markup for ruby
- Ruby Annotation, R, May 2001 (Markup errors corrected June 2008)
SMIL Animation
Animation
SMIL Animation, R, Sept. 2001
SVG
Vector graphics
- Scalable Vector Graphics (SVG) Tiny 1.2 Specification, R, Dec. 2008
- Scalable Vector Graphics (SVG) 1.1 Specification, R, Jan. 2003
- Mobile SVG Profiles: SVG Tiny and SVG Basic, R, Jan. 2003, edited in place June 2009
- Scalable Vector Graphics (SVG) 1.0 Specification, R, Sept. 2001

- Scalable Vector Graphics (SVG) 1.1 (Second Edition), WD, June 2010
- SVG Color 1.2, Part 1: Primer, WD, Oct. 2009
- SVG Color 1.2, Part 2: Language, WD, Oct. 2009
- SVG Parameters 1.0, Part 1: Primer, WD, June 2009
- SVG Parameters 1.0, Part 2: Language, WD, June 2009
- SVG Compositing Specification, WD, April 2009
- SVG Transforms 1.0, Part 2: Language, WD, March 2009
- SVG Print 1.2, Part 1: Primer, WD, Dec. 2007
- SVG Print 1.2, Part 2: Language, WD, Dec. 2007
- SVG Filters 1.2, Part 1: Primer, WD, May 2007
- SVG Filters 1.2, Part 2: Language, WD, May 2007
- SVG Filter Requirements, WD, May 2007
- SVG’s XML Binding Language (sXBL), WD, Sept. 2005
- Scalable Vector Graphics (SVG) Full 1.2 Specification, WD, April 2005
- SVGT 1.2 Requirements, WD, Aug. 2006
- SVG 1.1/2.0 Requirements, WD, April 2002
- SVG Mobile Requirements, WD, August 2001
VoiceXML
CCXML
SSML
Voice markup and telephony call control; to enable access to the Web using spoken interaction
- Speech Synthesis Markup Language (SSML) Version 1.1, R, Sept. 2010
- Pronunciation Lexicon Specification (PLS) Version 1.0, R, Oct. 2008
- Voice Extensible Markup Language (VoiceXML) 2.1, R, June 2007
- Speech Synthesis Markup Language (SSML) Version 1.0, R, Sept. 2004
- Semantic Interpretation for Speech Recognition (SISR) Version 1.0, R, April 2007
- Voice Extensible Markup Language (VoiceXML) Version 2.0, R, March 2004
- Speech Recognition Grammar Specification Version 1.0, R, March 2004

- Voice Extensible Markup Language (VoiceXML) 3.0, WD, Aug. 2010
- State Chart XML (SCXML): State Machine Notation for Control Abstraction 1.0, WD, Oct. 2009
- Voice Extensible Markup Language (VoiceXML) 3.0 Requirements, WD, Aug. 2008
- Speech Synthesis Markup Language Version 1.1 Requirements, WD, June 2007
- Voice Browser Call Control: CCXML Version 1.0, CR, April 2010
- Introduction and Overview of W3C Speech Interface Framework, WD, Dec. 2000
EMMA
Multimodal annotation markup language; to enable access to the Web by using multi-modal interaction
- EMMA: Extensible MultiModal Annotation markup language, R, Feb. 2009

- Multimodal Architecture and Interfaces, WD, Jan. 2011
InkML
Ink Markup Language
- Ink Markup Language (InkML), CR, Jan. 2011
TTML
Textual information that is associated with timing information
- Timed Text Markup Language (TTML) 1.0, R, Nov. 2010
EmotionML
To describe human emotions
- Emotion Markup Language (EmotionML) 1.0, WD, July 2010

6.2 Web Publishing

Table 6 lists the languages for the replacement of HTML, to allow Web publishing using XML. XHMTL is a reformulation of HTML 4 in XML 1.0. The XHMTL specification is associated with a set of other specifications supporting the modularized use of XHMTL. XForms is a language to support the use of forms on Web pages.

Table 6. XML Applications for Web Publishing
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
XHTML
Reformulation of HTML 4.0 in XML
- XHTML™ Basic 1.1 - Second Edition, R, Nov. 2010
- XHTML™ 1.1 - Module-based XHTML – Second Edition, R, Nov. 2010
- XHTML™  Modularization 1.1 - Second Edition, R, July 2010
- RDFa in XHTML: Syntax and Processing, A collection of attributes and processing rules for extending XHTML to support RDF, R, Oct. 2008
- XHTML™ 1.0: The Extensible HyperText Markup Language (Second Edition), A Reformulation of HTML 4 in XML 1.0,
R, Jan. 2000, revised 1 August 2002
- XHTML™ 1.1 - Module-based XHTML, R, May 2001
- Modularization of XHTML™, R, April 2001
- XHTML™ Basic, R, Dec. 2000
 - XHTML™ 1.0: The Extensible HyperText Markup Language, R, Jan. 1999

- Polyglot Markup: HTML-Compatible XHTML Documents, WD, June 2010
- XHTML+RDFa 1.1, Support for RDF via XHTML Modularization, WD, Nov. 2010
- HTML+RDFa 1.1, WD, Jan. 2011
- Role Attribute 1.0, WD, Jan. 2011
- RDFa Use Cases: Scenarios for Embedding RDF in HTML, WD, March 2007 
- Authoring Techniques for XHTML & HTML Internationalization: Characters and Encodings 1.0, WD, May 2004
XML Events
To represent asynchronous occurrences, such as mouse clicks, in XHTML or in other XML markup
- XML Events, An Events Syntax for XML, R, Oct. 2003
XForms
Web forms
- XForms 1.1, R, Oct. 2009
- XForms 1.0 (Third Edition), R, Oct. 2007
 - XForms 1.0 (Second Edition), R, March 2006
- XForms 1.0, R, Oct. 2003

- XForms for HTML, WD, Dec. 2008
- XForms 1.0 Basic Profile, CR, Oct. 2003
- XForms Requirements, WD, April 2001
XHTML-Print
Simple XHTML suitable for printing from mobile devices as well as for display
- XHTML-Print - Second Edition, R, Nov. 2010
- XHTML-Print, R, Sep. 2006

6.3 Metadata and Semantic Web

Metadata is necessary to manage the data resources of the Web. The majority of the standards developed by W3C for metadata support adding semantic metadata to the Web and thus transforming the Web towards Semantic Web . Table 7 shows the languages important for the Semantic Web. The major idea in the languages is to standardize rules for adding semantic metadata to the Web. RDF is a general model for the metadata describing Web resources (or resources in general). The concrete syntax of RDF is given by XML and requires also the XML namespace facility. A special query language called SPARQL has been developed for querying RDF data. SPARQL is not listed as a language of its own in the table because it does not have an XML-based syntax and thus in not an XML application. Links to the SPARQL specifications have been listed on the context of RDF in the table. The RDF Schema language allows the use of RDF to describe RDF vocabularies, and especially to provide information about the interpretation of the statements given in an RDF data model. Markup rules called GRDDL have been developed for declaring that an XML document includes RDF compatible data. OWL is a semantic markup language for publishing and sharing ontologies on the Web. It is derived from the DAML+OIL ontology language. Every OWL document is also an RDF document.

Table 7. XML Applications for the Semantic Web
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
RDF
Metadata for Web resources
- Resource Description Framework (RDF): Concepts and Abstract Syntax, R, Feb. 2004
- RDF Semantics, R, Feb. 2004
- RDF Primer, R, Feb. 2004
- RDF/XML Syntax Specification (Revised), R, Feb. 2004
- RDF Test Cases, R, Feb. 2004
- Resource Description Framework (RDF) Model and Syntax Specification, R, Feb. 1999

- RDFa API, WD, Sept. 2010
- RDFa Core 1.1, WD, Oct. 2010
- Use Cases and Requirements for Mapping Relational Databases to RDF, WD, June 2010
- Representing Content in RDF, WD, Oct. 2009
- HTTP Vocabulary in RDF, WD, Oct. 2009
- Pointer Methods in RDF 1.0, WD, Oct. 2009
- RDF Data Access Use Cases and Requirements, WD, March 2005
- Character Model for the World Wide Web 1.0: Resource Identiers, CR, Nov. 2004
RDF Schema
To describe RDF vocabularies
- RDF Vocabulary Description Language 1.0: RDF Schema, R, Feb. 2004
OWL
Semantic markup language for publishing and sharing ontologies on the Web
- OWL 2 Web Ontology Language. Document Overview, R, Oct. 2009
- OWL 2 Web Ontology Language. New Features and Rationale, R, Oct. 2009
- OWL 2 Web Ontology Language. Primer, R, Oct. 2009
- OWL 2 Web Ontology Language. Mapping to RDF Graphs, R, Oct. 2009
- OWL 2 Web Ontology Language. Profiles, R, Oct. 2009
- OWL 2 Web Ontology Language. Direct Semantics, R, Oct. 2009
- OWL 2 Web Ontology Language. Quick Reference Guide, R, Oct. 2009
- OWL 2 Web Ontology Language. RDF-Based Semantics, R, Oct. 2009
- OWL 2 Web Ontology Language. Structural Specification and Functional-Style Syntax, R, Oct. 2009
- OWL 2 Web Ontology Language. XML Serialization, R, Oct. 2009
- OWL 2 Web Ontology Language. Conformance, R, Oct. 2009
- OWL Web Ontology Language Overview, R, Feb. 2004
- OWL Web Ontology Language Guide, R, Feb. 2004
- OWL Web Ontology Language Reference, R, Feb. 2004
- OWL Web Ontology Language Semantics and Abstract Syntax, R, Feb. 2004
- Web Ontology Language (OWL) Test Cases, R, Feb. 2004
- Web Ontology Language (OWL) Use Cases and Requirements, R, Feb. 2004

- OWL 1.1 Web Ontology Language: Model-Theoretic Semantics, WD, Jan. 2008
- OWL 1.1 Web Ontology Language: Structural Specification and Functional-Style Syntax, WD, Jan. 2008
WebCGM XCF
Metadata for WebCGM pictures
- WebCGM 2.1, R, March 2010
- WebCGM 2.0, R, Jan. 2007
GRDDL
Markup for declaring that an XML document includes RDF compatible data
- Gleaning Resource Descriptions from Dialects of Languages (GRDDL), R, Sept. 2007
- GRDDL Test Cases, R, Sept. 2007
SPARQL
Query language for RDF
- SPARQL Query Language for RDF, R, Jan. 2008
- SPARQL Protocol for RDF, R, Jan. 2008
- SPARQL Query Results XML Format, R, Jan. 2008

- SPARQL 1.1 Update, WD, June 2010
- SPARQL Query Language 1.1, WD, June 2010
- SPARQL 1.1 Federation Extensions, WD, June 2010
- SPARQL 1.1 Protocol for RDF, WD, Jan. 2010
- SPARQL 1.1 Property Paths, WD, Jan. 2010
- SPARQL 1.1 Uniform HTTP Protocol for Managing RDF Graphs, WD, June 2010
- SPARQL 1.1 Entailment Regimes, WD, June 2010
- SPARQL 1.1 Service Description, WD, June 2010
- SPARQL New Features and Rationale, WD, July 2009
- SPARQL Protocol for RDF Using WSDL 1.1, WD, Oct. 2005
POWDER
Metadata to describe groups of resources
- Protocol for Web Description Resources (POWDER): Description Resources, R, Sept. 2009
- Protocol for Web Description Resources (POWDER): Formal Semantics, R, Sept. 2009
- Protocol for Web Description Resources (POWDER): Grouping of Resources, R, Sept. 2009
RIF
Rule Exchange Format
- RIF Production Rule Dialect, R, June 2010
- RIF Basic Logic Dialect, R, June 2010
- RIF Framework for Logic Dialects, R, June 2010
- RIF Core Dialect, R, June 2010
- RIF Datatypes and Built-Ins 1.0, R, June 2010
- RIF RDF and OWL Compatibility, R, June 2010

- RIF in RDF, WD, June 2010
- RIF Test Cases, WD, June 2010
- RIF Combination with XML data, WD, June 2010
- RIF Use Cases and Requirements, WD, Dec. 2008
widget configuration
Configuration document for a widget package
Widget Packaging and Configuration, WD, Oct. 2010

6.4 Web Communication and Services

The languages of Table 8 are intended for Web communication and services. P3P stands for the Platform for Privacy Preferences and it enables Web sites to express their privacy practices in a standard format. XML-Signature defines syntax and processing rules for XML digital signatures. It is intended to provide integrity, message authentication and signer authentication services for data, be it located within the XML that includes the signature or elsewhere. The XML encryption syntax defines a special element called EncryptedData to represent the result of encryption in XML form. SOAP (Simple Object Access Protocol) is a lightweight XML-based protocol for exchange of information in a decentralized, distributed environment. Work has also started for developing a language to describe Web services. CC/PP (Composite Capabilities/Preference Profiles) describes a framework for specifying how client devices express their capabilities and preferences to the server that originates content. XKMS is a protocol for distributing and registering public keys, suitable for use in conjuction with XML-Signature. APPEL is a language for describing collections of preferences regarding P3P policies between P3P agents. It is intended to complement the P3P language. The language is called WSDL. Another language, called WSCL for Web Service Conversation Language is used in conjuction with WSDL to allow abstract interfaces of Web services. The Evaluation and Report Language EARL is a language to express test results. It is not intended for Web services only, but it is useful in building Web sites and services. REX defines a format for events to enable one endpoint to interact remotley with another endpoint holding DOM representation.

Table 8. XML Applications for Web Communication and Services
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
P3P
Privacy practices for Web sites
- The Platform for Privacy Preferences 1.0 (P3P1.0) Specification, R, April 2002
XML-Signature
Associating digital objects by digital signatures in XML format
- XML-Signature Syntax and Processing, R, Feb. 2002
- XML-Signature XPath Filter 2.0, R, Nov. 2002

- XML Security RELAX NG Schemas, WD, Aug. 2010
- XML SignatureStreaming Profile of XPath 1.0, WD, Aug. 2010
- XML Signature Syntax and Processing Version 2.0, WD, Aug. 2010
- XML Signature Best Practices, WD, Aug. 2010
- XML Signature Syntax and Processing Version 1.1, WD, Nov. 2010
- XML Security RELAX NG Schemas, WD, Feb. 2010
- XML Signature Properties, WD, Feb. 2010
- Digital Signatures for Widgets, CR, June 2010
XML Encryption
Encrypting data and representing the result in XML
- XML Encryption Syntax and Processing, R, Dec. 2002
- Decryption Transform for XML Signature, R, Dec. 2002

- XML Security Generic Hybrid Ciphers, WD, March 2010
- XML Encryption Syntax and Processing Version 1.1, WD, Nov. 2010
SOAP
Protocol
- SOAP Version 1.2 Part 0: Primer (Second Edition), R, April 2007
- SOAP Version 1.2 Part 1: Messaging Framework (Second Edition), R, April 2007
- SOAP Version 1.2 Part 2: Adjuncts (Second Edition), R, April 2007
- SOAP Version 1.2 Specification Assertions and Test Collection (Second Edition), R, April 2007
- SOAP Message Transmission Optimization Mechanism, R, Jan. 2005
 - Resource Representation SOAP Header Block, R, Jan. 2005
- SOAP Version 1.2 Part 0: Primer, R, June 2003
- SOAP Version 1.2 Part 1: Messaging Framework, R, June 2003
- SOAP Version 1.2 Part 2: Adjuncts, R, June 2003
- SOAP Version 1.2 Specification Assertions and Test Collection, R, June 2003

- SOAP over Java Message Service 1.0, WD, Oct. 2010
- SOAP Optimized Serialization Use Cases and Requirements, WD, June 2004
CC/PP
A format for how a client device tells an origin server about its user agent profile
- Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies, R, Jan.  2004
XKMS
Protocol for distributing and registering public keys
- XML Key Management Specification (XKMS) Version 2.0, R, June 2005
- XML Key Management Specification (XKMS) Bindings, Version 2.0, R, June 2005

- XML Key Management Specification Bulk Operation (X-BULK), WD, March 2002
WSDL
To describe Web services
- Web Services Description Language (WSDL) Version 2.0 Part 0: Primer, R, June 2007
- Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language, R, June 2007
- Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts, WD, March 2007
- Web Services Addressing 1.0 – Metadata, R, Sept. 2007
- Web Services Policy 1.5 – Framework, R, Sept. 2007
- Web Services Policy 1.5 – Attachment, R, Sept. 2007
- Semantic Annotations for WSDL and XML Schema, R, Aug. 2007
- Web Services Addressing 1.0 – Core, R, May 2006
- Web Services Addressing – SOAP Binding, R, May 2006

- Web Services Transfer (WS-Transfer), WD, Aug. 2010
- Web Services SOAP Assertions (WS-SOAPAssertions), WD, Aug. 2010
- Web Services Event Descriptions (WS-EventDescriptions), WD, Aug. 2010
- Web Services Metadata Exchange (WS-MetadataExchange), WD, Aug. 2010
- Web Services Fragment (WS-Fragment), WD, Aug. 2010
- Web Services Eventing (WS-Eventing), WD, Aug. 2010
- Web Services Enumeration (WS-Enumeration), WD, Aug. 2010
- Web Services Resource Transfer (WS-RT), WD, Sept. 2009
- Web Services Internationalization (WS-I18N), WD, Apr. 2008
- Web Services Addressing 1.0 – WSDL Binding, CR, May 2006
- Web Services Choreography Description Language Version 1.0, CR, Nov. 2005
- Web Services Choreography Requirements, WD, March 2004
- WS Choreography Model Overview, WD, March 2004
- Web Services Description Requirements, WD, Oct. 2002
SML
Service modeling
- Service Modeling Language, Version 1.1, R, May 2009
- Service Modeling Language Interchange Format Version 1.1, R, May 2009
EARL
To express test results
- Evaluation and Report Language (EARL) 1.0 Schema, WD, Oct. 2009
- Requirements for the Evaluation and Report Language (EARL) 1.0, WD, Oct. 2009
- Evaluation and Report Language (EARL) 1.0 Guide, WD, Oct. 2009
REX
To represent events
- Remote Events for XML (REX) 1.0, WD, Feb. 2006
APPEL
Preferences regarding P3P policies
- A P3P Preference Exchange Language 1.0 (APPEL 1.0), WD, April 2002

About this report

The first version of the report was created in November 2000 as part of the X Group activities at the University of Waterloo in Canada . Further maintenance took place at the University of Jyväskylä in Finland , except from fall 2006 to fall 2007 at the Faculty of Information Studies of University of Toronto. The report is updated irregularily.

[Introduction XMLXML AccessoriesXML TransducersXML Applications]