/[pub]/test/html-webhacc/error-description-source.xml
Suika

Diff of /test/html-webhacc/error-description-source.xml

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

revision 1.3 by wakaba, Mon Jul 16 10:55:11 2007 UTC revision 1.30 by wakaba, Fri Aug 15 12:11:56 2008 UTC
# Line 11  Web Document Conformance Checker (BETA)< Line 11  Web Document Conformance Checker (BETA)<
11  <body>  <body>
12  <h1>Description of Errors</h1>  <h1>Description of Errors</h1>
13    
14    <section id="character-encoding-layer">
15    <h2>Character Encoding Layer Errors</h2>
16    
17    <d:item name="illegal-octets-error" class="error-category-charset" level="m">
18      <d:message xml:lang="en">An illegal octet in the input stream.</d:message>
19    </d:item>
20    </section>
21    
22    <section id="html5-character-encoding">
23    <h2>HTML5 Character Encoding Errors</h2>
24    
25    <d:item name="disallowed character encoding"
26        modules="ContentChecker">
27      <d:message xml:lang="en">Character encoding <code><var>{text}</var></code>
28      is not allowed for <abbr>HTML</abbr> document.</d:message>
29      <d:desc xml:lang="en">
30        <p>The character encoding used for the document is not allowed
31        for <abbr>HTML</abbr> document.  The document is non‐conforming.</p>
32      </d:desc>
33    </d:item>
34    
35    <d:item name="bad character encoding"
36        modules="ContentChecker">
37      <d:message xml:lang="en">Character encoding <code><var>{text}</var></code>
38      should not be used for <abbr>HTML</abbr> document.</d:message>
39      <d:desc xml:lang="en">
40        <p>The character encoding used for the document is not recommended
41        for <abbr>HTML</abbr> document.  The document is non‐conforming
42        unless there is any good reason to use that encoding.</p>
43      </d:desc>
44    </d:item>
45    
46    <d:item name="non-utf-8 character encoding"
47        modules="ContentChecker">
48      <d:message xml:lang="en">Use of UTF-8 is encouraged (this document
49      is encoded in <code><var>{text}</var></code>).</d:message>
50      <d:desc xml:lang="en">
51        <p>Use of UTF-8 as the character encoding of the document is encouraged,
52        though the use of another character encoding is still conforming.</p>
53      </d:desc>
54    </d:item>
55    
56    <d:item name="character encoding unchecked"
57        modules="ContentChecker">
58      <d:message xml:lang="en">Conformance for character encoding requirements
59      cannot be checked, since the input is not a byte stream.</d:message>
60      <d:desc xml:lang="en">
61        <p>The conformance checker cannot detect whether the input document
62        met the requirements on character encoding, since the document
63        is not inputed as a serialized byte sequence.  The document is
64        not conforming if it is not encoded in an appropriate character
65        encoding with appropriate labeling.</p>
66      </d:desc>
67    </d:item>
68    
69    <d:item name="no character encoding declaration"
70        modules="ContentChecker">
71      <d:message xml:lang="en">There is no character encoding
72      declaration.</d:message>
73      <d:desc xml:lang="en">
74        <p>The document does not contain a character encoding
75        declaration.  Unless the character encoding is explicitly
76        specified in lower‐level protocol, e.g. in <abbr>HTTP</abbr>,
77        or is implied by <abbr>BOM</abbr>, there must be a character
78        encoding declaration.  The document is non‐conforming.</p>
79    
80        <p>The long character encoding declaration syntax
81        <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
82        is obsolete.  The new syntax is:</p>
83        <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
84    
85        <p>Note that the <code>encoding</code> declaration in <abbr>XML</abbr>
86        declaration has no effect for <abbr>HTML</abbr> document.</p>
87      </d:desc>
88    </d:item>
89    
90    <d:item name="non ascii superset"
91        modules="ContentChecker">
92      <d:message xml:lang="en">No character encoding metadata is found
93      in lower‐level protocol nor is there <abbr>BOM</abbr>, while
94      character encoding <code><var>{text}</var></code>
95      is not a superset of <abbr>ASCII</abbr>.</d:message>
96      <d:desc xml:lang="en">
97        <p>The document is not labeled with character encoding name
98        in lower‐level protocol, e.g. in <abbr>HTTP</abbr>, and
99        the document is not begin with <abbr>BOM</abbr>.  In addition,
100        the character encoding of the document is not a superset of
101        <abbr>ASCII</abbr>.  The document is non‐conforming.</p>
102    
103        <p>Unless there is a <abbr>BOM</abbr>, the character encoding
104        for the document must be specified in e.g. <abbr>HTTP</abbr>‐level,
105        as:</p>
106        <pre class="http example"><code>Content-Type: text/html; charset=<var>charset-name</var></code></pre>
107    
108        <p>Existence of <abbr>HTML</abbr> character encoding declaration, i.e.
109        <code class="html example">&lt;meta charset="<var>charset-name</var>"></code>,
110        does not allow to omit <code>charset</code> parameter
111        for <abbr>HTML</abbr> document encoded in non‐<abbr>ASCII</abbr>
112        compatible encoding.</p>
113    
114        <p>Character encodings <code>Shift_JIS</code>, <code>Windows-31J</code>,
115        and <code>ISO-2022-JP</code> are <em>not</em> a superset of
116        <abbr>ASCII</abbr> for the purpose of <abbr>HTML</abbr> conformance.</p>
117      </d:desc>
118    </d:item>
119    
120    <d:item name="sniffing:chardet"
121        modules="HTML::Parser">
122      <d:message xml:lang="en">Character encoding of this document is sniffed
123      as <code><var>{text}</var></code> (Sniffed because no explicit specification
124      for the character encoding of this document is found in the transfer
125      procotol headers).</d:message>
126    </d:item>
127    
128    <d:item name="sniffing:default"
129        modules="HTML::Parser">
130      <d:message xml:lang="en">Character encoding of this document is defaulted
131      to <code><var>{text}</var></code> because no explicit specification
132      for the character encoding of this document is found in the transfer
133      procotol headers.</d:message>
134    </d:item>
135    
136    <d:item name="chardecode:fallback"
137        modules="HTML::Parser">
138      <d:message xml:lang="en">Since no decoder for the document character
139      encoding is found, decoder for the character encoding
140      <code><var>{text}</var></code> is used.  Checking results might be
141      <em>wrong</em>.</d:message>
142    </d:item>
143    
144    <d:item name="chardecode:no error"
145        modules="HTML::Parser">
146      <d:message xml:lang="en">Conformance error checking for the character
147      encoding <code><var>{text}</var></code> is not supported.</d:message>
148    </d:item>
149    
150    <d:item name="charset label:matching"
151        modules="HTML::Parser">
152      <d:message xml:lang="en">Sniffed character encoding
153      <code><var>{text}</var></code> is same as the character encoding specified
154      in the character encoding declaration.  This is <em>not</em> an
155      error.</d:message>
156    </d:item>
157    
158    <d:item name="charset label detected"
159        class="format-charset warning"
160        modules="HTML::Parser">
161      <d:message xml:lang="en">While parsing the document as
162      <code><var>{text}</var></code>, a character encoding declaration specifying
163      a different character encoding is found.  The document
164      is reparsed.</d:message>
165      <d:desc xml:lang="en">
166        <p>While parsing a document in a character encoding,
167        a character encoding declaration which declares the character
168        encoding of the document as another character encoding is found.
169        The occurence of this warning itself does not make the document
170        non‐conforming.  However, the failure of the first attempt to
171        to detect the character encoding might be a result of non‐conformance
172        of the document.</p>
173    
174        <p>The document will be reparsed from the beginning.  Some error
175        or warning might be reported again.</p>
176    
177        <p>These are suggestions to avoid this warning:</p>
178        <ul>
179        <li>Specify <code>charset</code> parameter in the <code>Content-Type</code>
180        field in the <abbr>HTTP</abbr> header, as:
181        <pre class="HTTP example"><code>Content-Type: text/html; charset="<var>charset-name</var>"</code></pre></li>
182        <li>Put the character encoding declaration
183        (<code class="html example">&lt;meta charset="<var>charset-name</var>"></code>)
184        just after <code class="html example">&lt;head></code> start tag.</li>
185        <li>Use <code>UTF-8</code>.</li>
186        </ul>
187      </d:desc>
188    </d:item>
189    
190    <d:item name="NULL"
191        modules="HTML::Parser">
192      <d:message xml:lang="en">The <code class="charname">NULL</code> character
193      is not allowed.</d:message>
194    </d:item>
195    
196    <d:item name="control char"
197        modules="HTML::Parser">
198      <d:message xml:lang="en">Code point <code><var>{text}</var></code> is
199      not allowed.</d:message>
200    </d:item>
201    
202    </section>
203    
204  <section id="html5-tokenize-error">  <section id="html5-tokenize-error">
205  <h2>HTML5 Parse Errors in Tokenization Stage</h2>  <h2>HTML5 Parse Errors in Tokenization Stage</h2>
206    
# Line 28  Web Document Conformance Checker (BETA)< Line 218  Web Document Conformance Checker (BETA)<
218    </d:desc>    </d:desc>
219  </d:item>  </d:item>
220    
221    <d:item name="after body"
222        class="parse-error">
223      <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
224      is not allowed after the end tag <code>&lt;/body></code>.</d:message>
225      <d:desc xml:lang="en">
226        <p>The start or end tag of an element appears after the
227        <code>body</code> element has been closed.  The document is
228        non-conforming.</p>
229    
230        <p>Any content of the document other than <code>head</code>
231        contents and comments must be put into the <code>body</code>
232        element.</p>
233      </d:desc>
234    </d:item>
235    
236    <d:item name="bad attribute name"
237        class="tokenize-error"
238        modules="HTML::Parser">
239      <d:message xml:lang="en">Attribute name cannot contain characters
240      <code>"</code>, <code>'</code>, and <code>=</code>.</d:message>
241    </d:item>
242    
243    <d:item name="bad attribute value"
244        class="tokenize-error"
245        modules="HTML::Parser">
246      <d:message xml:lang="en">Attribute value must be quoted by <code>"</code>
247      or <code>'</code> if it contains a <code>"</code>, <code>'</code>, or
248      <code>=</code> character.</d:message>
249    </d:item>
250    
251  <d:item name="bare ero"  <d:item name="bare ero"
252      class="tokenize-error">      class="tokenize-error"
253        modules="HTML::Parser">
254    <d:message xml:lang="en">The <code>&amp;</code> character must    <d:message xml:lang="en">The <code>&amp;</code> character must
255    introduce a reference.</d:message>    be escaped as <code class="html example">&amp;amp;</code>.</d:message>
256    <d:desc xml:lang="en">    <d:desc xml:lang="en">
257      <p>An <code>&amp;</code> (<code>U+0026</code>      <p>An <code>&amp;</code> character which
     <code class="charname">AMPERSAND</code>) character which  
258      is not part of any reference appears in the input stream.      is not part of any reference appears in the input stream.
259      The document is non-conforming.</p>      The document is non‐conforming.</p>
260    
261        <p><em>Any <code>&amp;</code> character in URI (or IRI)
262        must be escaped as <code class="example">&amp;amp;</code>.</em></p>
263    
264      <p>The <code>&amp;</code> character must      <p>The <code>&amp;</code> character must
265      be the first character of a reference:      be the first character of a reference:
266        <dl>        <dl class="switch">
267        <dt>Named entity reference</dt>        <dt>Named entity reference</dt>
268            <dd><pre class="html example"><code>&amp;<var>entity-name</var>;</code></pre>            <dd><pre class="html example"><code>&amp;<var>entity-name</var>;</code></pre>
269            where <var>entity-name</var> is the name of the            where <var>entity-name</var> is the name of the
# Line 63  Web Document Conformance Checker (BETA)< Line 286  Web Document Conformance Checker (BETA)<
286    </d:desc>    </d:desc>
287  </d:item>  </d:item>
288    
289    <d:item name="bare etago"
290        class="tokenize-error"
291        modules="HTML::Parser">
292      <d:message xml:lang="en">A <code>&lt;/</code> string is not followed
293      by a tag name.</d:message><!-- </ EOF -->
294      <d:desc xml:lang="en">
295        <p>There is a <code>&lt;</code> (<code>U+003C</code>
296        <code class="charname">LESS-THAN SIGN</code>) character
297        immediately followed by a <code>/</code> (<code>U+005F</code>
298        <code>SOLIDUS</code>) character, which is not part
299        of any end tag, in the input stream.  The document
300        is non-conforming.</p>
301    
302        <p>The <code>&lt;/</code> sequence immediately followed
303        by an <abbr title="End of file pseudo-character">EOF</abbr> is
304        interpreted as a string data of <code>&lt;/</code>.</p>
305    
306        <p>The <code>&lt;/</code> sequence as string data must
307        be escaped as:
308        <pre class="html example"><code>&amp;lt;/</code></pre>
309        </p>
310      </d:desc>
311    </d:item>
312    
313    <d:item name="bare stago"
314        class="tokenize-error"
315        modules="HTML::Parser">
316      <d:message xml:lang="en">A <code>&lt;</code> character is not followed
317      by tag name or by a <code>!</code> character.</d:message>
318      <d:desc xml:lang="en">
319        <p>A <code>&lt;</code> (<code>U+003C</code>
320        <code class="charname">LESS-THAN SIGN</code>) character which is not part
321        of any markup appears in the input stream.</p>
322    
323        <p>The <code>&lt;</code> character as a data character must
324        be escaped as:
325        <pre class="html example"><code>&amp;lt;</code></pre>
326        </p>
327      </d:desc>
328    </d:item>
329    
330  <d:item name="bare nero"  <d:item name="bare nero"
331      class="tokenize-error">      class="tokenize-error"
332        modules="HTML::Parser">
333    <d:message xml:lang="en">The decimal representation of the code position    <d:message xml:lang="en">The decimal representation of the code position
334    of a character must be specified after <code>&amp;#</code>.</d:message>    of a character must be specified after <code>&amp;#</code>.</d:message>
335    <d:desc xml:lang="en">    <d:desc xml:lang="en">
# Line 76  Web Document Conformance Checker (BETA)< Line 341  Web Document Conformance Checker (BETA)<
341      The document is non-conforming.</p>      The document is non-conforming.</p>
342    
343      <p>The string <code>&amp;#</code> must be the first two characters      <p>The string <code>&amp;#</code> must be the first two characters
     <code>NUMBER SIGN</code>) character must be the first two characters  
