Since XML 1.0, the ability of processors to identify an XML element by an explicit identifier ("IDness") has depended upon validation. Both DTDs and [XML Schema] have mechanisms to identify the structures containing unique identifiers. But neither XML Schema nor DTDs are required by all processors. A common processor type does not perform validation, nor fetch external resources for the purpose of acertaining whether the document contains unique identifiers.
This document sets out the requirements for a mechanism for determining "IDness" applicable to all classes of XML processors.
This document is a working draft prepared by the W3C XML Core Working Group as part of the XML Activity. As a first draft, it does not necessarily represent a consensus of the members of the XML Core WG.
Documentation of intellectual property possibly relevant to this specification may be found at the Working Group's public IPR disclosure page.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
Publication as a working draft a does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than 'work in progress.'
The [XML ID TAG finding] summarizes the problem, and sketches the solution space, of applying ID semantics universally for XML processors. This document lists requirements guiding the development of such a mechanism.
R01: The solution must not require fetching of an external resource for the sole purpose of determining IDness.
R02: The solution must apply to both XML 1.0 and XML 1.1.
R03: The solution must not require substantive changes to XML.
R04: The solution must not change the existing DTD or XML Schema definition of validity. That is, any document valid against a DTD or XML Schema will continue to be valid in an xml:id-aware processor, and any document invalid against a DTD or XML Schema will continue to be invalid.
R05: The solution must not inadvertently apply IDness to constructs which are intended not to have it.
R06: Converting existing documents to use the solution for IDness should be simple and straightforward.
R07: It must be possible to declare the new id construct using existing DTDs or Schemas.
R08: Converting existing DTDs and schemas to the solution for IDness should be simple and straightforward.
R11: The solution should take into consideration mechanisms that provide a unified approach to exposing IDness in DTD-validated, XML Schema-validated, and unvalidated scenarios.