XML Family of Languages

Overview and Classification of W3C Specifications

Airi Salminen
27 November 2014

This version: http://users.jyu.fi/~airi/xmlfamily-20141127.html
Latest version: http://users.jyu.fi/~airi/xmlfamily.html
Previous version: http://users.jyu.fi/~airi/xmlfamily-20131021.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). Since the publication of XML, a great number of various XML-related languages have been developed by W3C and other standardization organizations. In this report our focus is in the languages developed by W3C. 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 and show 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:

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. 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 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, or R = Recommendation). For Recommendations, all published versions and editions are listed to show their evolution. Thus the tables include also Recommendations that are superseded by later versions or editions.

[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 beginning of 1990’s. 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. A 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. 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 had caused problems in character encoding of XML 1.0 names because 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. The list below shows XML specifications published as Recommendations so far.

- Extensible Markup Language (XML) 1.0, Feb 1998
- Extensible Markup Language (XML) 1.0 (Second Edition), Oct 2000
- Extensible Markup Language (XML) 1.0 (Third Edition), Feb 2004
- Extensible Markup Language (XML) 1.0 (Fourth Edition), Aug 2006
- Extensible Markup Language (XML) 1.0 (Fifth Edition), Nov 2008
- Extensible Markup Language (XML) 1.1, Feb 2004
- Extensible Markup Language (XML) 1.1 (Second Edition), Aug 2006

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 kinds of 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 define the codes for characters (Unicode, ISO/IEC 10646) and languages (IETF BCP 47) as well as the syntax for identifying resources (IETF RFC 3986). 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.

[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 1 below lists the current XML accessories. In the table, as well as in the subsequent tables, all published versions and editions of Recommendations are listed to show their evolution. Thus the tables include also Recommendations that are superseded by later versions or editions. The languages in each table are listed chronologically according to their first publication as Web standards.

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 1. 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) 3.0, R, April 2014
- 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

RELATED DRAFTS:
- XML Path Language (XPath) 3.1, WD, Oct 2014
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

RELATED DRAFTS:
- 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 2.0, R, Oct 2013
- Internationalization Tag Set (ITS) Version 1.0, R, April 2007

RELATED DRAFTS:
- 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 (2nd Edition), R, April 2014
- 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 2 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. CSS1 published as a Recommendation in 1996 was developed especially for HTML 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 and XPath 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 and XPath Formal Semantics document.

Table 2. XML Transducers
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
CSS
Rendering
- Cascading Style Sheets, Level 2 Revision 1 (CSS2.1) Specification, R, June 2011
- Cascading Style Sheets, level 2, CSS2 Specification, R, May 1998, revised April 2008
- Cascading Style Sheets, level 2, CSS2 Specification, R, May 1998
- Cascading Style Sheets, level 1, R, Dec 1996, revised Jan 1999 and April 2008

RELATED RECOMMENDATIONS:
- CSS Namespaces Module Level 3, R, Sept. 2011, edited in place March 2014
- CSS Style Attributes, R, Nov. 2013
- The 'view-mode' Media Feature, R, June 2012
- Media Queries, R, June 2012
- CSS Namespaces Module, R, Sep 2011

- Selectors level 3, R, Sep 2011
- CSS Color Module Level 3, R, June 2011

RELATED DRAFTS:
- CSS Regions Module Level 1, WD, Oct 2014
- CSS Flexible Box Layout Module Level 1, WD, Sep 2014

- CSS Backgrounds and Borders Module Level 3, CR, Sep 2014
- CSS Grid Layout Module Level 1, WD, May 2014
- CSS Generated Content for Paged Media Module, WD, May 2014

- CSS Custom Properties for Cascading Variables Module Level 1, WD, May 2014
- CSS Writing Modes Module Level 3, CR, March 2014
- CSS Syntax Module Level 3, CR, Feb 2014
- Composing and Blending Level 1 , CR, Feb. 2014
- CSS Lists and Counters Module Level 3, WD, March 2014
- CSS Fragmentation Module Level 3, WD, Jan 2014
- CSS Transforms, WD, Nov 2013
- CSS Transitions, WD, Nov 2013
- CSS Ruby Layout Module Level 1, WD, Sep 2013
- Selectors level 4, WD, May 2013
- CSS Conditional Rules Module Level 3, CR, April 2013
- CSS Positioned Layout Module Level 3 , WD, Feb. 2012
- CSS Exclusions and Shapes Module Level 1, WD, May 2013
- CSS Generated Content for Paged Media Module, WD, Nov. 2011
- CSS Template Layout Module, WD, Nov. 2011
- CSS Device Adaptation, WD, Sept. 2011
- CSS Multi-column Layout Module, CR, Apr. 2011
- CSS Fonts Module Level 3, WD, Oct. 2013
- CSS Box Alignment Module Level 3, WD, May 2013
- CSS Image Values and Replaced Content Module Level 3, CR, Apr. 2012

- CSS Animations, WD, Feb. 2013
- 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 Generated and Replaced Content Module, WD, May 2003
- 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

RELATED DRAFTS:
- Requirements and Use Cases for XSLT 2.1, WD, June 2010
- XSL Transformations (XSLT) Version 3.0, WD, Oct 2014
Canonical XML
Canonicalization
- Canonical XML Version 1.1, R, May 2008
- Canonical XML Version 1.0, R, March 2001

RELATED RECOMMENDATIONS:
- 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

RELATED DRAFTS:
- 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.0, R, Dec 2004

RELATED DRAFTS:
- XML Inclusions (XInclude) Version 1.1, CR, Oct 2013
XQuery
Querying
- XQuery 3.0: An XML Query Language, R, April 2014
- XQueryX 3.0, R, April 2014
- XPath and XQuery Functions and Operators 3.0, R, April 2014
- XQuery and XPath Data Model 3.0, R, April 2014
- XQuery 1.0: An XML Query Language (Second Edition), R, Dec 2010 (Link errors corrected Jan 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, 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

RELATED RECOMMENDATIONS:
- XSLT and XQuery Serialization 3.0, R, April 2014
- XQuery Update Facility, R, March 2011
- XQuery and XPath Full Text 1.0, R, March 2011
- XSLT 2.0 and XQuery 1.0 Serialization (Second Edition), R, Dec  2010
- XSLT 2.0 and XQuery 1.0 Serialization, R, Jan  2007

RELATED DRAFTS:
- XQuery 3.1: An XML Query Language, WD, Oct 2014
- XQueryX 3.1, WD, Oct 2014
- XPath and XQuery Functions and Operators 3.1, WD, Oct 2014
- XQuery and XPath Data Model 3.1, WD, Oct 2014
- XSLT and XQuery Serialization 3.1, WD, Oct 2014
- XQuery and XPath Full Text 3.0 WD, Sep 2014
- XQuery 3.1 Requirements and Use Cases, WD, April 2014
- XQuery Update Facility 3.0 Requirements and Use Cases, WD, March 2012
- XQuery and XPath Full Text 3.0 Requirements and Use Cases, WD, March 2012
- XQuery Update Facility 3.0 WD, Jan. 2013
- 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

RELATED DRAFTS:
- XProc V2.0 Requirements, WD, Nov 2013
EXI
Optimization of XML information
- Efficient XML Interchange (EXI) Format 1.0 (Second Edition), R, Feb 2014
- Efficient XML Interchange (EXI) Format 1.0, R, March 2011

RELATED RECOMMENDATIONS:
- Efficient XML Interchange (EXI) Profile for limiting usage of dynamic memory, R, Sep 2014

RELATED DRAFTS:
- Canonical EXI, WD, Oct 2014
- Efficient XML Interchange (EXI) Primer, WD, April 2014
- Efficient XML Interchange Evaluation, WD, April 2009
- Efficient XML Interchange (EXI) Impacts, WD, Sep 2008
- Efficient XML Interchange (EXI) Best Practices, WD, Dec 2007
- Efficient XML Interchange Measurements Note, WD, July 2007
XML Fragment Interchange
Interchanging fragments
DRAFTS:
- 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 3 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 has developed a set of markup language: VoiceXML, Speech Synthesis Markup Language (SSML), and Call Control eXtensible Markup Language (CCXML). TTML serves as an interchange format between authoring systems where timing information is needed. 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. 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. The latest standard in this group is EmotionML that provides markup rules to express human emotions.

Table 3. 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) - [Second Edition], R, Jan 2005
- Synchronized Multimedia Integration Language (SMIL 2.0), R, Aug 2001
- Synchronized Multimedia Integration Language (SMIL) 1.0 Specification, R, June 1998

RELATED RECOMMENDATIONS:
- Media Fragments URI 1.0 (basic), R, Sep 2012

RELATED DRAFTS:
- 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
- Mathematical Markup Language (MathML) Version 3.0 2nd Edition, R, April 2014
- Mathematical Markup Language (MathML) Version 3.0, R, Oct 2010
- Mathematical Markup Language (MathML) Version 2.0 (Second Edition), R, Oct 2003
- Mathematical Markup Language (MathML) Version 2.0, R, Feb 2001
- Mathematical Markup Language (MathML™) 1.01 Specification, R, July 1999

RELATED RECOMMENDATIONS:
- A MathML for CSS profile, R, June 2011
Ruby Annotation
Markup for ruby
- Ruby Annotation, R, May 2001 (Markup errors corrected June 2008)
SMIL Animation
Animation
- SMIL Animation, R, Sep 2001
SVG
Vector graphics
- Scalable Vector Graphics (SVG) 1.1 (Second Edition), R, Aug 2011
- Scalable Vector Graphics (SVG) 1.1 Specification, R, Jan 2003
- Scalable Vector Graphics (SVG) 1.0 Specification, R, Sep 2001

RELATED RECOMMENDATIONS:
- Scalable Vector Graphics (SVG) Tiny 1.2 Specification, R, Dec 2008
- Mobile SVG Profiles: SVG Tiny and SVG Basic, R, Jan. 2003, edited in place June 2009

RELATED DRAFTS:
- Scalable Vector Graphics (SVG) 2, WD, Feb 2014
- 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, Apr 2002
VoiceXML To describe audio dialogs; to enable access to the Web using spoken interaction
- Voice Extensible Markup Language (VoiceXML) 2.1, R, June 2007
- Voice Extensible Markup Language (VoiceXML) Version 2.0, R, March 2004

RELATED RECOMMENDATIONS:
- Semantic Interpretation for Speech Recognition (SISR) Version 1.0, R, Apr 2007

RELATED DRAFTS:
- Voice Extensible Markup Language (VoiceXML) 3.0, WD, Dec 2010
- Voice Extensible Markup Language (VoiceXML) 3.0 Requirements, WD, Aug 2008
SSML To assist generation of synthetic speech in Web and other applications - Speech Synthesis Markup Language (SSML) Version 1.1, R, Sep 2010
- Speech Synthesis Markup Language (SSML) Version 1.0, R, Sep 2004

RELATED RECOMMENDATIONS:
- Pronunciation Lexicon Specification (PLS) Version 1.0, R, Oct 2008
- Speech Recognition Grammar Specification Version 1.0, R, March 2004

RELATED DRAFTS:
- Speech Synthesis Markup Language Version 1.1 Requirements, WD, June 2007
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

RELATED DRAFTS:
- TTML Text and Image Profiles for Internet Media Subtitles and Captions 1.0, WD, Sep 2014
- Media Accessibility User Requirements, WD, Aug 2014
CCXML To provide telephony call control support for dialog systems, such as VoiceXML - Voice Browser Call Control: CCXML Version 1.0, R, July 2011
InkML
To represent ink entered with electronic pen or stylus
- Ink Markup Language (InkML), R, Sep 2011
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

RELATED DRAFTS:
- EMMA: Extensible MultiModal Annotation markup language Version 1.1, WD, June 2013
EmotionML
To describe human emotions
- Emotion Markup Language (EmotionML) 1.0, R, May 2014
SCXML State charts DRAFTS:
- State Chart XML (SCXML): State Machine Notation for Control Abstraction, WD, May 2014

6.2 Web Publishing

Table 4 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 4. XML Applications for Web Publishing
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
XHTML
Reformulation of HTML 4.0 in XML - XHTML™ 1.0: The Extensible HyperText Markup Language (Second Edition), A Reformulation of HTML 4 in XML 1.0, R, Jan 2000, revised Aug 2002
- XHTML™ 1.0: The Extensible HyperText Markup Language, A Reformulation of HTML 4 in XML 1.0, R, Jan 2000
 - XHTML™ 1.0: The Extensible HyperText Markup Language, R, Jan 1999

RELATED RECOMMENDATIONS:
- RDFa in XHTML: Syntax and Processing, A collection of attributes and processing rules for extending XHTML to support RDF, R, Oct. 2008

RELATED DRAFTS:
- 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
XHTML Basic
The minimal core of XHTML - XHTML™ Basic 1.1 - Second Edition, R, Nov 2010
- XHTML™ Basic 1.1, R, July 2008
- XHTML™ Basic, R, Dec 2000
XHTML Modularization Definition of XHTML in a set of modules
- XHTML™ 1.1 - Module-based XHTML – Second Edition, R, Nov 2010
- XHTML™  Modularization 1.1 - Second Edition, R, July 2010
- XHTML™ 1.1 - Module-based XHTML, R, May 2001
- Modularization of XHTML™, R, April 2001

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

RELATED DRAFTS:
- 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
DRAFTS:
- Polyglot Markup: A robust profile of the HTML5 vocabulary , CR, July 2014

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 5 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. 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 5. XML Applications for Metadata and Semantic Web
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
RDF
Metadata for Web resources
- RDF 1.1 Concepts and Abstract Syntax, R, Feb 2014
- RDF 1.1 Semantics, R, Feb 2014
- 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
- Resource Description Framework (RDF) Model and Syntax Specification, R, Feb 1999

RELATED RECOMMENDATIONS:
- RDF 1.1 Turtle. Terse RDF Triple Language, R, Feb 2014
- RDF 1.1 N-Quads. A line-based syntax for RDF datasets, R, Feb 2014
- RDF 1.1 N-Triples. A line-based syntax for an RDF graph, R, Feb 2014
- RDF 1.1 Trig. RDF Dataset Language, R, Feb 2014
- RDFa Core 1.1 - Second Edition. Syntax and processing rules for embedding RDF through attributes, 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

- RDF Test Cases, R, Feb 2004

RELATED DRAFTS:
- 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 Schema 1.1, R, Feb. 2014
- 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. Structural Specification and Functional-Style Syntax (Second Edition), R, Dec 2012
- 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. XML Serialization (Second Edition), R, Dec 2012
- OWL 2 Web Ontology Language. Conformance (Second Edition), R, Dec 2012
- OWL 2 Web Ontology Language. Structural Specification and Functional-Style Syntax , R, Oct 2009
- OWL 2 Web Ontology Language. Document Overview, R, Oct 2009
- OWL 2 Web Ontology Language. New Features and Rational, R, Nov 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 Semantic, 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. 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

RELATED RECOMMENDATIONS:
- 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 (Link errors corrected in August 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, Sep 2007
- GRDDL Test Cases, R, Sep 2007
SPARQL
Query language for RDF
- SPARQL 1.1 Query Language, R, March 2013
- SPARQL 1.1 Overview, R, March 2013
- 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 Service Description, R, March 2013
- SPARQL 1.1 Update, R, March 2013
- SPARQL 1.1 Federated Query, 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

RELATED DRAFTS:
- SPARQL New Features and Rationale, WD, July 2009
POWDER
Metadata to describe groups of resources
- Protocol for Web Description Resources (POWDER): Description Resources, R, Sep 2009
- Protocol for Web Description Resources (POWDER): Formal Semantics, R, Sep 2009
- Protocol for Web Description Resources (POWDER): Grouping of Resources, R, Sep 2009
RIF
Rule Exchange Format
- RIF Production Rule Dialect (Second Edition), R, Feb 2013
- 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, R, June 2010
- RIF Basic Logic Dialect, R, June 2010
- RIF Core Dialect, R, June 2010
- RIF RDF and OWL Compatibility, R, June 2010
- RIF Datatypes and Built-Ins 1.0, R, June 2010
- RIF Framework for Logic Dialects, R, June 2010
widget configuration
Packaging format and metadata for widgets
- Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition), R, Nov 2012
- Widget Packaging and XML Configuration, R, Sep 2011

RELATED RECOMMENDATIONS:
- 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 6 are intended for Web communication and services. 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. P3P stands for the Platform for Privacy Preferences and it enables Web sites to express their privacy practices in a standard format. 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. 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. The language to define service interfaces and functionalities is called WSDL.

Table 6. XML Applications for Web Communication and Services
Language
Purpose
Document, Phase (R, PR, CR, WD), Month, Year
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

RELATED RECOMMENDATIONS:
- XML-Signature XPath Filter 2.0, R, Nov 2002
P3P
Privacy practices for Web sites
- The Platform for Privacy Preferences 1.0 (P3P1.0) Specification, R, April 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

RELATED RECOMMENDATIONS:
- Decryption Transform for XML Signature, R, Dec 2002

RELATED DRAFTS:
- Test Cases for XML Encryption 1.1, WD, Jan 2012
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 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

RELATED RECOMMENDATIONS:
- SOAP over Java Message Service 1.0, R, Feb 2012
- 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 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

RELATED RECOMMENDATIONS:
- 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 Addressing 1.0 – Metadata, R, Sep 2007
- Web Services Policy 1.5 – Framework, R, Sep 2007
- Web Services Policy 1.5 – Attachment, R, Sep 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

RELATED DRAFTS:
- 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
Modeling complex services and systems
- Service Modeling Language, Version 1.1, R, May 2009
- Service Modeling Language Interchange Format Version 1.1, R, May 2009

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]