WD-xml-id-req-20030806 10.4 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html lang="EN">
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>xml:id Requirements</title>
<style type="text/css">
code           { font-family: monospace; }

div.constraint,
div.issue,
div.note,
div.notice     { margin-left: 2em; }

li p           { margin-top: 0.3em;
                 margin-bottom: 0.3em; }

div.exampleInner pre { margin-left: 1em;
                       margin-top: 0em; margin-bottom: 0em}
div.exampleOuter {border: 4px double gray;
                  margin: 0em; padding: 0em}
div.exampleInner { background-color: #d5dee3;
                   border-top-width: 4px;
                   border-top-style: double;
                   border-top-color: #d3d3d3;
                   border-bottom-width: 4px;
                   border-bottom-style: double;
                   border-bottom-color: #d3d3d3;
                   padding: 4px; margin: 0em }
div.exampleWrapper { margin: 4px }
div.exampleHeader { font-weight: bold;
                    margin: 4px}
</style>
<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-WD">
</head>
<body>
<div class="head">
<p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width="72"></a></p>
<h1><a name="title" id="title"></a>xml:id Requirements</h1>
<h2><a name="w3c-doctype" id="w3c-doctype"></a>W3C Working Draft 6 August 2003</h2>
<dl>
<dt>This version:</dt>
<dd><a href="http://www.w3.org/TR/2003/WD-xml-id-req-20030806">http://www.w3.org/TR/2003/WD-xml-id-req-20030806</a></dd>
<dt>Latest version:</dt>
<dd><a href="http://www.w3.org/TR/xml-id-req">http://www.w3.org/TR/xml-id-req</a></dd>
<dt>Editor:</dt>
<dd>Jonathan Marsh, Microsoft <a href="mailto:jmarsh@microsoft.com">&lt;jmarsh@microsoft.com&gt;</a></dd>
</dl>
<p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"> Copyright</a> © 2003 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.lcs.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>, <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-software">software licensing</a> rules apply.</p>
</div>
<hr>
<div>
<h2><a name="abstract" id="abstract"></a>Abstract</h2>
<p>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 <a href="#XSD">[XML Schema]</a> 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.</p>
<p>This document sets out the requirements for a mechanism for determining "IDness"
    applicable to all classes of XML processors.</p>
</div>
<div>
<h2><a name="status" id="status"></a>Status of this Document</h2>
<p>This document is a working draft prepared by the 
    <a href="http://www.w3.org/XML/Core/">W3C XML Core Working Group</a> 
    as part of the <a href="http://www.w3.org/XML/Activity">XML Activity</a>.
    As a first draft, it does not necessarily represent a consensus of the 
    members of the XML Core WG.</p>
<p>By publishing this draft, the XML Core WG requests comments from 
interested parties. Comments should be sent to 
<a href="mailto:public-xml-id@w3.org">public-xml-id@w3.org</a>, 
which is an automatically and publicly 
<a href="http://lists.w3.org/Archives/Public/public-xml-id/">archived</a> 
email list.</p>
<p>Documentation of intellectual property possibly relevant to this specification may be found at the <a rel="disclosure" href="http://www.w3.org/2002/08/xmlcore-IPR-statements">Working Group's public IPR disclosure page</a>.</p>
<p><em>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 <a href="http://www.w3.org/TR/">W3C technical reports index</a> at http://www.w3.org/TR/.</em></p>
<p>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.' </p>
</div>
<div class="toc">
<h2><a name="contents">Table of Contents</a></h2>
<p class="toc">1 <a href="#IDAEGG5B">Introduction</a><br>2 <a href="#IDAHHG5B">Requirements</a><br></p>
<h3 id="id-required-by-pubrules-4">Appendices</h3>
<p class="toc">A <a href="#references">References</a><br></p>
</div>
<hr>
<div class="body">
<div class="div1">
<h2><a name="IDAEGG5B" id="IDAEGG5B"></a>1 Introduction</h2>
<p>The <a href="#xmlIDsemantics">[XML ID TAG finding]</a> 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.</p>
<p>[<a name="dt-must" id="dt-must" title="Must, May, etc.">Definition</a>: The key words 
  <b>must</b>, <b>must not</b>, <b>required</b>,
  <b>shall</b>, <b>shall not</b>, <b>should</b>, 
  <b>should not</b>, <b>recommended</b>, <b>may</b>, 
  and <b>optional</b> in this specification are to be interpreted 
  as described in <a href="#RFC2119">[IETF RFC 2119]</a>.]</p>
</div>
<div class="div1">
<h2><a name="IDAHHG5B" id="IDAHHG5B"></a>2 Requirements</h2>
<ul>
<li>
<p><em>R01</em>: The solution <a title="Must, May, etc." href="#dt-must">must not</a> require fetching
      of an external resource for the sole purpose of determining IDness.</p>
