The presentation of this document has been augmented to identify changes from a previous version. Three kinds of changes are highlighted: new, added text, changed text, and deleted text.


W3C

XML processor profiles

Editor's Draft 13 September 2012

This version:
http://www.w3.org/XML/XProc/docs/xml-proc-profiles.html
Latest version:
http://www.w3.org/TR/xml-proc-profiles/
Previous versions:
http://www.w3.org/TR/2011/WD-xml-proc-profiles-20120124/ http://www.w3.org/TR/2011/WD-xml-proc-profiles-20110412/
Editors:
Henry S. Thompson, University of Edinburgh <ht@inf.ed.ac.uk>
Norman Walsh, MarkLogic Corporation <norman.walsh@marklogic.com>
James Fuller, Webcomposite S.R.O <jim.fuller@webcomposite.com>

This document is also available in these non-normative formats: XML and Version with differences from January WD highlighted.



2 XML processor profiles

. . .

2.1 The basic XML processor profile

To conform to the basic profile an XML processor must

  1. Process the document as required of conformant non-validating XML processors while not reading any external markup declarations;

  2. Maintain the base URI of each element in conformance with [XML Base];

  3. Accurately provide to the application the information in the document corresponding to information items and properties in classes Core, Signal, Decl and ImplDef;

Note:

Since the [Extensible Markup Language (XML) 1.0 (Fifth Edition)] specification requires validating parsers to read the external subset, it follows that a parser which validates cannot be conforming to this profile, nor to the 2.2 The id XML processor profile defined below.

2.2 The id XML processor profile

To conform to the id profile an XML processor must

  1. Process the document as required of conformant non-validating XML processors while not reading any external markup declarations;

  2. Maintain the base URI of each element in conformance with [XML Base];

  3. Perform ID type assignment for all xml:id attributes as required by [xml:id Version 1.0] by reporting their attribute type Infoset property as ID to the application;

  4. Accurately provide to the application the information in the document corresponding to information items and properties in classes Core, Signal, Decl and ImplDef.

2.3 The external declarations XML processor profile

To conform to the external declarations profile an XML processor must

  1. Process the document as required of conformant non-validating XML processors while reading and processing all external markup declarations (as specifed in the discussion of non-validating processors in the XML specification);

  2. Maintain the base URI of each element in conformance with [XML Base];

  3. Perform ID type assignment for all xml:id attributes as required by [xml:id Version 1.0] by reporting their attribute type Infoset property as ID to the application;

  4. Accurately provide to the application the information in the document corresponding to information items and properties in classes Core, Extended and ImplDef;

Note:

Conformance to this profile, or to the 2.4 The full XML processor profile defined below, neither requires nor excludes validation. They leave it open to specifications which cite them to forbid, allow or require validation.

2.4 The full XML processor profile

To conform to the full profile an XML processor must

  1. Process the document as required of conformant non-validating XML processors while reading and processing all external markup declarations (as specifed in the discussion of non-validating processors in the XML specification);

  2. Maintain the base URI of each element in conformance with [XML Base];

  3. Perform ID type assignment for all xml:id attributes as required by [xml:id Version 1.0] by reporting their attribute type Infoset property as ID to the application;

  4. Recursively replace all include elements in the XInclude namespace, and carry out namespace, xml:base and xml:lang fixup of the result, as required for conformance to [XML Inclusions (XInclude) Version 1.0 (Second Edition)];

  5. Accurately provide to the application the information in the document corresponding to information items and properties in classes Core, Extended and ImplDef.

The following [XProc: An XML Pipeline Language] pipeline implements the 2.4 The full XML processor profile when executed by a conformant XProc processor which

  • Processes its input as required by point 1 above;

  • Recognizes and reports the ID type of all xml:id attributes in conformance with [xml:id Version 1.0].