/[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.17 by wakaba, Sat Dec 1 12:19:41 2007 UTC revision 1.21 by wakaba, Sat Dec 1 15:18:43 2007 UTC
# Line 314  is that of the <code>Document</code> nod Line 314  is that of the <code>Document</code> nod
314    
315    
316  <div class=section id=checking-components>  <div class=section id=checking-components>
317  <h3>Checking Components</h3>  <h3>Conformance Checking Algorithms for Components</h3>
318    
319  <p>The algorithm  <p>To
320  <dfn id=algorithm-to-validate-an-xml-character-data title-"to validate an XML character data">to  <dfn id=algorithm-to-validate-an-xml-character-data title="validate an XML string">to
321  validate an <abbr>XML</abbr> character data  validate an <abbr>XML</abbr> string (<dfn id=var-s><var>s</var></dfn>)</dfn>,
322  (<dfn id=var-s><var>s</var></dfn>)</dfn> is defined as following:</p>  the following algorithm <em class=rfc2119>MUST</em> be used:</p>
323  <ol>  <ol>
324  <li>If <var>s</var> contains a character that is <em>not</em> in  <li>If <var>s</var> contains a character that is <em>not</em> in
325  the character class <a href="#class-Char10"><code>Char10</code></a>,  the character class <a href="#class-Char10"><code>Char10</code></a>,
# Line 344  U+000D will be serialized as &#x000D; (s Line 344  U+000D will be serialized as &#x000D; (s
344  will be raised).</span></li>  will be raised).</span></li>
345  </ol>  </ol>
346    
347  <p>The algorithm  <p>To
348  <dfn id=algorithm-to-validate-a-name title="to validate a Name">to validate a  <dfn id=algorithm-to-validate-a-name title="validate a Name">validate a
349  <code>Name</code> (<dfn id=var-name-s><var>s</var></dfn>)</dfn> is defined  <code>Name</code> (<dfn id=var-name-s><var>s</var></dfn>)</dfn>, the following
350  as following:</p>  algorithm <em class=rfc2119>MUST</em> be used:</p>
351  <ol>  <ol>
352    <li>If <var>s</var> is an empty string, then raise an
353    <a href="#xml-well-formedness-error" id=wfe-name-empty><code>xml-well-formedness-error</code></a>.
354    Abort these steps.</li>
355    <li><a href="#algorithm-to-validate-an-xml-character-data" title="validate an XML string">Validate
356    <var>s</var> as an <abbr>XML</abbr> string</a>.</li>
357    <li>If the first character in <var>s</var> is a character that is
358    <em>not</em> in the character class
359    <a href="#class-NameStartChar10"><code>NameStartChar10</code></a>, then raise
360    an
361    <a href="#xml-well-formedness-error" id=wfe-name-startchar><code>xml-well-formedness-error</code></a>.</li>
362    <li>If a character other than the first character in <var>s</var> is a
363    character that is <em>not</em> in the character class
364    <a href="#class-NameChar10"><code>NameChar10</code></a>, then raise an
365    <a href="#xml-well-formedness-error" id=wfe-name-char><code>xml-well-formedness-error</code></a>.</li>
366  <li>If <var>s</var> begins with the string <code>xml</code> (in any  <li>If <var>s</var> begins with the string <code>xml</code> (in any
367  case combination), then raise an  case combination), then raise an
368  <a href="#xml-misc-warning" id=xmw-reserved-name><code>xml-misc-warning</code></a>.  <a href="#xml-misc-warning" id=xmw-reserved-name><code>xml-misc-warning</code></a>.
# Line 357  case combination), then raise an Line 371  case combination), then raise an
371  <code>xmlns</code>, <code>xmlns:<var>*</var></code>,  <code>xmlns</code>, <code>xmlns:<var>*</var></code>,
372  pi name <code>xml-stylesheet</code>.</span><!--  pi name <code>xml-stylesheet</code>.</span><!--
373  "names beginning with a match to (('X'|'x')('M'|'m')('L'|'l')) are reserved for standardization in this or future versions of this specification.":  "names beginning with a match to (('X'|'x')('M'|'m')('L'|'l')) are reserved for standardization in this or future versions of this specification.":
374  xml:base and xml:id specifications violate to this sentense!  xmlns, xml-stylesheet, xml:base and xml:id specifications violate to this sentense!
375  --></li>  --></li>
376  <!-- COLON in Name is a lowercase "should not" in a Note of [XML10],  <!-- COLON in Name is a lowercase "should not" in a Note of [XML10],
377  [XML11]. -->  [XML11]. -->
378  <li class=ed>@@</li>  <li class=ed>@@ XML 1.1 support</li>
379  </ol>  </ol>
380    
381  <p>The algorithm  <p>To
382  <dfn id=algorithm-to-validate-a-ncname title="to validate an NCName">to  <dfn id=algorithm-to-validate-an-ncname title="validate an NCName">validate
383  validate an <code>NCName</code> (<dfn id=var-name><var>name</var></dfn>)</dfn>  an <code>NCName</code> (<dfn id=var-ncname-s><var>s</var></dfn>)</dfn>, the
384  is defined as following:</p>  following algorithm <em class=rfc2119>MUST</em> be used:</p>
385  <ol>  <ol>
386    <li><a href="#algorithm-to-validate-a-name" title="validate a Name">Validate
387    <var>s</var> as a <code>Name</code></a>.</li>
388  <li class=ed>@@</li>  <li class=ed>@@</li>
389  </ol>  </ol>
390    
391  <p>To <dfn id=algorithm-to-validate-a-public-identifier title="validate a public identifier">validate  <p>To
392    <dfn id=algorithm-to-validate-a-public-identifier title="validate a public identifier">validate
393  a public identifier (<dfn id=var-pid><var>pid</var></dfn>)</dfn>, the  a public identifier (<dfn id=var-pid><var>pid</var></dfn>)</dfn>, the
394  algorithm below <em class=rfc2119>MUST</em> be used:</p>  following algorithm <em class=rfc2119>MUST</em> be used:</p>
395  <ol>  <ol>
396    <li>If <var>pid</var> contains any character  <li>If <var>pid</var> is <code>null</code>, abort these steps.</li>
397    that is outside of the range of <code>#x20 | #xD | #xA |  <li>If <var>pid</var> contains a character that is <em>not</em> in the
398    [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</code><!-- @@ TODO: formal def -->,  character class <a href="#class-PubidChar"><code>PubidChar</code></a>, then
399    then it is an  raise an
400    <a href="#xml-well-formedness-error" id=wfe-pubid-char><code>xml-well-formedness-error</code></a>.</li>  <a href="#xml-well-formedness-error" id=wfe-pubid-char><code>xml-well-formedness-error</code></a>.</li>
401    <li>If <var>pid</var> contains one of <code class=char>U+0009</code>    <li>If <var>pid</var> contains one of <code class=char>U+0009</code>
402    <code class=charname>CHARACTER TABULATION</code>,    <code class=charname>CHARACTER TABULATION</code>,
403    <code class=char>U+000A</code> <code class=charname>CARRIAGE RETURN</code>,    <code class=char>U+000A</code> <code class=charname>CARRIAGE RETURN</code>,
# Line 392  algorithm below <em class=rfc2119>MUST</ Line 409  algorithm below <em class=rfc2119>MUST</
409    <code class=char>U+0020</code> <code class=charname>SPACE</code> character    <code class=char>U+0020</code> <code class=charname>SPACE</code> character
410    immediately followed by another <code class=char>U+0020</code>    immediately followed by another <code class=char>U+0020</code>
411    <code class=charname>SPACE</code> character in <var>pid</var>, then it is a    <code class=charname>SPACE</code> character in <var>pid</var>, then it is a
412    <a href="#round-trip-error" id=rte-pubid-space><code>round-trip-error</code></a>.</li>    <a href="#round-trip-error" id=rte-pubid-space><code>round-trip-error</code></a>.
413    <li class=ed>@@ Should we check formal-public-identifierness?</li>    <span class=ed>Is this really a roundtripness problem?  XML spec
414      does only define the way to match public identifiers in fact, no
415      canonical form.</span></li>
416    </ol>
417    
418    <p>To
419    <dfn id=algorithm-to-validate-a-system-identifier title="validate a system identifier">validate
420    a system identifier (<dfn id=var-sid><var>sid</var></dfn>)</dfn>, the
421    following algorithm <em class=rfc2119>MUST</em> be used:</p>
422    <ol>
423      <li>If <var>sid</var> is <code>null</code>, abort these steps.</li>
424    <li><a href="#algorithm-to-validate-an-xml-character-data" title="validate an XML string">Validate
425    <var>sid</var> as an <abbr>XML</abbr> string</a>.</li>
426      <li>If <var>sid</var> contains both <code class=char>U+0022</code>
427      <code class=charname>QUOTATION MARK</code> (<code class=char>"</code>) and
428      <code class=char>U+0027</code> <code class=charname>APOSTROPHE</code>
429      (<code class=char>'</code>) characters, raise an
430      <a href="#xml-well-formedness-error" id=wfe-sid-lit><code>xml-well-formedness-error</code></a>.</li>
431      <li>If <var>sid</var> contains at least one <code class=char>U+0023</code>
432      <code class=charname>NUMBER SIGN</code> (<code class=char>#</code>)
433      character, then raise an
434      <a href="#xml-misc-error" id=xme-sid-fragment><code>xml-misc-error</code></a>.</li>
435      <li class=ed>@@ If <var>sid</var> cannot be converted to a URI
436      reference, then raise a fact-level error (xml-misc-warning?).<!--
437      XML 1.0 has no conformance language for system identifier being
438      a URI reference. --></li>
439  </ol>  </ol>
440    
441  </div>  </div>
# Line 408  following:</p> Line 450  following:</p>
450  <dt>If <var>n</var> is an <code>Attr</code> node</dt>  <dt>If <var>n</var> is an <code>Attr</code> node</dt>
451    <dd>    <dd>
452      <ol>      <ol>
453      <li><a href="#algorithm-to-validate-a-ncname">Validate the      <li><a href="#algorithm-to-validate-an-ncname">Validate the
454      <code>localName</code> attribute value as an <code>NCName</code></a>.</li>      <code>localName</code> attribute value as an <code>NCName</code></a>.</li>
455      <li>If the <code>prefix</code> attribute value is different from      <li>If the <code>prefix</code> attribute value is different from
456      <code>null</code>, then <a href="#algorithm-to-validate-a-ncname">validate      <code>null</code>, then <a href="#algorithm-to-validate-an-ncname">validate
457      the <code>prefix</code> attribute value as an <code>NCName</code></a>.</li>      the <code>prefix</code> attribute value as an <code>NCName</code></a>.</li>
458      <li>For each node <dfn id=var-attr-nc><var>n<sub><var>c</var></sub></var></dfn> in the      <li>For each node <dfn id=var-attr-nc><var>n<sub><var>c</var></sub></var></dfn> in the
459      <code>childNodes</code> list of <var>n</var>,      <code>childNodes</code> list of <var>n</var>,
# Line 547  following:</p> Line 589  following:</p>
589  <dt>If <var>n</var> is a <code>CDATASection</code> node</dt>  <dt>If <var>n</var> is a <code>CDATASection</code> node</dt>
590    <dd>    <dd>
591      <ol>      <ol>
592      <li><a href="#algorithm-to-validate-an-xml-character-data">Validate the      <li><a href="#algorithm-to-validate-an-xml-character-data" title="validate an XML string">Validate the
593      <code>data</code> attribute value as an <abbr>XML</abbr> character      <code>data</code> attribute value as an <abbr>XML</abbr> character
594      data</a>.</li>      data</a>.</li>
595      <li>If the <code>data</code> attribute value contains      <li>If the <code>data</code> attribute value contains
# Line 563  following:</p> Line 605  following:</p>
605      <ol>      <ol>
606      <li>Raise an      <li>Raise an
607      <a href="#round-trip-warning" id=rtw-comment><code>round-trip-warning</code></a>.</li>      <a href="#round-trip-warning" id=rtw-comment><code>round-trip-warning</code></a>.</li>
608      <li><a href="#algorithm-to-validate-an-xml-character-data">Validate the      <li><a href="#algorithm-to-validate-an-xml-character-data" title="validate an XML string">Validate the
609      <code>data</code> attribute value as an <abbr>XML</abbr> character      <code>data</code> attribute value as an <abbr>XML</abbr> character
610      data</a>.</li>      data</a>.</li>
611      <li>If the <code>data</code> attribute value contains      <li>If the <code>data</code> attribute value contains
# Line 630  following:</p> Line 672  following:</p>
672  <dt>If <var>n</var> is a <code>DocumentType</code> node</dt>  <dt>If <var>n</var> is a <code>DocumentType</code> node</dt>
673    <dd>    <dd>
674      <ol>      <ol>
675      <li><a href="#algorithm-to-validate-a-ncname">Validate the      <li><a href="#algorithm-to-validate-an-ncname">Validate the
676      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
677      <li>Follow the following substeps:      <li>Follow the following substeps:
678        <ol>        <ol>
# Line 649  following:</p> Line 691  following:</p>
691      </li>      </li>
692      <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate      <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate
693      the <code>publicId</code> attribute value as a public identifier</a>.</li>      the <code>publicId</code> attribute value as a public identifier</a>.</li>
694      <li>If the <code>systemId</code> attribute value contains      <li><a href="#algorithm-to-validate-a-system-identifier" title="validate a system identifier">Validate
695      both <code>"</code> and <code>'</code> characters, it is a      the <code>systemId</code> attribute value as a system identifier</a>.</li>
696      <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>      <li>If the <code>publicId</code> attribute value of <var>n</var> is
697      <!-- @@ "It is an error for a fragment identifier (beginning with a # character) to be part of a system identifier." -->      <em>not</em> <code>null</code> and the <code>systemId</code> attribute
698      <!-- publicId = non-null and systemId = null -->      value of <var>n</var> is <code>null</code>, then raise an
699        <a href="#xml-well-formedness-error" id=wfe-dt-sid><code>xml-well-formedness-error</code></a>.
700        <span class=ed>@@ publicId == null?  Or, publicId == ""</span></li>
701      <li>For each node <dfn id=var-dt-nc><var>n<sub><var>c</var></sub></var></dfn>      <li>For each node <dfn id=var-dt-nc><var>n<sub><var>c</var></sub></var></dfn>
702      in the <code>childNodes</code> list of <var>n</var>,      in the <code>childNodes</code> list of <var>n</var>,
703        <ol>        <ol>
# Line 665  following:</p> Line 709  following:</p>
709        <a href="#algorithm-to-check-a-node" title="check a node">check        <a href="#algorithm-to-check-a-node" title="check a node">check
710        <var>n<sub><var>c</var></sub></var></a> recusrively.</li>        <var>n<sub><var>c</var></sub></var></a> recusrively.</li>
711        </ol></li>        </ol></li>
712      <li class=ed>@@ <code>entities</code>, <code>notations</code>,      <li>For each node in the <code>entities</code>, <code>notations</code>,
713      <code>elementTypes</code>, externally declared?</li>      and <code>elementTypes</code> lists of <var>n</var>,
714        <a href="#algorithm-to-check-a-node" title="check a node">check the
715        node</a> recursively.</li>
716        <li class=ed>@@ externally declared?</li>
717      </ol>      </ol>
718    </dd>    </dd>
719  <dt>If <var>n</var> is an <code>Element</code> node</dt>  <dt>If <var>n</var> is an <code>Element</code> node</dt>
720    <dd>    <dd>
721      <ol>      <ol>
722      <li><a href="#algorithm-to-validate-a-ncname">Validate the      <li><a href="#algorithm-to-validate-an-ncname">Validate the
723      <code>localName</code> attribute value as an <code>NCName</code></a>.</li>      <code>localName</code> attribute value as an <code>NCName</code></a>.</li>
724      <li>If the <code>prefix</code> attribute value is different from      <li>If the <code>prefix</code> attribute value is different from
725      <code>null</code>, then <a href="#algorithm-to-validate-a-ncname">validate      <code>null</code>, then <a href="#algorithm-to-validate-an-ncname">validate
726      the <code>prefix</code> attribute value as an <code>NCName</code></a>.</li>      the <code>prefix</code> attribute value as an <code>NCName</code></a>.</li>
727      <li>For each node <dfn id=var-element-nc><var>n<sub><var>c</var></sub></var></dfn>      <li>For each node <dfn id=var-element-nc><var>n<sub><var>c</var></sub></var></dfn>
728      in the <code>childNodes</code> list of <var>n</var>,      in the <code>childNodes</code> list of <var>n</var>,
# Line 694  following:</p> Line 741  following:</p>
741        <var>n<sub><var>c</var></sub></var></a> recursively.</li>        <var>n<sub><var>c</var></sub></var></a> recursively.</li>
742        </ol></li>        </ol></li>
743      <li class=ed>@@ #elementvalid Validity constraint: Element Valid</li>      <li class=ed>@@ #elementvalid Validity constraint: Element Valid</li>
744      <li class=ed>@@ #uniqattspec Well-formedness constraint: Unique Att Spec</li>      <li>Let <var>attrs</var> be the value of the <code>attribute</code>
745      <li class=ed>@@ #RequiredAttr Validity constraint: Required Attribute</li>      attribute of <var>n</var>.  Check conformance of <var>attrs</var>
746        as following:
747          <ol>
748          <li>If <var>attrs</var> contains an <code>Attr</code> node whose
749          <code>nodeName</code> attribute value is equal to that of another
750          <code>Attr</code> node in <var>attrs</var>, then raise an
751          <a href="#xml-well-formedness-error" id=wfe-uniqattspec><code>xml-well-formedness-error</code></a>.<!--
752          #uniqattspec Well-formedness constraint: Unique Att Spec --></li>
753          <li class=ed>@@ #RequiredAttr Validity constraint: Required Attribute</li>
754          </ol>
755        </li>
756      </ol>      </ol>
757    </dd>    </dd>
758  <dt>If <var>n</var> is an <code>ElementTypeDefinition</code> node</dt>  <dt>If <var>n</var> is an <code>ElementTypeDefinition</code> node</dt>
# Line 723  following:</p> Line 780  following:</p>
780      <li class=ed>"For interoperability, the same Nmtoken  SHOULD NOT occur more than once in the enumerated attribute types of a single element type."</li>      <li class=ed>"For interoperability, the same Nmtoken  SHOULD NOT occur more than once in the enumerated attribute types of a single element type."</li>
781      </ol>      </ol>
782    </dd>    </dd>
783  <dt>If <var>n</var> is an <code>Entity</code> node</dt>  <dt>If <var>n</var> is an <code>Entity</code> node whose
784    <code>notationName</code> attribute value is <code>null</code> (i.e. a
785    parsed entity)</dt>
786    <dd>    <dd>
787      <ol>      <ol>
788      <li>An <a href="#entity-error" id=ee-entity-node><code>entity-error</code></a> <span class=ed>@@ if !notationName</span>.</li>      <li>Raise an
789      <li><a href="#algorithm-to-validate-a-ncname">Validate the      <a href="#entity-error" id=ee-entity-node><code>entity-error</code></a>.</li>
790        <li><a href="#algorithm-to-validate-an-ncname">Validate the
791      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
792      <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate      <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate
793      the <code>publicId</code> attribute value as a public identifier</a>.</li>      the <code>publicId</code> attribute value as a public identifier</a>.</li>
794      <li>If the <code>systemId</code> attribute value contains      <li><a href="#algorithm-to-validate-a-system-identifier" title="validate a system identifier">Validate
795      both <code>"</code> and <code>'</code> characters, it is a      the <code>systemId</code> attribute value as a system identifier</a>.</li>
796      <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>      <li>If the <code>publicId</code> attribute value of <var>n</var> is
797      <!-- publicId = non-null and systemId = null -->      <em>not</em> <code>null</code> and the <code>systemId</code> attribute
798      <li class=ed>@@ <code>notationName</code></li>      value of <var>n</var> is <code>null</code>, then raise an
799      <li class=ed>@@ #not-declared Validity constraint: Notation Declared</li>      <a href="#xml-well-formedness-error" id=wfe-entity-sid><code>xml-well-formedness-error</code></a>.</li>
800      <li>For each node <dfn id=var-entity-nc><var>n<sub><var>c</var></sub></var></dfn>      <li>For each node <dfn id=var-entity-nc><var>n<sub><var>c</var></sub></var></dfn>
801      in the <code>childNodes</code> list of <var>n</var>,      in the <code>childNodes</code> list of <var>n</var>,
802        <ol>        <ol>
# Line 755  following:</p> Line 815  following:</p>
815        </ol></li>        </ol></li>
816      </ol>      </ol>
817    </dd>    </dd>
818    <dt>If <var>n</var> is an <code>Entity</code> node whose
819    <code>notationName</code> attribute value is <em>not</em> <code>null</code>
820    (i.e. an unparsed entity)</dt>
821      <dd>
822        <ol>
823        <li><a href="#algorithm-to-validate-an-ncname">Validate the
824        <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
825        <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate
826        the <code>publicId</code> attribute value as a public identifier</a>.</li>
827        <li><a href="#algorithm-to-validate-a-system-identifier" title="validate a system identifier">Validate
828        the <code>systemId</code> attribute value as a system identifier</a>.</li>
829        <li>If the <code>systemId</code> attribute value of <var>n</var> is
830        <code>null</code>, then raise an
831        <a href="#xml-well-formedness-error" id=wfe-uentity-sid><code>xml-well-formedness-error</code></a>.</li>
832        <li><a href="#algorithm-to-validate-an-ncname">Validate the
833        <code>notationName</code> attribute value of <var>n</var> as an
834        <code>NCName</code></a>.</li>
835        <li class=ed>@@ #not-declared Validity constraint: Notation Declared</li>
836        <li>If the <code>childNodes</code> list of <var>n</var> contains
837        any nodes, they are in
838        <a href="#xml-well-formedness-error" id=wfe-uentity-child><code>xml-well-formedness-error</code></a>.</li>
839        </ol>
840      </dd>
841  <dt>If <var>n</var> is an <code>EntityReference</code> node</dt>  <dt>If <var>n</var> is an <code>EntityReference</code> node</dt>
842    <dd>    <dd>
843      <ol>      <ol>
844      <li>An <a href="#entity-error" id=ee-er-node><code>entity-error</code></a>.</li>      <li>An <a href="#entity-error" id=ee-er-node><code>entity-error</code></a>.</li>
845      <li><a href="#algorithm-to-validate-a-ncname">Validate the      <li><a href="#algorithm-to-validate-an-ncname">Validate the
846      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
847      <li>For each node <dfn id=var-er-nc><var>n<sub><var>c</var></sub></var></dfn>      <li>For each node <dfn id=var-er-nc><var>n<sub><var>c</var></sub></var></dfn>
848      in the <code>childNodes</code> list of <var>n</var>,      in the <code>childNodes</code> list of <var>n</var>,
# Line 782  following:</p> Line 865  following:</p>
865  <dt>If <var>n</var> is a <code>Notation</code> node</dt>  <dt>If <var>n</var> is a <code>Notation</code> node</dt>
866    <dd>    <dd>
867      <ol>      <ol>
868      <li><a href="#algorithm-to-validate-a-ncname">Validate the      <li><a href="#algorithm-to-validate-an-ncname">Validate the
869      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>      <code>nodeName</code> attribute value as an <code>NCName</code></a>.</li>
870      <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate      <li><a href="#algorithm-to-validate-a-public-identifier" title="validate a public identifier">Validate
871      the <code>publicId</code> attribute value as a public identifier</a>.</li>      the <code>publicId</code> attribute value as a public identifier</a>.</li>
872      <li>If the <code>systemId</code> attribute value contains      <li><a href="#algorithm-to-validate-a-system-identifier" title="validate a system identifier">Validate
873      both <code>"</code> and <code>'</code> characters, it is a      the <code>systemId</code> attribute value as a system identifier</a>.</li>
     <a href="#xml-well-formedness-error" id=wfe-dt-system-id><code>xml-well-formedness-error</code></a>.</li>  
874      <li>If the <code>childNodes</code> list of <var>n</var> contains      <li>If the <code>childNodes</code> list of <var>n</var> contains
875      any nodes, they are in      any nodes, they are in
876      <a href="#xml-well-formedness-error" id=wfe-notation-child><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-notation-child><code>xml-well-formedness-error</code></a>.</li>
# Line 800  following:</p> Line 882  following:</p>
882      <li>If the <code>target</code> attribute value matches to the string      <li>If the <code>target</code> attribute value matches to the string
883      <code>xml</code> in any case combination, then raise a      <code>xml</code> in any case combination, then raise a
884      <a href="#xml-well-formedness-error" id=wfe-pi-xml><code>xml-well-formedness-error</code></a>.</li>      <a href="#xml-well-formedness-error" id=wfe-pi-xml><code>xml-well-formedness-error</code></a>.</li>
885      <li>Otherwise, <a href="#algorithm-to-validate-a-ncname">validate the      <li>Otherwise, <a href="#algorithm-to-validate-an-ncname">validate the
886      <code>target</code> attribute value as an <code>NCName</code></a>.</li>      <code>target</code> attribute value as an <code>NCName</code></a>.</li>
887      <li>Then,      <li>Then,
888      <a href="#algorithm-to-validate-an-xml-character-data" title="validate an XML character data">validate      <a href="#algorithm-to-validate-an-xml-character-data" title="validate an XML string">validate
889      the <code>data</code> attribute value as an <abbr>XML</abbr> character      the <code>data</code> attribute value as an <abbr>XML</abbr> character
890      data</a>.</li>      data</a>.</li>
891      <li>If the <code>data</code> attribute value contains a string      <li>If the <code>data</code> attribute value contains a string
# Line 824  following:</p> Line 906  following:</p>
906  <dt>If <var>n</var> is a <code>Text</code> node</dt>  <dt>If <var>n</var> is a <code>Text</code> node</dt>
907    <dd>    <dd>
908      <ol>      <ol>
909      <li><a href="#algorithm-to-validate-an-xml-character-data">Validate the      <li><a href="#algorithm-to-validate-an-xml-character-data" title="validate an XML string">Validate the
910      <code>data</code> attribute value as an <abbr>XML</abbr> character      <code>data</code> attribute value as an <abbr>XML</abbr> character
911      data</a>.</li>      data</a>.</li>
912      <li>If the <code>childNodes</code> list of <var>n</var> contains      <li>If the <code>childNodes</code> list of <var>n</var> contains
# Line 908  as amended by Line 990  as amended by
990  <a href="http://www.w3.org/XML/xml-V10-4e-errata#E02">errata</a>.</p>  <a href="http://www.w3.org/XML/xml-V10-4e-errata#E02">errata</a>.</p>
991  </div>  </div>
992    
993    <p>The character class <dfn id=class-NameStartChar10><code>NameStartChar10</code></dfn>
994    contains the following characters:</p>
995    <ul class=ed>
996    </ul>
997    <div class="note memo">
998    <p>This character class contains all characters allowed as the first character
999    of a string matching to the production rule
1000    <a href="http://www.w3.org/TR/2006/REC-xml-20060816/#NT-Name"><code>Name</code></a>
1001    of <abbr>XML</abbr> 1.0
1002    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>]</cite>.</p>
1003    </div>
1004    
1005    <p>The character class <dfn id=class-NameChar10><code>NameChar10</code></dfn>
1006    contains the following characters:</p>
1007    <ul>
1008    <li>The characters in the character class
1009    <a href="#class-NameStartChar10">NameStartChar10</a>.</li>
1010    <li class=ed></li>
1011    </ul>
1012    <div class="note memo">
1013    <p>This character class contains all characters allowed as the second
1014    character of a string matching to the production rule
1015    <a href="http://www.w3.org/TR/2006/REC-xml-20060816/#NT-Name"><code>Name</code></a>
1016    of <abbr>XML</abbr> 1.0
1017    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>]</cite>.</p>
1018    </div>
1019    
1020    <p>The character class <dfn id=class-PubidChar><code>PubidChar</code></dfn>
1021    contains the following characters:</p>
1022    <ul>
1023    <li><code class=char>U+0009</code> <code class=charname>CHARACTER
1024    TABULATION</code></li>
1025    <li><code class=char>U+000A</code> <code class=charname>LINE FEED</code></li>
1026    <li><code class=char>U+000D</code> <code class=charname>CARRIAGE
1027    RETURN</code></li>
1028    <li><code class=char>U+0020</code> <code class=charname>SPACE</code></li>
1029    <li><code class=char>U+0021</code> <code class=charname>EXCLAMATION MARK</code>
1030    (<code class=char>!</code>)</li>
1031    <li><code class=char>U+0023</code> <code class=charname>DOLLAR SIGN</code>
1032    (<code class=char>$</code>)</li>
1033    <li><code class=char>U+0024</code> <code class=charname>NUMBER SIGN</code>
1034    (<code class=char>#</code>)</li>
1035    <li><code class=char>U+0025</code> <code class=charname>PERCENT SIGN</code>
1036    (<code class=char>%</code>)</li>
1037    <li><code class=char>U+0027</code> <code class=charname>APOSTROPHE</code>
1038    (<code class=char>'</code>)</li>
1039    <li><code class=char>U+0028</code> <code class=charname>LEFT PARENTHESIS</code>
1040    (<code class=char>(</code>)</li>
1041    <li><code class=char>U+0029</code> <code class=charname>RIGHT
1042    PARENTHESIS</code> (<code class=char>)</code>)</li>
1043    <li><code class=char>U+002A</code> <code class=charname>ASTERISK</code>
1044    (<code class=char>*</code>)</li>
1045    <li><code class=char>U+002B</code> <code class=charname>PLUS SIGN</code>
1046    (<code class=char>+</code>)</li>
1047    <li><code class=char>U+002C</code> <code class=charname>COMMA</code>
1048    (<code class=char>,</code>)</li>
1049    <li><code class=char>U+002D</code> <code class=charname>HYPHEN-MINUS</code>
1050    (<code class=char>-</code>)</li>
1051    <li><code class=char>U+002E</code> <code class=charname>FULL STOP</code>
1052    (<code class=char>.</code>)</li>
1053    <li><code class=char>U+002F</code> <code class=charname>SOLIDUS</code>
1054    (<code class=char>/</code>)</li>
1055    <li><code class=char>U+0030</code> <code class=charname>DIGIT ZERO</code>
1056    (<code class=char>0</code>) .. <code class=char>U+0039</code>
1057    <code class=charname>DIGIT NINE</code> (<code class=char>9</code>)</li>
1058    <li><code class=char>U+003A</code> <code class=charname>COLON</code>
1059    (<code class=char>:</code>)</li>
1060    <li><code class=char>U+003B</code> <code class=charname>SEMICOLON</code>
1061    (<code class=char>;</code>)</li>
1062    <li><code class=char>U+003D</code> <code class=charname>EQUAL SIGN</code>
1063    (<code class=char>=</code>)</li>
1064    <li><code class=char>U+003F</code> <code class=charname>QUESTION MARK</code>
1065    (<code class=char>?</code>)</li>
1066    <li><code class=char>U+0040</code> <code class=charname>COMMERCIAL AT</code>
1067    (<code class=char>@</code>)</li>
1068    <li><code class=char>U+0041</code> <code class=charname>LATIN CAPITAL LETTER
1069    A</code> (<code class=char>A</code>) .. <code class=char>U+005A</code>
1070    <code class=charname>LATIN CAPITAL LETTER Z</code>
1071    (<code class=char>Z</code>)</li>
1072    <li><code class=char>U+005F</code> <code class=charname>LOW LINE</code>
1073    (<code class=char>_</code>)</li>
1074    <li><code class=char>U+0061</code> <code class=charname>LATIN CAPITAL LETTER
1075    A</code> (<code class=char>A</code>) .. <code class=char>U+007A</code>
1076    <code class=charname>LATIN CAPITAL LETTER Z</code>
1077    (<code class=char>Z</code>)</li>
1078    </ul>
1079    <div class="note memo">
1080    <p>This character class contains all characters allowed in the production rule
1081    <a href="http://www.w3.org/TR/2006/REC-xml-20060816/#NT-PubidChar"><code>PubidChar</code></a>
1082    of <abbr>XML</abbr> 1.0
1083    <cite class="bibref normative">[<a href="#ref-XML10">XML10</a>]</cite>.</p>
1084    </div>
1085    
1086  </div>  </div>
1087    
1088  <div id="references" class="section reference">  <div id="references" class="section reference">

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.21

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24