344      of a reference:      of a reference:
345        <dl>        <dl class="switch">
346        <dt>Numeric character reference</dt>        <dt>Numeric character reference</dt>
347            <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>            <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>
348            where <var>d</var> is the decimal representation of            where <var>d</var> is the decimal representation of
# Line 91  Web Document Conformance Checker (BETA)< Line 355  Web Document Conformance Checker (BETA)<
355      </p>      </p>
356    
357      <p>To represent <code>&amp;#</code> as data characters, use      <p>To represent <code>&amp;#</code> as data characters, use
358      named entity reference:      a named entity reference for the <code>&amp;</code> character:
359        <pre class="html example"><code>&amp;amp;#</code></pre>        <pre class="html example"><code>&amp;amp;#</code></pre>
360      </p>      </p>
361    </d:desc>    </d:desc>
362  </d:item>  </d:item>
363    
364  <d:item name="bare hcro"  <d:item name="bare hcro"
365      class="tokenize-error">      class="tokenize-error"
366        modules="HTML::Parser">
367    <d:message xml:lang="en">The hexadecimal representation of the code position    <d:message xml:lang="en">The hexadecimal representation of the code position
368    of a character must be specified after <code>&amp;#x</code>.</d:message>    of a character must be specified after <code>&amp;#x</code>.</d:message>
369    <d:desc xml:lang="en">    <d:desc xml:lang="en">
# Line 113  Web Document Conformance Checker (BETA)< Line 378  Web Document Conformance Checker (BETA)<
378      of the code point of the character to be referenced.</p>      of the code point of the character to be referenced.</p>
379    
380      <p>To represent <code>&amp;#x</code> as data characters, use      <p>To represent <code>&amp;#x</code> as data characters, use
381      named entity reference:      a named entity reference for the <code>&amp;</code> character:
382        <pre class="html example"><code>&amp;amp;#x</code></pre>        <pre class="html example"><code>&amp;amp;#x</code></pre>
383      </p>      </p>
384    </d:desc>    </d:desc>
385  </d:item>  </d:item>
386    
387    <d:item name="bogus comment"
388        class="tokenize-error"
389        modules="HTML::Parser">
390      <d:message xml:lang="en">String <code>&lt;!</code> is not followed
391      by <code>--</code>.</d:message>
392      <d:desc xml:lang="en">
393        <p>There is a <code>&lt;</code> (<code>U+003C</code>
394        <code class="charname">LESS-THAN SIGN</code>) character
395        followed by a <code>!</code> (<code>U+0021</code>
396        <code class="charname">EXCLAMATION MARK</code>) character,
397        which is not followed by a <code>--</code> or
398        <code>!DOCTYPE</code>.  The document is non-conforming.</p>
399    
400        <dl class="switch">
401        <dt>Comments</dt>
402          <dd>In HTML document, comments must be introduced by
403          <code class="example">&lt;!--</code> (<code>&lt;!</code>
404          <em>immediately</em> followed
405          by <em>two</em> <code>-</code>s) and must be terminated by
406          <code class="example">--></code>.
407          Strings <code>&lt;!</code> not followed
408          by <code>--</code> and <code>&lt;!-</code> not followed by
409          <code>-</code> are not valid open delimiters for comments.</dd>
410        <dt>Marked sections, including <code>CDATA</code> sections</dt>
411          <dd>Marked sections are not allowed in HTML document.</dd>
412        <dt>Markup declarations</dt>
413          <dd>Markup declarations, except for <code>DOCTYPE</code>
414          and comment declarations, are not allowed in HTML document.</dd>
415        <dt>String <code>&lt;!</code></dt>
416          <dd>String <code>&lt;!</code> must be escaped as
417          <code class="example">&amp;lt;!</code>.</dd>
418        </dl>
419      </d:desc>
420    </d:item>
421    
422    <d:item name="bogus end tag"
423        class="tokenize-error"
424        modules="HTML::Parser">
425      <d:message xml:lang="en">String <code>&lt;/</code> is not followed
426      by tag name.</d:message><!-- </ non-name-start-char-non-EOF -->
427      <d:desc xml:lang="en">
428        <p>There is a <code>&lt;</code> (<code>U+003C</code>
429        <code class="charname">LESS-THAN SIGN</code>) character
430        immediately followed by a <code>/</code> (<code>U+005F</code>
431        <code>SOLIDUS</code>) character, which is not part
432        of any end tag, in the input stream.  The document
433        is non-conforming.</p>
434    
435        <p>The <code>&lt;/</code> sequence not followed by a
436        tag name is parsed as an opening of bogus comment.</p>
437    
438        <p>The <code>&lt;/</code> sequence as string data must
439        be escaped as:
440        <pre class="html example"><code>&amp;lt;/</code></pre>
441        </p>
442      </d:desc>
443    </d:item>
444    
445    <d:item name="C1 character reference"
446        class="tokenize-error"
447        modules="HTML::Parser">
448      <d:message xml:lang="en">Character reference to
449      <code><var>{text}</var></code> is not allowed.</d:message>
450    </d:item>
451    
452    <d:item name="CR character reference"
453        class="tokenize-error"
454        modules="HTML::Parser">
455      <d:message xml:lang="en">Character reference to
456      <code>U+000D</code> (<code class="charname">CARRIAGE RETURN</code>)
457      is not allowed.</d:message>
458    </d:item>
459    
460    <d:item name="dash in comment"
461        class="tokenize-error"
462        modules="HTML::Parser">
463      <d:message xml:lang="en">There is a <code>--</code> sequence
464      in a comment.</d:message>
465      <d:desc xml:lang="en">
466        <p>There is a <code>-</code> (<code>U+002D</code>
467        <code class="charname">HYPHEN-MINUS</code>) character
468        at the end of the comment or a <code>--</code> sequence
469        in the comment.  The document is non-conforming.</p>
470    
471        <p>Comments cannot contain a string <code>--</code>, as in XML.
472        Unlike SGML, there cannot be more than one comments
473        (where <i>comment</i> is an SGML term) in the comment
474        declaration.</p>
475      </d:desc>
476    </d:item>
477    
478  <d:item name="duplicate attribute"  <d:item name="duplicate attribute"
479      class="tokenize-error">      class="tokenize-error"
480    <d:message xml:lang="en">There are two attributes with same name.</d:message>      modules="HTML::Parser">
481      <d:message xml:lang="en">There are two attributes with name
482          <code><var>{text}</var></code>.</d:message>
483    <d:desc xml:lang="en">    <d:desc xml:lang="en">
484      <p>There are more than one attributes with the same      <p>There are more than one attributes with the same
485      name in a tag.  The document is non-conforming.</p>      name in a tag.  The document is non-conforming.</p>
# Line 131  Web Document Conformance Checker (BETA)< Line 489  Web Document Conformance Checker (BETA)<
489    </d:desc>    </d:desc>
490  </d:item>  </d:item>
491    
492    <d:item name="empty start tag"
493        class="tokenize-error"
494        modules="HTML::Parser">
495      <d:message xml:lang="en">Empty start tag (<code>&lt;></code>) is not
496      allowed.</d:message>
497    </d:item>
498    
499    <d:item name="empty end tag"
500        class="tokenize-error"
501        modules="HTML::Parser">
502      <d:message xml:lang="en">Empty end tag (<code>&lt;/></code>) is not
503      allowed.</d:message>
504    </d:item>
505    
506    <d:item name="end tag attribute"
507        class="tokenize-error"
508        modules="HTML::Parser">
509      <d:message xml:lang="en">End tag cannot have attributes.</d:message>
510    </d:item>
511    
512    <d:item name="invalid character reference"
513        class="tokenize-error"
514        modules="HTML::Parser">
515      <d:message xml:lang="en">Character reference to
516      <code><var>{text}</var></code> is not allowed.</d:message>
517    </d:item>
518    
519  <d:item name="nestc"  <d:item name="nestc"
520      class="tokenize-error">      class="tokenize-error"
521    <d:message xml:lang="en">Void element syntax (<code>/></code>) cannot be      modules="HTML::Parser">
522      <d:message xml:lang="en">Polytheistic slash (<code>/></code>) cannot be
523    used for this element.</d:message>    used for this element.</d:message>
524    <d:desc xml:lang="en">    <d:desc xml:lang="en">
525      <p>Void element syntax (<code>/></code>) must not be used      <p>Polytheistic slash (<code>/></code>) must not be used
526      for the element.  The document is non-conforming.</p>      for the element.  The document is non-conforming.</p>
527    
528      <p>The void element syntax can only be      <p>The polytheistic slash can only be
529      used for <code>base</code>, <code>link</code>, <code>meta</code>,      used for <code>base</code>, <code>link</code>, <code>meta</code>,
530      <code>hr</code>, <code>br</code>, <code>img</code>,      <code>hr</code>, <code>br</code>, <code>img</code>,
531      <code>embed</code>, <code>param</code>, <code>area</code>,      <code>embed</code>, <code>param</code>, <code>area</code>,
532      <code>col</code>, and <code>input</code> elements.</p>      <code>col</code>, and <code>input</code> elements.</p>
533    
534      <p>Note that, unlike in XML, the void element syntax has      <dl class="switch">
535        <dt><code>&lt;script/></code></dt>
536            <dd><p>The polytheistic slash cannot be used for <code>script</code>
537            element.  Even for an empty <code>script</code> element,
538            there must be an explicit end tag
539            <code class="html example">&lt;/script></code>.</p>
540    
541            <p><strong>NOTE</strong>: Though some user agents interpret
542            polytheistic slash for <code>script</code> element as the
543            closing of the element, such usage is not allowed under
544            the current standard.</p></dd>
545        <dt><code>&lt;basefont/></code>, <code>&lt;bgsound/></code>,
546        <code>&lt;frame/></code>, <code>&lt;keygen/></code>,
547        <code>&lt;spacer/></code>, <code>&lt;wbr/></code></dt>
548            <dd>These elements are themselves non-conforming.</dd>
549        <!-- isindex, image -->
550        <dt><code>&lt;command/></code>, <code>&lt;event-source/></code>,
551        <code>&lt;nest/></code>, or <code>&lt;source/></code></dt>
552            <dd>Future revision of HTML5 parsing algorithm is expected
553            to allow polytheistic slash for these elements.</dd>
554        <dt><code>&lt;a/></code>, <code>&lt;p/></code></dt>
555            <dd>These elements are not always empty and therefore
556            polytheistic slash is not allowed.  Use explicit end tag
557            to represent empty element as:
558              <pre class="example html"><code>&lt;p>&lt;/p></code></pre>
559            </dd>
560        </dl>
561    
562        <p>Note that, unlike in XML, the polytheistic slash has
563      no effect in HTML.</p>      no effect in HTML.</p>
564    </d:desc>    </d:desc>
565  </d:item>  </d:item>
566    
567    <d:item name="no DOCTYPE name"
568        class="tokenize-error"
569        modules="HTML::Parser">
570      <d:message xml:lang="en">After the string <code>&lt;!DOCTYPE </code>, the
571      document type name must be specified.</d:message>
572    </d:item>
573    
574    <d:item name="no PUBLIC literal"
575        class="tokenize-error"
576        modules="HTML::Parser">
577      <d:message xml:lang="en">After the keyword <code>PUBLIC</code>, no
578      oublic identifier is specified.</d:message>
579    </d:item>
580    
581    <d:item name="no refc"
582        class="tokenize-error"
583        modules="HTML::Parser">
584      <d:message xml:lang="en">Character reference must be closed by a
585      <code>;</code> character.</d:message>
586    </d:item>
587    
588    <d:item name="no space before DOCTYPE name"
589        class="tokenize-error"
590        modules="HTML::Parser">
591      <d:message xml:lang="en">After the string <code>&lt;!DOCTYPE</code>, there
592      must be at least a white space character before the document type
593      name.</d:message>
594    </d:item>
595    
596    <d:item name="no space between attributes"
597        class="tokenize-error"
598        modules="HTML::Parser">
599      <d:message xml:lang="en">Attributes must be separeted by at least a
600      white space character.</d:message>
601    </d:item>
602    
603    <d:item name="no SYSTEM literal"
604        class="tokenize-error"
605        modules="HTML::Parser">
606      <d:message xml:lang="en">After the keyword <code>SYSTEM</code>, no
607      system identifier is specified.</d:message>
608    </d:item>
609    
610    <d:item name="pio"
611        class="tokenize-error"
612        modules="HTML::Parser">
613      <d:message xml:lang="en">Processing instruction
614      (<code>&lt;?<var>...</var>></code>) is not allowed in HTML
615      document.</d:message>
616      <d:desc xml:lang="en">
617        <p>Processing instructions (<code>&lt;?<var>...</var>?></code>),
618        including XML declaration (<code>&lt;?xml <var>...</var>?></code>)
619        and XML style sheet <abbr title="processing instruction">PI</abbr>
620        (<code>&lt;?xml-stylesheet <var>...</var>?></code>), are not allowed
621        in the HTML syntax.  The document is non-conforming.</p>
622    
623        <dl class="switch">
624        <dt><code>&lt;?xbl?></code> (<abbr>XBL</abbr> Association)</dt>
625          <dd>An <abbr>XBL</abbr> binding cannot be associated by
626          <abbr title="processing instruction">PI</abbr> in <abbr>HTML</abbr>
627          document.  Use <code>binding</code> property in <abbr>CSS</abbr>
628          style sheet as:
629            <pre class="html example"><code>&lt;style>
630    p {
631      binding: url(binding.xbl);
632    }
633    &lt;/style></code></pre>
634          </dd>
635        <dt><code>&lt;?xml?&gt;</code> (XML declaration)</dt>
636            <dd>XML declaration is unnecessary for HTML documents.</dd>
637        <dt><code>&lt;?xml-stylesheet?></code> (XML style sheet
638        <abbr title="processing instruction">PI</abbr>)</dt>
639            <dd>Use HTML <code>link</code> element with <code>rel</code>
640            attribute set to <code>stylesheet</code> (or,
641            <code>alternate stylesheet</code> for an alternate style
642            sheet).
643              <pre class="example html"><code>&lt;link rel=stylesheet href="path/to/stylesheet.css"></code></pre>
644            </dd>
645        <dt><code>&lt;?php?&gt;</code> or
646        <code>&lt;? <var>... <abbr>PHP</abbr> code ...</var> ?&gt;</code>
647        (<abbr>PHP</abbr> code)</dt>
648            <dd>The conformance checker does <em>not</em> support
649            checking for PHP source documents.</dd>
650        <dt>Other processing instructions</dt>
651            <dd>Processing instructions cannot be inserted in an HTML
652            document.  Use XML document or insert
653            <code>ProcessingInstruction</code> node by scripting.</dd>
654        </dl>
655    
656        <p>Web browsers will parse processing instructions as bogus
657        comments.  Some legacy Web browsers, such as IE:mac and
658        some mobile Web browsers, will display processing instructions
659        as string.</p>
660      </d:desc>
661    </d:item>
662    
663    <d:item name="string after DOCTYPE name"
664        class="tokenize-error"
665        modules="HTML::Parser">
666      <d:message xml:lang="en">There is a bogus string after the document type
667      name.</d:message>
668    </d:item>
669    
670    <d:item name="string after PUBLIC"
671        class="tokenize-error"
672        modules="HTML::Parser">
673      <d:message xml:lang="en">There is a bogus string after the keyword
674      <code>PUBLIC</code>.</d:message>
675    </d:item>
676    
677    <d:item name="string after PUBLIC literal"
678        class="tokenize-error"
679        modules="HTML::Parser">
680      <d:message xml:lang="en">There is a bogus string after the public
681      identifier.</d:message>
682    </d:item>
683    
684    <d:item name="string after SYSTEM"
685        class="tokenize-error"
686        modules="HTML::Parser">
687      <d:message xml:lang="en">There is a bogus string after the keyword
688      <code>SYSTEM</code>.</d:message>
689    </d:item>
690    
691    <d:item name="string after SYSTEM literal"
692        class="tokenize-error"
693        modules="HTML::Parser">
694      <d:message xml:lang="en">There is a bogus string after the system
695      identifier.</d:message>
696    </d:item>
697    
698    <d:item name="unclosed attribute value"
699        class="tokenize-error"
700        modules="HTML::Parser">
701      <d:message xml:lang="en">Attribute value is not closed by a quotation
702      mark.</d:message>
703    </d:item>
704    
705    <d:item name="unclosed comment"
706        class="tokenize-error"
707        modules="HTML::Parser">
708      <d:message xml:lang="en">Comment is not closed by a string
709      <code>--></code>.</d:message>
710    </d:item>
711    
712    <d:item name="unclosed DOCTYPE"
713        class="tokenize-error"
714        modules="HTML::Parser">
715      <d:message xml:lang="en">The <code>DOCTYPE</code> is not closed by a
716      <code>></code> character.</d:message>
717    </d:item>
718    
719    <d:item name="unclosed PUBLIC literal"
720        class="tokenize-error"
721        modules="HTML::Parser">
722      <d:message xml:lang="en">The public identifier literal is not closed by a
723      quotation mark.</d:message>
724    </d:item>
725    
726    <d:item name="unclosed SYSTEM literal"
727        class="tokenize-error"
728        modules="HTML::Parser">
729      <d:message xml:lang="en">The system identifier literal is not closed by a
730      quotation mark.</d:message>
731    </d:item>
732    
733    <d:item name="unclosed tag"
734        class="tokenize-error"
735        modules="HTML::Parser">
736      <d:message xml:lang="en">Tag is not closed by a <code>></code>
737      character.</d:message>
738    </d:item>
739    
740  </section>  </section>
741    
742  <section id="html5-parse-errors">  <section id="html5-parse-errors">
743  <h2>HTML5 Parse Errors in Tree Construction Stage</h2>  <h2>HTML5 Parse Errors in Tree Construction Stage</h2>
744    
745    <d:item name="after body"
746        class="parse-error"
747        modules="HTML::Parser">
748      <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
749      not allowed after the <code>body</code> is closed.</d:message>
750    </d:item>
751    
752    <d:item name="after body:/"
753        class="parse-error"
754        modules="HTML::Parser">
755      <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
756      not allowed after the <code>body</code> is closed.</d:message>
757    </d:item>
758    
759    <d:item name="after body:#text"
760        class="parse-error"
761        modules="HTML::Parser">
762      <d:message xml:lang="en">Non‐white‐space characters are not allowed
763      after the <code>body</code> is closed.</d:message>
764    </d:item>
765    
766    <d:item name="after frameset"
767        class="parse-error"
768        modules="HTML::Parser">
769      <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
770      not allowed after the <code>frameset</code> is closed.</d:message>
771    </d:item>
772    
773    <d:item name="after frameset:/"
774        class="parse-error"
775        modules="HTML::Parser">
776      <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
777      not allowed after the <code>frameset</code> is closed.</d:message>
778    </d:item>
779    
780    <d:item name="after frameset:#text"
781        class="parse-error"
782        modules="HTML::Parser">
783      <d:message xml:lang="en">Non‐white‐space characters are not allowed
784      after the <code>frame</code> is closed.</d:message>
785    </d:item>
786    
787  <d:item name="after head"  <d:item name="after head"
788      class="parse-error">      class="parse-error">
789    <d:message xml:lang="en">The <code><var>$0</var></code> element cannot be    <d:message xml:lang="en">The <code><var>{text}</var></code> element cannot be
790    inserted between <code>head</code> and <code>body</code> elements.</d:message>    inserted between <code>head</code> and <code>body</code>
791      elements.</d:message>
792    <d:desc xml:lang="en">    <d:desc xml:lang="en">
793      <p>A start tag appears after the <code>head</code> element is closed      <p>A start tag appears after the <code>head</code> element is closed
794      but before the <code>body</code> element is opened.      but before the <code>body</code> element is opened.
# Line 166  Web Document Conformance Checker (BETA)< Line 796  Web Document Conformance Checker (BETA)<
796    </d:desc>    </d:desc>
797  </d:item>  </d:item>
798    
799  <d:item name="in table"  <d:item name="after html"
800      class="parse-error">      class="parse-error"
801    <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>      modules="HTML::Parser">
802    is not allowed in <code>table</code>.</d:message>    <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
803      not allowed after the <code>html</code> is closed.</d:message>
804    </d:item>
805    
806    <d:item name="after html:/"
807        class="parse-error"
808        modules="HTML::Parser">
809      <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
810      not allowed after the <code>html</code> is closed.</d:message>
811    </d:item>
812    
813    <d:item name="after html:#text"
814        class="parse-error"
815        modules="HTML::Parser">
816      <d:message xml:lang="en">Non‐white‐space characters are not allowed
817      after the <code>html</code> is closed.</d:message>
818    </d:item>
819    
820    <d:item name="image"
821        class="parse-error"
822        modules="HTML::Parser">
823      <d:message xml:lang="en">The <code>image</code> element is
824      obsolete.</d:message>
825    </d:item>
826    
827    <d:item name="in a:a"
828        class="parse-error"
829        modules="HTML::Parser">
830      <d:message xml:lang="en">Anchor cannot be nested.</d:message>
831      <d:desc xml:lang="en">
832        <p>HTML <code>a</code> elements cannot be nested.
833        The document is non-conforming.</p>
834    
835        <p>In the HTML syntax, a start tag of the <code>a</code>
836        implies the end tag of any opening <code>a</code> element.</p>
837      </d:desc>
838    </d:item>
839    
840    <d:item name="in body"
841        class="parse-error"
842        modules="HTML::Parser">
843      <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>&gt;</code>
844      is not allowed in the <code>body</code> element.</d:message>
845    <d:desc xml:lang="en">    <d:desc xml:lang="en">
846      <p>The start or end tag of an element appears in <code>table</code>.      <p>The start or end tag of an element, which
847        cannot be a descendant of <code>body</code> element, appears
848        in the input stream while the <code>body</code> element has been opened.
849      The document is non-conforming.</p>      The document is non-conforming.</p>
850      </d:desc>
851    </d:item>
852    
853    <d:item name="in body:#eof"
854        class="parse-error"
855        modules="HTML::Parser">
856      <d:message xml:lang="en">Some element is not closed before the end of
857      file.</d:message>
858    </d:item>
859    
860    <d:item name="in button:button"
861        class="parse-error"
862        modules="HTML::Parser">
863      <d:message xml:lang="en">The <code>button</code> element cannot be
864      nested.</d:message>
865    </d:item>
866    
867    <d:item name="in CDATA:#eof"
868        class="parse-error"
869        modules="HTML::Parser">
870      <d:message xml:lang="en">Element is not closed before the end of
871      file.</d:message>
872    </d:item>
873    
874    <d:item name="in form:form"
875        class="parse-error"
876        modules="HTML::Parser">
877      <d:message xml:lang="en">Start tag <code>&lt;form></code> is
878      not allowed in a <code>form</code> element.</d:message>
879    </d:item>
880    
881    <d:item name="in frameset"
882        class="parse-error"
883        modules="HTML::Parser">
884      <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
885      not allowed in a <code>framset</code> element.</d:message>
886    </d:item>
887    
888    <d:item name="in frameset:/"
889        class="parse-error"
890        modules="HTML::Parser">
891      <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
892      not allowed in a <code>frameset</code> element.</d:message>
893    </d:item>
894    
895    <d:item name="in frameset:#text"
896        class="parse-error"
897        modules="HTML::Parser">
898      <d:message xml:lang="en">Non‐white‐space characters are not allowed
899      in a <code>frameset</code> element.</d:message>
900    </d:item>
901    
902    <d:item name="in head:head"
903        class="parse-error"
904        modules="HTML::Parser">
905      <d:message xml:lang="en">Start tag <code>&lt;head&gt;</code>
906      is not allowed in the <code>head</code> element.</d:message>
907      <d:desc xml:lang="en">
908        <p>There is a start tag <code>&lt;head></code> in the
909        <code>&lt;head></code> element.  The document is non-conforming.</p>
910    
911        <p>In an HTML document there must not be more than
912        one <code>head</code> element, therefore no more than one
913        start tag <code>&lt;head></code> can appear in the input stream.</p>
914      </d:desc>
915    </d:item>
916    
917    <d:item name="in html:#DOCTYPE"
918        class="parse-error"
919        modules="HTML::Parser">
920      <d:message xml:lang="en">A <code>DOCTYPE</code> appears after any
921      element or data character has been seen.</d:message>
922      <!-- <!DOCTYPE HTML><!DOCTYPE HTML> -->
923      <!-- <html><!DOCTYPE HTML> -->
924      <d:desc xml:lang="en">
925        <p>A <code>DOCTYPE</code> appears after any element or data character
926        has been seen.  The document is non-conforming.</p>
927        
928        <p>The <code>DOCTYPE</code> must be placed before any
929        tag, reference, or data character.  Only white space characters
930        and comments can be inserted before the <code>DOCTYPE</code>.</p>
931      </d:desc>
932    </d:item>
933    
934    <d:item name="in nobr:nobr"
935        class="parse-error"
936        modules="HTML::Parser">
937      <d:message xml:lang="en">The <code>nobr</code> element cannot be
938      nested.</d:message>
939    </d:item>
940    
941    <d:item name="in noscript"
942        class="parse-error"
943        modules="HTML::Parser">
944      <d:message xml:lang="en">The <code><var>{text}</var></code> element is not
945      allowed in a <code>noscript</code> element in the
946      <code>head</code> element.</d:message>
947    </d:item>
948    
949    <d:item name="in noscript:/"
950        class="parse-error"
951        modules="HTML::Parser">
952      <d:message xml:lang="en">An end tag <code>&lt;/<var>{text}</var>></code>
953      appers before the <code>noscript</code> element is closed.</d:message>
954    </d:item>
955    
956    <d:item name="in noscript:#eof"
957        class="parse-error"
958        modules="HTML::Parser">
959      <d:message xml:lang="en">A <code>noscript</code> element is not closed
960      before the end of file.</d:message>
961    </d:item>
962    
963    <d:item name="in noscript:#text"
964        class="parse-error"
965        modules="HTML::Parser">
966      <d:message xml:lang="en">Non‐white‐space characters are not allowed
967      in a <code>noscript</code> element in the <code>head</code>
968      element.</d:message>
969    </d:item>
970    
971    <d:item name="in PCDATA:#eof"
972        class="parse-error"
973        modules="HTML::Parser">
974      <d:message xml:lang="en">Element is not closed before the end of
975      file.</d:message>
976    </d:item>
977    
978    <d:item name="in select"
979        class="parse-error"
980        modules="HTML::Parser">
981      <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>&gt;</code>
982      is not allowed in a <code>select</code> element.</d:message>
983    </d:item>
984    
985    <d:item name="in select:/"
986        class="parse-error"
987        modules="HTML::Parser">
988      <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>&gt;</code>
989      is not allowed in a <code>select</code> element.</d:message>
990    </d:item>
991    
992    <d:item name="in table"
993        class="parse-error"
994        modules="HTML::Parser">
995      <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>&gt;</code>
996      is not allowed in a <code>table</code> element.</d:message>
997      <d:desc xml:lang="en">
998        <p>The start or end tag of an element, which
999        cannot be a child of <code>table</code> element, appears
1000        in the input stream while the <code>table</code> element has been opened
1001        but no other element has been opened.  The document is non-conforming.</p>
1002    
1003      <p>In <code>table</code>, only table related elements      <p>In <code>table</code>, only table related elements
1004      are allowed; any other element must be contained in      are allowed; any other element must be contained in
# Line 182  Web Document Conformance Checker (BETA)< Line 1008  Web Document Conformance Checker (BETA)<
1008    </d:desc>    </d:desc>
1009  </d:item>  </d:item>
1010    
1011  <d:item name="in table:#character"  <d:item name="in table:/"
1012      class="parse-error">      class="parse-error"
1013    <d:message xml:lang="en">Data character is not allowed in      modules="HTML::Parser">
1014    <code>table</code>.</d:message>    <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>&gt;</code>
1015      is not allowed in a <code>table</code> element.</d:message>
1016    </d:item>
1017    
1018    <d:item name="in table:#text"
1019        class="parse-error"
1020        modules="HTML::Parser">
1021      <d:message xml:lang="en">Non‐white‐space character is not allowed within
1022      the <code>table</code> element, outside of the caption and cells.</d:message>
1023    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1024      <p>A data character appears in <code>table</code>.  The document      <p>A non‐white‐space character appears in <code>table</code>.
1025      is non-conforming.</p>      The document is non-conforming.</p>
1026    
1027      <p>In <code>table</code>, only table related elements      <p>In <code>table</code>, only table related elements
1028      are allowed; any other element and data character must be contained in      are allowed; any other element and data character must be contained in
# Line 198  Web Document Conformance Checker (BETA)< Line 1032  Web Document Conformance Checker (BETA)<
1032    </d:desc>    </d:desc>
1033  </d:item>  </d:item>
1034    
1035    <d:item name="isindex"
1036        class="parse-error"
1037        modules="HTML::Parser">
1038      <d:message xml:lang="en">The <code>isindex</code> element is
1039      obsolete.</d:message>
1040    </d:item>
1041    
1042  <d:item name="missing start tag:tr"  <d:item name="missing start tag:tr"
1043      class="parse-error">      class="parse-error"
1044        modules="HTML::Parser">
1045    <d:message xml:lang="en">Start tag of <code>tr</code>    <d:message xml:lang="en">Start tag of <code>tr</code>
1046    element is missing.</d:message>    element is missing.</d:message>
1047    <d:desc>    <d:desc>
# Line 215  Web Document Conformance Checker (BETA)< Line 1057  Web Document Conformance Checker (BETA)<
1057  </d:item>  </d:item>
1058    
1059  <d:item name="no DOCTYPE"  <d:item name="no DOCTYPE"
1060      class="parse-error">      class="parse-error"
1061    <d:message xml:lang="en">This document does not start with the      modules="HTML::Parser">
1062      <d:message xml:lang="en">This document does not start with a
1063    <code>DOCTYPE</code>.</d:message>    <code>DOCTYPE</code>.</d:message>
1064    <d:desc>    <d:desc>
1065      <p>The document does not start with a <code>DOCTYPE</code>.      <p>The document does not start with a <code>DOCTYPE</code>.
# Line 227  Web Document Conformance Checker (BETA)< Line 1070  Web Document Conformance Checker (BETA)<
1070      </p>      </p>
1071    
1072      <p>Only white space characters and comments are allowed      <p>Only white space characters and comments are allowed
1073      before the <code>DOCTYPE</code>.</p>      before the <code>DOCTYPE</code>.  XML declaration is <em>not</em>
1074        allowed in HTML document.</p>
1075    </d:desc>    </d:desc>
1076  </d:item>  </d:item>
1077    
1078  <d:item name="not closed"  <d:item name="not closed"
1079      class="parse-error">      class="parse-error"
1080    <d:message xml:lang="en">Element <code><var>$0</var></code> is not      modules="HTML::Parser">
1081      <d:message xml:lang="en">Element <code><var>{text}</var></code> is not
1082    closed.</d:message>    closed.</d:message>
1083    <d:desc>    <d:desc>
1084      <p>End tag of an element is not found before, for example,      <p>End tag of an element is not found before, for example,
1085      an end tag of another element appears or      an end tag of another element appears or
1086      the end of the document.  The document is non-conforming.</p>      the end of the document.  The document is non-conforming.</p>
1087    
1088        <p>Only <code>body</code>, <code>colgroup</code>, <code>dd</code>,
1089        <code>dt</code>, <code>head</code>, <code>html</code>, <code>li</code>,
1090        <code>ol</code>, <code>option</code>, <code>optgroup</code>,
1091        <code>p</code>, <code>rb</code>, <code>rp</code>, <code>rt</code>,
1092        <code>tbody</code>, <code>td</code>, <code>tfoot</code>,
1093        <code>th</code>, <code>thead</code>, <code>tr</code>,
1094        <code>ul</code> end tag can be omitted in HTML documents.
1095        For any element except for void element, there must be an explicit
1096        end tag.</p>
1097    
1098        <dl class="switch">
1099        <dt>HTML <code>canvas</code> element</dt>
1100          <dd>Though the element is void in earlier versions of Safari,
1101          the <code>canvas</code> element is <em>no</em> longer
1102          defined as empty.  There must be an end tag
1103          <code class="html example">&lt;/canvas></code>.</dd>
1104        </dl>
1105    
1106        <p>Note that misnesting tags, such as
1107        <code class="bad example">&lt;a>&lt;b>&lt;/a>&lt;/b></code>, are not
1108        allowed and they also cause this error.</p>
1109      </d:desc>
1110    </d:item>
1111    
1112    <d:item name="not first start tag"
1113        class="parse-error"
1114        modules="HTML::Parser">
1115      <d:message xml:lang="en">This <code>&lt;html></code> tag is not
1116      the first start tag.</d:message>
1117      <d:desc>
1118        <p>There is a start tag of the <code>html</code> element
1119        that it not the first start tag in the input stream.
1120        The document is non-conforming.</p>
1121    
1122        <p>In an HTML document, there cannot be more than one
1123        <code>html</code> element and therefore there cannot be
1124        more than one <code>&lt;html></code> tag.  In addition,
1125        nothing can be placed before the <code>&lt;html></code> tag
1126        except a <code>DOCTYPE</code>, white space characters,
1127        and comments.</p>
1128    </d:desc>    </d:desc>
1129  </d:item>  </d:item>
1130    
1131  <d:item name="not HTML5"  <d:item name="not HTML5"
1132      class="parse-error">      class="parse-error"
1133        modules="HTML::Parser">
1134    <d:message xml:lang="en">This document is written in an old version of    <d:message xml:lang="en">This document is written in an old version of
1135    HTML.</d:message>    HTML.</d:message>
1136    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1137      <p>The document contains a <code>DOCTYPE</code> declaration      <p>The document contains a <code>DOCTYPE</code> declaration
1138      that is different from HTML5 <code>DOCTYPE</code> (i.e. <code>&lt;!DOCTYPE      that is different from HTML5 <code>DOCTYPE</code> (i.e.
1139      HTML&gt;</code>).  The document is non-conforming.</p>      <code class="example html">&lt;!DOCTYPE HTML&gt;</code>).
1140        The document is non‐conforming.</p>
1141    
1142      <p>The document might or might not be conformant to      <p>The document might or might not be conformant to
1143      some version of HTML.  However, conformance to any HTML      some version of HTML.  However, conformance to any HTML
# Line 259  Web Document Conformance Checker (BETA)< Line 1147  Web Document Conformance Checker (BETA)<
1147    </d:desc>    </d:desc>
1148  </d:item>  </d:item>
1149    
1150    <d:item name="start tag not allowed"
1151        class="parse-error"
1152        modules="HTML::Parser">
1153      <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
1154      not allowed here.</d:message>
1155    </d:item>
1156    
1157  <d:item name="unmatched end tag"  <d:item name="unmatched end tag"
1158      class="parse-error">      class="parse-error"
1159    <d:message xml:lang="en">Element <code><var>$0</var></code> is not      modules="HTML::Parser">
1160      <d:message xml:lang="en">Element <code><var>{text}</var></code> is not
1161    opened.</d:message>    opened.</d:message>
1162      <d:desc>
1163        <p>An end tag appears though no element with the same name
1164        has been opened.  The document is non-conforming.</p>
1165    
1166        <p>For any end tag in HTML document, there must be a
1167        corresponding start tag.</p>
1168    
1169        <dl class="switch">
1170        <dt>HTML <code>base</code>, <code>basefont</code>,
1171        <code>bgsound</code>, <code>br</code>, <code>col</code>,
1172        <code>embed</code>, <code>frame</code>, <code>hr</code>,
1173        <code>image</code>, <code>img</code>, <code>input</code>,
1174        <code>isindex</code>, <code>link</code>, <code>meta</code>,
1175        <code>param</code>, <code>spacer</code>, or <code>wbr</code> element</dt>
1176          <dd>End tag is not allowed for these elements, since
1177          those content must always be empty.  Remove end tag.</dd>
1178        <!-- keygen -->
1179        <!-- command, event-source, nest, source -->
1180        </dl>
1181      </d:desc>
1182  </d:item>  </d:item>
1183    
1184  </section>  </section>
# Line 270  Web Document Conformance Checker (BETA)< Line 1186  Web Document Conformance Checker (BETA)<
1186  <section id="element-content-model-errors">  <section id="element-content-model-errors">
1187  <h2>Element Content Model Errors</h2>  <h2>Element Content Model Errors</h2>
1188    
1189    <d:item name="basehref after URL attribute"
1190        modules="ContentChecker::HTML">
1191      <d:message xml:lang="en">The <code>base</code> element with the
1192      <code>href</code> attribute specified cannot be placed after
1193      any attribute with a URL.</d:message>
1194    </d:item>
1195    
1196    <d:item name="basetarget after hyperlink"
1197        modules="ContentChecker::HTML">
1198      <d:message xml:lang="en">The <code>base</code> element with the
1199      <code>target</code> attribute specified cannot be placed after
1200      any element that defines a hyperlink.</d:message>
1201    </d:item>
1202    
1203  <d:item name="character not allowed"  <d:item name="character not allowed"
1204      class="content-model-error">      modules="ContentChecker::HTML">
1205    <d:message xml:lang="en">Data character is not allowed in this    <d:message xml:lang="en">Data character is not allowed in this
1206    context.</d:message>    context.</d:message>
1207    <d:desc xml:lang="en">    <d:desc xml:lang="en">
# Line 279  Web Document Conformance Checker (BETA)< Line 1209  Web Document Conformance Checker (BETA)<
1209      context.  The document is non-conforming.</p>      context.  The document is non-conforming.</p>
1210    
1211      <p>Possible causes:      <p>Possible causes:
1212        <dl>        <ul>
1213        <dt>If the erred element is an inline-level element (such        <li><p>A data character cannot be a child
1214        as <code>a</code> or <code>span</code>)</dt>        of certain sectioning elements such as <code>body</code>,
1215            <dd><p>A data character cannot be a child        <code>section</code>, and <code>blockquote</code>.</p>
1216            of certain sectioning elements such as <code>body</code>,  
1217            <code>section</code>, and <code>blockquote</code>.</p>        <p>Any inline-level content must be put
1218          in e.g. paragraph element such as <code>p</code>.</p></li>
1219            <p>Any inline-level content must be put        <li><p>Though some elements such as <code>div</code>,
1220            in e.g. paragraph element such as <code>p</code>.</p></dd>        <code>li</code>, and <code>td</code> allow
1221        <dt>If the erred element is a block-level element (such as        <em>either one</em> of block-level or inline-level content
1222        <code>div</code> or <code>h<var>n</var></code>)</dt>        is allowed.  If there is a block-level content,
1223            <dd><p>Though some elements such as <code>div</code>,        any inline-level content must be put
1224            <code>li</code>, and <code>td</code> allow        in e.g. paragraph element such as <code>p</code>.</p></li>
1225            <em>either one</em> of block-level or inline-level content        </ul>
           is allowed.  If there is a block-level content,  
           any inline-level content must be put  
           in e.g. paragraph element such as <code>p</code>.</p></dd>  
       </dl>  
