XML Family of Languages

Overview and Classification of W3C Specifications

Airi Salminen
21 October 2013

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

More information about the XML family of languages in Communicating with XML by Airi Salminen and Frank Tompa. The eBook is available at SpringerLink.

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

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) (Second Edition), R, Dec. 2010

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
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 (Link errors corrected Jan. 2011)
- XML Path Language (XPath) Version 1.0, R, Nov. 1999

- XML Path Language (XPath) 3.0, CR, Jan. 2013
XML Schema
Constraining a class of XML documents
- W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures, R, April 2012
- W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes, R, April 2012
- 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): 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

- Internationalization Tag Set (ITS) Version 2.0, PR, Sep. 2013
- Requirements for Internationalization Tag Set (ITS) , WD, May 2012
Entities for Characters
Defining names so that to each is assigned a Unicode character or sequence of characters
- XML Entity Definitions for Characters, R, April 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
- The 'view-mode' Media Feature, R, June 2012
- Media Queries, R, June 2012
- CSS Namespaces Module,R, Sept. 2011

- Selectors level 3, R, Sept. 2011
- CSS Color Module Level 3, R, June 2011
- Cascading Style Sheets, Level 2 Revision 1 (CSS2.1) Specification, R, June 2011

- Selectors level 4, WD, May 2013
- CSS Positioned Layout Module Level 3 , WD, Feb. 2012
- CSS Grid Layout Module Level 1, WD, Sep 2013
- CSS Regions Module Level 1, WD, May. 2013

- CSS Fragmentation Module Level 3, WD, Aug. 2012
- Composing and Blending Level 1 , WD, Oct. 2013
- CSS Exclusions and Shapes Module Level 1, WD, May 2013

- CSS Writing Modes Module Level 3, WD, Nov 2012
- CSS Backgrounds and Borders Module Level 3, CR, July 2012
- CSS Generated Content for Paged Media Module, WD, Nov. 2011
- CSS Template Layout Module, WD, Nov. 2011
- CSS Device Adaptation, WD, Sept. 2011
- CSS Style Attributes, PR, Oct. 2013
- CSS Transitions, WD, Feb. 2013
- CSS Transforms, WD, Sep. 2012
- CSS Multi-column Layout Module, CR, Apr. 2011
- CSS Fonts Module Level 3, WD, Oct. 2013
- CSS Flexible Box Layout Module, WD, Sept 2012
- CSS Box Alignment Module Level 3, WD, May 2013
- CSS Image Values and Replaced Content Module Level 3, CR, Apr. 2012

- CSS Variables Module Level 1, WD, June 2013
- CSS Conditional Rules Module Level 3, CR, April 2013
- CSS Animations, WD, Feb. 2013
- CSS Marquee Module Level 3, CR, Dec. 2008
- CSS Mobile Profile 2.0, CR, Dec. 2008
- Behavioral Extensions to CSS, WD, Oct. 2007
- CSS Generated Content for Paged Media Module, WD, Nov 2011
- CSS Text Module Level 3, WD, Oct. 2013
- CSS Paged Media Module Level 3, WD, March 2013
- CSS Values and Units Module Level 3, CR, July. 2013
- CSS Cascading and Inheritance Level 3, CR, Oct. 2013
- CSS Speech Module, CR, March 2012
- CSS Basic User Interface Module :Level 3 (CSS3 UI), WD, Jan. 2012
- CSS3 Hyperlink Presentation Module, WD, Feb. 2004
- The CSS ‘Reader’ Media Type, WD, Feb. 2004
- CSS Syntax Module Level 3, WD, Sep 2013
- CSS3 module: Presentation Levels, WD, August 2003
- CSS TV Profile 1.0, CR, May 2003
- CSS Ruby Module Level 1, WD, Sep 2013
- CSS3 Generated and Replaced Content Module, WD, May 2003
- CSS Lists and Counters Module Level 3, WD, May 2011
- CSS3 module: line, WD, May 2002
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 3.0, WD, July 2012
 - XSLT and XQuery Serialization 3.0, CR, March. 2013
- XSL Transformations (XSLT) Version 2.0 (Second Edition), PER, Apr. 2009
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
XSL
Rendering
- Extensible Stylesheet Languages (XSL) Version 1.1, R, Dec. 2006
- Extensible Stylesheet Language (XSL) Version 1.0, R, Oct. 2001

