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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.13 - (hide annotations) (download) (as text)
Mon Nov 5 09:33:52 2007 UTC (17 years, 1 month ago) by wakaba
Branch: MAIN
Changes since 1.12: +44 -1 lines
File MIME type: text/xml
++ ChangeLog	5 Nov 2007 09:33:38 -0000
2007-11-05  Wakaba  <wakaba@suika.fam.cx>

	* cc.cgi (get_error_level_label): New.

	* cc-style.css: New rules for error level descriptions.

	* error-description-source.xml: Description for error
	levels is added.

1 wakaba 1.1 <!DOCTYPE html>
2     <html xmlns="http://www.w3.org/1999/xhtml"
3     xmlns:d="http://suika.fam.cx/~wakaba/archive/2007/wdcc-desc/"
4     id="error-description">
5     <head>
6     <title xml:lang="en">Description of Errors &#x2014;
7     Web Document Conformance Checker (BETA)</title>
8     <link rel="stylesheet" href="cc-style"/>
9     <link rel="license" href="#license"/>
10     </head>
11     <body>
12     <h1>Description of Errors</h1>
13    
14 wakaba 1.2 <section id="html5-tokenize-error">
15     <h2>HTML5 Parse Errors in Tokenization Stage</h2>
16 wakaba 1.1
17 wakaba 1.3 <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 wakaba 1.7 <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 wakaba 1.3 <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 wakaba 1.9 <p><strong>Any <code>&amp;</code> character in URI (or IRI)
57     must be escaped as <code>&amp;amp;</code>.</strong></p>
58    
59 wakaba 1.3 <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 wakaba 1.7 <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 wakaba 1.4 <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 wakaba 1.6 <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 wakaba 1.4
116     <p>The <code>&lt;</code> character as a data character must
117     be escaped as:
118 wakaba 1.6 <pre class="html example"><code>&amp;lt;</code></pre>
119 wakaba 1.4 </p>
120     </d:desc>
121     </d:item>
122    
123 wakaba 1.3 <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 wakaba 1.6 a named entity reference for the <code>&amp;</code> character:
151 wakaba 1.3 <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 wakaba 1.6 a named entity reference for the <code>&amp;</code> character:
173 wakaba 1.3 <pre class="html example"><code>&amp;amp;#x</code></pre>
174     </p>
175     </d:desc>
176     </d:item>
177    
178 wakaba 1.9 <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 wakaba 1.7 <d:item name="bogus end tag"
211     class="tokenize-error">
212 wakaba 1.9 <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 wakaba 1.7 <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 wakaba 1.4 <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 wakaba 1.1 <d:item name="duplicate attribute"
250     class="tokenize-error">
251 wakaba 1.6 <d:message xml:lang="en">There are two attributes with name
252     <code><var>$0</var></code>.</d:message>
253 wakaba 1.1 <d:desc xml:lang="en">
254 wakaba 1.3 <p>There are more than one attributes with the same
255     name in a tag. The document is non-conforming.</p>
256 wakaba 1.1
257     <p>The <code>motion</code> attribute is not part of the HTML standard.
258     Use <code>img</code> element with animation GIF instead.</p>
259     </d:desc>
260     </d:item>
261    
262     <d:item name="nestc"
263     class="tokenize-error">
264 wakaba 1.10 <d:message xml:lang="en">Polytheistic slash (<code>/></code>) cannot be
265 wakaba 1.1 used for this element.</d:message>
266     <d:desc xml:lang="en">
267 wakaba 1.10 <p>Polytheistic slash (<code>/></code>) must not be used
268 wakaba 1.3 for the element. The document is non-conforming.</p>
269    
270 wakaba 1.10 <p>The polytheistic slash can only be
271 wakaba 1.1 used for <code>base</code>, <code>link</code>, <code>meta</code>,
272     <code>hr</code>, <code>br</code>, <code>img</code>,
273     <code>embed</code>, <code>param</code>, <code>area</code>,
274 wakaba 1.3 <code>col</code>, and <code>input</code> elements.</p>
275 wakaba 1.1
276 wakaba 1.12 <dl class="switch">
277 wakaba 1.9 <dt><code>&lt;script/></code></dt>
278 wakaba 1.10 <dd><p>The polytheistic slash cannot be used for <code>script</code>
279 wakaba 1.9 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 wakaba 1.10 polytheistic slash for <code>script</code> element as the
284 wakaba 1.9 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 wakaba 1.12 <code>&lt;nest/></code>, or <code>&lt;source/></code></dt>
293 wakaba 1.9 <dd>Future revision of HTML5 parsing algorithm is expected
294 wakaba 1.10 to allow polytheistic slash for these elements.</dd>
295 wakaba 1.9 <dt><code>&lt;a/></code>, <code>&lt;p/></code></dt>
296     <dd>These elements are not always empty and therefore
297 wakaba 1.10 polytheistic slash is not allowed.</dd>
298 wakaba 1.9 </dl>
299    
300 wakaba 1.10 <p>Note that, unlike in XML, the polytheistic slash has
301 wakaba 1.1 no effect in HTML.</p>
302     </d:desc>
303     </d:item>
304    
305 wakaba 1.5
306     <d:item name="pio"
307     class="tokenize-error">
308     <d:message xml:lang="en">Processing instruction
309 wakaba 1.9 (<code>&lt;?<var>...</var>></code>) cannot be used.</d:message>
310 wakaba 1.5 <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 wakaba 1.9 (<code>&lt;?xml-stylesheet <var>...</var>?></code>), are not allowed
315 wakaba 1.5 in the HTML syntax. The document is non-conforming.</p>
316    
317 wakaba 1.12 <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 wakaba 1.9 <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 wakaba 1.12 <abbr title="processing instruction">PI</abbr>)</dt>
327 wakaba 1.9 <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 wakaba 1.12 <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 wakaba 1.9 <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 wakaba 1.5
342     <p>Web browsers will parse processing instructions as bogus
343     comments. Some legacy Web browsers, such as IE:mac and
344 wakaba 1.9 some mobile Web browsers, will display processing instructions
345 wakaba 1.5 as string.</p>
346     </d:desc>
347     </d:item>
348    
349 wakaba 1.1 </section>
350    
351 wakaba 1.2 <section id="html5-parse-errors">
352     <h2>HTML5 Parse Errors in Tree Construction Stage</h2>
353    
354     <d:item name="after head"
355     class="parse-error">
356     <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>
358     <d:desc xml:lang="en">
359 wakaba 1.3 <p>A start tag appears after the <code>head</code> element is closed
360 wakaba 1.2 but before the <code>body</code> element is opened.
361     The document is non-conforming.</p>
362     </d:desc>
363     </d:item>
364    
365 wakaba 1.4 <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 wakaba 1.5 <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 wakaba 1.4 <d:item name="in body"
392     class="parse-error">
393     <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
394 wakaba 1.9 is not allowed in the <code>body</code> element.</d:message>
395 wakaba 1.4 <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 wakaba 1.5 <d:item name="in head:head"
404     class="parse-error">
405 wakaba 1.9 <d:message xml:lang="en">Start tag <code>&lt;head&gt;</code>
406 wakaba 1.5 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 wakaba 1.3 <d:item name="in table"
418     class="parse-error">
419     <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
420 wakaba 1.5 is not allowed in a <code>table</code> element.</d:message>
421 wakaba 1.3 <d:desc xml:lang="en">
422 wakaba 1.4 <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 wakaba 1.3
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 wakaba 1.2 <d:item name="no DOCTYPE"
468     class="parse-error">
469 wakaba 1.6 <d:message xml:lang="en">This document does not start with a
470 wakaba 1.3 <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 wakaba 1.12 before the <code>DOCTYPE</code>. XML declaration is <em>not</em>
481     allowed in HTML document.</p>
482 wakaba 1.3 </d:desc>
483 wakaba 1.2 </d:item>
484    
485     <d:item name="not closed"
486     class="parse-error">
487     <d:message xml:lang="en">Element <code><var>$0</var></code> is not
488     closed.</d:message>
489 wakaba 1.3 <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 wakaba 1.10
494 wakaba 1.11 <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 wakaba 1.10 <code>ol</code>, <code>option</code>, <code>optgroup</code>,
497 wakaba 1.11 <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 wakaba 1.10 For any element except for void element, there must be an explicit
502     end tag.</p>
503    
504 wakaba 1.12 <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 wakaba 1.10 <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 wakaba 1.3 </d:desc>
516 wakaba 1.2 </d:item>
517    
518 wakaba 1.6 <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>
535    
536 wakaba 1.2 <d:item name="not HTML5"
537     class="parse-error">
538     <d:message xml:lang="en">This document is written in an old version of
539     HTML.</d:message>
540 wakaba 1.3 <d:desc xml:lang="en">
541     <p>The document contains a <code>DOCTYPE</code> declaration
542 wakaba 1.6 that is different from HTML5 <code>DOCTYPE</code> (i.e.
543     <code>&lt;!DOCTYPE HTML&gt;</code>). The document is non-conforming.</p>
544 wakaba 1.3
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 wakaba 1.2 </d:item>
552    
553     <d:item name="unmatched end tag"
554     class="parse-error">
555     <d:message xml:lang="en">Element <code><var>$0</var></code> is not
556     opened.</d:message>
557 wakaba 1.4 <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 wakaba 1.12
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 wakaba 1.4 </d:desc>
577 wakaba 1.2 </d:item>
578    
579     </section>
580    
581 wakaba 1.1 <section id="element-content-model-errors">
582     <h2>Element Content Model Errors</h2>
583    
584     <d:item name="character not allowed"
585     class="content-model-error">
586     <d:message xml:lang="en">Data character is not allowed in this
587     context.</d:message>
588     <d:desc xml:lang="en">
589 wakaba 1.3 <p>A data character appears where it is not allowed in this
590 wakaba 1.1 context. The document is non-conforming.</p>
591    
592     <p>Possible causes:
593 wakaba 1.6 <ul>
594     <li><p>A data character cannot be a child
595     of certain sectioning elements such as <code>body</code>,
596     <code>section</code>, and <code>blockquote</code>.</p>
597    
598     <p>Any inline-level content must be put
599     in e.g. paragraph element such as <code>p</code>.</p></li>
600     <li><p>Though some elements such as <code>div</code>,
601     <code>li</code>, and <code>td</code> allow
602     <em>either one</em> of block-level or inline-level content
603     is allowed. If there is a block-level content,
604     any inline-level content must be put
605     in e.g. paragraph element such as <code>p</code>.</p></li>
606     </ul>
607 wakaba 1.1 </p>
608     </d:desc>
609     </d:item>
610    
611     <d:item name="child element missing"
612     class="content-model-error">
613     <d:message xml:lang="en">There must be a <code><var>$0</var></code>
614     element as a child of this element.</d:message>
615     <d:desc xml:lang="en">
616     <p>The content model of the element is so defined that it
617     must contain a <code><var>$0</var></code> child element.
618 wakaba 1.3 The document is non-conforming.</p>
619 wakaba 1.1
620 wakaba 1.12 <dl class="switch">
621     <dt>HTML <code>head</code> element</dt>
622     <dd>There must be a <code>title</code> child element.</dd>
623     <dt>HTML <code>html</code> element</dt>
624     <dd>There must be a <code>head</code> child element followed
625     by a <code>body</code> element.</dd>
626     <dt>HTML <code>tr</code> element</dt>
627     <dd><a href="#child-element-missing:td%7Cth">There must be
628     one or more <code>td</code> or <code>th</code> child element.</a></dd>
629     </dl>
630 wakaba 1.1 </d:desc>
631     </d:item>
632    
633     <d:item name="child element missing:td|th"
634     class="content-model-error">
635     <d:message xml:lang="en">There must be a <code>td</code>
636     or <code>th</code> element as a child of this element.</d:message>
637     <d:desc xml:lang="en">
638     <p>The <code>tr</code> element must contain at least one
639 wakaba 1.3 <code>td</code> or <code>th</code> child element. The document
640     is non-conforming.</p>
641 wakaba 1.1 </d:desc>
642     </d:item>
643    
644     <d:item name="element not allowed"
645     class="content-model-error">
646     <d:message xml:lang="en">This element is not allowed in this
647     context.</d:message>
648     <d:desc xml:lang="en">
649 wakaba 1.3 <p>An element appears where it is not allowed. The document
650 wakaba 1.1 is non-conforming.</p>
651    
652     <p>Possible causes:
653 wakaba 1.6 <dl class="switch">
654     <dt>If the element with the error is an inline-level element,
655     such as <code>a</code>, <code>progress</code>, or <code>img</code></dt>
656 wakaba 1.1 <dd><p>An inline-level element cannot be a child
657     of certain sectioning elements such as <code>body</code>,
658     <code>section</code>, and <code>blockquote</code>.</p>
659    
660     <p>Any inline-level content must be put
661     in e.g. paragraph element such as <code>p</code>.</p></dd>
662 wakaba 1.9 <dt>If it is a block-level elements, such as <code>aside</code>,
663     <code>div</code>, <code>h<var>n</var></code>,
664     <code>p</code>, or <code>section</code></dt>
665     <dd><dl class="switch">
666     <dt>If the parent element is <code>div</code>,
667     <code>li</code>, <code>td</code>, or <code>th</code></dt>
668     <!-- @@ TODO: more... -->
669     <!-- @@ TODO: <p><ul><li><p> -->
670     <dd><p>The parent element allows <em>either</em>
671     block-level or inline-level content. If there is a
672     block-level content, any inline-level content must be
673     put in e.g. paragraph element such as <code>p</code>.</p>
674     <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 wakaba 1.6 <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 wakaba 1.8 <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 wakaba 1.9
698 wakaba 1.11 <dt><code>button</code>, <code>datalist</code>,
699     <code>fieldset</code>, <code>form</code>,
700 wakaba 1.9 <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 wakaba 1.1 </dl>
708     </p>
709     </d:desc>
710     </d:item>
711    
712 wakaba 1.12 <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 wakaba 1.6 <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 wakaba 1.2 </section>
755    
756 wakaba 1.3 <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 wakaba 1.9 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 wakaba 1.3 </d:desc>
781     </d:item>
782    
783 wakaba 1.8 <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 wakaba 1.3 <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 wakaba 1.8 <d:desc xml:lang="en">
805 wakaba 1.3 <p>The <code>xml:lang</code> attribute is not allowed in
806     HTML document. The document is non-conforming.</p>
807    
808 wakaba 1.9 <p>Use of the <code>xml:lang</code> attribute is conforming
809     <em>only</em> in XML documents.</p>
810 wakaba 1.3
811     <p>To specify natural language information in HTML document,
812     use <code>lang</code> attribute instead.</p>
813 wakaba 1.6
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 wakaba 1.3 <!-- @@ 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 wakaba 1.9 namespace for HTML elements is conforming <em>only</em> in
851     HTML documents.</p>
852 wakaba 1.3
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 wakaba 1.8 <p>This error should not occur in conformance-checking of
868 wakaba 1.3 static documents.</p>
869     </d:desc>
870     </d:item>
871    
872     </section>
873    
874 wakaba 1.2 <section id="attribute-value-errors">
875     <h2>Attribute Value Errors</h2>
876 wakaba 1.1
877 wakaba 1.2 <d:item name="enumerated:invalid"
878 wakaba 1.3 class="attribute-value-error">
879 wakaba 1.2 <d:message xml:lang="en">This attribute only allow a limited set of
880 wakaba 1.6 values and the specified value <code><var>{@}</var></code> is not one
881     of them.</d:message>
882 wakaba 1.8 <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 wakaba 1.2 </d:item>
907    
908 wakaba 1.3 <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 wakaba 1.5 <d:item name="link type:bad context"
916 wakaba 1.4 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 wakaba 1.6 <p>The specified link type is non-conforming, and therefore
938     the document is non-conforming.</p>
939 wakaba 1.4
940 wakaba 1.12 <dl class="switch">
941 wakaba 1.6 <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 wakaba 1.12 <dt>Link type <code>previous</code></dt>
948     <dd>Use link type <code>prev</code>.</dd>
949 wakaba 1.6 <dt>Link type <code>start</code></dt>
950     <dd>Use link type <code>first</code>.</dd>
951 wakaba 1.12 <dt>Link type <code>toc</code> or <code>top</code></dt>
952 wakaba 1.6 <dd>Use link type <code>index</code>.</dd>
953     </dl>
954 wakaba 1.4 </d:desc>
955     </d:item>
956    
957 wakaba 1.3 <d:item name="reserved browsing context name"
958     class="attribute-value-error">
959 wakaba 1.6 <d:message xml:lang="en">Browsing context name
960     <code><var>{@}</var></code> is reserved.</d:message>
961     <d:desc xml:lang="en">
962 wakaba 1.3 <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 wakaba 1.6 </d:desc>
975 wakaba 1.3 </d:item>
976    
977 wakaba 1.2 </section>
978    
979 wakaba 1.4 <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 wakaba 1.12 been accepted or rejected. The document might or might not be
995     conforming depending on the status. See WHATWG Wiki
996 wakaba 1.4 for the latest information.</p>
997     </d:desc>
998     </d:item>
999    
1000     </section>
1001    
1002 wakaba 1.2 <section id="table-model-errors">
1003     <h2>Table Model Errors</h2>
1004    
1005 wakaba 1.3 <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 wakaba 1.2 <d:item name="table:no cell in last row"
1013     class="table-model-error">
1014     <d:message xml:lang="en">The table has no cell (<code>td</code> or
1015     <code>th</code>) in the last row.</d:message>
1016     </d:item>
1017    
1018 wakaba 1.6 <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 wakaba 1.9 ... since the second row contains only
1036     a cell that spans between first and second rows.</p>
1037 wakaba 1.6 </d:desc>
1038     </d:item>
1039    
1040 wakaba 1.2 </section>
1041    
1042     <section id="imt-warnings">
1043     <h2>Internet Media Type Warnings</h2>
1044    
1045     <d:item name="IMT:obsolete subtype"
1046     class="should" level="s">
1047 wakaba 1.6 <d:message xml:lang="en"><code><var>{@}</var></code>: An <em>obsolete</em>
1048     subtype is used.</d:message>
1049 wakaba 1.12 <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 wakaba 1.2 </d:item>
1067    
1068     <d:item name="IMT:private subtype"
1069     class="should" level="s">
1070 wakaba 1.6 <d:message xml:lang="en"><code><var>{@}</var></code>: A private
1071     (<code>x-</code> or <code>x.</code>) subtype is used.</d:message>
1072 wakaba 1.2 </d:item>
1073    
1074     <d:item name="IMT:unregistered subtype"
1075     class="should" level="s">
1076 wakaba 1.6 <d:message xml:lang="en"><code><var>{@}</var></code>: The subtype is
1077     not registered to IANA.</d:message>
1078 wakaba 1.2 <!-- TODO: Unknown message?? -->
1079     </d:item>
1080    
1081     </section>
1082    
1083     <section id="uri-errors">
1084     <h2>URI (or IRI) Errors</h2>
1085    
1086     <d:item name="URI::syntax error"
1087     class="must" level="m">
1088 wakaba 1.6 <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 wakaba 1.2 </d:item>
1104    
1105     </section>
1106    
1107 wakaba 1.9 <section id="uri-shoulds">
1108     <h2>URI (or IRI) Should-level Errors</h2>
1109 wakaba 1.3
1110     <d:item name="URI::dot-segment"
1111     class="should" level="s">
1112 wakaba 1.9 <d:message xml:lang="en">A dot-segment (<code>.</code> or
1113     <code>..</code>) occurs in an absolute reference.</d:message>
1114 wakaba 1.3 <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 wakaba 1.2
1126     <d:item name="URI::empty path"
1127     class="should" level="s">
1128 wakaba 1.9 <d:message xml:lang="en">This IRI does not end with
1129     a <code>/</code>.</d:message>
1130 wakaba 1.12 <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 wakaba 1.2 </d:item>
1139 wakaba 1.1
1140 wakaba 1.4 <d:item name="URI::lowercase hexadecimal digit"
1141     class="should" level="s">
1142 wakaba 1.9 <d:message xml:lang="en">A lowercase hexadecimal digit is used
1143     in percent-encoding.</d:message>
1144 wakaba 1.4 <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 wakaba 1.6 <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>
1181    
1182 wakaba 1.1 </section>
1183    
1184 wakaba 1.12 <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 wakaba 1.1 <section id="unsupported-messages">
1204     <h2><i>Unsupported</i> Messages</h2>
1205    
1206 wakaba 1.9 <d:item name="element"
1207 wakaba 1.2 class="unsupported" level="unsupported">
1208 wakaba 1.9 <d:message xml:lang="en">Conformance checking for element
1209     <code><var>{local-name}</var></code> is not supported; <em>it might or
1210     might not be conforming</em>.</d:message>
1211 wakaba 1.1 <d:desc xml:lang="en">
1212 wakaba 1.9 <p>The conformant checker does not support the element.
1213 wakaba 1.1 It cannot determine whether the document is conforming or not.</p>
1214     </d:desc>
1215     </d:item>
1216    
1217 wakaba 1.9 <d:item name="attribute"
1218 wakaba 1.2 class="unsupported" level="unsupported">
1219 wakaba 1.9 <d:message xml:lang="en">Conformance checking for attribute
1220     <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 wakaba 1.1 <d:desc xml:lang="en">
1224 wakaba 1.9 <p>The conformant checker does not support the attribute.
1225 wakaba 1.1 It cannot determine whether the document is conforming or not.</p>
1226     </d:desc>
1227     </d:item>
1228    
1229 wakaba 1.2 <d:item name="link type"
1230     class="unsupported" level="unsupported">
1231 wakaba 1.9 <d:message xml:lang="en">Link type <code><var>$0</var></code> is not
1232 wakaba 1.4 standardized or registered at the time of the release of the conformance
1233 wakaba 1.9 checker; <em>it is non-conforming unless it now has been
1234 wakaba 1.4 registered</em>.</d:message>
1235 wakaba 1.1 <d:desc xml:lang="en">
1236     <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.
1238     Additional link types can be registered to the WHATWG Wiki.
1239     use of any other link type is non-conforming.</p>
1240    
1241     <p>The specified link type is not part of the standard or registry
1242     when the database used by the conformance cheker is created.
1243     The link type might have been added to the registry since then.
1244     In such case it might be conforming. Otherwise, the
1245     document is non-conforming.</p>
1246 wakaba 1.8
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 wakaba 1.1 </d:desc>
1253     </d:item>
1254    
1255 wakaba 1.4 <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 wakaba 1.1 </section>
1282    
1283 wakaba 1.2 <d:catalog>
1284     manakaiCompatMode:quirks;;Quirks Mode
1285     manakaiCompatMode:limited quirks;;Limited Quirks Mode
1286     manakaiCompatMode:no quirks;;No Quirks Mode
1287    
1288     manakaiIsHTML:1;;HTML Document
1289     manakaiIsHTML:0;;XML Document
1290     </d:catalog>
1291    
1292 wakaba 1.13 <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 wakaba 1.1 <section id="license">
1336     <h2>License of This Document</h2>
1337    
1338 wakaba 1.12 <p>Copyright <time>2007</time>
1339     <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 wakaba 1.9 <p>This document is free software; you can redistribute it
1343 wakaba 1.1 and/or modify it under the same terms as Perl itself.</p>
1344     </section>
1345    
1346 wakaba 1.13 <!-- $Date: 2007/11/04 09:15:02 $ -->
1347 wakaba 1.1 </body>
1348     </html>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24