1226      </p>      </p>
1227    </d:desc>    </d:desc>
1228  </d:item>  </d:item>
1229    
1230    <d:item name="character not allowed:empty"
1231        modules="ContentChecker::HTML">
1232      <d:message xml:lang="en">Non‐white‐space characters are not allowed in
1233      an empty element.</d:message>
1234    </d:item>
1235    
1236  <d:item name="child element missing"  <d:item name="child element missing"
1237      class="content-model-error">      modules="ContentChecker::HTML">
1238    <d:message xml:lang="en">There must be a <code><var>$0</var></code>    <d:message xml:lang="en">There must be a <code><var>{text}</var></code>
1239    element as a child of this element.</d:message>    element as a child of this element.</d:message>
1240    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1241      <p>The content model of the element is so defined that it      <p>The content model of the element is so defined that it
1242      must contain a <code><var>$0</var></code> child element.      must contain a <code><var>$0</var></code> child element.
1243      The document is non-conforming.</p>      The document is non-conforming.</p>
1244    
1245      <p>For example:      <dl class="switch">
1246        <ul>      <dt>HTML <code>head</code> element</dt>
1247        <li>The <code>head</code> element must contain exactly one        <dd>There must be a <code>title</code> child element.</dd>
1248        <code>title</code> child element.</li>      <dt>HTML <code>html</code> element</dt>
1249        <li><a href="#child-element-missing:td%7Cth">The <code>tr</code>        <dd>There must be a <code>head</code> child element followed
1250        element must contain one or more <code>td</code> or <code>th</code>        by a <code>body</code> element.</dd>
1251        child element.</a></li>      <dt>HTML <code>tr</code> element</dt>
1252        </ul>        <dd><a href="#child-element-missing:td%7Cth">There must be
1253      </p>        one or more <code>td</code> or <code>th</code> child element.</a></dd>
1254        </dl>
1255    </d:desc>    </d:desc>
1256  </d:item>  </d:item>
1257    
# Line 333  Web Document Conformance Checker (BETA)< Line 1266  Web Document Conformance Checker (BETA)<
1266    </d:desc>    </d:desc>
1267  </d:item>  </d:item>
1268    
1269    <d:item name="element missing:hn"
1270        modules="ContentChecker::HTML">
1271      <d:message xml:lang="en">There must be at least one
1272      <code>h<var>n</var></code> element descendant.</d:message>
1273    </d:item>
1274    
1275  <d:item name="element not allowed"  <d:item name="element not allowed"
1276      class="content-model-error">      class="content-model-error">
1277    <d:message xml:lang="en">This element is not allowed in this    <d:message xml:lang="en">This element is not allowed in this
# Line 341  Web Document Conformance Checker (BETA)< Line 1280  Web Document Conformance Checker (BETA)<
1280      <p>An element appears where it is not allowed.  The document      <p>An element appears where it is not allowed.  The document
1281      is non-conforming.</p>      is non-conforming.</p>
1282    
     <p><strong>Note</strong>: The conformance checker does  
     <em>not</em> support form elements yet.</p>  
   