- Extensible Stylesheet Language (XSL) Version 2.0, WD, Jan. 2012
- Extensible Stylesheet Language (XSL) Requirements Version 2.0, WD, March 2008
XInclude
Merging
- XML Inclusions (XInclude) Version 1.0 (Second Edition), R, Nov. 2006

- XML Inclusions (XInclude) Version 1.1, CR, Oct. 2013
XQuery
Querying
- XQuery Update Facility, R, March 2011
- XQuery and XPath Full Text 1.0, R, March 2011
- 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 (Second Edition), R, Dec. 2010 (errors corrected Jan. 2011)
- XSLT 2.0 and XQuery 1.0 Serialization (Second Edition), R, Dec.  2010

- XQuery 3.0: An XML Query Language, WD, July. 2013
- XQueryX 3.0 WD, Oct. 2013
- XQuery Update Facility 3.0 Requirements and Use Cases, WD, March 2012
- XQuery 3.0 Use Cases, WD, Jan. 2013
- XQuery and XPath Full Text 3.0 Requirements and Use Cases, WD, March 2012
- XSLT and XQuery Serialization 3.0, CR, March 2013
- XPath and XQuery Functions and Operators 3.0, CR, May 2013
- XQuery and XPath Data Model 3.0, CR, Jan. 2013
- XQuery 3.0 Requirements, WD, Jan. 2013
- XQuery Update Facility 3.0 WD, Jan. 2013
- XQuery and XPath Full Text 3.0 WD, Jan. 2013
- XQuery Scripting Extension 1.0, WD, April 2010
- XQuery Scripting Extension 1.0 Use Cases, WD, Dec. 2008
- XQuery Scripting Extension 1.0 Requirements, WD, March 2007
XProc
To describe operations to be performed on XML documents
XProc: An XML Pipeline Language, R, May 2010
EXI
Optimization of XML information
- Efficient XML Interchange (EXI) Format 1.0, R, March 2011

- Efficient XML Interchange (EXI) Profile, CR, April 2013
- Canonical EXI, WD, Sep. 2013
- 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
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
- Media Fragments URI 1.0 (basic), R, Sep. 2012

- 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
MathML
Mathematical notation
- A MathML for CSS profile, R, June 2011
- 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
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) 1.1 (Second Edition), R, Aug. 2011
- 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) 2, WD, June. 2013
- 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, March 2011
- SVG Transforms 1.0, Part 2: Language, WD, March 2009
- 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 1.1/2.0 Requirements, WD, April 2002
VoiceXML
CCXML
SSML
Voice markup and telephony call control; to enable access to the Web using spoken interaction
- Voice Browser Call Control: CCXML Version 1.0, R, July 2011
- 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, Dec. 2010
- State Chart XML (SCXML): State Machine Notation for Control Abstraction 1.0, WD, Aug. 2013
- Voice Extensible Markup Language (VoiceXML) 3.0 Requirements, WD, Aug. 2008
- Speech Synthesis Markup Language Version 1.1 Requirements, WD, June 2007
- 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, R, Oct. 2012

- EMMA: Extensible MultiModal Annotation markup language Version 1.1, WD, June 2013
InkML
Ink Markup Language
- Ink Markup Language (InkML), R, Sept. 2011
TTML
Textual information that is associated with timing information
- Timed Text Markup Language 1 (TTML1) (Second Edition), R, Sep. 2013
- Timed Text Markup Language (TTML) 1.0, R, Nov. 2010

EmotionML
To describe human emotions
- Emotion Markup Language (EmotionML) 1.0, PR, April 2013

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+RDFa 1.1 - Second Edition, Support for RDF via XHTML Modularization, R, Aug 2013
-
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

- 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 2.0, WD, Aug. 2012
- XForms 2.0: XPath expression module, WD, Aug. 2012
- 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
Polyglot Markup
For writing documents that serve both as HTML 5 and XML documents
- Polyglot Markup: HTML-Compatible XHTML Documents , TR, March 2012

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 Metadata and Semantic Web
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
RDF
Metadata for Web resources
- RDFa Core 1.1 - Second Edition, R, Aug 2013
- HTML + RDFa 1.1, R, Aug 2013
- rdf:PlainLiteral: A Datatype for RDF Plain Literals (Second Edition), R, Dec. 2012
- R2RML: RDB to RDF Mapping Language, R, Sep. 2012
- A Direct Mapping of Relational Data to RDF , R, Sep. 2012
- RDFa Lite 1.1, R, June 2012

- 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

