/[suikacvs]/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.2 by wakaba, Mon Jul 16 08:38:48 2007 UTC revision 1.13 by wakaba, Mon Nov 5 09:33:52 2007 UTC
# Line 14  Web Document Conformance Checker (BETA)< Line 14  Web Document Conformance Checker (BETA)<
14  <section id="html5-tokenize-error">  <section id="html5-tokenize-error">
15  <h2>HTML5 Parse Errors in Tokenization Stage</h2>  <h2>HTML5 Parse Errors in Tokenization Stage</h2>
16    
17    <d:item name="after html"
18        class="parse-error">
19      <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
20      is not allowed after the end tag <code>&lt;/html></code>.</d:message>
21      <d:desc xml:lang="en">
22        <p>The start or end tag of an element appears after the
23        <code>html</code> element has been closed.  The document is
24        non-conforming.</p>
25    
26        <p>Any content of the document other than comments
27        must be put into the <code>html</code> element.</p>
28      </d:desc>
29    </d:item>
30    
31    <d:item name="after body"
32        class="parse-error">
33      <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
34      is not allowed after the end tag <code>&lt;/body></code>.</d:message>
35      <d:desc xml:lang="en">
36        <p>The start or end tag of an element appears after the
37        <code>body</code> element has been closed.  The document is
38        non-conforming.</p>
39    
40        <p>Any content of the document other than <code>head</code>
41        contents and comments must be put into the <code>body</code>
42        element.</p>
43      </d:desc>
44    </d:item>
45    
46    <d:item name="bare ero"
47        class="tokenize-error">
48      <d:message xml:lang="en">The <code>&amp;</code> character must
49      introduce a reference.</d:message>
50      <d:desc xml:lang="en">
51        <p>An <code>&amp;</code> (<code>U+0026</code>
52        <code class="charname">AMPERSAND</code>) character which
53        is not part of any reference appears in the input stream.
54        The document is non-conforming.</p>
55    
56        <p><strong>Any <code>&amp;</code> character in URI (or IRI)
57        must be escaped as <code>&amp;amp;</code>.</strong></p>
58    
59        <p>The <code>&amp;</code> character must
60        be the first character of a reference:
61          <dl>
62          <dt>Named entity reference</dt>
63              <dd><pre class="html example"><code>&amp;<var>entity-name</var>;</code></pre>
64              where <var>entity-name</var> is the name of the
65              character entity to be referenced.</dd>
66          <dt>Numeric character reference</dt>
67              <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>
68              where <var>d</var> is the decimal representation of
69              the code position of the character to be referenced.</dd>
70          <dt>Hexadecimal character reference</dt>
71              <dd><pre class="html example"><code>&amp;#x<var>h</var>;</code></pre>
72              where <var>h</var> is the hexadecimal representation
73              of the code position of the character to be referenced.</dd>
74          </dl>
75        </p>
76    
77        <p>To represent <code>&amp;</code> as a data character, use
78        named entity reference:
79          <pre class="html example"><code>&amp;amp;</code></pre>
80        </p>
81      </d:desc>
82    </d:item>
83    
84    <d:item name="bare etago"
85        class="tokenize-error">
86      <d:message xml:lang="en">A <code>&lt;/</code> string is not followed
87      by a tag name.</d:message><!-- </ EOF -->
88      <d:desc xml:lang="en">
89        <p>There is a <code>&lt;</code> (<code>U+003C</code>
90        <code class="charname">LESS-THAN SIGN</code>) character
91        immediately followed by a <code>/</code> (<code>U+005F</code>
92        <code>SOLIDUS</code>) character, which is not part
93        of any end tag, in the input stream.  The document
94        is non-conforming.</p>
95    
96        <p>The <code>&lt;/</code> sequence immediately followed
97        by an <abbr title="End of file pseudo-character">EOF</abbr> is
98        interpreted as a string data of <code>&lt;/</code>.</p>
99    
100        <p>The <code>&lt;/</code> sequence as string data must
101        be escaped as:
102        <pre class="html example"><code>&amp;lt;/</code></pre>
103        </p>
104      </d:desc>
105    </d:item>
106    
107    <d:item name="bare stago"
108        class="tokenize-error">
109      <d:message xml:lang="en">A <code>&lt;</code> character is not followed
110      by tag name or by a <code>!</code> character.</d:message>
111      <d:desc xml:lang="en">
112        <p>A <code>&lt;</code> (<code>U+003C</code>
113        <code class="charname">LESS-THAN SIGN</code>) character which is not part
114        of any markup appears in the input stream.</p>
115    
116        <p>The <code>&lt;</code> character as a data character must
117        be escaped as:
118        <pre class="html example"><code>&amp;lt;</code></pre>
119        </p>
120      </d:desc>
121    </d:item>
122    
123    <d:item name="bare nero"
124        class="tokenize-error">
125      <d:message xml:lang="en">The decimal representation of the code position
126      of a character must be specified after <code>&amp;#</code>.</d:message>
127      <d:desc xml:lang="en">
128        <p>An <code>&amp;</code> (<code>U+0026</code>
129        <code class="charname">AMPERSAND</code>) character immediately
130        followed by a <code>#</code> (<code>U+0023</code>
131        <code>NUMBER SIGN</code>) character which
132        is not part of any reference appears in the input stream.
133        The document is non-conforming.</p>
134    
135        <p>The string <code>&amp;#</code> must be the first two characters
136        of a reference:
137          <dl>
138          <dt>Numeric character reference</dt>
139              <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>
140              where <var>d</var> is the decimal representation of
141              the code point of the character to be referenced.</dd>
142          <dt>Hexadecimal character reference</dt>
143              <dd><pre class="html example"><code>&amp;#x<var>h</var>;</code></pre>
144              where <var>h</var> is the hexadecimal representation
145              of the code point of the character to be referenced.</dd>
146          </dl>
147        </p>
148    
149        <p>To represent <code>&amp;#</code> as data characters, use
150        a named entity reference for the <code>&amp;</code> character:
151          <pre class="html example"><code>&amp;amp;#</code></pre>
152        </p>
153      </d:desc>
154    </d:item>
155    
156    <d:item name="bare hcro"
157        class="tokenize-error">
158      <d:message xml:lang="en">The hexadecimal representation of the code position
159      of a character must be specified after <code>&amp;#x</code>.</d:message>
160      <d:desc xml:lang="en">
161       <p>The string <code>&amp;#x</code> or <code>&amp;#X</code> which
162       is not part of any reference appears in the input stream.
163        The document is non-conforming.</p>
164    
165        <p>The string <code>&amp;#x</code> or <code>&amp;#X</code> must
166        be the first three characters of a hexadecimal reference:
167          <pre class="html example"><code>&amp;#x<var>h</var>;</code></pre>
168        where <var>h</var> is the hexadecimal representation
169        of the code point of the character to be referenced.</p>
170    
171        <p>To represent <code>&amp;#x</code> as data characters, use
172        a named entity reference for the <code>&amp;</code> character:
173          <pre class="html example"><code>&amp;amp;#x</code></pre>
174        </p>
175      </d:desc>
176    </d:item>
177    
178    <d:item name="bogus comment"
179        class="tokenize-error">
180      <d:message xml:lang="en">String <code>&lt;!</code> is not followed
181      by <code>--</code>.</d:message>
182      <d:desc xml:lang="en">
183        <p>There is a <code>&lt;</code> (<code>U+003C</code>
184        <code class="charname">LESS-THAN SIGN</code>) character
185        followed by a <code>!</code> (<code>U+0021</code>
186        <code class="charname">EXCLAMATION MARK</code>) character,
187        which is not followed by a <code>--</code> or
188        <code>!DOCTYPE</code>.  The document is non-conforming.</p>
189    
190        <dl class="switch">
191        <dt>Comments</dt>
192          <dd>In HTML documents, comments must be introduced by
193          <code>&lt;!--</code> (<code>&lt;!</code> <em>immediately</em> followed
194          by <em>two</em> <code>-</code>s) and must be terminated by
195          <code>--></code>.  Strings <code>&lt;!</code> not followed
196          by <code>--</code> and <code>&lt;!-</code> not followed by
197          <code>-</code> are not valid open delimiters for comments.</dd>
198        <dt>Marked sections, including <code>CDATA</code> sections</dt>
199          <dd>Marked sections are not allowed in HTML documents.</dd>
200        <dt>Markup declarations</dt>
201          <dd>Markup declarations, except <code>DOCTYPE</code>
202          and comment declarations, are not allowed in HTML documents.</dd>
203        <dt>String <code>&lt;!</code></dt>
204          <dd>String <code>&lt;!</code> must be escaped as
205          <code>&amp;lt;!</code>.</dd>
206        </dl>
207      </d:desc>
208    </d:item>
209    
210    <d:item name="bogus end tag"
211        class="tokenize-error">
212      <d:message xml:lang="en">String <code>&lt;/</code> is not followed
213      by tag name.</d:message><!-- </ non-name-start-char-non-EOF -->
214      <d:desc xml:lang="en">
215        <p>There is a <code>&lt;</code> (<code>U+003C</code>
216        <code class="charname">LESS-THAN SIGN</code>) character
217        immediately followed by a <code>/</code> (<code>U+005F</code>
218        <code>SOLIDUS</code>) character, which is not part
219        of any end tag, in the input stream.  The document
220        is non-conforming.</p>
221    
222        <p>The <code>&lt;/</code> sequence not followed by a
223        tag name is parsed as an opening of bogus comment.</p>
224    
225        <p>The <code>&lt;/</code> sequence as string data must
226        be escaped as:
227        <pre class="html example"><code>&amp;lt;/</code></pre>
228        </p>
229      </d:desc>
230    </d:item>
231    
232    <d:item name="dash in comment"
233        class="tokenize-error">
234      <d:message xml:lang="en">There is a <code>--</code> sequence
235      in a comment.</d:message>
236      <d:desc xml:lang="en">
237        <p>There is a <code>-</code> (<code>U+002D</code>
238        <code class="charname">HYPHEN-MINUS</code>) character
239        at the end of the comment or a <code>--</code> sequence
240        in the comment.  The document is non-conforming.</p>
241    
242        <p>Comments cannot contain a string <code>--</code>, as in XML.
243        Unlike SGML, there cannot be more than one comments
244        (where <i>comment</i> is an SGML term) in the comment
245        declaration.</p>
246      </d:desc>
247    </d:item>
248    
249  <d:item name="duplicate attribute"  <d:item name="duplicate attribute"
250      class="tokenize-error">      class="tokenize-error">
251    <d:message xml:lang="en">There are two attributes with same name.</d:message>    <d:message xml:lang="en">There are two attributes with name
252          <code><var>$0</var></code>.</d:message>
253    <d:desc xml:lang="en">    <d:desc xml:lang="en">
254      <p>Attributes must be unique in an element.  Specifying      <p>There are more than one attributes with the same
255      attributes with same name more than once is non-conforming.</p>      name in a tag.  The document is non-conforming.</p>
256    
257      <p>The <code>motion</code> attribute is not part of the HTML standard.      <p>The <code>motion</code> attribute is not part of the HTML standard.
258      Use <code>img</code> element with animation GIF instead.</p>      Use <code>img</code> element with animation GIF instead.</p>
# Line 28  Web Document Conformance Checker (BETA)< Line 261  Web Document Conformance Checker (BETA)<
261    
262  <d:item name="nestc"  <d:item name="nestc"
263      class="tokenize-error">      class="tokenize-error">
264    <d:message xml:lang="en">Void element syntax (<code>/></code>) cannot be    <d:message xml:lang="en">Polytheistic slash (<code>/></code>) cannot be
265    used for this element.</d:message>    used for this element.</d:message>
266    <d:desc xml:lang="en">    <d:desc xml:lang="en">
267      <p>The void element syntax <code>/></code> syntax can only be      <p>Polytheistic slash (<code>/></code>) must not be used
268        for the element.  The document is non-conforming.</p>
269    
270        <p>The polytheistic slash can only be
271      used for <code>base</code>, <code>link</code>, <code>meta</code>,      used for <code>base</code>, <code>link</code>, <code>meta</code>,
272      <code>hr</code>, <code>br</code>, <code>img</code>,      <code>hr</code>, <code>br</code>, <code>img</code>,
273      <code>embed</code>, <code>param</code>, <code>area</code>,      <code>embed</code>, <code>param</code>, <code>area</code>,
274      <code>col</code>, and <code>input</code> elements.      <code>col</code>, and <code>input</code> elements.</p>
275      For any other elements, using that syntax is non-conforming.</p>  
276        <dl class="switch">
277        <dt><code>&lt;script/></code></dt>
278            <dd><p>The polytheistic slash cannot be used for <code>script</code>
279            element.  Even for an empty <code>script</code> element,
280            there must be an explicit end tag <code>&lt;/script></code>.</p>
281    
282            <p><strong>NOTE</strong>: Though some user agents interpret
283            polytheistic slash for <code>script</code> element as the
284            closing of the element, such usage is not allowed under
285            the current standard.</p></dd>
286        <dt><code>&lt;basefont/></code>, <code>&lt;bgsound/></code>,
287        <code>&lt;frame/></code>, <code>&lt;keygen/></code>,
288        <code>&lt;spacer/></code>, <code>&lt;wbr/></code></dt>
289            <dd>These elements are themselves non-conforming.</dd>
290        <!-- isindex, image -->
291        <dt><code>&lt;command/></code>, <code>&lt;event-source/></code>,
292        <code>&lt;nest/></code>, or <code>&lt;source/></code></dt>
293            <dd>Future revision of HTML5 parsing algorithm is expected
294            to allow polytheistic slash for these elements.</dd>
295        <dt><code>&lt;a/></code>, <code>&lt;p/></code></dt>
296            <dd>These elements are not always empty and therefore
297            polytheistic slash is not allowed.</dd>
298        </dl>
299    
300      <p>Unlike XML, the void element syntax (<code>/></code>) has      <p>Note that, unlike in XML, the polytheistic slash has
301      no effect in HTML.</p>      no effect in HTML.</p>
302    </d:desc>    </d:desc>
303  </d:item>  </d:item>
304    
305    
306    <d:item name="pio"
307        class="tokenize-error">
308      <d:message xml:lang="en">Processing instruction
309      (<code>&lt;?<var>...</var>></code>) cannot be used.</d:message>
310      <d:desc xml:lang="en">
311        <p>Processing instructions (<code>&lt;?<var>...</var>?></code>),
312        including XML declaration (<code>&lt;?xml <var>...</var>?></code>)
313        and XML style sheet <abbr title="processing instruction">PI</abbr>
314        (<code>&lt;?xml-stylesheet <var>...</var>?></code>), are not allowed
315        in the HTML syntax.  The document is non-conforming.</p>
316    
317        <dl class="switch">
318        <dt><code>&lt;?xbl?></code> (<abbr>XBL</abbr> Association)</dt>
319          <dd>An <abbr>XBL</abbr> binding cannot be associated by
320          <abbr title="processing instruction">PI</abbr> in <abbr>HTML</abbr>
321          document.  Use <code>binding</code> property in <abbr>CSS</abbr>
322          style sheet.</dd>
323        <dt><code>&lt;?xml?&gt;</code> (XML declaration)</dt>
324            <dd>XML declaration is unnecessary for HTML documents.</dd>
325        <dt><code>&lt;?xml-stylesheet?></code> (XML style sheet
326        <abbr title="processing instruction">PI</abbr>)</dt>
327            <dd>Use HTML <code>link</code> element with <code>rel</code>
328            attribute set to <code>stylesheet</code> (or,
329            <code>alternate stylesheet</code> for an alternate style
330            sheet).</dd>
331        <dt><code>&lt;?php?&gt;</code> or
332        <code>&lt;? <var>... <abbr>PHP</abbr> code ...</var> ?&gt;</code>
333        (<abbr>PHP</abbr> code)</dt>
334            <dd>The conformance checker does <em>not</em> support
335            checking for PHP source documents.</dd>
336        <dt>Other processing instructions</dt>
337            <dd>Processing instructions cannot be inserted in an HTML
338            document.  Use XML document or insert
339            <code>ProcessingInstruction</code> node by scripting.</dd>
340        </dl>
341    
342        <p>Web browsers will parse processing instructions as bogus
343        comments.  Some legacy Web browsers, such as IE:mac and
344        some mobile Web browsers, will display processing instructions
345        as string.</p>
346      </d:desc>
347    </d:item>
348    
349  </section>  </section>
350    
351  <section id="html5-parse-errors">  <section id="html5-parse-errors">
# Line 53  Web Document Conformance Checker (BETA)< Line 356  Web Document Conformance Checker (BETA)<
356    <d:message xml:lang="en">The <code><var>$0</var></code> element cannot be    <d:message xml:lang="en">The <code><var>$0</var></code> element cannot be
357    inserted between <code>head</code> and <code>body</code> elements.</d:message>    inserted between <code>head</code> and <code>body</code> elements.</d:message>
358    <d:desc xml:lang="en">    <d:desc xml:lang="en">
359      <p>A start tag occurs after the <code>head</code> element is closed      <p>A start tag appears after the <code>head</code> element is closed
360      but before the <code>body</code> element is opened.      but before the <code>body</code> element is opened.
361      The document is non-conforming.</p>      The document is non-conforming.</p>
362    </d:desc>    </d:desc>
363  </d:item>  </d:item>
364    
365    <d:item name="DOCTYPE in the middle"
366        class="parse-error">
367      <d:message xml:lang="en">A <code>DOCTYPE</code> appears after any
368      element or data character has been seen.</d:message>
369      <d:desc xml:lang="en">
370        <p>A <code>DOCTYPE</code> appears after any element or data character
371        has been seen.  The document is non-conforming.</p>
372        
373        <p>The <code>DOCTYPE</code> must be placed before any
374        tag, reference, or data character.  Only white space characters
375        and comments can be inserted before the <code>DOCTYPE</code>.</p>
376      </d:desc>
377    </d:item>
378    
379    <d:item name="in a:a"
380        class="parse-error">
381      <d:message xml:lang="en">Anchor cannot be nested.</d:message>
382      <d:desc xml:lang="en">
383        <p>HTML <code>a</code> elements cannot be nested.
384        The document is non-conforming.</p>
385    
386        <p>In the HTML syntax, a start tag of the <code>a</code>
387        implies the end tag of any opening <code>a</code> element.</p>
388      </d:desc>
389    </d:item>
390    
391    <d:item name="in body"
392        class="parse-error">
393      <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
394      is not allowed in the <code>body</code> element.</d:message>
395      <d:desc xml:lang="en">
396        <p>The start or end tag of an element, which
397        cannot be a descendant of <code>body</code> element, appears
398        in the input stream while the <code>body</code> element has been opened.
399        The document is non-conforming.</p>
400      </d:desc>
401    </d:item>
402    
403    <d:item name="in head:head"
404        class="parse-error">
405      <d:message xml:lang="en">Start tag <code>&lt;head&gt;</code>
406      is not allowed in the <code>head</code> element.</d:message>
407      <d:desc xml:lang="en">
408        <p>There is a start tag <code>&lt;head></code> in the
409        <code>&lt;head></code> element.  The document is non-conforming.</p>
410    
411        <p>In an HTML document there must not be more than
412        one <code>head</code> element, therefore no more than one
413        start tag <code>&lt;head></code> can appear in the input stream.</p>
414      </d:desc>
415    </d:item>
416    
417    <d:item name="in table"
418        class="parse-error">
419      <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
420      is not allowed in a <code>table</code> element.</d:message>
421      <d:desc xml:lang="en">
422        <p>The start or end tag of an element, which
423        cannot be a child of <code>table</code> element, appears
424        in the input stream while the <code>table</code> element has been opened
425        but no other element has been opened.  The document is non-conforming.</p>
426    
427        <p>In <code>table</code>, only table related elements
428        are allowed; any other element must be contained in
429        <code>td</code> or <code>th</code> element to form
430        a part of the table, or <code>caption</code> element to create
431        a table caption.</p>
432      </d:desc>
433    </d:item>
434    
435    <d:item name="in table:#character"
436        class="parse-error">
437      <d:message xml:lang="en">Data character is not allowed in
438      <code>table</code>.</d:message>
439      <d:desc xml:lang="en">
440        <p>A data character appears in <code>table</code>.  The document
441        is non-conforming.</p>
442    
443        <p>In <code>table</code>, only table related elements
444        are allowed; any other element and data character must be contained in
445        <code>td</code> or <code>th</code> element to form
446        a part of the table, or <code>caption</code> element to create
447        a table caption.</p>
448      </d:desc>
449    </d:item>
450    
451    <d:item name="missing start tag:tr"
452        class="parse-error">
453      <d:message xml:lang="en">Start tag of <code>tr</code>
454      element is missing.</d:message>
455      <d:desc>
456        <p>Start tag of a <code>tr</code> element, which is <em>not</em>
457        optional, is missing.  The document is non-conforming.</p>
458    
459        <p>In a table section, a <code>&lt;tr></code> start tag
460        must occur before any <code>&lt;td></code> or
461        <code>&lt;th></code> start tag.  Though the HTML5 parser
462        implies the <code>&lt;tr></code> start tag before
463        these start tags, it must be explicitly specified.</p>
464      </d:desc>
465    </d:item>
466    
467  <d:item name="no DOCTYPE"  <d:item name="no DOCTYPE"
468      class="parse-error">      class="parse-error">
469    <d:message xml:lang="en">This document does not start with the    <d:message xml:lang="en">This document does not start with a
470    <code>DOCTYPE</code> declaration.</d:message>    <code>DOCTYPE</code>.</d:message>
471      <d:desc>
472        <p>The document does not start with a <code>DOCTYPE</code>.
473        The document is non-conforming.</p>
474    
475        <p>An HTML document must start by a <code>DOCTYPE</code>:
476          <pre class="html example"><code>&lt;!DOCTYPE HTML></code></pre>
477        </p>
478    
479        <p>Only white space characters and comments are allowed
480        before the <code>DOCTYPE</code>.  XML declaration is <em>not</em>
481        allowed in HTML document.</p>
482      </d:desc>
483  </d:item>  </d:item>
484    
485  <d:item name="not closed"  <d:item name="not closed"
486      class="parse-error">      class="parse-error">
487    <d:message xml:lang="en">Element <code><var>$0</var></code> is not    <d:message xml:lang="en">Element <code><var>$0</var></code> is not
488    closed.</d:message>    closed.</d:message>
489      <d:desc>
490        <p>End tag of an element is not found before, for example,
491        an end tag of another element appears or
492        the end of the document.  The document is non-conforming.</p>
493    
494        <p>Only <code>body</code>, <code>colgroup</code>, <code>dd</code>,
495        <code>dt</code>, <code>head</code>, <code>html</code>, <code>li</code>,
496        <code>ol</code>, <code>option</code>, <code>optgroup</code>,
497        <code>p</code>, <code>rb</code>, <code>rp</code>, <code>rt</code>,
498        <code>tbody</code>, <code>td</code>, <code>tfoot</code>,
499        <code>th</code>, <code>thead</code>, <code>tr</code>,
500        <code>ul</code> end tag can be omitted in HTML documents.
501        For any element except for void element, there must be an explicit
502        end tag.</p>
503    
504        <dl class="switch">
505        <dt>HTML <code>canvas</code> element</dt>
506          <dd>Though the element is void in earlier versions of Safari,
507          the <code>canvas</code> element is <em>no</em> longer
508          defined as empty.  There must be an end tag
509          <code>&lt;/canvas></code>.</dd>
510        </dl>
511    
512        <p>Note that misnesting tags, such as
513        <code class="bad example">&lt;a>&lt;b>&lt;/a>&lt;/b></code>, are not
514        allowed and they also cause this error.</p>
515      </d:desc>
516    </d:item>
517    
518    <d:item name="not first start tag"
519        class="parse-error">
520      <d:message xml:lang="en">This <code>&lt;html></code> tag is not
521      the first start tag.</d:message>
522      <d:desc>
523        <p>There is a start tag of the <code>html</code> element
524        that it not the first start tag in the input stream.
525        The document is non-conforming.</p>
526    
527        <p>In an HTML document, there cannot be more than one
528        <code>html</code> element and therefore there cannot be
529        more than one <code>&lt;html></code> tag.  In addition,
530        nothing can be placed before the <code>&lt;html></code> tag
531        except a <code>DOCTYPE</code>, white space characters,
532        and comments.</p>
533      </d:desc>
534  </d:item>  </d:item>
535    
536  <d:item name="not HTML5"  <d:item name="not HTML5"
537      class="parse-error">      class="parse-error">
538    <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
539    HTML.</d:message>    HTML.</d:message>
540      <d:desc xml:lang="en">
541        <p>The document contains a <code>DOCTYPE</code> declaration
542        that is different from HTML5 <code>DOCTYPE</code> (i.e.
543        <code>&lt;!DOCTYPE HTML&gt;</code>).  The document is non-conforming.</p>
544    
545        <p>The document might or might not be conformant to
546        some version of HTML.  However, conformance to any HTML
547        specification other than HTML5 provides for no practical
548        convenience, since Web borwsers will parse any
549        HTML document (roughly) as defined in HTML5.</p>
550      </d:desc>
551  </d:item>  </d:item>
552    
553  <d:item name="unmatched end tag"  <d:item name="unmatched end tag"
554      class="parse-error">      class="parse-error">
555    <d:message xml:lang="en">Element <code><var>$0</var></code> is not    <d:message xml:lang="en">Element <code><var>$0</var></code> is not
556    opened.</d:message>    opened.</d:message>
557      <d:desc>
558        <p>An end tag appears though no element with the same name
559        has been opened.  The document is non-conforming.</p>
560    
561        <p>For any end tag in HTML document, there must be a
562        corresponding start tag.</p>
563    
564        <dl class="switch">
565        <dt>HTML <code>base</code>, <code>basefont</code>,
566        <code>bgsound</code>, <code>br</code>, <code>col</code>,
567        <code>embed</code>, <code>frame</code>, <code>hr</code>,
568        <code>image</code>, <code>img</code>, <code>input</code>,
569        <code>isindex</code>, <code>link</code>, <code>meta</code>,
570        <code>param</code>, <code>spacer</code>, or <code>wbr</code> element</dt>
571          <dd>End tag is not allowed for these elements, since
572          those content must always be empty.  Remove end tag.</dd>
573        <!-- keygen -->
574        <!-- command, event-source, nest, source -->
575        </dl>
576      </d:desc>
577  </d:item>  </d:item>
578    
579  </section>  </section>
# Line 93  Web Document Conformance Checker (BETA)< Line 586  Web Document Conformance Checker (BETA)<
586    <d:message xml:lang="en">Data character is not allowed in this    <d:message xml:lang="en">Data character is not allowed in this
587    context.</d:message>    context.</d:message>
588    <d:desc xml:lang="en">    <d:desc xml:lang="en">
589      <p>A data character occurs where it is not allowed in this      <p>A data character appears where it is not allowed in this
590      context.  The document is non-conforming.</p>      context.  The document is non-conforming.</p>
591    
592      <p>Possible causes:      <p>Possible causes:
593        <dl>        <ul>
594        <dt>If the erred element is an inline-level element (such        <li><p>A data character cannot be a child
595        as <code>a</code> or <code>span</code>)</dt>        of certain sectioning elements such as <code>body</code>,
596            <dd><p>A data character cannot be a child        <code>section</code>, and <code>blockquote</code>.</p>
597            of certain sectioning elements such as <code>body</code>,  
598            <code>section</code>, and <code>blockquote</code>.</p>        <p>Any inline-level content must be put
599          in e.g. paragraph element such as <code>p</code>.</p></li>
600            <p>Any inline-level content must be put        <li><p>Though some elements such as <code>div</code>,
601            in e.g. paragraph element such as <code>p</code>.</p></dd>        <code>li</code>, and <code>td</code> allow
602        <dt>If the erred element is a block-level element (such as        <em>either one</em> of block-level or inline-level content
603        <code>div</code> or <code>h<var>n</var></code>)</dt>        is allowed.  If there is a block-level content,
604            <dd><p>Though some elements such as <code>div</code>,        any inline-level content must be put
605            <code>li</code>, and <code>td</code> allow        in e.g. paragraph element such as <code>p</code>.</p></li>
606            <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>  
607      </p>      </p>
608    </d:desc>    </d:desc>
609  </d:item>  </d:item>
# Line 126  Web Document Conformance Checker (BETA)< Line 615  Web Document Conformance Checker (BETA)<
615    <d:desc xml:lang="en">    <d:desc xml:lang="en">
616      <p>The content model of the element is so defined that it      <p>The content model of the element is so defined that it
617      must contain a <code><var>$0</var></code> child element.      must contain a <code><var>$0</var></code> child element.
618      Without such an element, the document is non-conforming.</p>      The document is non-conforming.</p>
619    
620      <p>For example:      <dl class="switch">
621        <ul>      <dt>HTML <code>head</code> element</dt>
622        <li>The <code>head</code> element must contain exactly one        <dd>There must be a <code>title</code> child element.</dd>
623        <code>title</code> child element.</li>      <dt>HTML <code>html</code> element</dt>
624        <li><a href="#child-element-missing:td%7Cth">The <code>tr</code>        <dd>There must be a <code>head</code> child element followed
625        element must contain one or more <code>td</code> or <code>th</code>        by a <code>body</code> element.</dd>
626        child element.</a></li>      <dt>HTML <code>tr</code> element</dt>
627        </ul>        <dd><a href="#child-element-missing:td%7Cth">There must be
628      </p>        one or more <code>td</code> or <code>th</code> child element.</a></dd>
629        </dl>
630    </d:desc>    </d:desc>
631  </d:item>  </d:item>
632    
# Line 146  Web Document Conformance Checker (BETA)< Line 636  Web Document Conformance Checker (BETA)<
636    or <code>th</code> element as a child of this element.</d:message>    or <code>th</code> element as a child of this element.</d:message>
637    <d:desc xml:lang="en">    <d:desc xml:lang="en">
638      <p>The <code>tr</code> element must contain at least one      <p>The <code>tr</code> element must contain at least one
639      <code>td</code> or <code>th</code> child element.  Without      <code>td</code> or <code>th</code> child element.  The document
640      such an element, the document is non-conforming.</p>      is non-conforming.</p>
641    </d:desc>    </d:desc>
642  </d:item>  </d:item>
643    
# Line 156  Web Document Conformance Checker (BETA)< Line 646  Web Document Conformance Checker (BETA)<
646    <d:message xml:lang="en">This element is not allowed in this    <d:message xml:lang="en">This element is not allowed in this
647    context.</d:message>    context.</d:message>
648    <d:desc xml:lang="en">    <d:desc xml:lang="en">
649      <p>An element occurs where it is not allowed.  The document      <p>An element appears where it is not allowed.  The document
650      is non-conforming.</p>      is non-conforming.</p>
651    
652      <p>Possible causes:      <p>Possible causes:
653        <dl>        <dl class="switch">
654        <dt>If the erred element is an inline-level element (such        <dt>If the element with the error is an inline-level element,
655        as <code>a</code> or <code>span</code>)</dt>        such as <code>a</code>, <code>progress</code>, or <code>img</code></dt>
656            <dd><p>An inline-level element cannot be a child            <dd><p>An inline-level element cannot be a child
657            of certain sectioning elements such as <code>body</code>,            of certain sectioning elements such as <code>body</code>,
658            <code>section</code>, and <code>blockquote</code>.</p>            <code>section</code>, and <code>blockquote</code>.</p>
659    
660            <p>Any inline-level content must be put            <p>Any inline-level content must be put
661            in e.g. paragraph element such as <code>p</code>.</p></dd>            in e.g. paragraph element such as <code>p</code>.</p></dd>
662        <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>,
663        <code>div</code> or <code>h<var>n</var></code>)</dt>        <code>div</code>, <code>h<var>n</var></code>,
664            <dd><p>Though some elements such as <code>div</code>,        <code>p</code>, or <code>section</code></dt>
665            <code>li</code>, and <code>td</code> allow            <dd><dl class="switch">
666            <em>either one</em> of block-level or inline-level content                <dt>If the parent element is <code>div</code>,
667            is allowed.  If there is a block-level content,                <code>li</code>, <code>td</code>, or <code>th</code></dt>
668            any inline-level content must be put                <!-- @@ TODO: more... -->
669            in e.g. paragraph element such as <code>p</code>.</p></dd>                    <!-- @@ TODO: <p><ul><li><p> -->
670        <dt>If the erred element is the root <code>html</code> element</dt>                    <dd><p>The parent element allows <em>either</em>
671            <dd><p>In an XHTML document, the root <code>html</code>                    block-level or inline-level content.  If there is a
672            element must have an <code>xmlns</code> attribute                    block-level content, any inline-level content must be
673            whose value is set to                    put in e.g. paragraph element such as <code>p</code>.</p>
674            <code>http://www.w3.org/1999/xhtml</code>.</p></dd>                    <p>For example, an HTML document fragment
675                      <code class="bad example">&lt;div>&lt;p>Hello!&lt;/p> World!&lt;/div></code>
676                      is non-conforming, since a word <q>World!</q> does not belong
677                      to any paragraph.  (If not part of any paragraph, what is
678                      it!?)  A conforming example would be:
679                        <pre class="example"><code>&lt;div>&lt;p>Hello!&lt;/p> &lt;p>World!&lt;/p>&lt;/div></code></pre>
680                      </p></dd>
681                  <dt>If the parent element does <em>not</em> allow
682                  block-level elements as content</dt>
683                      <dd>The element is not allowed to be inserted here.
684                      For example, a <code>div</code> element cannot be
685                      a child of an <code>h1</code> element.</dd>
686              </dl></dd>
687          <dt>If the element with the error is a <code>noscript</code> element</dt>
688              <dd>The <code>noscript</code> element is allowed only in the context
689              where a block-level or inline-level content is expected
690              and in the <code>head</code> element.
691              It cannot be used in e.g. <code>ul</code>, <code>table</code>,
692              or <code>select</code>.</dd>
693          <dt>If the element with the error is <code>blink</code>,
694          <code>center</code>, or <code>marquee</code> element</dt>
695              <dd>These elements are not part of the HTML standard.
696              Use CSS for styling control.</dd>
697    
698          <dt><code>button</code>, <code>datalist</code>,
699          <code>fieldset</code>, <code>form</code>,
700          <code>input</code>, <code>label</code>,
701          <code>optgroup</code>, <code>option</code>, <code>output</code>,
702          <code>rb</code>, <code>rp</code>, <code>rt</code>, <code>ruby</code>,
703          <code>textarea</code>, or <code>textarea</code> element</dt>
704          <!-- rbc, rtc ? -->
705              <dd>These elements are intentionally not supported by the conformance
706              checker <em>yet</em>.</dd>
707        </dl>        </dl>
708      </p>      </p>
709    </d:desc>    </d:desc>
710  </d:item>  </d:item>
711    
712    <d:item name="element not allowed:root"
713        class="content-model-error">
714      <d:message xml:lang="en">This element is not allowed as a root
715      element.</d:message>
716      <d:desc xml:lang="en">
717        <p>An element that is not allowed as the root element
718        is used as the root element of the document.  The document is
719        non-conforming, as far as the conformance checker can tell.</p>
720    
721        <dl class="switch">
722        <dt><code>html</code> element in an XHTML document</dt>
723            <dd><p>In an XHTML document, the root <code>html</code>
724            element must have an <code>xmlns</code> attribute
725            whose value is set to
726            <code>http://www.w3.org/1999/xhtml</code>.</p></dd>
727        <dt><code>rss</code> element</dt>
728            <dd><p>The document is written in some version of RSS.</p>
729            <p>The conformance checker does not support any version
730            of RSS.  Use Atom 1.0 for feed documents.</p></dd>
731        <dt><code>feed</code> element</dt>
732            <dd><p>The Atom <code>feed</code> element must be
733            in the <code>http://www.w3.org/2004/Atom</code>
734            namespace.</p>
735            <p>The conformance checker does not support Atom 0.3.
736            Use Atom 1.0 for feed documents.</p></dd>
737        </dl>
738      </d:desc>
739    </d:item>
740    
741    <d:item name="ps element missing"
742        class="content-model-error">
743      <d:message xml:lang="en">There is no <code><var>$0</var></code>
744      element before this element.</d:message>
745      <d:desc xml:lang="en">
746        <p>There must be an element before another element, but there
747        is not.  The document is non-conforming.</p>
748    
749        <p>For example, there must be a <code>dt</code> element
750        before any <code>dd</code> element.</p>
751      </d:desc>
752    </d:item>
753    
754    </section>
755    
756    <section id="attribute-errors">
757    <h2>Attribute Errors</h2>
758    
759    <d:item name="attribute missing"
760        class="attribute-error">
761      <d:message xml:lang="en">Required attribute <code><var>$0</var></code>
762      is not specified.</d:message>
763      <d:desc>
764        <p>A required attribute is not specified.  The document
765        is non-conforming.</p>
766    
767        <p>Some attribute is defined as <i>required</i>.
768        Without required attributes specified, user agents
769        cannot provide full functionality of the element to the user.</p>
770    
771        <dl class="switch">
772        <dt>HTML <code>img</code> element</dt>
773            <dd>The <code>src</code> attribute must be specified.
774            Additionally, the <code>alt</code> attribute must be specified
775            in many cases.</dd>
776        <dt>HTML <code>link</code> element</dt>
777            <dd>The <code>rel</code> attribute must be specified.
778            Note that the <code>rev</code> attribute is obsolete.</dd>
779        </dl>
780      </d:desc>
781    </d:item>
782    
783    <d:item name="attribute not allowed" class="attribute-error">
784      <d:message xml:lang="en">Attribute
785      <code><var>{local-name}</var></code> is not allowed for
786      <code><var>{element-local-name}</var></code> element.</d:message>
787      <d:desc xml:lang="en">
788        <p>An attribute is specified where it is not allowed.
789        The document is non-conforming.</p>
790    
791        <dl>
792        <dt>HTML <code>meta</code> element</dt>
793            <dd>For HTML <code>meta</code> element, <em>only one</em> of
794            <code>name</code>, <code>http-equiv</code>, or <code>charset</code>
795            attribute is allowed.</dd>
796        </dl>
797      </d:desc>
798    </d:item>
799    
800    <d:item name="in HTML:xml:lang"
801        class="attribute-error">
802      <d:message xml:lang="en">The <code>xml:lang</code> attribute is not
803      allowed in HTML document.</d:message>
804      <d:desc xml:lang="en">
805        <p>The <code>xml:lang</code> attribute is not allowed in
806        HTML document.  The document is non-conforming.</p>
807    
808        <p>Use of the <code>xml:lang</code> attribute is conforming
809        <em>only</em> in XML documents.</p>
810    
811        <p>To specify natural language information in HTML document,
812        use <code>lang</code> attribute instead.</p>
813    
814        <p>XHTML 1.0 Appendix C was encouraged to specify both
815        <code>lang</code> and <code>xml:lang</code> attributes with
816        the same value.  Such a duplication has <em>no effect</em> in practice.
817        Use only one of <code>lang</code> (in HTML) or <code>xml:lang</code> (in
818        XML).</p>
819    
820        <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created
821             from an HTML document? -->
822      </d:desc>
823    </d:item>
824    
825    <d:item name="in XML:charset"
826        class="attribute-error">
827      <d:message xml:lang="en">The <code>charset</code> attribute is not
828      allowed in XML document.</d:message>
829      <d:desc>
830        <p>The <code>charset</code> attribute of a
831        <code>meta</code> element is not allowed in XML document.
832        The document is non-conforming.</p>
833    
834        <p>To specify the character encoding used for serialization,
835        if necessary, use XML declaration instead:
836          <pre class="xml example"><code>&lt;?xml version="1.0" encoding="<var>encoding-name</var>"?></code></pre>
837        </p>
838      </d:desc>
839    </d:item>
840    
841    <d:item name="in XML:lang"
842        class="attribute-error">
843      <d:message xml:lang="en">The <code>lang</code> attribute is not
844      allowed in XML document.</d:message>
845      <d:desc>
846        <p>The HTML <code>lang</code> attribute is not allowed in
847        XML document.  The document is non-conforming.</p>
848    
849        <p>The <code>lang</code> attribute in <code>null</code>
850        namespace for HTML elements is conforming <em>only</em> in
851        HTML documents.</p>
852    
853        <p>To specify natural language information in XML document,
854        use <code>xml:lang</code> attribute instead.</p>
855      </d:desc>
856    </d:item>
857    
858    <d:item name="in XML:xmlns"
859        class="attribute-error">
860      <d:message xml:lang="en">The <code>xmlns</code> attribute
861      in the <code>null</code> namespace is not allowed in
862      XHTML document.  The document is non-conforming.</d:message>
863      <d:desc>
864        <p>The <code>xmlns</code> attribute in the <code>null</code>
865        namespace is not allowed in XHTML document.</p>
866    
867        <p>This error should not occur in conformance-checking of
868        static documents.</p>
869      </d:desc>
870    </d:item>
871    
872  </section>  </section>
873    
874  <section id="attribute-value-errors">  <section id="attribute-value-errors">
875  <h2>Attribute Value Errors</h2>  <h2>Attribute Value Errors</h2>
876    
877  <d:item name="enumerated:invalid"  <d:item name="enumerated:invalid"
878      class="attribute-error">      class="attribute-value-error">
879    <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
880    values and the specified value is not one of them.</d:message>    values and the specified value <code><var>{@}</var></code> is not one
881      of them.</d:message>
882      <d:desc xml:lang="en">
883        <p>For this attribute only several values are allowed and the
884        value of the attribute is not one of them.  The document
885        is non-conforming.</p>
886    
887        <dl>
888        <dt>HTML <code>meta</code> element, <code>http-equiv</code> attribute</dt>
889            <dd><p>Only <code>Default-Style</code> and <code>Refresh</code>
890            is allowed.</p>
891            <p>Value <code>Content-Type</code> is obsolete; for charset
892            declaration, the <code>charset</code> attribute can be used as:
893            <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
894            ... where <var>charset-name</var> is a name of the character encoding
895            of the document, such as <code>utf-8</code>.</p>
896            <p>Values <code>Content-Style-Type</code> and
897            <code>Content-Script-Type</code> are currently not allowed.</p>
898            <p>Value <code>Keywords</code> is not allowed.  Use
899            <code>name</code> attribute instead of <code>http-equiv</code>
900            attribute.</p>
901            <p>Values <code>Expires</code>, <code>Pragma</code>,
902            and <code>Cache-Control</code> are not allowed;
903            use <em>real</em> HTTP header fields for cache control.</p></dd>
904        </dl>
905      </d:desc>
906    </d:item>
907    
908    <d:item name="duplicate ID"
909        class="attribute-value-error">
910      <d:message xml:lang="en">This identifier has already been
911      assigned to another element.</d:message>
912      <!-- @@ <id=a xml:id=a>? -->
913    </d:item>
914    
915    <d:item name="link type:bad context"
916        class="attribute-value-error">
917      <d:message xml:lang="en">The link type <code><var>$0</var></code>
918      cannot be specified for this element.</d:message>
919      <d:desc xml:lang="en">
920        <p>The specified link type cannot be used for the element.
921        The document is non-conforming.</p>
922    
923        <p>Link types are associated with limited set of elements.
924        They cannot be used with other elements.</p>
925    
926        <p>For example, link type <code>bookmark</code>
927        can be used with <code>a</code> or <code>area</code> element,
928        while it cannot be used with <code>link</code> element.</p>
929      </d:desc>
930    </d:item>
931    
932    <d:item name="link type:non-conforming"
933        class="attribute-value-error">
934      <d:message xml:lang="en">The link type <code><var>$0</var></code>
935      is non-conforming.</d:message>
936      <d:desc xml:lang="en">
937        <p>The specified link type is non-conforming, and therefore
938        the document is non-conforming.</p>
939    
940        <dl class="switch">
941        <dt>Link type <code>contents</code></dt>
942          <dd>Use link type <code>index</code>.</dd>
943        <dt>Link type <code>copyright</code></dt>
944          <dd>Use link type <code>license</code>.</dd>
945        <dt>Link type <code>home</code></dt>
946          <dd>Use link type <code>index</code>.</dd>
947        <dt>Link type <code>previous</code></dt>
948          <dd>Use link type <code>prev</code>.</dd>
949        <dt>Link type <code>start</code></dt>
950          <dd>Use link type <code>first</code>.</dd>
951        <dt>Link type <code>toc</code> or <code>top</code></dt>
952          <dd>Use link type <code>index</code>.</dd>
953        </dl>
954      </d:desc>
955    </d:item>
956    
957    <d:item name="reserved browsing context name"
958        class="attribute-value-error">
959      <d:message xml:lang="en">Browsing context name
960      <code><var>{@}</var></code> is reserved.</d:message>
961      <d:desc xml:lang="en">
962        <p>The specified browsing context name is reserved.
963        The document is non-conforming.</p>
964    
965        <p>Names of browsing contexts starting with <code>_</code>
966        (<code>U+005F</code> <code class="charname">LOW LINE</code>)
967        are reserved so that it must not be used.</p>
968    
969        <p>Old version of HTML, non-HTML markup languages, and
970        Web browsers define or implements special reserved
971        browsing context names <code>_blank</code>,
972        <code>_main</code>, and <code>_replace</code>.
973        However, they are <em>not</em> conforming attribute values.</p>
974      </d:desc>
975    </d:item>
976    
977    </section>
978    
979    <section id="attribute-value-warnings">
980    <h2>Attribute Value Warnings</h2>
981    
982    <d:item name="link type:proposed" level="s"
983        class="attribute-value-warning should">
984      <d:message xml:lang="en">Link type <code><var>$0</var></code>
985      is proposed but not accepted yet; it <em>should not</em> be
986      used until it has been accepted.</d:message>
987      <d:desc>
988        <p>The link type is in the <i>proposed</i> status; it
989        <em>should not</em> be used until it has been
990        accepted.</p>
991    
992        <p><strong>Warning</strong>: The data served to the
993        conforming checker might be out of date; it might have already
994        been accepted or rejected.  The document might or might not be
995        conforming depending on the status.  See WHATWG Wiki
996        for the latest information.</p>
997      </d:desc>
998  </d:item>  </d:item>
999    
1000  </section>  </section>
# Line 203  Web Document Conformance Checker (BETA)< Line 1002  Web Document Conformance Checker (BETA)<
1002  <section id="table-model-errors">  <section id="table-model-errors">
1003  <h2>Table Model Errors</h2>  <h2>Table Model Errors</h2>
1004    
1005    <d:item name="table:colspan creates column with no anchored cell"
1006        class="table-model-error">
1007      <d:message xml:lang="en">This <code>colspan</code> attribute
1008      results in creating a table column that does not contain
1009      any cell anchored to it.</d:message>
1010    </d:item>
1011    
1012  <d:item name="table:no cell in last row"  <d:item name="table:no cell in last row"
1013      class="table-model-error">      class="table-model-error">
1014    <d:message xml:lang="en">The table has no cell (<code>td</code> or    <d:message xml:lang="en">The table has no cell (<code>td</code> or
1015    <code>th</code>) in the last row.</d:message>    <code>th</code>) in the last row.</d:message>
1016  </d:item>  </d:item>
1017    
1018    <d:item name="table:rowspan extends table"
1019        class="table-model-error">
1020      <d:message xml:lang="en">This <code>rowspan</code> attribute
1021      results in creating a table row that does not contain
1022      any cell anchored to it.</d:message>
1023      <d:desc xml:lang="en">
1024        <p>The <code>rowspan</code> attribute value of the cell
1025        is so specified that it extends a table in the row axis.
1026        However, the extended row does not contain any cell by itself.
1027        The document is non-conforming.</p>
1028    
1029        <p>For example, the table below is non-conforming:
1030          <pre class="html non-conforming example"><code>&lt;table>
1031    &lt;tbody>
1032    &lt;tr>&lt;td rowspan=2>&lt;/td>&lt;/tr>
1033    &lt;/tbody>
1034    &lt;/table></code></pre>
1035        ... since the second row contains only
1036        a cell that spans between first and second rows.</p>
1037      </d:desc>
1038    </d:item>
1039    
1040  </section>  </section>
1041    
1042  <section id="imt-warnings">  <section id="imt-warnings">
# Line 216  Web Document Conformance Checker (BETA)< Line 1044  Web Document Conformance Checker (BETA)<
1044    
1045  <d:item name="IMT:obsolete subtype"  <d:item name="IMT:obsolete subtype"
1046      class="should" level="s">      class="should" level="s">
1047    <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>
1048      subtype is used.</d:message>
1049      <d:item xml:lang="en">
1050        <p>The specified Internet Media Type is registered with status
1051        of <i>OBSOLETE</i>.</p><!-- @@ SHOULD NOT? -->
1052        
1053        <dl class="swtich">
1054        <dt>Media type <code>text/ecmascript</code></dt>
1055          <dd>Media type <code>text/ecmascript</code> is obsoleted in
1056          favor of <code>application/ecmascript</code>.  Note that
1057          <code>text/javascript</code> would be better alternative
1058          for many cases.</dd>
1059        <dt>Media type <code>text/javascript</code></dt>
1060          <dd>Media type <code>text/javascript</code> is obsoleted by
1061          <abbr>IETF</abbr> with backward incompatible alternate
1062          <code>application/javascript</code> for architectural
1063          purity.<!-- @@ ref? -->  Realist may ignore this warning.</dd>
1064        </dl>
1065      </d:item>
1066  </d:item>  </d:item>
1067    
1068  <d:item name="IMT:private subtype"  <d:item name="IMT:private subtype"
1069      class="should" level="s">      class="should" level="s">
1070    <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
1071    subtype is used.</d:message>    (<code>x-</code> or <code>x.</code>) subtype is used.</d:message>
1072  </d:item>  </d:item>
1073    
1074  <d:item name="IMT:unregistered subtype"  <d:item name="IMT:unregistered subtype"
1075      class="should" level="s">      class="should" level="s">
1076    <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
1077      not registered to IANA.</d:message>
1078  <!-- TODO: Unknown message?? -->  <!-- TODO: Unknown message?? -->
1079  </d:item>  </d:item>
1080    
# Line 238  Web Document Conformance Checker (BETA)< Line 1085  Web Document Conformance Checker (BETA)<
1085    
1086  <d:item name="URI::syntax error"  <d:item name="URI::syntax error"
1087      class="must" level="m">      class="must" level="m">
1088    <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
1089      reference.</d:message>
1090      <d:desc xml:lang="en">
1091        <p>The specified value does not satisfy the syntactical requirements
1092        for IRI references.  The document is non-conforming.</p>
1093    
1094        <p>Possible causes:
1095          <ul>
1096          <li>The string might contain one or more white space characters.
1097          Especially, the <code> </code> (<code>U+0020</code>
1098          <code class="charname">SPACE</code>) character cannot be
1099          used in IRI references.</li>
1100          </ul>
1101        </p>
1102      </d:desc>
1103  </d:item>  </d:item>
1104    
1105  </section>  </section>
1106    
1107  <section id="uri-errors">  <section id="uri-shoulds">
1108  <h2>URI (or IRI) Errors</h2>  <h2>URI (or IRI) Should-level Errors</h2>
1109    
1110    <d:item name="URI::dot-segment"
1111        class="should" level="s">
1112      <d:message xml:lang="en">A dot-segment (<code>.</code> or
1113      <code>..</code>) occurs in an absolute reference.</d:message>
1114      <d:desc>
1115        <p>Dot-segment (<code>.</code> or <code>..</code>) should
1116        not occur in an absolute reference.</p>
1117    
1118        <p>In relative references, dot-segments are used to represent
1119        the current (<code>.</code>) or the parent (<code>..</code>)
1120        hierarchy of the path.  Though they are also allowed
1121        in absolute references, it should be resolved to the
1122        canonical form before it has been published.</p>
1123      </d:desc>
1124    </d:item>
1125    
1126  <d:item name="URI::empty path"  <d:item name="URI::empty path"
1127      class="should" level="s">      class="should" level="s">
1128    <d:message xml:lang="en">This IRI should explicitly end with    <d:message xml:lang="en">This IRI does not end with
1129    <code>/</code>.</d:message>    a <code>/</code>.</d:message>
1130      <d:item xml:lang="en">
1131        <p>The IRI does not end with a <code>/</code>.  If there is an
1132        authority component in an IRI, a <code>/</code> should be present
1133        instead of empty path component.</p>
1134    
1135        <p>For example, <code>http://www.example.com<strong>/</strong></code>
1136        is preferred to <code>http://www.example.com</code>.</p>
1137      </d:item>
1138    </d:item>
1139    
1140    <d:item name="URI::lowercase hexadecimal digit"
1141        class="should" level="s">
1142      <d:message xml:lang="en">A lowercase hexadecimal digit is used
1143      in percent-encoding.</d:message>
1144      <d:desc xml:lang="en">
1145        <p>The hexadecimal digit in percent-encoding string in the IRI
1146        is in lowercase.  Though the IRI <em>is</em> conforming,
1147        it should be in uppercase.</p>
1148      </d:desc>
1149    </d:item>
1150    
1151    <d:item name="URI::percent-encoded unreserved"
1152        class="should" level="s">
1153      <d:message xml:lang="en">An unreserved character is
1154      percent-encoded.</d:message>
1155      <d:desc xml:lang="en">
1156        <p>An unreserved character is percent-encoded in the IRI.
1157        Though it <em>is</em> conforming, it should be in the
1158        decoded (or bare) form.</p>
1159      </d:desc>
1160    </d:item>
1161    
1162    <d:item name="URI::uppercase scheme name"
1163        class="should" level="s">
1164      <d:message xml:lang="en">URI scheme name is in uppercase.</d:message>
1165      <d:desc xml:lang="en">
1166        <p>The scheme part of the IRI is written in uppercase letter.</p>
1167    
1168        <p>Uppercase scheme names are not required to be processed
1169        correctly.</p>
1170    <!-- @@
1171     RFC 3986 3.1.
1172     > Although schemes are case-
1173       insensitive, the canonical form is lowercase and documents that
1174       specify schemes must do so with lowercase letters.
1175    
1176     > An implementation ... should only produce lowercase scheme names for
1177       consistency.
1178    -->
1179      </d:desc>
1180  </d:item>  </d:item>
1181    
1182  </section>  </section>
1183    
1184    <section id="cache-manifest-errors">
1185    <h2>Cache Manifest Errors</h2>
1186    
1187    <d:item name="not manifest" class="must" level="m">
1188      <d:message xml:lang="en">This document is not a cache manifest.</d:message>
1189      <d:desc xml:lang="en">
1190        <p>The specified document is <em>not</em> a cache manifest.
1191        The document is non-conforming.</p>
1192    
1193        <p>An entity labeled as Internet media type
1194        <code>text/cache-manifest</code> must contain a cache manifest.</p>
1195    
1196        <p>A cache manifest must start with a line whose content is
1197        <code>CACHE MANIFEST</code> (exactly one space character between
1198        <code>CACHE</code> and <code>MANIFEST</code>).</p>
1199      </d:desc>
1200    </d:item>
1201    </section>
1202    
1203  <section id="unsupported-messages">  <section id="unsupported-messages">
1204  <h2><i>Unsupported</i> Messages</h2>  <h2><i>Unsupported</i> Messages</h2>
1205    
1206  <d:item name="attribute"  <d:item name="element"
1207      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1208    <d:message xml:lang="en">This attribute is not supported by the    <d:message xml:lang="en">Conformance checking for element
1209    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
1210      might not be conforming</em>.</d:message>
1211    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1212      <p>The conformant checker does not support the attribute.      <p>The conformant checker does not support the element.
1213      It cannot determine whether the document is conforming or not.</p>      It cannot determine whether the document is conforming or not.</p>
1214    </d:desc>    </d:desc>
1215  </d:item>  </d:item>
1216    
1217  <d:item name="element"  <d:item name="attribute"
1218      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1219    <d:message xml:lang="en">This element is not supported by the    <d:message xml:lang="en">Conformance checking for attribute
1220    conformance checker; <em>it might or might not be conforming</em>.</d:message>    <code><var>{local-name}</var></code> of element
1221      <code><var>{element-local-name}</var></code> is not supported;
1222      <em>it might or might not be conforming</em>.</d:message>
1223    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1224      <p>The conformant checker does not support the element.      <p>The conformant checker does not support the attribute.
1225      It cannot determine whether the document is conforming or not.</p>      It cannot determine whether the document is conforming or not.</p>
1226    </d:desc>    </d:desc>
1227  </d:item>  </d:item>
1228    
1229  <d:item name="link type"  <d:item name="link type"
1230      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1231    <d:message xml:lang="en">The link type <code>$0</code> is not standardized    <d:message xml:lang="en">Link type <code><var>$0</var></code> is not
1232    or registered at the time of the release of the conformance checker;    standardized or registered at the time of the release of the conformance
1233    <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
1234      registered</em>.</d:message>
1235    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1236      <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.
1237      Some common link types are defined in the HTML5 specification.      Some common link types are defined in the HTML5 specification.
# Line 293  Web Document Conformance Checker (BETA)< Line 1243  Web Document Conformance Checker (BETA)<
1243      The link type might have been added to the registry since then.      The link type might have been added to the registry since then.
1244      In such case it might be conforming.  Otherwise, the      In such case it might be conforming.  Otherwise, the
1245      document is non-conforming.</p>      document is non-conforming.</p>
1246    
1247        <dl>
1248        <dt>Link types <code>shortcut icon</code></dt>
1249            <dd>Link type <code>shortcut</code> is not registered.
1250            Use only <code>icon</code> for linking to so-called favicon.</dd>
1251        </dl>
1252    </d:desc>    </d:desc>
1253  </d:item>  </d:item>
1254    
1255    <d:item name="event handler"
1256        class="unsupported" level="unsupported">
1257      <d:message xml:lang="en">Conformance checking for event handler attribute
1258      is not supported; <em>it might or might not be conforming.</em></d:message>
1259    </d:item>
1260    
1261    <d:item name="media query"
1262        class="unsupported" level="unsupported">
1263      <d:message xml:lang="en">Conformance checking for media query
1264      is not supported; <em>it might or might not be conforming.</em></d:message>
1265    </d:item>
1266    
1267    <d:item name="script"
1268        class="unsupported" level="unsupported">
1269      <d:message xml:lang="en">Conformance checking for script
1270      language <code><var>$0</var></code> is not supported;
1271      <em>it might or might not be conforming.</em></d:message>
1272    </d:item>
1273    
1274    <d:item name="style"
1275        class="unsupported" level="unsupported">
1276      <d:message xml:lang="en">Conformance checking for style
1277      language <code><var>$0</var></code> is not supported;
1278      <em>it might or might not be conforming.</em></d:message>
1279    </d:item>
1280    
1281  </section>  </section>
1282    
1283  <d:catalog>  <d:catalog>
# Line 307  manakaiIsHTML:1;;HTML Document Line 1289  manakaiIsHTML:1;;HTML Document
1289  manakaiIsHTML:0;;XML Document  manakaiIsHTML:0;;XML Document
1290  </d:catalog>  </d:catalog>
1291    
1292    <section id="levels">
1293    <h2>Error Levels</h2>
1294    
1295    <table id="levels-table">
1296    <thead>
1297    <tr><th scope="col">Level</th>
1298    <th scope="col">Conforming?</th>
1299    <th scope="col">Description</th>
1300    </tr>
1301    </thead>
1302    <tbody>
1303    <tr id="level-m" class="level-m">
1304    <th scope="row"><em class="rfc2119">MUST</em>‐level error</th>
1305    <td>Non‐conforming.</td>
1306    <td>A violation to a hard requirement of the specification.
1307    The document is non‐conforming.</td>
1308    </tr>
1309    <tr id="level-s" class="level-s">
1310    <th scope="row"><em class="rfc2119">SHOULD</em>‐level error</th>
1311    <td>Non‐conforming, but <em>in some case</em>
1312    conforming.</td>
1313    <td>A violation to a requirement of the specification.
1314    The violation might be legitimize in some case.  Otherwise,
1315    the document is non‐conforming.</td>
1316    </tr>
1317    <tr id="level-w" class="level-w">
1318    <th scope="row">Warning</th>
1319    <td>Conforming.</td>
1320    <td>A warning is an advice from the conformance checker to avoid
1321    to solve a problem in a confusing or possibly wrong way.
1322    It does not affect to the conformance of the document, and
1323    may sometimes be inappropriate.</td>
1324    </tr>
1325    <tr id="level-unsupported" class="level-unsupported">
1326    <th scope="row">Not supported</th>
1327    <td><em>Unknown</em>.</td>
1328    <td>Some feature that is not supported by the conformance checker
1329    is used in the document.</td>
1330    </tr>
1331    </tbody>
1332    </table>
1333    </section>
1334    
1335  <section id="license">  <section id="license">
1336  <h2>License of This Document</h2>  <h2>License of This Document</h2>
1337    
1338  <p>Copyright 2007 <a href="http://suika.fam.cx/~wakaba/who?">Wakaba</a></p>  <p>Copyright <time>2007</time>
1339  <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>
1340    <code class="mail">&lt;<a href="mailto:w@suika.fam.cx">w@suika.fam.cx</a>></code>.</p>
1341    
1342    <p>This document is free software; you can redistribute it
1343  and/or modify it under the same terms as Perl itself.</p>  and/or modify it under the same terms as Perl itself.</p>
1344  </section>  </section>
1345    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.13

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24