1283      <p>Possible causes:      <p>Possible causes:
1284        <dl>        <dl class="switch">
1285        <dt>If the erred element is an inline-level element (such        <dt>If the element with the error is an inline-level element,
1286        as <code>a</code> or <code>span</code>)</dt>        such as <code>a</code>, <code>progress</code>, or <code>img</code></dt>
1287            <dd><p>An inline-level element cannot be a child            <dd><p>An inline-level element cannot be a child
1288            of certain sectioning elements such as <code>body</code>,            of certain sectioning elements such as <code>body</code>,
1289            <code>section</code>, and <code>blockquote</code>.</p>            <code>section</code>, and <code>blockquote</code>.</p>
1290    
1291            <p>Any inline-level content must be put            <p>Any inline-level content must be put
1292            in e.g. paragraph element such as <code>p</code>.</p></dd>            in e.g. paragraph element such as <code>p</code>.</p></dd>
1293        <dt>If the erred element is a block-level element (such as        <dt>If it is a block-level elements, such as <code>aside</code>,
1294        <code>div</code> or <code>h<var>n</var></code>)</dt>        <code>div</code>, <code>h<var>n</var></code>,
1295            <dd><p>Though some elements such as <code>div</code>,        <code>p</code>, or <code>section</code></dt>
1296            <code>li</code>, and <code>td</code> allow            <dd><dl class="switch">
1297            <em>either one</em> of block-level or inline-level content                <dt>If the parent element is <code>div</code>,
1298            is allowed.  If there is a block-level content,                <code>li</code>, <code>td</code>, or <code>th</code></dt>
1299            any inline-level content must be put                <!-- @@ TODO: more... -->
1300            in e.g. paragraph element such as <code>p</code>.</p></dd>                    <!-- @@ TODO: <p><ul><li><p> -->
1301        <dt>If the erred element is the root <code>html</code> element</dt>                    <dd><p>The parent element allows <em>either</em>
1302            <dd><p>In an XHTML document, the root <code>html</code>                    block-level or inline-level content.  If there is a
1303            element must have an <code>xmlns</code> attribute                    block-level content, any inline-level content must be
1304            whose value is set to                    put in e.g. paragraph element such as <code>p</code>.</p>
1305            <code>http://www.w3.org/1999/xhtml</code>.</p></dd>                    <p>For example, an HTML document fragment
1306                      <code class="html bad example">&lt;div>&lt;p>Hello!&lt;/p> World!&lt;/div></code>
1307                      is non-conforming, since a word <q>World!</q> does not belong
1308                      to any paragraph.  (If not part of any paragraph, what is
1309                      it!?)  A conforming example would be:
1310                        <pre class="html example"><code>&lt;div>&lt;p>Hello!&lt;/p> &lt;p>World!&lt;/p>&lt;/div></code></pre>
1311                      </p></dd>
1312                  <dt>If the parent element does <em>not</em> allow
1313                  block-level elements as content</dt>
1314                      <dd>The element is not allowed to be inserted here.
1315                      For example, a <code>div</code> element cannot be
1316                      a child of an <code>h1</code> element.</dd>
1317              </dl></dd>
1318          <dt>If the element with the error is a <code>noscript</code> element</dt>
1319              <dd>The <code>noscript</code> element is allowed only in the context
1320              where a block-level or inline-level content is expected
1321              and in the <code>head</code> element.
1322              It cannot be used in e.g. <code>ul</code>, <code>table</code>,
1323              or <code>select</code>.</dd>
1324          <dt>If the element with the error is <code>blink</code>,
1325          <code>center</code>, or <code>marquee</code> element</dt>
1326              <dd>These elements are not part of the HTML standard.
1327              Use CSS for styling control.</dd>
1328    
1329          <dt><code>button</code>, <code>datalist</code>,
1330          <code>fieldset</code>, <code>form</code>,
1331          <code>input</code>, <code>label</code>,
1332          <code>optgroup</code>, <code>option</code>, <code>output</code>,
1333          <code>rb</code>, <code>rp</code>, <code>rt</code>, <code>ruby</code>,
1334          <code>textarea</code>, or <code>textarea</code> element</dt>
1335          <!-- rbc, rtc ? -->
1336              <dd>These elements are intentionally not supported by the conformance
1337              checker <em>yet</em>.</dd>
1338        </dl>        </dl>
1339      </p>      </p>
1340    </d:desc>    </d:desc>
1341  </d:item>  </d:item>
1342    
1343    <d:item name="element not allowed:area"
1344        modules="ContentChecker ContentChecker::HTML">
1345      <d:message xml:lang="en">An <code>area</code> element cannot be used
1346      outside of a <code>map</code> element.</d:message>
1347    </d:item>
1348    
1349    <d:item name="element not allowed:base"
1350        modules="ContentChecker ContentChecker::HTML">
1351      <d:message xml:lang="en">There is another <code>base</code>
1352      element.</d:message>
1353    </d:item>
1354    
1355    <d:item name="element not allowed:datatemplate"
1356        modules="ContentChecker ContentChecker::HTML">
1357      <d:message xml:lang="en">In a <code>datatemplate</code> element, only
1358      <code>rule</code> elements are allowed.</d:message>
1359    </d:item>
1360    
1361    <d:item name="element not allowed:details legend"
1362        modules="ContentChecker::HTML">
1363      <d:message xml:lang="en">In a <code>details</code> element, only at the
1364      beginning of the element a <code>lengend</code> element
1365      may be used.</d:message>
1366    </d:item>
1367    
1368    <d:item name="element not allowed:empty"
1369        modules="ContentChecker::HTML">
1370      <d:message xml:lang="en">Elements are not allowed in an empty
1371      element.</d:message>
1372    </d:item>
1373    
1374    <d:item name="element not allowed:figure legend"
1375        modules="ContentChecker::HTML">
1376      <d:message xml:lang="en">In a <code>figure</code> element, only at the
1377      beginning or only at the end of the element a <code>lengend</code> element
1378      may be used.</d:message>
1379    </d:item>
1380    
1381    <d:item name="element not allowed:flow"
1382        modules="ContentChecker::HTML">
1383      <d:message xml:lang="en">This element is not allowed where flow
1384      content is expected.</d:message>
1385    </d:item>
1386    
1387    <d:item name="element not allowed:flow style"
1388        modules="ContentChecker::HTML">
1389      <d:message xml:lang="en">A <code>style</code> element without
1390      <code>scoped</code> attribute is not allowed in this context.</d:message>
1391    </d:item>
1392    
1393    <d:item name="element not allowed:head noscript"
1394        modules="ContentChecker::HTML">
1395      <d:message xml:lang="en">This element is not allowed in a
1396      <code>noscript</code> element in the <code>head</code> element.</d:message>
1397    </d:item>
1398    
1399    <d:item name="element not allowed:head style"
1400        modules="ContentChecker::HTML">
1401      <d:message xml:lang="en">A <code>style</code> element with
1402      <code>scoped</code> attribute is not allowed in the <code>head</code>
1403      element.</d:message>
1404    </d:item>
1405    
1406    <d:item name="element not allowed:head title"
1407        modules="ContentChecker ContentChecker::HTML">
1408      <d:message xml:lang="en">There is another <code>title</code>
1409      element.</d:message>
1410    </d:item>
1411    
1412    <d:item name="element not allowed:minus"
1413        modules="ContentChecker ContentChecker::HTML">
1414      <d:message xml:lang="en">This element is not allowed in this
1415      context.</d:message>
1416    </d:item>
1417    
1418    <d:item name="element not allowed:meta charset"
1419        modules="ContentChecker::HTML">
1420      <d:message xml:lang="en">The character encoding declaration must be the
1421      first element in the <code>head</code> element.</d:message>
1422    </d:item>
1423    
1424    <d:item name="element not allowed:metadata"
1425        modules="ContentChecker::HTML">
1426      <d:message xml:lang="en">This element is not allowed where metadata
1427      content is expected.</d:message>
1428    </d:item>
1429    
1430    <d:item name="element not allowed:phrasing"
1431        modules="ContentChecker::HTML">
1432      <d:message xml:lang="en">This element is not allowed where phrasing
1433      content is expected.</d:message>
1434    </d:item>
1435    
1436    <d:item name="element not allowed:root"
1437        modules="ContentChecker">
1438      <d:message xml:lang="en">This element is not allowed as the root
1439      element of a document.</d:message>
1440      <d:desc xml:lang="en">
1441        <p>An element that is not allowed as the root element
1442        is used as the root element of the document.  The document is
1443        non-conforming, as far as the conformance checker can tell.</p>
1444    
1445        <dl class="switch">
1446        <dt><code>html</code> element in an XHTML document</dt>
1447            <dd><p>In <abbr>XHTML</abbr> document, the root <code>html</code>
1448            element must have an <code>xmlns</code> attribute as:
1449              <pre class="xml example"><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"></code></pre></p></dd>
1450        <dt><code>rss</code> element</dt>
1451            <dd><p>The document is written in some version of RSS.</p>
1452            <p>The conformance checker does not support any version
1453            of RSS.  Use Atom 1.0 for feed documents.</p></dd>
1454        <dt><code>feed</code> element</dt>
1455            <dd><p>The Atom <code>feed</code> element must be
1456            in the <code>http://www.w3.org/2005/Atom</code>
1457            namespace as:
1458              <pre class="xml example"><code>&lt;feed xmlns="http://www.w3.org/2005/Atom"></code></pre>
1459            </p>
1460            <p>The conformance checker does not support Atom 0.3.
1461            Use Atom 1.0 for feed documents.</p></dd>
1462        </dl>
1463      </d:desc>
1464    </d:item>
1465    
1466    <d:item name="element not allowed:root:xml"
1467        modules="ContentChecker">
1468      <d:message xml:lang="en">This element is not allowed as the root element
1469      of an XML document.</d:message>
1470    </d:item>
1471    
1472    <d:item name="element not allowed:ruby base"
1473        modules="ContentChecker">
1474      <d:message xml:lang="en">This element is not allowed in the <code>ruby</code>
1475      element.</d:message>
1476    </d:item>
1477    
1478    <d:item name="element not allowed:text"
1479        modules="ContentChecker::HTML">
1480      <d:message xml:lang="en">This element is not allowed in this
1481      context.</d:message>
1482    </d:item>
1483    
1484    <d:item name="element not defined"
1485        modules="ContentChecker">
1486      <d:message xml:lang="en">This element is not defined.</d:message>
1487    </d:item>
1488    
1489    <d:item name="no significant content"
1490        modules="ContentChecker::HTML">
1491      <d:message xml:lang="en">No significant content is contained
1492      in this element.</d:message>
1493    </d:item>
1494    
1495    <d:item name="no significant content before"
1496        modules="ContentChecker::HTML">
1497      <d:message xml:lang="en">There is no significant content
1498      before this element.</d:message>
1499    </d:item>
1500    
1501    <d:item name="no significant content at the end"
1502        modules="ContentChecker::HTML">
1503      <d:message xml:lang="en">No significant content is contained
1504      at the end of this element.</d:message>
1505    </d:item>
1506    
1507    <d:item name="ps element missing"
1508        modules="ContentChecker::HTML">
1509      <d:message xml:lang="en">There is no <code><var>{text}</var></code>
1510      element before this element.</d:message>
1511      <d:desc xml:lang="en">
1512        <p>There must be an element before another element, but there
1513        is not.  The document is non-conforming.</p>
1514    
1515        <p>For example, there must be a <code>dt</code> element
1516        before any <code>dd</code> element.</p>
1517      </d:desc>
1518    </d:item>
1519    
1520    <d:item name="rp:syntax error"
1521        modules="ContentChecker::HTML">
1522      <d:message xml:lang="en">The content of a <code>rp</code> element must
1523      be a parenthesis.</d:message>
1524    </d:item>
1525    
1526  </section>  </section>
1527    
1528  <section id="attribute-errors">  <section id="attribute-errors">
1529  <h2>Attribute Errors</h2>  <h2>Attribute Errors</h2>
1530    
1531  <d:item name="attribute missing"  <d:item name="attribute missing"
1532      class="attribute-error">      modules="ContentChecker::HTML">
1533    <d:message xml:lang="en">Required attribute <code><var>$0</var></code>    <d:message xml:lang="en">Required attribute <code><var>{text}</var></code>
1534    is not specified.</d:message>    is not specified.</d:message>
1535    <d:desc>    <d:desc>
1536      <p>A required attribute is not specified.  The document      <p>A required attribute is not specified.  The document
1537      is non-conforming.</p>      is non-conforming.</p>
1538    
1539      <p>Some attribute is defined as <i>required</i>.      <p>Some attribute is defined as <i>required</i>.
     For example, any <code>img</code> element must have  
     <code>alt</code> and <code>src</code> attributes specified.  
1540      Without required attributes specified, user agents      Without required attributes specified, user agents
1541      cannot provide the full functionality of the element      cannot provide full functionality of the element to the user.</p>
1542      to the user.</p>  
1543        <dl class="switch">
1544        <dt>HTML <code>img</code> element</dt>
1545            <dd>The <code>src</code> attribute must be specified.
1546            Additionally, the <code>alt</code> attribute must be specified
1547            in many cases.</dd>
1548        <dt>HTML <code>link</code> element</dt>
1549            <dd>The <code>rel</code> attribute must be specified.
1550            Note that the <code>rev</code> attribute is obsolete.</dd>
1551        </dl>
1552      </d:desc>
1553    </d:item>
1554    
1555    <d:item name="attribute missing:data|type"
1556        modules="ContentChecker::HTML">
1557      <d:message xml:lang="en">For an <code>object</code> at least one of
1558      <code>data</code> and <code>type</code> attributes must be
1559      specified.</d:message>
1560    </d:item>
1561    
1562    <d:item name="attribute missing:href|target"
1563        modules="ContentChecker::HTML">
1564      <d:message xml:lang="en">For a <code>base</code> element, at least one of
1565      <code>href</code> and <code>target</code> attributes must be
1566      specified.</d:message>
1567    </d:item>
1568    
1569    <d:item name="attribute missing:name|http-equiv"
1570        modules="ContentChecker::HTML">
1571      <d:message xml:lang="en">For a <code>meta</code> element with the
1572      <code>content</code> attribute specified, exactly one of
1573      <code>name</code> and <code>http-equiv</code> attributes must be
1574      specified.</d:message>
1575    </d:item>
1576    
1577    <d:item name="attribute missing:name|http-equiv|charset"
1578        modules="ContentChecker::HTML">
1579      <d:message xml:lang="en">For a <code>meta</code> element, exactly one of
1580      <code>name</code>, <code>http-equiv</code>, and <code>charset</code>
1581      attributes must be specified.</d:message>
1582    </d:item>
1583    
1584    <d:item name="attribute not allowed"
1585        modules="ContentChecker::HTML">
1586      <d:message xml:lang="en">Attribute
1587      <code><var>{local-name}</var></code> is not allowed for
1588      <code><var>{element-local-name}</var></code> element.</d:message>
1589      <d:desc xml:lang="en">
1590        <p>An attribute is specified where it is not allowed.
1591        The document is non-conforming.</p>
1592    
1593        <dl>
1594        <dt>HTML <code>meta</code> element</dt>
1595            <dd>For HTML <code>meta</code> element, <em>only one</em> of
1596            <code>name</code>, <code>http-equiv</code>, or <code>charset</code>
1597            attribute is allowed.</dd>
1598        </dl>
1599    </d:desc>    </d:desc>
1600  </d:item>  </d:item>
1601    
1602    <d:item name="attribute not allowed:ismap"
1603        modules="ContentChecker::HTML">
1604      <d:message xml:lang="en">The <code>ismap</code> attribute may only be
1605      used for the image contained in an <code>a</code> element.</d:message>
1606    </d:item>
1607    
1608    <d:item name="attribute not defined"
1609        modules="ContentChecker">
1610      <d:message xml:lang="en">This attribute is not defined.</d:message>
1611    </d:item>
1612    
1613  <d:item name="in HTML:xml:lang"  <d:item name="in HTML:xml:lang"
1614      class="attribute-error">      class="attribute-error"
1615        modules="ContentChecker::XML">
1616    <d:message xml:lang="en">The <code>xml:lang</code> attribute is not    <d:message xml:lang="en">The <code>xml:lang</code> attribute is not
1617    allowed in HTML document.</d:message>    allowed in HTML document.</d:message>
1618    <d:desc>    <d:desc xml:lang="en">
1619      <p>The <code>xml:lang</code> attribute is not allowed in      <p>The <code>xml:lang</code> attribute is not allowed in
1620      HTML document.  The document is non-conforming.</p>      HTML document.  The document is non-conforming.</p>
1621    
1622      <p>The <code>xml:lang</code> attribute in <code>null</code>      <p>Use of the <code>xml:lang</code> attribute is conforming
1623      namespace for HTML elements is defined as conforming only for      <em>only</em> in XML documents.</p>
     XML document.</p>  
