WD-xml-id-req-20030806
10.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<!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"><jmarsh@microsoft.com></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>