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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by wakaba, Mon Nov 12 12:45:49 2007 UTC revision 1.7 by wakaba, Mon Nov 12 13:16:56 2007 UTC
# Line 4  Line 4 
4  <title>manakai's XML Conformance Checking</title>  <title>manakai's XML Conformance Checking</title>
5  <link rel="stylesheet" href="http://suika.fam.cx/www/style/html/spec">  <link rel="stylesheet" href="http://suika.fam.cx/www/style/html/spec">
6  <link rel="license" href="http://suika.fam.cx/c/gnu/fdl">  <link rel="license" href="http://suika.fam.cx/c/gnu/fdl">
7    <style>
8      a[id]::before {
9        content: "[" attr(id) "]";
10        color: gray;
11        font-size: 70%;
12        font-family: Courier New, monospace;
13        vertical-align: 60%;
14      }
15    </style>
16  </head>  </head>
17  <body class="has-abstract">  <body class="has-abstract">
18    
# Line 211  following:</p> Line 220  following:</p>
220      <a href="#xml-well-formedness-error" id=wfe-attr-child><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-attr-child><code>xml-well-formedness-error</code></a>.</li>
221      <li>If the <code>childNodes</code> list of <var>n</var> contains      <li>If the <code>childNodes</code> list of <var>n</var> contains
222      an <code>EntityReference</code> node, it is an      an <code>EntityReference</code> node, it is an
223      <a href="#entity-error" id=ee-er-in-attr><code>entity-error</code></a>.</li>      <a href="#entity-error" id=ee-attr-er><code>entity-error</code></a>.</li>
224      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
225      <code>childNodes</code> list of <var>n</var>,      <code>childNodes</code> list of <var>n</var>,
226      which is different from <code>EntityReference</code> recursively.</li>      which is different from <code>EntityReference</code> recursively.</li>
# Line 287  following:</p> Line 296  following:</p>
296      <a href="#xml-well-formedness-error" id=wfe-df-child><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-df-child><code>xml-well-formedness-error</code></a>.</li>
297      <li>If the <code>childNodes</code> list of <var>n</var> contains      <li>If the <code>childNodes</code> list of <var>n</var> contains
298      an <code>EntityReference</code> node, it is an      an <code>EntityReference</code> node, it is an
299      <a href="#entity-error" id=ee-er-in-df><code>entity-error</code></a>.</li>      <a href="#entity-error" id=ee-df-er><code>entity-error</code></a>.</li>
300      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
301      <code>childNodes</code> list of <var>n</var>      <code>childNodes</code> list of <var>n</var>
302      which is different from <code>EntityReference</code> recursively.</li>      which is different from <code>EntityReference</code> recursively.</li>
# Line 298  following:</p> Line 307  following:</p>
307      <ol>      <ol>
308      <li><a href="#algorithm-to-validate-a-ncname">Validate the      <li><a href="#algorithm-to-validate-a-ncname">Validate the
309      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
310      <li>If the <code>publicId</code> attribute value contains any character      <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate
311      that is outside of the range of <code>#x20 | <!--#xD | #xA |-->      the <code>publicId</code> attribute value as a public identifier</a>.</li>
     [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</code><!-- @@ TODO: formal def -->,  
     or contains a leading <code class=char>U+0020</code> character,  
     a trailing <code class=char>U+0020</code> character, or a  
     sequence of two or more <code class=char>U+0020</code> characters,  
     then it is a  
     <a href="#xml-well-formedness-error" id=wfe-dt-public-id><code>xml-well-formedness-error</code></a>.</li>  
312      <li>If the <code>systemId</code> attribute value contains      <li>If the <code>systemId</code> attribute value contains
313      both <code>"</code> and <code>'</code> characters, it is a      both <code>"</code> and <code>'</code> characters, it is a
314      <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>
# Line 338  following:</p> Line 341  following:</p>
341      <a href="#xml-well-formedness-error" id=wfe-element-child><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-element-child><code>xml-well-formedness-error</code></a>.</li>
342      <li>If the <code>childNodes</code> list of <var>n</var> contains      <li>If the <code>childNodes</code> list of <var>n</var> contains
343      an <code>EntityReference</code> node, it is an      an <code>EntityReference</code> node, it is an
344      <a href="#entity-error" id=ee-er-in-element><code>entity-error</code></a>.</li>      <a href="#entity-error" id=ee-element-er><code>entity-error</code></a>.</li>
345      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
346      <code>childNodes</code> list of <var>n</var>,      <code>childNodes</code> list of <var>n</var>,
347      which is different from <code>EntityReference</code> recursively.</li>      which is different from <code>EntityReference</code> recursively.</li>
# Line 352  following:</p> Line 355  following:</p>
355      <li>An <a href="#entity-error" id=ee-entity-node><code>entity-error</code></a> <span class=ed>@@ if !notationName</span>.</li>      <li>An <a href="#entity-error" id=ee-entity-node><code>entity-error</code></a> <span class=ed>@@ if !notationName</span>.</li>
356      <li><a href="#algorithm-to-validate-a-ncname">Validate the      <li><a href="#algorithm-to-validate-a-ncname">Validate the
357      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
358      <li>If the <code>publicId</code> attribute value contains any character      <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate
359      that is outside of the range of <code>#x20 | <!--#xD | #xA |-->      the <code>publicId</code> attribute value as a public identifier</a>.</li>
     [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</code><!-- @@ TODO: formal def -->,  
     or contains a leading <code class=char>U+0020</code> character,  
     a trailing <code class=char>U+0020</code> character, or a  
     sequence of two or more <code class=char>U+0020</code> characters,  
     then it is a  
     <a href="#xml-well-formedness-error" id=wfe-dt-public-id><code>xml-well-formedness-error</code></a>.</li>  
360      <li>If the <code>systemId</code> attribute value contains      <li>If the <code>systemId</code> attribute value contains
361      both <code>"</code> and <code>'</code> characters, it is a      both <code>"</code> and <code>'</code> characters, it is a
362      <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>
# Line 373  following:</p> Line 370  following:</p>
370      <a href="#xml-well-formedness-error" id=wfe-entity-child><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-entity-child><code>xml-well-formedness-error</code></a>.</li>
371      <li>If the <code>childNodes</code> list of <var>n</var> contains      <li>If the <code>childNodes</code> list of <var>n</var> contains
372      an <code>EntityReference</code> node, it is an      an <code>EntityReference</code> node, it is an
373      <a href="#entity-error" id=ee-er-in-er><code>entity-error</code></a>.</li>      <a href="#entity-error" id=ee-er-er><code>entity-error</code></a>.</li>
374      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
375      <code>childNodes</code> list of <var>n</var>,      <code>childNodes</code> list of <var>n</var>,
376      which is different from <code>EntityReference</code> recursively.</li>      which is different from <code>EntityReference</code> recursively.</li>
# Line 393  following:</p> Line 390  following:</p>
390      <a href="#xml-well-formedness-error" id=wfe-er-child><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-er-child><code>xml-well-formedness-error</code></a>.</li>
391      <li>If the <code>childNodes</code> list of <var>n</var> contains      <li>If the <code>childNodes</code> list of <var>n</var> contains
392      an <code>EntityReference</code> node, it is an      an <code>EntityReference</code> node, it is an
393      <a href="#entity-error" id=ee-er-in-entity><code>entity-error</code></a>.</li>      <a href="#entity-error" id=ee-entity-er><code>entity-error</code></a>.</li>
394      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in      <li><a href="#algorithm-to-check-a-node">Check each node</a>, in
395      <code>childNodes</code> list of <var>n</var>,      <code>childNodes</code> list of <var>n</var>,
396      which is different from <code>EntityReference</code> recursively.</li>      which is different from <code>EntityReference</code> recursively.</li>
# Line 404  following:</p> Line 401  following:</p>
401      <ol>      <ol>
402      <li><a href="#algorithm-to-validate-a-ncname">Validate the      <li><a href="#algorithm-to-validate-a-ncname">Validate the
403      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
404      <li>If the <code>publicId</code> attribute value contains any character      <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate
405      that is outside of the range of <code>#x20 | <!--#xD | #xA |-->      the <code>publicId</code> attribute value as a public identifier</a>.</li>
     [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</code><!-- @@ TODO: formal def -->,  
     or contains a leading <code class=char>U+0020</code> character,  
     a trailing <code class=char>U+0020</code> character, or a  
     sequence of two or more <code class=char>U+0020</code> characters,  
     then it is a  
     <a href="#xml-well-formedness-error" id=wfe-dt-public-id><code>xml-well-formedness-error</code></a>.</li>  
406      <li>If the <code>systemId</code> attribute value contains      <li>If the <code>systemId</code> attribute value contains
407      both <code>"</code> and <code>'</code> characters, it is a      both <code>"</code> and <code>'</code> characters, it is a
408      <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>
# Line 481  is defined as following:</p> Line 472  is defined as following:</p>
472  <li class=ed>@@</li>  <li class=ed>@@</li>
473  </ol>  </ol>
474    
475    <p>To <dfn id=algorithm-to-validate-a-public-identifier title="validate a public identifier">validate
476    a public identifier (<dfn id=var-pid><var>pid</var></dfn>)</dfn>, the
477    algorithm below <em class=rfc2119>MUST</em> be used:</p>
478    <ol>
479      <li>If <var>pid</var> contains any character
480      that is outside of the range of <code>#x20 | #xD | #xA |
481      [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</code><!-- @@ TODO: formal def -->,
482      then it is an
483      <a href="#xml-well-formedness-error" id=wfe-pubid-char><code>xml-well-formedness-error</code></a>.</li>
484      <li>If <var>pid</var> contains one of <code class=char>U+0009</code>
485      <code class=charname>CHARACTER TABULATION</code>,
486      <code class=char>U+000A</code> <code class=charname>CARRIAGE RETURN</code>,
487      and <code class=char>U+000D</code> <code class=charname>LINE FEED</code>
488      characters, if the first character of <var>pid</var> is
489      <code class=char>U+0020</code> <code class=charname>SPACE</code> character,
490      if the last character of <var>pid</var> is <code class=char>U+0020</code>
491      <code class=charname>SPACE</code> character, or if there is a
492      <code class=char>U+0020</code> <code class=charname>SPACE</code> character
493      immediately followed by another <code class=char>U+0020</code>
494      <code class=charname>SPACE</code> character in <var>pid</var>, then it is a
495      <a href="#round-trip-error" id=rte-pubid-space><code>round-trip-error</code></a>.</li>
496      <li class=ed>@@ Should we check formal-public-identifierness?</li>
497    </ol>
498    
499  </div>  </div>
500    
501  <div class="section" id="examples">  <div class="section" id="examples">

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.7

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24