/[suikacvs]/markup/xml/xmlcc/xmlcc-work.en.html
Suika

Contents of /markup/xml/xmlcc/xmlcc-work.en.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide annotations) (download) (as text)
Mon Nov 12 12:45:49 2007 UTC (16 years, 11 months ago) by wakaba
Branch: MAIN
Changes since 1.3: +32 -22 lines
File MIME type: text/html
entity-error note added

1 wakaba 1.1 <!DOCTYPE html>
2     <html lang="en" class="formal-specification status-work-in-progress">
3     <head>
4 wakaba 1.2 <title>manakai's XML Conformance Checking</title>
5 wakaba 1.1 <link rel="stylesheet" href="http://suika.fam.cx/www/style/html/spec">
6     <link rel="license" href="http://suika.fam.cx/c/gnu/fdl">
7     </head>
8     <body class="has-abstract">
9    
10     <div class="header">
11 wakaba 1.2 <h1>manakai's XML Conformance Checking</h1>
12     <h2>Working Draft <time datetime=2007-11-12>12 November 2007</time></h2>
13 wakaba 1.1
14 wakaba 1.2 <dl class="versions-uri">
15 wakaba 1.1 <dt>This Version</dt>
16 wakaba 1.2 <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/xmlcc/xmlcc-work"
17     >http://suika.fam.cx/www/markup/xml/xmlcc/xmlcc-work</a>&gt;</code></dd>
18 wakaba 1.1 <dt>Latest Version</dt>
19 wakaba 1.2 <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/xmlcc/xmlcc"
20     >http://suika.fam.cx/www/markup/xml/xmlcc/xmlcc</a>&gt;</code></dd>
21 wakaba 1.1 <dt>Latest Working Draft</dt>
22 wakaba 1.2 <dd><code class="URI">&lt;<a href="http://suika.fam.cx/www/markup/xml/xmlcc/xmlcc-work"
23     >http://suika.fam.cx/www/markup/xml/xmlcc/xmlcc-work</a>&gt;</code></dd>
24 wakaba 1.1 <!-- <dt>Previous Version</dt> -->
25     <dt>Version History</dt>
26 wakaba 1.2 <dd><code class=URI>&lt;<a href="http://suika.fam.cx/gate/cvs/markup/xml/xmlcc/xmlcc-work.en.html">http://suika.fam.cx/gate/cvs/markup/xml/xmlcc/xmlcc-work.en.html</a>&gt;</code></dd>
27 wakaba 1.1 </dl>
28     <dl class="authors" id="author">
29     <dt>Author</dt>
30     <dd><a href="http://suika.fam.cx/~wakaba/who?" rel="author"
31     lang=ja>Wakaba</a>
32     <code class="mail">&lt;<a href="mailto:w@suika.fam.cx" rel="author"
33     >w@suika.fam.cx</a>&gt;</code></dd>
34     </dl>
35    
36     <p class="copyright" lang="en">&#xA9; <time>2007</time> <a
37     href="http://suika.fam.cx/~wakaba/who?" rel="author">Wakaba</a>.
38     Permission is granted to copy, distribute and/or modify this document
39     under the terms of the <a rel="license"
40     href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>,
41     Version 1.2
42     or any later version published by the <a
43     href="http://www.fsf.org/">Free Software Foundation</a>;
44     with no Invariant Sections, no Front$B!>(BCover Texts, and no Back$B!>(BCover
45     Texts. A copy of the license is
46     available at <code class="URI">&lt;<a
47     href="http://www.gnu.org/copyleft/fdl.html"
48     rel="license">http://www.gnu.org/copyleft/fdl.html</a>&gt;</code>.</p>
49     </div>
50    
51     <div id="abstract" class="section">
52     <h2>Abstract</h2>
53    
54     <div class="ed issue">...</div>
55    
56     </div>
57    
58     <div id="status" class="section">
59     <h2>Status of This Document</h2>
60    
61     <p class=section-info><em>This section describes the status of this document
62     at the time of its publication. Other documents
63     might supersede this document.</em></p>
64    
65     <p>This document is a working draft, produced as part of the
66     <a href="http://suika.fam.cx/www/markup/html/whatpm/readme">Whatpm</a>
67     subproject of the
68     <a href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai</a>
69     project. It might be updated, replaced, or obsoleted by
70     other documents at any time. It is inappropriate to
71     cite this document as other than <q>work in progress</q>.</p>
72    
73     <p>Comments on this document are welcome and
74     may be sent to the <a href="#author">author</a>.</p>
75    
76     <p>Translations of thie document might be available.
77     The English version of the document is the only
78     normative version.</p>
79     </div>
80    
81     <div id="introduction" class="section">
82     <h2>Introduction</h2>
83    
84     <p class=section-info>This section is <em>non$B!>(Bnormative</em>.</p>
85    
86     <div class="issue ed">...</div>
87    
88    
89     </div>
90    
91     <div class="section" id="terminology">
92     <h2>Terminology</h2>
93    
94     <p>The key words <q><em class="rfc2119">MUST</em></q>,
95     <q><em class="rfc2119">MUST NOT</em></q>,
96     <q><em class="rfc2119">SHOULD</em></q>,
97     <q><em class="rfc2119">SHOULD NOT</em></q>, and
98     <q><em class=rfc2119>MAY</em></q> in this
99     document are to be interpreted as described in
100     <a href="urn:ietf:rfc:2119"><abbr title="Request for Comments">RFC</abbr>
101     2119</a>
102     <cite class="bibref normative">[<a href="#ref-KEYWORDS">KEYWORDS</a>]</cite>.</p>
103    
104     <!-- Strictly speaking the paragraph below is not part of terminology. -->
105     <p>All examples and notes in this specification are non$B!>(Bnormative,
106     as are all sections explicitly marked non$B!>(Bnormative. Everything
107     else in this specification is normative.</p>
108    
109     <p><span class=ed>Algorithm is normative but non-normative</span>.
110     In addition, the order in which <a href="#errors">errors</a> are
111     raised is undefined.</p>
112     </div>
113    
114     <div class="section">
115     <h2 class=ed>Algorithms</h2>
116    
117     <p>The following algorithms and definitions are applied to
118     <abbr>XML</abbr> documents; especially, they are not applied
119     to <abbr>HTML</abbr> documents.<!-- TODO: ref to HTML5 --></p>
120    
121     <p class=ed>If a <code>Document</code> node has no
122     xml-well-formedness-error, entity-error, and unknown-error,
123     then it is well-formed. If a well-formed <code>Document</code>
124     node has no xml-validity-error, it is valid.</p>
125    
126     <div class="note memo">
127     <p>A well$B!>(Bformed <code>Document</code> can be safely serialized
128     into a well$B!>(Bformed XML document. A valid <code>Document</code>
129     can be easily serialized into a valid XML document.</p>
130     </div>
131    
132     <p>Errors are classified into these
133     <dfn id=error-category title="error category">error categories</dfn>:</p>
134    
135     <dl id=errors>
136     <dt><dfn id=entity-error><code>entity-error</code></dfn></dt>
137 wakaba 1.4 <dd>
138     <p class=ed>@@</p>
139     <div class="note memo">
140     <p>This <span class=ed>algorithm</span> does not support
141     <abbr>DOM</abbr> tree with one or more <code>EntityReference</code>
142     nodes. It is expected that any entity references are expanded
143     at the parse time and any unexpandable entity references
144     make parse time errors raised so that never result in
145     <abbr>DOM</abbr> tree with <code>EntityReference</code> nodes.</p>
146     </div>
147     </dd>
148 wakaba 1.1 <dt><dfn id=round-trip-error><code>round-trip-error</code></dfn></dt>
149     <dd class=ed>@@</dd>
150     <dt class=ed><dfn id=unknown-error><code>unknown-error</code></dfn>?</dt>
151     <dd class=ed>@@</dd>
152     <dt><dfn id=xml-misc-error><code>xml-misc-error</code></dt>
153     <dd>An <abbr>XML</abbr> <i>error</i> (<abbr>XML</abbr> 1.0
154     <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>]</cite>
155     <a href="http://www.w3.org/TR/2006/REC-xml-20060816/#dt-error">error</a> /
156     <abbr>XML</abbr> 1.1
157     <cite class="bibref normative">[<a href="#ref-XML11">XML11</a>]</cite>
158     <a href="@@/#dt-error">error</a>)
159     that is not classified to any other <a href="#error-category">error
160     category</a>.</dd>
161     <dt><dfn id=xml-misc-fatal-error><code>xml-misc-fatal-error</code></dt>
162     <dd>An <abbr>XML</abbr> <i>fatal error</i> (<abbr>XML</abbr> 1.0
163     <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>]</cite>
164     <a href="http://www.w3.org/TR/2006/REC-xml-20060816/#dt-fatal">fatal
165     error</a> / <abbr>XML</abbr> 1.1
166     <cite class="bibref normative">[<a href="#ref-XML11">XML11</a>]</cite>
167     <a href="@@/#dt-fatal">fatal error</a>)
168     that is not classified to any other <a href="#error-category">error
169     category</a>. <span class=ed>@@ What errors fall into this category?</span></dd>
170     <dt><dfn id=xml-validity-error><code>xml-validity-error</code></dfn></dt>
171     <dd>A violation of validity constraint in XML document.</dd>
172     <dt><dfn id=xml-well-formedness-error><code>xml-well-formedness-error</code></dfn></dt>
173     <dd><p>If an <code>xml-well-formedness-error</code> is raised,
174     it would not be possible to generate an XML serialization that
175     would match to the appropriate production rule and that would not
176     violate to any well$B!>(Bformedness constraint in XML
177     specification <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>,
178     <a href="#ref-XML11">XML11</a>]</cite>.</p></dd>
179     </dl>
180    
181     <div class=ed><p>@@ TODO: #dt-atuseroption at user option
182     (MAY or MUST), #dt-compat for compatibility,
183     #dt-interop for interoperability</p></div>
184    
185     <p>The <dfn id=xml-version><abbr>XML</abbr> version</dfn> of a node is
186     the <abbr>XML</abbr> version of the document to which the node belongs.
187     For a <code>Documemt</code> node, the <abbr>XML</abbr> version
188     of the document is the value of the <code>xmlVersion</code>
189     attribute. For a <code>DocumentType</code> node whose
190     <code>ownerDocument</code> is set to <code>null</code>,
191     the <abbr>XML</abbr> version of the document is <code>1.0</code>.
192     For any other node, the <abbr>XML</abbr> version of the document
193     is that of the <code>Document</code> node contained in the
194     <code>ownerDocument</code> attribute of the node.</p>
195    
196     <p>The algorithm <dfn title="to check a node" id=algorithm-to-check-a-node>to
197     check a node (<dfn id=var-n><var>n</var></dfn>)</dfn> is defined as
198     following:</p>
199     <dl class=switch>
200     <dt>If <var>n</var> is an <code>Attr</code> node</dt>
201     <dd>
202     <ol>
203     <li><a href="#algorithm-to-validate-a-ncname">Validate the
204     <code>localName</code> attribute value as an <code>NCName</code></a>.</li>
205     <li>If the <code>prefix</code> attribute value is different from
206     <code>null</code>, then <a href="#algorithm-to-validate-a-ncname">validate
207     the <code>prefix</code> attribute value as an <code>NCName</code></a>.</li>
208     <li>If the <code>childNodes</code> list of <var>n</var> contains
209     a node which is <em>not</em> <code>Text</code> or
210     <code>EntityReference</code> node, then it is a
211     <a href="#xml-well-formedness-error" id=wfe-attr-child><code>xml-well-formedness-error</code></a>.</li>
212     <li>If the <code>childNodes</code> list of <var>n</var> contains
213     an <code>EntityReference</code> node, it is an
214     <a href="#entity-error" id=ee-er-in-attr><code>entity-error</code></a>.</li>
215 wakaba 1.4 <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
216     <code>childNodes</code> list of <var>n</var>,
217     which is different from <code>EntityReference</code> recursively.</li>
218 wakaba 1.1 <li class=ed>@@ <code>specified</code>,
219     <code>manakaiAttributeType</code></li>
220     </ol>
221     </dd>
222     <dt>If <var>n</var> is an <code>AttributeDefinition</code> node</dt>
223     <dd class=ed></dd>
224     <dt>If <var>n</var> is a <code>CDATASection</code> node</dt>
225     <dd>
226     <ol>
227     <li><a href="#algorithm-to-validate-an-xml-character-data">Validate the
228     <code>data</code> attribute value as an <abbr>XML</abbr> character
229     data</a>.</li>
230     <li>If the <code>data</code> attribute value contains
231     a string <code>]]></code>, then it is a
232     <a href="#xml-well-formedness-error" id=wfe-cs-mse><code>xml-well-formedness-error</code></a>.</li>
233     <li>If the <code>childNodes</code> list of <var>n</var> contains
234     any nodes, they are in
235     <a href="#xml-well-formedness-error" id=wfe-cs-child><code>xml-well-formedness-error</code></a>s.</li>
236     </ol>
237     </dd>
238     <dt>If <var>n</var> is a <code>Comment</code> node</dt>
239     <dd>
240     <ol>
241     <li><a href="#algorithm-to-validate-an-xml-character-data">Validate the
242     <code>data</code> attribute value as an <abbr>XML</abbr> character
243     data</a>.</li>
244     <li>If the <code>data</code> attribute value contains
245     a string <code>--</code>, or if it ends with a character
246     <code>-</code>, then it is a
247     <a href="#xml-well-formedness-error" id=wfe-comment-com><code>xml-well-formedness-error</code></a>.</li>
248     <li>If the <code>childNodes</code> list of <var>n</var> contains
249     any nodes, they are in
250     <a href="#xml-well-formedness-error" id=wfe-comment-child><code>xml-well-formedness-error</code></a>s.</li>
251     </ol>
252     </dd>
253     <dt>If <var>n</var> is a <code>Document</code> node</dt>
254     <dd>
255     <ol>
256     <li>If <a href="#xml-version"><abbr>XML</abbr> version</a> of <var>n</var>
257     is different from <code>1.0</code> or <code>1.1</code>,
258     then it is an <code class=ed>unknown-error?</code>.</li>
259     <li>If the <code>xmlEncoding</code> attribute value does <em>not</em>
260     match to <code>[A-Za-z] ([A-Za-z0-9._] | '-')*</code>
261     <span class=ed>@@ formal def</span>, then it is a
262     <a href="#xml-well-formedness-error" id=wfe-encoding><code>xml-well-formedness-error</code></a>.</li>
263     <li>The <code>childNodes</code> list of <var>n</var> have to
264     consist of zero or more <code>Comment</code> and/or
265     <code>ProcessingInstruction</code> nodes, followed by
266     an optional <code>DocumentType</code> node, followed
267     by zero or more <code>Comment</code> and/or
268     <code>ProcessingInstruction</code> nodes, followed by
269     an <code>Element</code> node, followed
270     by zero or more <code>Comment</code> and/or
271     <code>ProcessingInstruction</code> nodes. Any violation to this is a
272     <a href="#xml-well-formedness-error" id=wfe-document-child><code>xml-well-formedness-error</code></a>.</li>
273 wakaba 1.4 <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
274     <code>childNodes</code> list of <var>n</var>,
275     which is different from <code>EntityReference</code> recursively.</li>
276 wakaba 1.1 <li class=ed>@@ <code>allDeclarationsProcessed</code></li>
277     </ol>
278     </dd>
279     <dt>If <var>n</var> is a <code>DocumentFragment</code> node</dt>
280     <dd>
281     <ol>
282     <li>If the <code>childNodes</code> list of <var>n</var> contains
283     a node which is <em>not</em> <code>Element</code>,
284     <code>Text</code>, <code>CDATASection</code>, <code>Comment</code>,
285     <code>ProcessingInstruction</code>, or
286     <code>EntityReference</code> node, then it is a
287     <a href="#xml-well-formedness-error" id=wfe-df-child><code>xml-well-formedness-error</code></a>.</li>
288     <li>If the <code>childNodes</code> list of <var>n</var> contains
289     an <code>EntityReference</code> node, it is an
290     <a href="#entity-error" id=ee-er-in-df><code>entity-error</code></a>.</li>
291 wakaba 1.4 <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
292     <code>childNodes</code> list of <var>n</var>
293     which is different from <code>EntityReference</code> recursively.</li>
294 wakaba 1.1 </ol>
295     </dd>
296     <dt>If <var>n</var> is a <code>DocumentType</code> node</dt>
297     <dd>
298     <ol>
299     <li><a href="#algorithm-to-validate-a-ncname">Validate the
300     <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
301     <li>If the <code>publicId</code> attribute value contains any character
302     that is outside of the range of <code>#x20 | <!--#xD | #xA |-->
303     [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</code><!-- @@ TODO: formal def -->,
304     or contains a leading <code class=char>U+0020</code> character,
305     a trailing <code class=char>U+0020</code> character, or a
306     sequence of two or more <code class=char>U+0020</code> characters,
307     then it is a
308     <a href="#xml-well-formedness-error" id=wfe-dt-public-id><code>xml-well-formedness-error</code></a>.</li>
309     <li>If the <code>systemId</code> attribute value contains
310     both <code>"</code> and <code>'</code> characters, it is a
311     <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>
312     <!-- publicId = non-null and systemId = null -->
313     <li>If the <code>childNodes</code> list of <var>n</var> contains
314     a node which is <em>not</em> <code>ProcessingInstruction</code> node,
315     then it is a
316     <a href="#xml-well-formedness-error" id=wfe-dt-child><code>xml-well-formedness-error</code></a>.
317     <span class=ed>@@ ref to manakai's extensions</span></li>
318 wakaba 1.4 <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
319     <code>childNodes</code> list of <var>n</var>,
320     which is different from <code>EntityReference</code> recursively.</li>
321 wakaba 1.1 <li class=ed>@@ <code>entities</code>, <code>notations</code>,
322     <code>elementTypes</code>, externally declared?</li>
323     </ol>
324     </dd>
325     <dt>If <var>n</var> is an <code>Element</code> node</dt>
326     <dd>
327     <ol>
328     <li><a href="#algorithm-to-validate-a-ncname">Validate the
329     <code>localName</code> attribute value as an <code>NCName</code></a>.</li>
330     <li>If the <code>prefix</code> attribute value is different from
331     <code>null</code>, then <a href="#algorithm-to-validate-a-ncname">validate
332     the <code>prefix</code> attribute value as an <code>NCName</code></a>.</li>
333     <li>If the <code>childNodes</code> list of <var>n</var> contains
334     a node which is <em>not</em> <code>Element</code>,
335     <code>Text</code>, <code>CDATASection</code>, <code>Comment</code>,
336     <code>ProcessingInstruction</code>, or
337     <code>EntityReference</code> node, then it is a
338     <a href="#xml-well-formedness-error" id=wfe-element-child><code>xml-well-formedness-error</code></a>.</li>
339     <li>If the <code>childNodes</code> list of <var>n</var> contains
340     an <code>EntityReference</code> node, it is an
341     <a href="#entity-error" id=ee-er-in-element><code>entity-error</code></a>.</li>
342 wakaba 1.4 <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
343     <code>childNodes</code> list of <var>n</var>,
344     which is different from <code>EntityReference</code> recursively.</li>
345 wakaba 1.1 </ol>
346     </dd>
347     <dt>If <var>n</var> is an <code>ElementTypeDefinition</code> node</dt>
348     <dd class=ed></dd>
349     <dt>If <var>n</var> is an <code>Entity</code> node</dt>
350     <dd>
351     <ol>
352     <li>An <a href="#entity-error" id=ee-entity-node><code>entity-error</code></a> <span class=ed>@@ if !notationName</span>.</li>
353     <li><a href="#algorithm-to-validate-a-ncname">Validate the
354     <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
355     <li>If the <code>publicId</code> attribute value contains any character
356     that is outside of the range of <code>#x20 | <!--#xD | #xA |-->
357     [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</code><!-- @@ TODO: formal def -->,
358     or contains a leading <code class=char>U+0020</code> character,
359     a trailing <code class=char>U+0020</code> character, or a
360     sequence of two or more <code class=char>U+0020</code> characters,
361     then it is a
362     <a href="#xml-well-formedness-error" id=wfe-dt-public-id><code>xml-well-formedness-error</code></a>.</li>
363     <li>If the <code>systemId</code> attribute value contains
364     both <code>"</code> and <code>'</code> characters, it is a
365     <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>
366     <!-- publicId = non-null and systemId = null -->
367     <li class=ed>@@ <code>notationName</code></li>
368     <li>If the <code>childNodes</code> list of <var>n</var> contains
369     a node which is <em>not</em> <code>Element</code>,
370     <code>Text</code>, <code>CDATASection</code>, <code>Comment</code>,
371     <code>ProcessingInstruction</code>, or
372     <code>EntityReference</code> node, then it is a
373     <a href="#xml-well-formedness-error" id=wfe-entity-child><code>xml-well-formedness-error</code></a>.</li>
374     <li>If the <code>childNodes</code> list of <var>n</var> contains
375     an <code>EntityReference</code> node, it is an
376     <a href="#entity-error" id=ee-er-in-er><code>entity-error</code></a>.</li>
377 wakaba 1.4 <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
378     <code>childNodes</code> list of <var>n</var>,
379     which is different from <code>EntityReference</code> recursively.</li>
380 wakaba 1.1 </ol>
381     </dd>
382     <dt>If <var>n</var> is an <code>EntityReference</code> node</dt>
383     <dd>
384     <ol>
385     <li>An <a href="#entity-error" id=ee-er-node><code>entity-error</code></a>.</li>
386     <li><a href="#algorithm-to-validate-a-ncname">Validate the
387     <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
388     <li>If the <code>childNodes</code> list of <var>n</var> contains
389     a node which is <em>not</em> <code>Element</code>,
390     <code>Text</code>, <code>CDATASection</code>, <code>Comment</code>,
391     <code>ProcessingInstruction</code>, or
392     <code>EntityReference</code> node, then it is a
393     <a href="#xml-well-formedness-error" id=wfe-er-child><code>xml-well-formedness-error</code></a>.</li>
394     <li>If the <code>childNodes</code> list of <var>n</var> contains
395     an <code>EntityReference</code> node, it is an
396     <a href="#entity-error" id=ee-er-in-entity><code>entity-error</code></a>.</li>
397 wakaba 1.4 <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
398     <code>childNodes</code> list of <var>n</var>,
399     which is different from <code>EntityReference</code> recursively.</li>
400 wakaba 1.1 </ol>
401     </dd>
402     <dt>If <var>n</var> is a <code>Notation</code> node</dt>
403     <dd>
404     <ol>
405     <li><a href="#algorithm-to-validate-a-ncname">Validate the
406     <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
407     <li>If the <code>publicId</code> attribute value contains any character
408     that is outside of the range of <code>#x20 | <!--#xD | #xA |-->
409     [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</code><!-- @@ TODO: formal def -->,
410     or contains a leading <code class=char>U+0020</code> character,
411     a trailing <code class=char>U+0020</code> character, or a
412     sequence of two or more <code class=char>U+0020</code> characters,
413     then it is a
414     <a href="#xml-well-formedness-error" id=wfe-dt-public-id><code>xml-well-formedness-error</code></a>.</li>
415     <li>If the <code>systemId</code> attribute value contains
416     both <code>"</code> and <code>'</code> characters, it is a
417     <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>
418     <li>If the <code>childNodes</code> list of <var>n</var> contains
419     any nodes, they are in
420     <a href="#xml-well-formedness-error" id=wfe-notation-child><code>xml-well-formedness-error</code></a>s.</li>
421     </ol>
422     </dd>
423     <dt>If <var>n</var> is a <code>ProcessingInstruction</code> node</dt>
424     <dd>
425     <ol>
426     <li><a href="#algorithm-to-validate-a-ncname">Validate the
427     <code>target</code> attribute value as an <code>NCName</code></a>.</li>
428     <li>If the <code>target</code> attribute value matches to
429     <code>XML</code> case-insensitively, then it is a
430     <a href="#xml-well-formedness-error" id=wfe-pi-xml><code>xml-well-formedness-error</code></a>.</li>
431     <li><a href="#algorithm-to-validate-an-xml-character-data">Validate the
432     <code>data</code> attribute value as an <abbr>XML</abbr> character
433     data</a>.</li>
434     <li>If the <code>data</code> attribute value contains
435     a string <code>?></code>, or starts with either
436     <code class=char>U+0009</code>, <code class=char>U+000A</code>,
437     <code class=char>U+000D</code>, or <code class=char>U+0020</code>
438     character, then it is a
439     <a href="#round-trip-error" id=rte-pi-data><code>round-trip-error</code></a>.</li>
440     <li>If the <code>childNodes</code> list of <var>n</var> contains
441     any nodes, they are in
442     <a href="#xml-well-formedness-error" id=wfe-pi-child><code>xml-well-formedness-error</code></a>s.</li>
443     </ol>
444     </dd>
445     <dt>If <var>n</var> is a <code>Text</code> node</dt>
446     <dd>
447     <ol>
448     <li><a href="#algorithm-to-validate-an-xml-character-data">Validate the
449     <code>data</code> attribute value as an <abbr>XML</abbr> character
450     data</a>.</li>
451     <li>If the <code>childNodes</code> list of <var>n</var> contains
452     any nodes, they are in
453     <a href="#xml-well-formedness-error" id=wfe-text-child><code>xml-well-formedness-error</code></a>s.</li>
454     </ol>
455     </dd>
456     <dt>Otherwise</dt>
457     <dd><span class=ed>xml-well-formedness-error? unknown-error?</span></dd>
458     </dl>
459    
460     <p>The algorithm
461     <dfn id=algorithm-to-validate-an-xml-character-data title-"to validate an XML character data">to
462     validate an <abbr>XML</abbr> character data
463     (<dfn id=var-s><var>s</var></dfn>)</dfn> is defined as following:</p>
464     <ol>
465     <li class=ed>@@</li>
466     </ol>
467    
468     <p>The algorithm
469     <dfn id=algorithm-to-validate-a-name title="to validate a Name">to validate a
470     <code>Name</code> (<dfn id=var-name><var>name</var></dfn>)</dfn> is defined
471     as following:</p>
472     <ol>
473     <li class=ed>@@</li>
474     </ol>
475    
476     <p>The algorithm
477     <dfn id=algorithm-to-validate-a-ncname title="to validate an NCName">to
478     validate an <code>NCName</code> (<dfn id=var-name><var>name</var></dfn>)</dfn>
479     is defined as following:</p>
480     <ol>
481     <li class=ed>@@</li>
482     </ol>
483    
484     </div>
485    
486     <div class="section" id="examples">
487     <h2>Examples</h2>
488    
489     <p class=section-info>This section is <em>non$B!>(Bnormative</em>.</p>
490    
491     <div class="ed issue">
492    
493     <div class="example figure block">
494     <div class="caption">...</div>
495    
496     <pre><code>...</code></pre>
497     </div>
498    
499     </div>
500    
501     </div>
502    
503     <div id="references" class="section reference">
504     <h2>References</h2>
505    
506     <div id="normative-references" class="section normative reference">
507     <h3>Normative References</h3>
508    
509     <dl>
510 wakaba 1.3 <dt id=ref-DOM3CORE>DOM3CORE</dt>
511     <dd class=ed>@@ W3C DOM Level 3 Core</dd>
512     <dt id=ref-DOMDTDEF>DOMDTDEF</dt>
513     <dd class=ed>@@ manakai's extension to DOM for document type definitions</dd>
514 wakaba 1.1 <dt id="ref-KEYWORDS">KEYWORDS</dt>
515     <dd><cite><a href="urn:ietf:rfc:2119">Key words for use in
516     <abbr>RFCs</abbr> to Indicate Requirement Levels</a></cite>,
517     <abbr title="Internet Engineering Task Force">IETF</abbr>
518     <a href="urn:ietf:bcp:14"><abbr title="Best Current Practice">BCP</abbr>
519     14</a>, <abbr title="Request for Comments">RFC</abbr> 2119,
520     <time datetime=1997-03>March 1997</time>.
521     <em>This</em> version of the specification is referenced.</dd>
522     <dt id=ref-INFOSET>INFOSET</dt>
523     <dd class=ed>@@</dd>
524     <dt id=ref-XML10">XML10</dt>
525     <dd><cite><a href="http://www.w3.org/TR/2006/REC-xml-20060816">Extensible
526     Markup Language (<abbr>XML</abbr>) 1.0 (Fourth Edition)</a></cite>,
527     <abbr>W3C</abbr> Recommendation, <time datetime=2006-08-16>16 August
528     2006</time>, edited in place <time datetime=2006-09-29>29 September
529     2006</time>. Tje latest version of the specification is available at
530     <code class=uri>&lt;<a href="http://www.w3.org/TR/xml">http://www.w3.org/TR/xml</a>&gt;</code>.
531     <em>This</em> version of the specification is referenced.</dd>
532     <dt id=ref-XML11>XML11</dt>
533     <dd class=ed>@@</dd>
534     </dl>
535     </div>
536    
537     <div id="informative-references" class="section informative reference">
538     <h3>Non$B!>(Bnormative References</h3>
539    
540     <dl class=ed>
541     <dt id=ref-CSS>CSS</dt>
542     <dd><cite><a href="http://www.w3.org/TR/2007/CR-CSS21-20070719">Cascading
543     Style Sheets Level 2 Revision 1 (<abbr>CSS</abbr> 2.1)
544     Specification</a></cite>,
545     <abbr title="World Wide Web Consortium">W3C</abbr> Candidate
546     Recommendation, <time datetime=2007-07-19>19 July 2007</time>.
547     Work in progress. The latest version of the specification is
548     available at
549     <code class=URI>&lt;<a href="http://www.w3.org/TR/CSS21">http://www.w3.org/TR/CSS21</a>></code>.</dd>
550     <dt id=ref-CSSOM>CSSOM</dt>
551     <dd><cite><a href="http://dev.w3.org/cvsweb/~checkout~/csswg/cssom/Overview.html?rev=1.55&amp;content-type=text/html;%20charset=utf-8">Cascading
552     Style Sheets Object Model (<abbr>CSSOM</abbr>)</a></cite>,
553     <abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft,
554     <time datetime=2007-06-18>18 June 2007</time>. Work in progress.
555     The latest Editor's Draft of the specification is available at
556     <code class=URI>&lt;<a href="http://dev.w3.org/csswg/cssom/Overview.html">http://dev.w3.org/csswg/cssom/Overview.html</a>></code>.</dd>
557     <dt id=ref-HTML5>HTML5</dt>
558     <dd><cite><a href="http://whatwg.org/html5"><abbr>HTML</abbr> 5</a></cite>,
559     <abbr title="Web Hypertext Application Technology Working Group">WHATWG</abbr>
560     Working Draft. Work in progress.</dd>
561     <dt id=ref-SAPI>SAPI</dt>
562     <dd><cite><a href="http://dev.w3.org/cvsweb/~checkout~/2006/webapi/selectors-api/Overview.html?rev=1.28&amp;content-type=text/html;%20charset=utf-8">Selectors <abbr>API</abbr></a></cite>,
563     <abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft,
564     <time datetime=2007-08-29>29 August 2007</time>. Work in progress.
565     The latest Editor's Draft of the specification is available at
566     <code class=URI>&lt;<a href="http://dev.w3.org/2006/webapi/selectors-api/Overview.html">http://dev.w3.org/2006/webapi/selectors-api/Overview.html</a>></code>.
567     The latest published version of the specification is available at
568     <code class=URI>&lt;<a href="http://www.w3.org/TR/selectors-api/">http://www.w3.org/TR/selectors-api/</a>></code>.</dd>
569     <dt id=XBL2>XBL2</dt>
570     <dd><cite><a href="http://www.mozilla.org/projects/xbl/xbl2.html"><abbr>XBL</abbr>
571     2.0</a></cite>, Mozilla.org, <time datetime=2007-03-15>15 Mar 2007</time>.
572     Work in progress. The latest
573     <abbr title="World Wide Web Consortium">W3C</abbr>$B!>(Bpublished
574     version of the specification is available at
575     <code class=URI>&lt;<a href="http://www.w3.org/TR/xbl/">http://www.w3.org/TR/xbl/</a>></code>.</dd>
576 wakaba 1.3 <dt id=ref-XML5>XML5</dt>
577     <dd class=ed>@@</dd>
578 wakaba 1.1 </dl>
579     </div>
580    
581     </div>
582    
583     </body>
584     </html>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24