</li>
<li>
<p><em>R02</em>: The solution <a title="Must, May, etc." href="#dt-must">must</a> apply to both XML 1.0 
      and XML 1.1.</p>
</li>
<li>
<p><em>R03</em>: The solution <a title="Must, May, etc." href="#dt-must">must not</a> require substantive 
      changes to XML.</p>
</li>
<li>
<p><em>R04</em>: The solution <a title="Must, May, etc." href="#dt-must">must not</a> 
      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.</p>
</li>
<li>
<p><em>R05</em>: The solution <a title="Must, May, etc." href="#dt-must">must not</a> inadvertently 
      apply IDness to constructs which are intended not to have it.</p>
</li>
<li>
<p><em>R06</em>: Converting existing documents to use the solution for IDness 
      <a title="Must, May, etc." href="#dt-must">should</a> be simple and straightforward.</p>
</li>
<li>
<p><em>R07</em>: It <a title="Must, May, etc." href="#dt-must">must</a> be possible to 
      declare the new id construct using existing DTDs or Schemas.</p>
</li>
<li>
<p><em>R08</em>: Converting existing DTDs and schemas to the solution for IDness 
      <a title="Must, May, etc." href="#dt-must">should</a> be simple and straightforward.</p>
</li>
<li>
<p><em>R09</em>: The solution <a title="Must, May, etc." href="#dt-must">should</a> enable IDness to be
      exposed through the <a href="#XPath">[XPath]</a> id() function (possibly with the help of errata to the XPath 
      specification).</p>
</li>
<li>
<p><em>R10</em>: The solution <a title="Must, May, etc." href="#dt-must">should</a> enable IDness to be
      exposed to XPointers as described in <a href="#xptr-core">[XPointer Framework]</a>.</p>
</li>
<li>
<p><em>R11</em>: The solution <a title="Must, May, etc." href="#dt-must">should</a> take into
      consideration mechanisms that provide a unified approach to exposing IDness 
      in DTD-validated, XML Schema-validated, and unvalidated scenarios.</p>
</li>
</ul>
</div>
</div>
<div class="back">
<h1 id="id-required-by-pubrules-5">Appendix</h1>
<div class="div1">
<h2><a name="references" id="references"></a>A References</h2>
<dl>
<dt class="label"><a name="RFC2119">IETF RFC 2119</a></dt>
<dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>RFC 2119: Key 
			words for use in RFCs to Indicate Requirement Levels</cite></a>.
			Internet Engineering Task Force, 1997.
		 (See <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>.)</dd>
<dt class="label"><a name="xmlIDsemantics">XML ID TAG finding</a></dt>
<dd>
			Chris Lilley.
			Draft Technical Advisory Group Finding <a href="http://www.w3.org/2001/tag/doc/xmlIDsemantics-32.html"><cite>How should 
			the problem of identifying ID semantics in XML languages be addressed in the absence of a DTD?</cite></a>.
			World Wide Web Consortium, 2003.
		 (See <a href="http://www.w3.org/2001/tag/doc/xmlIDsemantics-32.html">http://www.w3.org/2001/tag/doc/xmlIDsemantics-32.html</a>.)</dd>
<dt class="label"><a name="XSD">XML Schema</a></dt>
<dd>Henry Thompson
			et al., editors. <a href="http://www.w3.org/TR/xmlschema-1"><cite>XML Schema Part 1.</cite></a>
			World Wide Web Consortium, 2001.
		 (See <a href="http://www.w3.org/TR/xmlschema-1">http://www.w3.org/TR/xmlschema-1</a>.)</dd>
<dt class="label"><a name="XPath">XPath</a></dt>
<dd>
			James Clark, Steve DeRose, editors.
			<a href="http://www.w3.org/TR/xpath"><cite>XML Path Language (XPath).</cite></a>
			World Wide Web Consortium, 1999.
		 (See <a href="http://www.w3.org/TR/xmlschema-1">http://www.w3.org/TR/xmlschema-1</a>.)</dd>
<dt class="label"><a name="xptr-core">XPointer Framework</a></dt>
<dd>
			Paul Grosso, Eve Maler,
			Jonathan Marsh, and Norman Walsh, editors. <a href="http://www.w3.org/TR/xptr-framework"><cite>XPointer 
			Framework</cite></a>.
			World Wide Web Consortium, 2001.
		 (See <a href="http://www.w3.org/TR/xptr-framework">http://www.w3.org/TR/xptr-framework</a>.)</dd>
</dl>
</div>
</div>
</body>
</html>