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:
- A Working Draft(WD) represents work in progress, it is a draft document and may be updated, replaced or obsoleted by other document any time.
- A Candidate Recommendation(CD) has received significant review from its immediate technical community. The document is an explicit call for implementation and technical feedback.
- A Proposed Recommendation(PR) represents consensus within the group that produced it and has been proposed by the Director to the Advisory Committee for review.
- A Recommendation (R) represents consensus within W3C. W3C makes every effort to maintain its Recommendations (e.g., by tracking errata, providing testbed applications, helping to create test suites, etc.) and to encourage widespread implementation. The practice in W3C is to collect all known errors in a Recommendation into an errata document referred to in the Recommendation.
After a Recommendation has been published there are basically three ways
how the ideas in the report proceed. One possibility is that the Recommendation
remains a Recommendation indefinitely. Otherwise modification of the
recommendation is started or W3C rescinds the entire Recommendation.
Rescinding may take place, for example, in a case the Recommendation becomes
outdated so that its modification is not considered useful. After deciding
about the rescinding, W3C publishes a technical report labelled as Rescinded Recommendation. So far, no
Rescinded Recommendations have been published. The modifications again are distinguished
according to the type of change needed. If new features are planned, then full
process of advancing the technical report to a Recommendation is started. If
the modifications are not minor corrections, affecting the conformance of the
report to the implementations of the solutions described 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 responsible 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.
[Introduction | XML | XML
Accessories | XML Transducers | XML
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:
- The XML Information Set specification defines an abstract data set called XML Information Set (Infoset).
The definitions in the specification are intended for other specifications that
need to refer to information in a well-formed XML document.
- The XPath Data Model is
included in the XML Path Language (XPath) specification to allow the
specification of addressing parts of an XML document.
- DOM (Document Object Model) is an application
programming interface for XML and HTML documents. It defines the way data in a
document is structured, accessed and manipulated. The underlining data
structure of XML documents is in the Core specification.
- XQuery 1.0 and XPath 2.0 Data Model defines the
information contained in the input to an XSLT or XQuery processor.
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 | XML | XML Accessories | XML
Transducers | XML 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 | XML | XML Accessories | XML
Transducers | XML 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 | XML |
XML Accessories |
XML
Transducers |
XML 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 | XML | XML
Accessories | XML Transducers | XML
Applications]