1624    
1625      <p>To specify natural language information in HTML document,      <p>To specify natural language information in HTML document,
1626      use <code>lang</code> attribute instead.</p>      use <code>lang</code> attribute instead.</p>
1627    
1628        <p>XHTML 1.0 Appendix C was encouraged to specify both
1629        <code>lang</code> and <code>xml:lang</code> attributes with
1630        the same value.  Such a duplication has <em>no effect</em> in practice.
1631        Use only one of <code>lang</code> (in HTML) or <code>xml:lang</code> (in
1632        XML).</p>
1633    
1634      <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created      <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created
1635           from an HTML document? -->           from an HTML document? -->
1636    </d:desc>    </d:desc>
1637  </d:item>  </d:item>
1638    
1639  <d:item name="in XML:charset"  <d:item name="in XML:charset"
1640      class="attribute-error">      modules="ContentChecker::HTML">
1641    <d:message xml:lang="en">The <code>charset</code> attribute is not    <d:message xml:lang="en">The <code>charset</code> attribute is not
1642    allowed in XML document.</d:message>    allowed in XML document.</d:message>
1643    <d:desc>    <d:desc>
# Line 430  Web Document Conformance Checker (BETA)< Line 1653  Web Document Conformance Checker (BETA)<
1653  </d:item>  </d:item>
1654    
1655  <d:item name="in XML:lang"  <d:item name="in XML:lang"
1656      class="attribute-error">      modules="ContentChecker::HTML">
1657    <d:message xml:lang="en">The <code>lang</code> attribute is not    <d:message xml:lang="en">The <code>lang</code> attribute is not
1658    allowed in XML document.</d:message>    allowed in XML document.</d:message>
1659    <d:desc>    <d:desc>
# Line 438  Web Document Conformance Checker (BETA)< Line 1661  Web Document Conformance Checker (BETA)<
1661      XML document.  The document is non-conforming.</p>      XML document.  The document is non-conforming.</p>
1662    
1663      <p>The <code>lang</code> attribute in <code>null</code>      <p>The <code>lang</code> attribute in <code>null</code>
1664      namespace for HTML elements is defined as conforming only for      namespace for HTML elements is conforming <em>only</em> in
1665      HTML document.</p>      HTML documents.</p>
1666    
1667      <p>To specify natural language information in XML document,      <p>To specify natural language information in XML document,
1668      use <code>xml:lang</code> attribute instead.</p>      use <code>xml:lang</code> attribute instead.</p>
1669    </d:desc>    </d:desc>
1670  </d:item>  </d:item>
1671    
1672    <d:item name="in XML:noscript"
1673        modules="ContentChecker::HTML">
1674      <d:message xml:lang="en">A <code>noscript</code> element cannot be
1675      used in XML document.</d:message>
1676    </d:item>
1677    
1678  <d:item name="in XML:xmlns"  <d:item name="in XML:xmlns"
1679      class="attribute-error">      modules="ContentChecker::HTML">
1680    <d:message xml:lang="en">The <code>xmlns</code> attribute    <d:message xml:lang="en">The <code>xmlns</code> attribute
1681    in the <code>null</code> namespace is not allowed in    in the <code>null</code> namespace is not allowed in
1682    XHTML document.  The document is non-conforming.</d:message>    XHTML document.  The document is non-conforming.</d:message>
# Line 455  Web Document Conformance Checker (BETA)< Line 1684  Web Document Conformance Checker (BETA)<
1684      <p>The <code>xmlns</code> attribute in the <code>null</code>      <p>The <code>xmlns</code> attribute in the <code>null</code>
1685      namespace is not allowed in XHTML document.</p>      namespace is not allowed in XHTML document.</p>
1686    
1687      <p>This error should not occur in conformance-checking      <p>This error should not occur in conformance-checking of
1688      static documents.</p>      static documents.</p>
1689    </d:desc>    </d:desc>
1690  </d:item>  </d:item>
# Line 465  Web Document Conformance Checker (BETA)< Line 1694  Web Document Conformance Checker (BETA)<
1694  <section id="attribute-value-errors">  <section id="attribute-value-errors">
1695  <h2>Attribute Value Errors</h2>  <h2>Attribute Value Errors</h2>
1696    
1697    <d:item name="boolean:invalid"
1698        modules="ContentChecker::HTML">
1699      <d:message xml:lang="en">Attribute value <code><var>{@}</var></code>
1700      is not allowed.  It must be an empty string or a string
1701      <code><var>{local-name}</var></code>.</d:message>
1702    </d:item>
1703    
1704    <d:item name="char:syntax error"
1705        modules="ContentChecker::HTML">
1706      <d:message xml:lang="en">The attribute value must be exactly one
1707      character.</d:message>
1708    </d:item>
1709    
1710    <d:item name="charref in charset"
1711        modules="ContentChecker::HTML">
1712      <d:message xml:lang="en">A character reference cannot be used to
1713      represent a character encoding name.</d:message>
1714    </d:item>
1715    
1716    <d:item name="charset:not preferred"
1717        modules="ContentChecker::HTML">
1718      <d:message xml:lang="en">Character encoding name
1719      <code><var>{value}</var></code> is not the preferred name of that
1720      character encoding.</d:message>
1721    </d:item>
1722    
1723    <d:item name="charset:not registered"
1724        modules="ContentChecker::HTML">
1725      <d:message xml:lang="en">Character encoding name
1726      <code><var>{value}</var></code> is not a registered name.</d:message>
1727      <d:desc xml:lang="en">
1728        <p>The specified character encoding name is not registered to
1729        <abbr>IANA</abbr>.  Use of registered character encoding name
1730        is a good practice to facilitate interoperability.</p>
1731    
1732        <dl class="switch">
1733        <dt><code>EUC-TW</code></dt>
1734          <dd><code>EUC-TW</code> is not registered.  Unfortunately, there
1735          is no registered name for that character encoding.  Use
1736          Big5 encoding with character encoding name <code>Big5</code>
1737          if it is enough to represent the document.</dd>
1738        <dt><code>ISO-2022-JP-1</code></dt>
1739          <dd><code>ISO-2022-JP-1</code> is not registered, nevertheless
1740          this character encoding name is documented in
1741          <a href="urn:ietf:rfc:2237"><abbr>RFC</abbr> 2237</a>.  Use
1742          <code>ISO-2022-JP-2</code> instead, since that character encoding
1743          is a superset of ISO-2022-JP-1.</dd>
1744        <dt><code>ISO-2022-JP-3</code>, <code>ISO-2022-JP-3-plane1</code></dt>
1745          <dd>These names are not registered and obsoleted in favor of
1746          <code>ISO-2022-JP-2004</code> and
1747          <code>ISO-2022-JP-2004-plane1</code>.</dd>
1748        <dt><code>ISO-2022-JP-2003</code>,
1749        <code>ISO-2022-JP-2003-plane1</code></dt>
1750          <dd>These names are not registered and corrected to
1751          <code>ISO-2022-JP-2004</code> and
1752          <code>ISO-2022-JP-2004-plane1</code>.</dd>
1753        <dt><code>ISO-2022-JP-2004</code>,
1754        <code>ISO-2022-JP-2004-plane1</code></dt>
1755          <dd>These names are not registered.  Unfortunately, there is
1756          no registered name for these character encodings.</dd>
1757        <dt><code>UTF-8N</code></dt>
1758          <dd><code>UTF-8N</code> is not registered.  Character encoding
1759          name <code>UTF-8</code> represents UTF-8 encoding with or
1760          without <abbr>BOM</abbr>.</dd>
1761        </dl>
1762    
1763        <p><strong>WARNING</strong>: This error might be raised for
1764        a registered character encoding name, since the character encoding
1765        name database of the conformance checker is not complete yet.</p>
1766      </d:desc>
1767    </d:item>
1768    
1769    <d:item name="charset:private"
1770        modules="ContentChecker::HTML">
1771      <d:message xml:lang="en">Character encoding name
1772      <code><var>{value}</var></code> is a private name.</d:message>
1773      <d:desc xml:lang="en">
1774        <p>The specified character encoding name is a private name and
1775        not registered to <abbr>IANA</abbr>.  Use of registered character
1776        encoding name is a good practice to facilitate interoperability.</p>
1777    
1778        <dl class="switch">
1779        <dt><code>x-euc-jp</code></dt>
1780          <dd>Use <code>EUC-JP</code> for the Japanese <abbr>EUC</abbr>
1781          character encoding.</dd>
1782        <dt><code>x-sjis</code></dt>
1783          <dd>Use <code>Shift_JIS</code> for standard Shift encoding scheme of
1784          <abbr>JIS</abbr> coded character set, or <code>Windows-31J</code>
1785          for Microsoft standard character set as implemented by
1786          Microsoft Windows.</dd>
1787        </dl>
1788      </d:desc>
1789    </d:item>
1790    
1791    <d:item name="charset:syntax error"
1792        modules="ContentChecker::HTML">
1793      <d:message xml:lang="en">The specified value <code><var>{value}</var></code>
1794      is syntactically not a character encoding name.</d:message>
1795      <d:desc xml:lang="en">
1796        <p>The attribute value must be a character encoding name.  However,
1797        the specified value is not a character encoding name syntactically.
1798        The document is non‐conforming.</p>
1799        <p>Character encoding name is a string of <abbr>ASCII</abbr>
1800        printable characters, up to 40 characters.</p>
1801      </d:desc>
1802    </d:item>
1803    
1804    <d:item name="color:syntax error"
1805        modules="ContentChecker::HTML">
1806      <d:message xml:lang="en">The specified value is not a color
1807      name or hexadecimal color number.</d:message>
1808    </d:item>
1809    
1810    <d:item name="coords:number not 3"
1811        modules="ContentChecker::HTML">
1812      <d:message xml:lang="en">The <code>coords</code> attribute have to
1813      contain three (3) numbers (specified:
1814      <code><var>{text}</var></code>).</d:message>
1815    </d:item>
1816    
1817    <d:item name="coords:number not 4"
1818        modules="ContentChecker::HTML">
1819      <d:message xml:lang="en">The <code>coords</code> attribute have to
1820      contain four (4) numbers (specified:
1821      <code><var>{text}</var></code>).</d:message>
1822    </d:item>
1823    
1824    <d:item name="coords:number lt 6"
1825        modules="ContentChecker::HTML">
1826      <d:message xml:lang="en">The <code>coords</code> attribute have to
1827      contain more than or equal to six (6) numbers (specified:
1828      <code><var>{text}</var></code>).</d:message>
1829    </d:item>
1830    
1831    <d:item name="coords:number not even"
1832        modules="ContentChecker::HTML">
1833      <d:message xml:lang="en">The <code>coords</code> attribute have to
1834      contain even number of numbers (specified:
1835      <code><var>{text}</var></code>).</d:message>
1836    </d:item>
1837    
1838    <d:item name="coords:out of range"
1839        modules="ContentChecker::HTML">
1840      <d:message xml:lang="en">The specified value <code><var>{value}</var></code>
1841      is out of range.</d:message>
1842    </d:item>
1843    
1844    <d:item name="coords:syntax error"
1845        modules="ContentChecker::HTML">
1846      <d:message xml:lang="en">The specified value is not valid.</d:message>
1847    </d:item>
1848    
1849    <d:item name="datetime:bad year"
1850        modules="ContentChecker::HTML">
1851      <d:message xml:lang="en">Year number is out of range.</d:message>
1852    </d:item>
1853    
1854    <d:item name="datetime:bad month"
1855        modules="ContentChecker::HTML">
1856      <d:message xml:lang="en">Month number is out of range.</d:message>
1857    </d:item>
1858    
1859    <d:item name="datetime:bad day"
1860        modules="ContentChecker::HTML">
1861      <d:message xml:lang="en">Day number is out of range.</d:message>
1862    </d:item>
1863    
1864    <d:item name="datetime:bad hour"
1865        modules="ContentChecker::HTML">
1866      <d:message xml:lang="en">Hour number is out of range.</d:message>
1867    </d:item>
1868    
1869    <d:item name="datetime:bad minute"
1870        modules="ContentChecker::HTML">
1871      <d:message xml:lang="en">Minute number is out of range.</d:message>
1872    </d:item>
1873    
1874    <d:item name="datetime:bad second"
1875        modules="ContentChecker::HTML">
1876      <d:message xml:lang="en">Second number is out of range.</d:message>
1877    </d:item>
1878    
1879    <d:item name="datetime:bad timezone hour"
1880        modules="ContentChecker::HTML">
1881      <d:message xml:lang="en">Hour number of the timezone component is out of
1882      range.</d:message>
1883    </d:item>
1884    
1885    <d:item name="datetime:bad timezone minute"
1886        modules="ContentChecker::HTML">
1887      <d:message xml:lang="en">Minute number of the timezone component is out of
1888      range.</d:message>
1889    </d:item>
1890    
1891    <d:item name="datetime:syntax error"
1892        modules="ContentChecker::HTML">
1893      <d:message xml:lang="en">The attribute value is not a datetime.</d:message>
1894    </d:item>
1895    
1896    <d:item name="dateortime:syntax error"
1897        modules="ContentChecker::HTML">
1898      <d:message xml:lang="en">The attribute value is not a date or
1899      time.</d:message>
1900    </d:item>
1901    
1902  <d:item name="enumerated:invalid"  <d:item name="enumerated:invalid"
1903      class="attribute-value-error">      modules="ContentChecker::HTML">
1904    <d:message xml:lang="en">This attribute only allow a limited set of    <d:message xml:lang="en">This attribute only allow a limited set of
1905    values and the specified value is not one of them.</d:message>    values and the specified value <code><var>{@}</var></code> is not one
1906      of them.</d:message>
1907      <d:desc xml:lang="en">
1908        <p>For this attribute only several values are allowed and the
1909        value of the attribute is not one of them.  The document
1910        is non-conforming.</p>
1911    
1912        <dl>
1913        <dt>HTML <code>meta</code> element, <code>http-equiv</code> attribute</dt>
1914            <dd><p>Only values <code>Default-Style</code> and <code>Refresh</code>
1915            are allowed.</p>
1916            <p>Value <code>Content-Type</code> is obsolete; for charset
1917            declaration, the <code>charset</code> attribute can be used as:
1918            <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
1919            ... where <var>charset-name</var> is a name of the character encoding
1920            of the document, such as <code>utf-8</code>.</p>
1921            <p>Values <code>Content-Style-Type</code> and
1922            <code>Content-Script-Type</code> are currently not allowed.</p>
1923            <p>Value <code>Keywords</code> is not allowed.  Use
1924            <code>name</code> attribute instead of <code>http-equiv</code>
1925            attribute.</p>
1926            <p>Values <code>Expires</code>, <code>Pragma</code>,
1927            and <code>Cache-Control</code> are not allowed;
1928            use <em>real</em> HTTP header fields for cache control.</p></dd>
1929        </dl>
1930      </d:desc>
1931  </d:item>  </d:item>
1932    
1933  <d:item name="duplicate ID"  <d:item name="enumerated:invalid:http-equiv:content-type"
1934      class="attribute-value-error">      class="attribute-value-error">
1935      <d:message xml:lang="en">Character encoding declaration syntax
1936      <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
1937      is obsolete.</d:message>
1938      <d:desc xml:lang="en">
1939        <p>Old long character encoding declaration syntax
1940        <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
1941        is in use.  The document is non‐conforming.</p>
1942    
1943        <p>The new character encoding declaration syntax is:
1944          <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
1945        </p>
1946      </d:desc>
1947    </d:item>
1948    
1949    <d:item name="enumerated:non-conforming"
1950        modules="ContentChecker::HTML">
1951      <d:message xml:lang="en">Attribute value <code><var>{@}</var></code>
1952      is not allowed.</d:message>
1953    </d:item>
1954    
1955    <d:item name="duplicate http-equiv"
1956        modules="ContentChecker::HTML">
1957      <d:message xml:lang="en">There is another pragma
1958      <code><var>{value}</var></code>.</d:message>
1959    </d:item>
1960    
1961    <d:item name="duplicate ID"
1962        class="attribute-value-error"
1963        modules="ContentChecker::XML ContentChecker::HTML">
1964    <d:message xml:lang="en">This identifier has already been    <d:message xml:lang="en">This identifier has already been
1965    assigned to another element.</d:message>    assigned to another element.</d:message>
1966    <!-- @@ <id=a xml:id=a>? -->    <!-- @@ <id=a xml:id=a>? -->
1967  </d:item>  </d:item>
1968    
1969    <d:item name="duplicate token"
1970        modules="ContentChecker::HTML">
1971      <d:message xml:lang="en">The token <code><var>{value}</var></code>
1972      appears in the attribute value twice.</d:message>
1973    </d:item>
1974    
1975    <d:item name="empty attribute value"
1976        modules="ContentChecker::HTML">
1977      <d:message xml:lang="en">The attribute value must not be empty.</d:message>
1978    </d:item>
1979    
1980    <d:item name="float:out of range"
1981        modules="ContentChecker::HTML">
1982      <d:message xml:lang="en">The specified value is out of range.</d:message>
1983    </d:item>
1984    
1985    <d:item name="float:syntax error"
1986        modules="ContentChecker::HTML">
1987      <d:message xml:lang="en">The attribute value is not a real
1988      number.</d:message>
1989    </d:item>
1990    
1991    <d:item name="fragment points itself"
1992        modules="ContentChecker">
1993      <d:message xml:lang="en">A fragment identifier references the element
1994      itself.</d:message>
1995    </d:item>
1996    
1997    <d:item name="fragment points nothing"
1998        modules="ContentChecker">
1999      <d:message xml:lang="en">A fragment identifier references no
2000      node.</d:message>
2001    </d:item>
2002    
2003    <d:item name="hashref:syntax error"
2004        modules="ContentChecker::HTML">
2005      <d:message xml:lang="en">A hash−name reference must start with a
2006      <code>#</code> character.</d:message>
2007    </d:item>
2008    
2009    <d:item name="id ne name"
2010        modules="ContentChecker::HTML">
2011      <d:message xml:lang="en">The <code>id</code> attribute value is
2012      different from the <code>name</code> attribute value.</d:message>
2013    </d:item>
2014    
2015    <d:item name="integer:syntax error"
2016        modules="ContentChecker::HTML">
2017      <d:message xml:lang="en">The attribute value is not an integer.</d:message>
2018    </d:item>
2019    
2020    <d:item name="link type:bad context"
2021        modules="ContentChecker::HTML">
2022      <d:message xml:lang="en">The link type <code><var>{value}</var></code>
2023      cannot be specified for this element.</d:message>
2024      <d:desc xml:lang="en">
2025        <p>The specified link type cannot be used for the element.
2026        The document is non-conforming.</p>
2027    
2028        <p>Link types are associated with limited set of elements.
2029        They cannot be used with other elements.</p>
2030    
2031        <p>For example, link type <code>bookmark</code>
2032        can be used with <code>a</code> or <code>area</code> element,
2033        while it cannot be used with <code>link</code> element.</p>
2034      </d:desc>
2035    </d:item>
2036    
2037    <d:item name="invalid attribute value"
2038        class="attribute-value-error"
2039        modules="ContentChecker::XML ContentChecker::HTML">
2040      <d:message xml:lang="en">Attribute value <code><var>{@}</var></code>
2041      is not an allowed value.</d:message>
2042    </d:item>
2043    
2044    <d:item name="length:syntax error"
2045        modules="ContentChecker::HTML">
2046      <d:message xml:lang="en">The attribute value is not a length
2047      value.</d:message>
2048    </d:item>
2049    
2050    <d:item name="link type:non-conforming"
2051        modules="ContentChecker::HTML">
2052      <d:message xml:lang="en">The link type <code><var>{value}</var></code>
2053      is non-conforming.</d:message>
2054      <d:desc xml:lang="en">
2055        <p>The specified link type is non-conforming, and therefore
2056        the document is non-conforming.</p>
2057    
2058        <dl class="switch">
2059        <dt>Link type <code>contents</code></dt>
2060          <dd>Use link type <code>index</code>.</dd>
2061        <dt>Link type <code>copyright</code></dt>
2062          <dd>Use link type <code>license</code>.</dd>
2063        <dt>Link type <code>home</code></dt>
2064          <dd>Use link type <code>index</code>.</dd>
2065        <dt>Link type <code>previous</code></dt>
2066          <dd>Use link type <code>prev</code>.</dd>
2067        <dt>Link type <code>start</code></dt>
2068          <dd>Use link type <code>first</code>.</dd>
2069        <dt>Link type <code>toc</code> or <code>top</code></dt>
2070          <dd>Use link type <code>index</code>.</dd>
2071        </dl>
2072      </d:desc>
2073    </d:item>
2074    
2075    <d:item name="meta content-type syntax error"
2076        modules="ContentChecker::HTML">
2077      <d:message xml:lang="en">The specified value is not a valid as a long
2078      character encoding declaration.</d:message>
2079    </d:item>
2080    
2081    <d:item name="mismatched charset name"
2082        modules="ContentChecker::HTML">
2083      <d:message xml:lang="en">The specified character encoding name
2084      <code><var>{value}</var></code> is different from the actual document
2085      character encoding <code><var>{text}</var></code>.</d:message>
2086      <d:desc xml:lang="en">
2087        <p>The specified character encoding name is different from
2088        the character encoding of the document.  The document
2089        is non‐conforming.</p>
2090      </d:desc>
2091    </d:item>
2092    
2093    <d:item name="mismatched charset name not checked"
2094        mopdules="ContentChecker::HTML">
2095      <d:message xml:lang="en">Whether the specified character encoding name
2096      <code><var>{value}</var></code> matches to the actual character encoding
2097      name cannot be checked since the input is not a byte stream.</d:message>
2098    </d:item>
2099    
2100    <d:item name="mode:syntax error"
2101        modules="ContentChecker::HTML">
2102      <d:message xml:lang="en">The attribute value is not a valid mode
2103      name.</d:message>
2104    </d:item>
2105    
2106    <d:item name="nninteger:out of range"
2107        modules="ContentChecker::HTML">
2108      <d:message xml:lang="en">The specified value is out of range.</d:message>
2109    </d:item>
2110    
2111    <d:item name="nninteger:syntax error"
2112        modules="ContentChecker::HTML">
2113      <d:message xml:lang="en">The attribute value is not a non‐negative
2114      integer.</d:message>
2115    </d:item>
2116    
2117    <d:item name="no referenced map"
2118        modules="ContentChecker">
2119      <d:message xml:lang="en">The <code>usemap</code> attribute references
2120      no image map.</d:message>
2121    </d:item>
2122    
2123    <d:item name="no referenced menu"
2124        modules="ContentChecker">
2125      <d:message xml:lang="en">The <code>contextmenu</code> attribute references
2126      no menu.</d:message>
2127    </d:item>
2128    
2129    <d:item name="refresh:syntax error"
2130        modules="ContentChecker::HTML">
2131      <d:message xml:lang="en">the specified value is not a valid as part
2132      of a <code>Refresh</code> pragma.</d:message>
2133    </d:item>
2134    
2135    <d:item name="repeat:syntax error"
2136        modules="ContentChecker::HTML">
2137      <d:message xml:lang="en">The attribute value is not an integer or
2138      a string <code>template</code>.</d:message>
2139    </d:item>
2140    
2141  <d:item name="reserved browsing context name"  <d:item name="reserved browsing context name"
2142      class="attribute-value-error">      class="attribute-value-error">
2143    <d:message xml:lang="en">This browsing context name is reserved.</d:message>    <d:message xml:lang="en">Browsing context name
2144    <d:item>    <code><var>{@}</var></code> is reserved.</d:message>
2145      <d:desc xml:lang="en">
2146      <p>The specified browsing context name is reserved.      <p>The specified browsing context name is reserved.
2147      The document is non-conforming.</p>      The document is non-conforming.</p>
2148    
# Line 494  Web Document Conformance Checker (BETA)< Line 2155  Web Document Conformance Checker (BETA)<
2155      browsing context names <code>_blank</code>,      browsing context names <code>_blank</code>,
2156      <code>_main</code>, and <code>_replace</code>.      <code>_main</code>, and <code>_replace</code>.
2157      However, they are <em>not</em> conforming attribute values.</p>      However, they are <em>not</em> conforming attribute values.</p>
2158    </d:item>    </d:desc>
2159    </d:item>
2160    
2161    <d:item name="Reserved Prefixes and Namespace Names:Name"
2162        modules="ContentChecker::XML">
2163      <d:message xml:lang="en">Namespace name <code><var>{text}</var></code>
2164      is reserved and cannot be used for an arbitrary prefix.</d:message>
2165    </d:item>
2166    
2167    <d:item name="Reserved Prefixes and Namespace Names:Prefix"
2168        modules="ContentChecker::XML">
2169      <d:message xml:lang="en">Namespace prefix <code><var>{text}</var></code>
2170      is reserved and cannot be used for an arbitrary namespace name.</d:message>
2171    </d:item>
2172    
2173    <d:item name="link type:proposed"
2174        modules="ContentChecker::HTML">
2175      <d:message xml:lang="en">Link type <code><var>{value}</var></code>
2176      is proposed but not accepted yet; it <em>should not</em> be
2177      used until it has been accepted.</d:message>
2178      <d:desc>
2179        <p>The link type is in the <i>proposed</i> status; it
2180        <em>should not</em> be used until it has been
2181        accepted.</p>
2182    
2183        <p><strong>Warning</strong>: The data served to the
2184        conforming checker might be out of date; it might have already
2185        been accepted or rejected.  The document might or might not be
2186        conforming depending on the status.  See WHATWG Wiki
2187        for the latest information.</p>
2188      </d:desc>
2189    </d:item>
2190    
2191    <d:item name="sizes:syntax error"
2192        modules="ContentChecker::HTML">
2193      <d:message xml:lang="en">The specified value <code><var>{value}</var></code>
2194      is not a valid value.</d:message>
2195    </d:item>
2196    
2197    <d:item name="space in ID"
2198        modules="ContentChecker::HTML">
2199      <d:message xml:lang="en">White space characters are not allowed
2200      in the <code>id</code> attribute.</d:message>
2201    </d:item>
2202    
2203    <d:item name="template:not template"
2204        modules="ContentChecker ContentChecker::HTML">
2205      <d:message xml:lang="en">The node referenced by the <code>template</code>
2206      attribute is not a template.</d:message>
2207    </d:item>
2208    
2209    <d:item name="window name:empty"
2210        modules="ContentChecker::HTML">
2211      <d:message xml:lang="en">Browsing context name must not be empty.</d:message>
2212    </d:item>
2213    
2214    <d:item name="window name:reserved"
2215        modules="ContentChecker::HTML">
2216      <d:message xml:lang="en">Browsing context name
2217      <code><var>{value}</var></code> is reserved.</d:message>
2218    </d:item>
2219    
2220    <d:item name="word not allowed"
2221        modules="ContentChecker::HTML">
2222      <d:message xml:lang="en">The word <code><var>{value}</var></code> is not
2223      allowed in this attribute.</d:message>
2224  </d:item>  </d:item>
2225    
2226  </section>  </section>
# Line 515  Web Document Conformance Checker (BETA)< Line 2241  Web Document Conformance Checker (BETA)<
2241    <code>th</code>) in the last row.</d:message>    <code>th</code>) in the last row.</d:message>
2242  </d:item>  </d:item>
2243    
2244    <d:item name="table:rowspan extends table"
2245        class="table-model-error">
2246      <d:message xml:lang="en">This <code>rowspan</code> attribute
2247      results in creating a table row that does not contain
2248      any cell anchored to it.</d:message>
2249      <d:desc xml:lang="en">
2250        <p>The <code>rowspan</code> attribute value of the cell
2251        is so specified that it extends a table in the row axis.
2252        However, the extended row does not contain any cell by itself.
2253        The document is non-conforming.</p>
2254    
2255        <p>For example, the table below is non-conforming:
2256          <pre class="html bad example"><code>&lt;table>
2257    &lt;tbody>
2258    &lt;tr>&lt;td rowspan=2>&lt;/td>&lt;/tr>
2259    &lt;/tbody>
2260    &lt;/table></code></pre>
2261        ... since the second row contains only
2262        a cell that spans between first and second rows.</p>
2263      </d:desc>
2264    </d:item>
2265    
2266  </section>  </section>
2267    
2268  <section id="imt-warnings">  <section id="imt-warnings">
2269  <h2>Internet Media Type Warnings</h2>  <h2>Internet Media Type Errors</h2>
2270    
2271    <d:item name="IMT:syntax error"
2272        modules="ContentChecker::HTML">
2273      <d:message xml:lang="en">The specified value is not an Internet Media
2274      Type.</d:message>
2275    </d:item>
2276    
2277  <d:item name="IMT:obsolete subtype"  <d:item name="IMT:obsolete subtype"
2278      class="should" level="s">      class="should" level="s">
2279    <d:message xml:lang="en">An <em>obsolete</em> subtype is used.</d:message>    <d:message xml:lang="en"><code><var>{@}</var></code>: An <em>obsolete</em>
2280      subtype is used.</d:message>
2281      <d:item xml:lang="en">
2282        <p>The specified Internet Media Type is registered with status
2283        of <i>OBSOLETE</i>.</p><!-- @@ SHOULD NOT? -->
2284        
2285        <dl class="swtich">
2286        <dt>Media type <code>text/ecmascript</code></dt>
2287          <dd>Media type <code>text/ecmascript</code> is obsoleted in
2288          favor of <code>application/ecmascript</code>.  Note that
2289          <code>text/javascript</code> would be better alternative
2290          for many cases.</dd>
2291        <dt>Media type <code>text/javascript</code></dt>
2292          <dd>Media type <code>text/javascript</code> is obsoleted by
2293          <abbr>IETF</abbr> with backward incompatible alternate
2294          <code>application/javascript</code> for architectural
2295          purity.<!-- @@ ref? -->  Realist may ignore this warning.</dd>
2296        </dl>
2297      </d:item>
2298  </d:item>  </d:item>
2299    
2300  <d:item name="IMT:private subtype"  <d:item name="IMT:private subtype"
2301      class="should" level="s">      class="should" level="s">
2302    <d:message xml:lang="en">A private (<code>x-</code> or <code>x.</code>)    <d:message xml:lang="en"><code><var>{@}</var></code>: A private
2303    subtype is used.</d:message>    (<code>x-</code> or <code>x.</code>) subtype is used.</d:message>
2304  </d:item>  </d:item>
2305    
2306  <d:item name="IMT:unregistered subtype"  <d:item name="IMT:unregistered subtype"
2307      class="should" level="s">      class="should" level="s">
2308    <d:message xml:lang="en">The subtype is not registered to IANA.</d:message>    <d:message xml:lang="en"><code><var>{@}</var></code>: The subtype is
2309      not registered to IANA.</d:message>
2310  <!-- TODO: Unknown message?? -->  <!-- TODO: Unknown message?? -->
2311  </d:item>  </d:item>
2312    
# Line 544  Web Document Conformance Checker (BETA)< Line 2317  Web Document Conformance Checker (BETA)<
2317    
2318  <d:item name="URI::syntax error"  <d:item name="URI::syntax error"
2319      class="must" level="m">      class="must" level="m">
2320    <d:message xml:lang="en">This string is not an IRI syntactically.</d:message>    <d:message xml:lang="en">The specified value is syntactically not an IRI
2321      reference.</d:message>
2322      <d:desc xml:lang="en">
2323        <p>The specified value does not satisfy the syntactical requirements
2324        for IRI references.  The document is non-conforming.</p>
2325    
2326        <p>Possible causes:
2327          <ul>
2328          <li>The string might contain one or more white space characters.
2329          Especially, the <code> </code> (<code>U+0020</code>
2330          <code class="charname">SPACE</code>) character cannot be
2331          used in IRI references.</li>
2332          </ul>
2333        </p>
2334      </d:desc>
2335  </d:item>  </d:item>
2336    
2337  </section>  </section>
2338    
2339  <section id="uri-warnings">  <section id="uri-shoulds">
2340  <h2>URI (or IRI) Warnings</h2>  <h2>URI (or IRI) Should-level Errors</h2>
2341    
2342  <d:item name="URI::dot-segment"  <d:item name="URI::dot-segment"
2343      class="should" level="s">      class="should" level="s">
2344    <d:message xml:lang="en">Dot-segment (<code>.</code> or    <d:message xml:lang="en">A dot-segment (<code>.</code> or
2345    <code>..</code>) should not occur in an absolute reference.</d:message>    <code>..</code>) occurs in an absolute reference.</d:message>
2346    <d:desc>    <d:desc>
2347      <p>Dot-segment (<code>.</code> or <code>..</code>) should      <p>Dot-segment (<code>.</code> or <code>..</code>) should
2348      not occur in an absolute reference.</p>      not occur in an absolute reference.</p>
# Line 570  Web Document Conformance Checker (BETA)< Line 2357  Web Document Conformance Checker (BETA)<
2357    
2358  <d:item name="URI::empty path"  <d:item name="URI::empty path"
2359      class="should" level="s">      class="should" level="s">
2360    <d:message xml:lang="en">This IRI should explicitly end with    <d:message xml:lang="en">This IRI does not end with
2361    <code>/</code>.</d:message>    a <code>/</code>.</d:message>
2362      <d:item xml:lang="en">
2363        <p>The IRI does not end with a <code>/</code>.  If there is an
2364        authority component in an IRI, a <code>/</code> should be present
2365        instead of empty path component.</p>
2366    
2367        <p>For example, <code>http://www.example.com<strong>/</strong></code>
2368        is preferred to <code>http://www.example.com</code>.</p>
2369      </d:item>
2370    </d:item>
2371    
2372    <d:item name="URI::lowercase hexadecimal digit"
2373        class="should" level="s">
2374      <d:message xml:lang="en">A lowercase hexadecimal digit is used
2375      in percent-encoding.</d:message>
2376      <d:desc xml:lang="en">
2377        <p>The hexadecimal digit in percent-encoding string in the IRI
2378        is in lowercase.  Though the IRI <em>is</em> conforming,
2379        it should be in uppercase.</p>
2380      </d:desc>
2381    </d:item>
2382    
2383    <d:item name="URI::percent-encoded unreserved"
2384        class="should" level="s">
2385      <d:message xml:lang="en">An unreserved character is
2386      percent-encoded.</d:message>
2387      <d:desc xml:lang="en">
2388        <p>An unreserved character is percent-encoded in the IRI.
2389        Though it <em>is</em> conforming, it should be in the
2390        decoded (or bare) form.</p>
2391      </d:desc>
2392    </d:item>
2393    
2394    <d:item name="URI::uppercase scheme name"
2395        class="should" level="s">
2396      <d:message xml:lang="en">URI scheme name is in uppercase.</d:message>
2397      <d:desc xml:lang="en">
2398        <p>The scheme part of the IRI is written in uppercase letter.</p>
2399    
2400        <p>Uppercase scheme names are not required to be processed
2401        correctly.</p>
2402    <!-- @@
2403     RFC 3986 3.1.
2404     > Although schemes are case-
2405       insensitive, the canonical form is lowercase and documents that
2406       specify schemes must do so with lowercase letters.
2407    
2408     > An implementation ... should only produce lowercase scheme names for
2409       consistency.
2410    -->
2411      </d:desc>
2412    </d:item>
2413    
2414    </section>
2415    
2416    <section id="cache-manifest-errors">
2417    <h2>Cache Manifest Errors</h2>
2418    
2419    <d:item name="not manifest" class="must" level="m">
2420      <d:message xml:lang="en">This document is not a cache manifest.</d:message>
2421      <d:desc xml:lang="en">
2422        <p>The specified document is <em>not</em> a cache manifest.
2423        The document is non-conforming.</p>
2424    
2425        <p>An entity labeled as Internet media type
2426        <code>text/cache-manifest</code> must contain a cache manifest.</p>
2427    
2428        <p>A cache manifest must start with a line whose content is
2429        <code class="manifest example">CACHE MANIFEST</code>
2430        (exactly one space character between
2431        <code>CACHE</code> and <code>MANIFEST</code>).</p>
2432      </d:desc>
2433    </d:item>
2434    </section>
2435    
2436    <section id="information">
2437    <h2>Stability Information</h2>
2438    
2439    <d:item name="deprecated:attr"
2440        modules="ContentChecker">
2441      <d:message xml:lang="en">This attribute is deprecated.</d:message>
2442    </d:item>
2443    
2444    <d:item name="deprecated:element"
2445        modules="ContentChecker">
2446      <d:message xml:lang="en">This element is deprecated.</d:message>
2447    </d:item>
2448    
2449    <d:item name="status:cr:element"
2450        modules="ContentChecker">
2451      <d:message xml:lang="en">This element is in the
2452      <strong>call for implementation</strong> stage.</d:message>
2453      <d:desc xml:lang="en">
2454        <p>The element is in the call for implementation stage.</p>
2455        
2456        <p>Usually, using the element is safe.  However, it is a new feature
2457        so that it might not be implemented correctly.  If it is found that
2458        the feature is hard or impossible to implement, the feature
2459        might be revised, or in some case it might be dropped.</p>
2460    
2461        <p>Elements defined by Atom 1.0 (IETF Proposed Standard), and XBL 2.0
2462        (W3C Candidate Recommendation) belong to this class.</p>
2463      </d:desc>
2464    </d:item>
2465    
2466    <d:item name="status:lc:element"
2467        modules="ContentChecker">
2468      <d:message xml:lang="en">This element is in the <strong>last
2469      call for comments</strong> stage.</d:message>
2470      <d:desc xml:lang="en">
2471        <p>The element is in the last call for comments stage.</p>
2472        
2473        <p>The element is relatively mature, though the standardization
2474        is not done yet.  It may be used for experiments.  Since it is a new
2475        feature, it might not be implemented correctly or at all.  If it is
2476        found that the feature is hard or impossible to implement, the feature
2477        might be revised or might be dropped.</p>
2478    
2479        <p>Elements defined by Web Forms 2.0 as well as some elements
2480        defined by HTML5 belong to this class.</p>
2481      </d:desc>
2482    </d:item>
2483    
2484    <d:item name="status:wd:element"
2485        modules="ContentChecker">
2486      <d:message xml:lang="en">This element is documented in a <strong>working
2487      draft</strong>.</d:message>
2488      <d:desc xml:lang="en">
2489        <p>The element is documented in a working or editor's draft
2490        and not yet completed.</p>
2491        
2492        <p>The element should not be used for any practical purpose.
2493        The feature might be drastically changed later or might be
2494        entirely removed.</p>
2495    
2496        <p>Most of new elements defined by HTML5 belong to this class.</p>
2497      </d:desc>
2498    </d:item>
2499    
2500    <d:item name="status:non-standard:element"
2501        modules="ContentChecker">
2502      <d:message xml:lang="en">This element is <strong>not part of any
2503      standard</strong> the conformance checker knows.</d:message>
2504      <d:desc xml:lang="en">
2505        <p>The element is not part of any standard or draft the conformance
2506        checker is aware of.</p>
2507        
2508        <p>The element should not be used for any practical purpose unless
2509        there is really a standard that defines the element.</p>
2510      </d:desc>
2511    </d:item>
2512    
2513    <d:item name="status:cr:attr"
2514        modules="ContentChecker">
2515      <d:message xml:lang="en">This attribute is in the
2516      <strong>call for implementation</strong> stage.</d:message>
2517      <d:desc xml:lang="en">
2518        <p>The attribute is in the call for implementation stage.</p>
2519        
2520        <p>Usually, using the attribute is safe.  However, it is a new feature
2521        so that it might not be implemented correctly.  If it is found that
2522        the feature is hard or impossible to implement, the feature
2523        might be revised, or in some case it might be dropped.</p>
2524      </d:desc>
2525    </d:item>
2526    
2527    <d:item name="status:lc:attr"
2528        modules="ContentChecker">
2529      <d:message xml:lang="en">This attribute is in the <strong>last
2530      call for comments</strong> stage.</d:message>
2531      <d:desc xml:lang="en">
2532        <p>The attribute is in the last call for comments stage.</p>
2533        
2534        <p>The attribute is relatively mature, though the standardization
2535        is not done yet.  It may be used for experiments.  Since it is a new
2536        feature, it might not be implemented correctly or at all.  If it is
2537        found that the feature is hard or impossible to implement, the feature
2538        might be revised or might be dropped.</p>
2539      </d:desc>
2540    </d:item>
2541    
2542    <d:item name="status:wd:attr"
2543        modules="ContentChecker">
2544      <d:message xml:lang="en">This attribute is documented in a <strong>working
2545      draft</strong>.</d:message>
2546      <d:desc xml:lang="en">
2547        <p>The attribute is documented in a working or editor's draft
2548        and not yet completed.</p>
2549        
2550        <p>The attribute should not be used for any practical purpose.
2551        The feature might be drastically changed later or might be
2552        entirely removed.</p>
2553      </d:desc>
2554  </d:item>  </d:item>
2555    
2556    <d:item name="status:non-standard:attr"
2557        modules="ContentChecker">
2558      <d:message xml:lang="en">This attribute is <strong>not part of any
2559      standard</strong> the conformance checker knows.</d:message>
2560      <d:desc xml:lang="en">
2561        <p>The attribute is not part of any standard or draft the conformance
2562        checker is aware of.</p>
2563        
2564        <p>The attribute should not be used for any practical purpose unless
2565        there is really a standard that defines the attribute.</p>
2566      </d:desc>
2567    </d:item>
2568  </section>  </section>
2569    
2570  <section id="unsupported-messages">  <section id="unsupported-messages">
2571  <h2><i>Unsupported</i> Messages</h2>  <h2><i>Unsupported</i> Messages</h2>
2572    
2573  <d:item name="attribute"  <d:item name="unknown element"
2574      class="unsupported" level="unsupported">      modules="ContentChecker">
2575    <d:message xml:lang="en">This attribute is not supported by the    <d:message xml:lang="en">Conformance checking for element
2576    conformance checker; <em>it might or might not be conforming</em>.</d:message>    <code><var>{local-name}</var></code> is not supported; <em>it might or
2577      might not be conforming</em>.</d:message>
2578    <d:desc xml:lang="en">    <d:desc xml:lang="en">
2579      <p>The conformant checker does not support the attribute.      <p>The conformant checker does not support the element.
2580      It cannot determine whether the document is conforming or not.</p>      It cannot determine whether the document is conforming or not.</p>
2581    </d:desc>    </d:desc>
2582  </d:item>  </d:item>
2583    
2584  <d:item name="element"  <d:item name="unknown attribute"
2585      class="unsupported" level="unsupported">      modules="ContentChecker ContentChecker::HTML">
2586    <d:message xml:lang="en">This element is not supported by the    <d:message xml:lang="en">Conformance checking for attribute
2587    conformance checker; <em>it might or might not be conforming</em>.</d:message>    <code><var>{local-name}</var></code> of element
2588      <code><var>{element-local-name}</var></code> is not supported;
2589      <em>it might or might not be conforming</em>.</d:message>
2590    <d:desc xml:lang="en">    <d:desc xml:lang="en">
2591      <p>The conformant checker does not support the element.      <p>The conformant checker does not support the attribute.
2592      It cannot determine whether the document is conforming or not.</p>      It cannot determine whether the document is conforming or not.</p>
2593    </d:desc>    </d:desc>
2594  </d:item>  </d:item>
2595    
2596  <d:item name="link type"  <d:item name="unknown link type"
2597      class="unsupported" level="unsupported">      modules="ContentChecker::HTML">
2598    <d:message xml:lang="en">The link type <code>$0</code> is not standardized    <d:message xml:lang="en">Link type <code><var>{value}</var></code> is not
2599    or registered at the time of the release of the conformance checker;    standardized or registered at the time of the release of the conformance
2600    <em>it is non-conforming unless it has now been registered</em>.</d:message>    checker; <em>it is non-conforming unless it now has been
2601      registered</em>.</d:message>
2602    <d:desc xml:lang="en">    <d:desc xml:lang="en">
2603      <p>The <code>rel</code> attribute is defined as a list of link types.      <p>The <code>rel</code> attribute is defined as a list of link types.
2604      Some common link types are defined in the HTML5 specification.      Some common link types are defined in the HTML5 specification.
# Line 615  Web Document Conformance Checker (BETA)< Line 2610  Web Document Conformance Checker (BETA)<
2610      The link type might have been added to the registry since then.      The link type might have been added to the registry since then.
2611      In such case it might be conforming.  Otherwise, the      In such case it might be conforming.  Otherwise, the
2612      document is non-conforming.</p>      document is non-conforming.</p>
2613    
2614        <dl>
2615        <dt>Link types <code>shortcut icon</code></dt>
2616            <dd>Link type <code>shortcut</code> is not registered.
2617            Use only <code>icon</code> for linking to so-called favicon.</dd>
2618        </dl>
2619    </d:desc>    </d:desc>
2620  </d:item>  </d:item>
2621    
2622    <d:item name="event handler"
2623        modules="ContentChecker::HTML">
2624      <d:message xml:lang="en">Conformance checking for event handler attribute
2625      is not supported; <em>it might or might not be conforming.</em></d:message>
2626    </d:item>
2627    
2628    <d:item name="media query"
2629        modules="ContentChecker::HTML">
2630      <d:message xml:lang="en">Conformance checking for media query
2631      is not supported; <em>it might or might not be conforming.</em></d:message>
2632    </d:item>
2633    
2634    <d:item name="XML script lang"
2635        modules="ContentChecker::HTML">
2636      <d:message xml:lang="en">Conformance checking for script
2637      language <code><var>{text}</var></code> is not supported;
2638      <em>it might or might not be conforming.</em></d:message>
2639    </d:item>
2640    
2641    <d:item name="XML style lang"
2642        modules="ContentChecker::HTML">
2643      <d:message xml:lang="en">Conformance checking for style
2644      language <code><var>{text}</var></code> is not supported;
2645      <em>it might or might not be conforming.</em></d:message>
2646    </d:item>
2647    
2648  </section>  </section>
2649    
2650  <d:catalog>  <d:cat name="WebHACC:Title">
2651  manakaiCompatMode:quirks;;Quirks Mode    <d:text xml:lang="en">WebHACC (β)</d:text>
2652  manakaiCompatMode:limited quirks;;Limited Quirks Mode  </d:cat>
2653  manakaiCompatMode:no quirks;;No Quirks Mode  
2654    <d:cat name="WebHACC:Heading">
2655  manakaiIsHTML:1;;HTML Document    <d:text xml:lang="en">
2656  manakaiIsHTML:0;;XML Document      <a href="../cc-about"><abbr title="Web Hypertext Application Conformance Checker (β)"><img src="../icons/title" alt="WebHACC"/></abbr></a>
2657  </d:catalog>    </d:text>
2658      <d:text xml:lang="ja">
2659        <a href="../cc-about"><abbr title="Web ハイパーテキスト応用適合性検査器 (β)"><img src="../icons/title" alt="WebHACC"/></abbr></a>
2660      </d:text>
2661    </d:cat>
2662    
2663    <d:cat name="Input">
2664      <d:text xml:lang="en">Input</d:text>
2665      <d:text xml:lang="ja">入力</d:text>
2666    </d:cat>
2667    
2668    <d:cat name="By URL">
2669      <d:text xml:lang="en">By URL</d:text>
2670      <d:text xml:lang="ja">URL で指定</d:text>
2671    </d:cat>
2672    
2673    <d:cat name="By direct input">
2674      <d:text xml:lang="en">By direct input</d:text>
2675      <d:text xml:lang="ja">直接入力</d:text>
2676    </d:cat>
2677    
2678    <d:cat name="Options">
2679      <d:text xml:lang="en">More options</d:text>
2680      <d:text xml:lang="ja">検査オプション</d:text>
2681    </d:cat>
2682    
2683    <d:cat name="Check error page">
2684      <d:text xml:lang="en">Check an error page</d:text>
2685      <d:text xml:lang="ja">誤り頁を検査する</d:text>
2686    </d:cat>
2687    
2688    <d:cat name="Content type">
2689      <d:text xml:lang="en">Content type</d:text>
2690      <d:text xml:lang="ja">内容型</d:text>
2691    </d:cat>
2692    
2693    <d:cat name="Charset">
2694      <d:text xml:lang="en">Character encoding</d:text>
2695      <d:text xml:lang="ja">文字符号化</d:text>
2696    </d:cat>
2697    
2698    <d:cat name="As specified">
2699      <d:text xml:lang="en">As specified</d:text>
2700      <d:text xml:lang="ja">指定通り</d:text>
2701    </d:cat>
2702    
2703    <d:cat name="Japanese charsets">
2704      <d:text xml:lang="en">Japanese character encodings</d:text>
2705      <d:text xml:lang="ja">日本語用文字符号化</d:text>
2706    </d:cat>
2707    
2708    <d:cat name="European charsets">
2709      <d:text xml:lang="en">European character encodings</d:text>
2710      <d:text xml:lang="ja">欧米言語用文字符号化</d:text>
2711    </d:cat>
2712    
2713    <d:cat name="Asian charsets">
2714      <d:text xml:lang="en">Asian character encodings</d:text>
2715      <d:text xml:lang="ja">アジア諸語用文字符号化</d:text>
2716    </d:cat>
2717    
2718    <d:cat name="Unicode charsets">
2719      <d:text xml:lang="en">Unicode character encodings</d:text>
2720      <d:text xml:lang="ja">Unicode 系文字符号化</d:text>
2721    </d:cat>
2722    
2723    <d:cat name="Document source to check">
2724      <d:text xml:lang="en">Document source to check</d:text>
2725      <d:text xml:lang="ja">検査する文書のソース</d:text>
2726    </d:cat>
2727    
2728    <d:cat name="Check">
2729      <d:text xml:lang="en">Check</d:text>
2730      <d:text xml:lang="ja">検査</d:text>
2731    </d:cat>
2732    
2733    <d:cat name="Setting innerHTML">
2734      <d:text xml:lang="en">Setting <code>innerHTML</code> of HTML element</d:text>
2735      <d:text xml:lang="ja"><code>innerHTML</code> に値を設定する HTML 要素</d:text>
2736    </d:cat>
2737    
2738    <d:cat name="Information">
2739      <d:text xml:lang="en">Information</d:text>
2740      <d:text xml:lang="ja">情報</d:text>
2741    </d:cat>
2742    
2743    <d:cat name="HTTP Header">
2744      <d:text xml:lang="en"><abbr title="Hypertext Transfer Protocol">HTTP</abbr>
2745          Header</d:text>
2746      <d:text xml:lang="ja"><abbr lang="en" title="Hypertext Transfer Protocol">HTTP</abbr>
2747          頭部</d:text>
2748    </d:cat>
2749    
2750    <d:cat name="Parse Errors Section">
2751      <d:text xml:lang="en">Parse Errors</d:text>
2752      <d:text xml:lang="ja">構文誤り</d:text>
2753    </d:cat>
2754    
2755    <d:cat name="Parse Errors">
2756      <d:text xml:lang="en">Parse Errors</d:text>
2757      <d:text xml:lang="ja">構文誤り</d:text>
2758    </d:cat>
2759    
2760    <d:cat name="Document Source">
2761      <d:text xml:lang="en">Document Source</d:text>
2762      <d:text xml:lang="ja">文書のソース</d:text>
2763    </d:cat>
2764    
2765    <d:cat name="Source">
2766      <d:text xml:lang="en">Source</d:text>
2767      <d:text xml:lang="ja">ソース</d:text>
2768    </d:cat>
2769    
2770    <d:cat name="Tables Section">
2771      <d:text xml:lang="en">Structure of Tables</d:text>
2772      <d:text xml:lang="ja">表の構造</d:text>
2773    </d:cat>
2774    
2775    <d:cat name="Tables">
2776      <d:text xml:lang="en">Tables</d:text>
2777      <d:text xml:lang="ja">表</d:text>
2778    </d:cat>
2779    
2780    <d:cat name="Document Tree">
2781      <d:text xml:lang="en">Document Tree</d:text>
2782      <d:text xml:lang="ja">文書木</d:text>
2783    </d:cat>
2784    
2785    <d:cat name="Tree">
2786      <d:text xml:lang="en">Tree</d:text>
2787      <d:text xml:lang="ja">木</d:text>
2788    </d:cat>
2789    
2790    <d:cat name="Document">
2791      <d:text xml:lang="en">Document</d:text>
2792      <d:text xml:lang="ja">文書</d:text>
2793    </d:cat>
2794    
2795    <d:cat name="Document Structure">
2796      <d:text xml:lang="en">Document Structure</d:text>
2797      <d:text xml:lang="ja">文書構造</d:text>
2798    </d:cat>
2799    
2800    <d:cat name="Structure">
2801      <d:text xml:lang="en">Structure</d:text>
2802      <d:text xml:lang="ja">構造</d:text>
2803    </d:cat>
2804    
2805    <d:cat name="Reformatted Document Source">
2806      <d:text xml:lang="en">Reformatted Document Source</d:text>
2807      <d:text xml:lang="ja">再整形した文書のソース</d:text>
2808    </d:cat>
2809    
2810    <d:cat name="Reformatted">
2811      <d:text xml:lang="en">Reformatted</d:text>
2812      <d:text xml:lang="ja">再整形</d:text>
2813    </d:cat>
2814    
2815    <d:cat name="Structural Errors">
2816      <d:text xml:lang="en">Structural Errors</d:text>
2817      <d:text xml:lang="ja">構造的誤り</d:text>
2818    </d:cat>
2819    
2820    <d:cat name="Struct. Errors">
2821      <d:text xml:lang="en">Struct. Errors</d:text>
2822      <d:text xml:lang="ja">構造誤り</d:text>
2823    </d:cat>
2824    
2825    <d:cat name="Transfer Errors">
2826      <d:text xml:lang="en">Transfer Errors</d:text>
2827      <d:text xml:lang="ja">転送誤り</d:text>
2828    </d:cat>
2829    
2830    <d:cat name="Trans. Errors">
2831      <d:text xml:lang="en">Trans. Errors</d:text>
2832      <d:text xml:lang="ja">転送誤り</d:text>
2833    </d:cat>
2834    
2835    <d:cat name="Result">
2836      <d:text xml:lang="en">Result</d:text>
2837      <d:text xml:lang="ja">結果</d:text>
2838    </d:cat>
2839    
2840    <d:cat name="manakaiCompatMode:quirks">
2841      <d:text xml:lang="en">Quirks Mode</d:text>
2842      <d:text xml:lang="ja">奇癖モード</d:text>
2843    </d:cat>
2844    
2845    <d:cat name="manakaiCompatMode:limited quirks">
2846      <d:text xml:lang="en">Limited Quirks Mode</d:text>
2847      <d:text xml:lang="ja">限定奇癖モード</d:text>
2848    </d:cat>
2849    
2850    <d:cat name="manakaiCompatMode:no quirks">
2851      <d:text xml:lang="en">No Quirks Mode</d:text>
2852      <d:text xml:lang="ja">無奇癖モード</d:text>
2853    </d:cat>
2854    
2855    <d:cat name="manakaiIsHTML:1">
2856      <d:text xml:lang="en">HTML Document</d:text>
2857      <d:text xml:lang="ja">HTML 文書</d:text>
2858    </d:cat>
2859    
2860    <d:cat name="manakaiIsHTML:0">
2861      <d:text xml:lang="en">XML Document</d:text>
2862      <d:text xml:lang="ja">XML 文書</d:text>
2863    </d:cat>
2864    
2865    <d:cat name="manakaiCharset">
2866      <d:text xml:lang="en"><code>charset</code> parameter</d:text>
2867      <d:text xml:lang="ja"><code lang="en">charset</code> 引数</d:text>
2868    </d:cat>
2869    
2870    <d:cat name="inputEncoding">
2871      <d:text xml:lang="en">Input character encoding</d:text>
2872      <d:text xml:lang="ja">入力に用いた文字符号化</d:text>
2873    </d:cat>
2874    
2875    <d:cat name="xmlVersion">
2876      <d:text xml:lang="en">XML <code>version</code></d:text>
2877      <d:text xml:lang="ja">XML <code lang="en">version</code></d:text>
2878    </d:cat>
2879    
2880    <d:cat name="xmlEncoding">
2881      <d:text xml:lang="en">XML <code>encoding</code></d:text>
2882      <d:text xml:lang="ja">XML <code lang="en">encoding</code></d:text>
2883    </d:cat>
2884    
2885    <d:cat name="xmlStandalone">
2886      <d:text xml:lang="en">XML <code>standalone</code></d:text>
2887      <d:text xml:lang="ja">XML <code lang="en">standalone</code></d:text>
2888    </d:cat>
2889    
2890    <d:cat name="... with BOM">
2891      <d:text xml:lang="en"> (with <code class="charname"><abbr title="BYTE ORDER MARK">BOM</abbr></code>)</d:text>
2892      <d:text xml:lang="ja"> (<code class="charname" lang="en"><abbr title="BYTE ORDER MARK">BOM</abbr></code> つき)</d:text>
2893    </d:cat>
2894    
2895    <d:cat name="URL">
2896      <d:text xml:lang="en"><abbr title="Uniform Resource Locator">URL</abbr></d:text>
2897      <d:text xml:lang="ja"><abbr title="統一資源所在子">URL</abbr></d:text>
2898    </d:cat>
2899    
2900    <d:cat name="URLs">
2901      <d:text xml:lang="en"><abbr title="Uniform Resource Locators">URLs</abbr></d:text>
2902      <d:text xml:lang="ja"><abbr title="統一資源所在子">URL</abbr></d:text>
2903    </d:cat>
2904    
2905    <d:cat name="Container Node">
2906      <d:text xml:lang="en">Container Node</d:text>
2907      <d:text xml:lang="ja">この文書を含む節点</d:text>
2908    </d:cat>
2909    
2910    <d:cat name="Table Element">
2911      <d:text xml:lang="en">Table Element</d:text>
2912      <d:text xml:lang="ja">表要素</d:text>
2913    </d:cat>
2914    
2915    <d:cat name="Base URL">
2916      <d:text xml:lang="en">Base URL</d:text>
2917      <d:text xml:lang="ja">基底 URL</d:text>
2918    </d:cat>
2919    
2920    <d:cat name="Internet Media Type">
2921      <d:text xml:lang="en">Internet Media Type</d:text>
2922      <d:text xml:lang="ja">インターネット媒体型</d:text>
2923    </d:cat>
2924    
2925    <d:cat name="Character Encoding">
2926      <d:text xml:lang="en">Character Encoding</d:text>
2927      <d:text xml:lang="ja">文字符号化</d:text>
2928    </d:cat>
2929    
2930    <d:cat name="Byte Length">
2931      <d:text xml:lang="en">Byte Length</d:text>
2932      <d:text xml:lang="ja">バイト長</d:text>
2933    </d:cat>
2934    
2935    <d:cat name="Character Length">
2936      <d:text xml:lang="en">Character Length</d:text>
2937      <d:text xml:lang="ja">文字長</d:text>
2938    </d:cat>
2939    
2940    <d:cat name="... overridden">
2941      <d:text xml:lang="en"> (<i>overridden</i>)</d:text>
2942      <d:text xml:lang="ja"> (<i>上書き</i>)</d:text>
2943    </d:cat>
2944    
2945    <d:cat name="... overridden, official type is #">
2946      <d:text xml:lang="en"> (<i>overridden</i>; official type is
2947          <code lang="en" class="MIME"><var>{text}</var></code>)</d:text>
2948      <d:text xml:lang="ja"> (<i>上書き</i>, 公式型は
2949          <code lang="en" class="MIME"><var>{text}</var></code>)</d:text>
2950    </d:cat>
2951    
2952    <d:cat name="... sniffed">
2953      <d:text xml:lang="en"> (<i>sniffed</i>)</d:text>
2954      <d:text xml:lang="ja"> (<i>探知結果</i>)</d:text>
2955    </d:cat>
2956    
2957    <d:cat name="byte">
2958      <d:text xml:lang="en">byte</d:text>
2959      <d:text xml:lang="ja">バイト</d:text>
2960    </d:cat>
2961    
2962    <d:cat name="bytes">
2963      <d:text xml:lang="en">bytes</d:text>
2964      <d:text xml:lang="ja">バイト</d:text>
2965    </d:cat>
2966    
2967    <d:cat name="character">
2968      <d:text xml:lang="en">character</d:text>
2969      <d:text xml:lang="ja">文字</d:text>
2970    </d:cat>
2971    
2972    <d:cat name="characters">
2973      <d:text xml:lang="en">characters</d:text>
2974      <d:text xml:lang="ja">文字</d:text>
2975    </d:cat>
2976    
2977    <d:cat name="Line #">
2978      <d:text xml:lang="en">Line <var>{text}</var></d:text>
2979      <d:text xml:lang="ja"><var>{text}</var> 行</d:text>
2980    </d:cat>
2981    
2982    <d:cat name="column #">
2983      <d:text xml:lang="en">column <var>{text}</var></d:text>
2984      <d:text xml:lang="ja"><var>{text}</var> 列</d:text>
2985    </d:cat>
2986    
2987    <d:cat name="Index #">
2988      <d:text xml:lang="en">Index <var>{text}</var></d:text>
2989      <d:text xml:lang="ja">索引 #<var>{text}</var></d:text>
2990    </d:cat>
2991    
2992    <d:cat name="Unknown location">
2993      <d:text xml:lang="en">Unknown location</d:text>
2994      <d:text xml:lang="ja">位置不明</d:text>
2995    </d:cat>
2996    
2997    <d:cat name="Table #">
2998      <d:text xml:lang="en">Structure of Table #<var>{text}</var></d:text>
2999      <d:text xml:lang="ja">表 #<var>{text}</var> の構造</d:text>
3000    </d:cat>
3001    
3002    <d:cat name="Subdocument #">
3003      <d:text xml:lang="en">Subdocument #<var>{text}</var></d:text>
3004      <d:text xml:lang="ja">部分文書 #<var>{text}</var></d:text>
3005    </d:cat>
3006    
3007    <d:cat name="Sub #">
3008      <d:text xml:lang="en">Sub #<var>{text}</var></d:text>
3009      <d:text xml:lang="ja">部分 #<var>{text}</var></d:text>
3010    </d:cat>
3011    
3012    <d:cat name="...">
3013      <d:text xml:lang="en">..</d:text><!-- TODO: figure hyphen? -->
3014      <d:text xml:lang="ja">〜</d:text>
3015    </d:cat>
3016    
3017    <d:cat name="Score">
3018      <d:text xml:lang="en">Score</d:text>
3019      <d:text xml:lang="ja">得点</d:text>
3020    </d:cat>
3021    
3022    <d:cat name="Subtotal">
3023      <d:text xml:lang="en">Subtotal</d:text>
3024      <d:text xml:lang="ja">小計</d:text>
3025    </d:cat>
3026    
3027    <d:cat name="Total">
3028      <d:text xml:lang="en">Total</d:text>
3029      <d:text xml:lang="ja">合計</d:text>
3030    </d:cat>
3031    
3032    <d:cat name="Main document">
3033      <d:text xml:lang="en">Main document</d:text>
3034      <d:text xml:lang="ja">主文書</d:text>
3035    </d:cat>
3036    
3037    <d:cat name="Subdocuments">
3038      <d:text xml:lang="en">Subdocuments</d:text>
3039      <d:text xml:lang="ja">部分文書</d:text>
3040    </d:cat>
3041    
3042    <d:cat name="Transfer L.">
3043      <d:text xml:lang="en"><abbr title="Transfer protocol">Transfer</abbr></d:text>
3044      <d:text xml:lang="ja"><abbr title="転送プロトコル">転送</abbr></d:text>
3045    </d:cat>
3046    
3047    <d:cat name="Encode L.">
3048      <d:text xml:lang="en"><abbr title="Character encoding">Encoding</abbr></d:text>
3049      <d:text xml:lang="ja"><abbr title="文字符号化">符号</abbr></d:text>
3050    </d:cat>
3051    
3052    <d:cat name="Char L.">
3053      <d:text xml:lang="en"><abbr title="Coded characters">Character</abbr></d:text>
3054      <d:text xml:lang="ja"><abbr title="符号化文字">文字</abbr></d:text>
3055    </d:cat>
3056    
3057    <d:cat name="Syntax L.">
3058      <d:text xml:lang="en">Syntax</d:text>
3059      <d:text xml:lang="ja">構文</d:text>
3060    </d:cat>
3061    
3062    <d:cat name="Structure L.">
3063      <d:text xml:lang="en">Structure</d:text>
3064      <d:text xml:lang="ja">構造</d:text>
3065    </d:cat>
3066    
3067    <d:cat name="Semantics L.">
3068      <d:text xml:lang="en">Semantics</d:text>
3069      <d:text xml:lang="ja">意味</d:text>
3070    </d:cat>
3071    
3072    <d:cat name="N/A">
3073      <d:text xml:lang="en">N/A</d:text>
3074      <d:text xml:lang="ja">−</d:text>
3075    </d:cat>
3076    
3077    <d:cat name="No error found.">
3078      <d:text xml:lang="en">No error found.</d:text>
3079      <d:text xml:lang="ja">誤りは見つかりませんでした。</d:text>
3080    </d:cat>
3081    
3082    <d:cat name="No transfer error found.">
3083      <d:text xml:lang="en">This document has no transfer protocol header error.</d:text>
3084      <d:text xml:lang="ja">転送プロトコルの頭部に誤りは見つかりませんでした。</d:text>
3085    </d:cat>
3086    
3087    <d:cat name="No parse error found.">
3088      <d:text xml:lang="en">This document has no parse error.</d:text>
3089      <d:text xml:lang="ja">構文解析中に誤りは見つかりませんでした。</d:text>
3090    </d:cat>
3091    
3092    <d:cat name="No structural error found.">
3093      <d:text xml:lang="en">This document has no structral error.</d:text>
3094      <d:text xml:lang="ja">構造上の誤りは見つかりませんでした。</d:text>
3095    </d:cat>
3096    
3097    <d:cat name="This checker is work in progress.">
3098      <d:text xml:lang="en">
3099        <p><strong>Important</strong>: This conformance checking service
3100        is <em>under development</em>.  The result above might be <em>wrong</em>.</p>
3101      </d:text>
3102      <d:text xml:lang="ja">
3103        <p><strong>重要</strong>: この適合性検査サービスは<em>開発中</em>です。
3104        この結果は<em>間違い</em>かもしれません。</p>
3105      </d:text>
3106    </d:cat>
3107    
3108    <d:cat name="Conformance is conforming">
3109      <d:text xml:lang="en">No conformance‐error is
3110          found in this document.</d:text>
3111      <d:text xml:lang="ja">この文書に適合性に関わる誤りは見つかりませんでした。</d:text>
3112    </d:cat>
3113    
3114    <d:cat name="Conformance is should-error">
3115      <d:text xml:lang="en">This document
3116            is <strong>likely <em>non</em>-conforming</strong>, but in rare case
3117            it might be conforming.  The checker cannot determine whether
3118            this document is in the rare case or not.</d:text>
3119      <d:text xml:lang="ja">この文書は<strong>おそらく<em>不</em>適合</strong>ですが、
3120          稀に適合している場合もあります。適合性検査器はこの文書が稀な場合に該当するかどうか判定できません。</d:text>
3121    </d:cat>
3122    
3123    <d:cat name="Conformance is non-conforming">
3124      <d:text xml:lang="en">This document is
3125            <strong><em>non</em>-conforming</strong>.</d:text>
3126      <d:text xml:lang="ja">この文書は<strong><em>不</em>適合</strong>です。</d:text>
3127    </d:cat>
3128    
3129    <d:cat name="Conformance is uncertain">
3130      <d:text xml:lang="en">The conformance
3131            checker cannot decide whether the document is conforming or
3132            not, since the document contains one or more unsupported
3133            features.  The document might or might not be conforming.</d:text>
3134      <d:text xml:lang="ja">適合性検査器はこの文書が適合するかどうか判定できませんでした。
3135          この文書は適合性検査器が対応していない機能を使っています。
3136          この文書は適合しているかもしれませんし、していないかもしれません。</d:text>
3137    </d:cat>
3138    
3139    <d:cat name="Error level m">
3140      <d:text xml:lang="en"><a href="../error-description#level-m"><em class="rfc2119">MUST</em>‐level
3141            error</a></d:text>
3142      <d:text xml:lang="ja"><a href="../error-description#level-m"><em class="rfc2119" title="REQUIRED">必須</em>級の誤り</a></d:text>
3143    </d:cat>
3144    
3145    <d:cat name="Error level s">
3146      <d:text xml:lang="en"><a href="../error-description#level-s"><em class="rfc2119">SHOULD</em>‐level
3147            error</a></d:text>
3148      <d:text xml:lang="ja"><a href="../error-description#level-s"><em class="rfc2119" title="RECOMMENDED">推奨</em>級の誤り</a></d:text>
3149    </d:cat>
3150    
3151    <d:cat name="Error level w">
3152      <d:text xml:lang="en"><a href="../error-description#level-w">Warning</a></d:text>
3153      <d:text xml:lang="ja"><a href="../error-description#level-w">警告</a></d:text>
3154    </d:cat>
3155    
3156    <d:cat name="Error level i">
3157      <d:text xml:lang="en"><a href="../error-description#level-i">Information</a></d:text>
3158      <d:text xml:lang="ja"><a href="../error-description#level-i">情報</a></d:text>
3159    </d:cat>
3160    
3161    <d:cat name="Error level u">
3162      <d:text xml:lang="en"><a href="../error-description#level-u">Not
3163          supported</a></d:text>
3164      <d:text xml:lang="ja"><a href="../error-description#level-u">未対応</a></d:text>
3165    </d:cat>
3166    
3167    <section id="levels">
3168    <h2>Error Levels</h2>
3169    
3170    <table id="levels-table">
3171    <thead>
3172    <tr><th scope="col">Level</th>
3173    <th scope="col">Conforming?</th>
3174    <th scope="col">Description</th>
3175    </tr>
3176    </thead>
3177    <tbody>
3178    <tr id="level-m" class="level-m">
3179    <th scope="row"><em class="rfc2119">MUST</em>‐level error</th>
3180    <td>Non‐conforming.</td>
3181    <td>A violation to a hard requirement of the specification.
3182    The document is non‐conforming.</td>
3183    </tr>
3184    <tr id="level-s" class="level-s">
3185    <th scope="row"><em class="rfc2119">SHOULD</em>‐level error</th>
3186    <td>Non‐conforming, but <em>in some case</em>
3187    conforming.</td>
3188    <td>A violation to a requirement of the specification.
3189    The violation might be legitimize in some case.  Otherwise,
3190    the document is non‐conforming.</td>
3191    </tr>
3192    <tr id="level-w" class="level-w">
3193    <th scope="row">Warning</th>
3194    <td>Conforming.</td>
3195    <td>A warning is an advice from the conformance checker to avoid
3196    to solve a problem in a confusing or possibly wrong way.
3197    It does not affect to the conformance of the document, and
3198    may sometimes be inappropriate.</td>
3199    </tr>
3200    <tr id="level-i" class="level-i">
3201    <th scope="row">Information</th>
3202    <td>Conforming.</td>
3203    <td>An informational message just provides an additional information
3204    on the feature used in the document or the status of the retrieval
3205    or so on.
3206    It does not affect to the conformance of the document.</td>
3207    </tr>
3208    <tr id="level-u" class="level-u">
3209    <th scope="row">Not supported</th>
3210    <td><em>Unknown</em>.</td>
3211    <td>Some feature that is not supported by the conformance checker
3212    is used in the document.</td>
3213    </tr>
3214    </tbody>
3215    </table>
3216    </section>
3217    
3218  <section id="license">  <section id="license">
3219  <h2>License of This Document</h2>  <h2>License of This Document</h2>
3220    
3221  <p>Copyright 2007 <a href="http://suika.fam.cx/~wakaba/who?">Wakaba</a></p>  <p>Copyright <time>2007</time>‐<time>2008</time>
3222  <p>This library is free software; you can redistribute it  <a href="http://suika.fam.cx/~wakaba/who?" rel="author" xml:lang="ja">Wakaba</a>
3223    <code class="mail">&lt;<a href="mailto:w@suika.fam.cx">w@suika.fam.cx</a>></code>.</p>
3224    
3225    <p>This document is free software; you can redistribute it
3226  and/or modify it under the same terms as Perl itself.</p>  and/or modify it under the same terms as Perl itself.</p>
3227  </section>  </section>
3228    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.30

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24