- RDF 1.1 Concepts and Abstract Syntax, WD, July 2013
- RDF 1.1 Semantics, WD, July 2013
- Turtle. Terse RDF Triple Language, CR, Feb 2013
- Use Cases and Requirements for Mapping Relational Databases to RDF, WD, June 2010
- Representing Content in RDF 1.0, WD, May 2011
- HTTP Vocabulary in RDF 1.0, WD, May 2011
- Pointer Methods in RDF 1.0, WD, May 2011
- 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 (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. New Features and Rationale (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. Primer (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. Mapping to RDF Graphs (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. Profiles (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. Direct Semantics (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. Quick Reference Guide (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. RDF-Based Semantics (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. Structural Specification and Functional-Style Syntax (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. XML Serialization (Second Edition), R, Dec. 2012
- OWL 2 Web Ontology Language. Conformance (Second Edition), R, Dec. 2012
- 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
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 Results XML Format Second Edition, R, March 2013
- SPARQL 1.1 Entailment Regimes, R, March 2013
- SPARQL 1.1 Graph Store HTTP Protocol, R, March 2013
- SPARQL 1.1 Protocol, R, March 2013
- SPARQL 1.1 Query Language, R, March 2013
- SPARQL 1.1 Service Description, R, March 2013
- SPARQL 1.1 Update, R, March 2013
- SPARQL 1.1 Federated Query, R, March 2013
- SPARQL 1.1 Overview, R, March 2013
- SPARQL 1.1 Query Results CSV and TSV Formats, R, March 2013
- SPARQL 1.1 Query Results JSON Format, R, March 2013
- 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 Property Paths, WD, Jan. 2010
- SPARQL New Features and Rationale, WD, July 2009
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 Basic Logic Dialect (Second Edition), R, Feb 2013
- RIF Core Dialect (Second Edition), R, Feb 2013
- RIF RDF and OWL Compatibility (Second Edition), R, Feb 2013
- RIF Datatypes and Built-Ins 1.0 (Second Edition), R, Feb 2013
- RIF Framework for Logic Dialects (Second Edition), R, Feb 2013
- RIF Production Rule Dialect (Second Edition), R, Feb 2013
widget configuration
Packaging format and metadata for widgets
- Widget Packaging and Configuration, R, Sept. 2011
- XML Digital Signatures for Widgets, R, April 2013
Ontology for Media Resources 1.0
A core set of metadata properties for media resources
- Ontology for Media Resources 1.0 , R, Feb. 2012
Role Attribute 1.0
An attribute to support the role classification in XML documents
- Role Attribute 1.0, R, March 2013
PROV
A family of specifications to represent and exchage provenance information
- PROV-O: The PROV Ontology, R, April 2013
- PROV-N: The Provenance Notation, R, April 2013
- PROV-DM: The PROV Data Model, R, April 2013

- Constraints of the PROV Data Model, R, April 2013


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 Version 1.1, R, April 2013
- XML Signature Properties, R, April 2013
- XML-Signature Syntax and Processing (Second Edition), R, June 2008
- XML-Signature Syntax and Processing, R, Feb. 2002
- XML-Signature XPath Filter 2.0, R, Nov. 2002
XML Encryption
Encrypting data and representing the result in XML
- XML Encryption Syntax and Processing Version 1.1, R, April 2013
- XML Encryption Syntax and Processing, R, Dec. 2002
- Decryption Transform for XML Signature, R, Dec. 2002

- Test Cases for XML Encryption 1.1, WD, Jan. 2012
SOAP
Protocol
- SOAP over Java Message Service 1.0, R, Feb. 2012
- 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

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
WSDL
To describe Web services
- Web Services Transfer (WS-Transfer), R, Dec. 2011
- Web Services SOAP Assertions (WS-SOAPAssertions), R, Dec. 2011
- Web Services Event Descriptions (WS-EventDescriptions), R, Dec. 2011
- Web Services Metadata Exchange (WS-MetadataExchange), R, Dec. 2011
- Web Services Fragment (WS-Fragment), R, Dec. 2011
- Web Services Eventing (WS-Eventing), R, Dec. 2011
- Web Services Enumeration (WS-Enumeration), R, Dec. 2011
- 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, R, 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 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

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, May 2011
- Requirements for the Evaluation and Report Language (EARL) 1.0, WD, Oct. 2009
- Developer Guide for E valuation and Report Language (EARL) 1.0 Guide, WD, May 2011
REX
To represent events
- Remote Events for XML (REX) 1.0, WD, Oct. 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]