/[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.14 - (hide annotations) (download) (as text)
Wed Nov 7 11:29:46 2007 UTC (16 years, 6 months ago) by wakaba
Branch: MAIN
Changes since 1.13: +17 -1 lines
File MIME type: text/xml
++ ChangeLog	7 Nov 2007 11:29:34 -0000
2007-11-07  Wakaba  <wakaba@suika.fam.cx>

	* error-description-source.xml (enumerated:invalid:http-equiv:content-type):
	New.

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.14 <d:item name="enumerated:invalid:http-equiv:content-type"
909     class="attribute-value-error">
910     <d:message xml:lang="en">Charset declaration syntax
911     <code>&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
912     is obsolete.</d:message>
913     <d:desc xml:lang="en">
914     <p>Old long charset declaration syntax
915     <code>&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
916     is in use. The document is non‐conforming.</p>
917    
918     <p>The new charset declaration syntax is:
919     <pre><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
920     </p>
921     </d:desc>
922     </d:item>
923    
924 wakaba 1.3 <d:item name="duplicate ID"
925     class="attribute-value-error">
926     <d:message xml:lang="en">This identifier has already been
927     assigned to another element.</d:message>
928     <!-- @@ <id=a xml:id=a>? -->
929     </d:item>
930    
931 wakaba 1.5 <d:item name="link type:bad context"
932 wakaba 1.4 class="attribute-value-error">
933     <d:message xml:lang="en">The link type <code><var>$0</var></code>
934     cannot be specified for this element.</d:message>
935     <d:desc xml:lang="en">
936     <p>The specified link type cannot be used for the element.
937     The document is non-conforming.</p>
938    
939     <p>Link types are associated with limited set of elements.
940     They cannot be used with other elements.</p>
941    
942     <p>For example, link type <code>bookmark</code>
943     can be used with <code>a</code> or <code>area</code> element,
944     while it cannot be used with <code>link</code> element.</p>
945     </d:desc>
946     </d:item>
947    
948     <d:item name="link type:non-conforming"
949     class="attribute-value-error">
950     <d:message xml:lang="en">The link type <code><var>$0</var></code>
951     is non-conforming.</d:message>
952     <d:desc xml:lang="en">
953 wakaba 1.6 <p>The specified link type is non-conforming, and therefore
954     the document is non-conforming.</p>
955 wakaba 1.4
956 wakaba 1.12 <dl class="switch">
957 wakaba 1.6 <dt>Link type <code>contents</code></dt>
958     <dd>Use link type <code>index</code>.</dd>
959     <dt>Link type <code>copyright</code></dt>
960     <dd>Use link type <code>license</code>.</dd>
961     <dt>Link type <code>home</code></dt>
962     <dd>Use link type <code>index</code>.</dd>
963 wakaba 1.12 <dt>Link type <code>previous</code></dt>
964     <dd>Use link type <code>prev</code>.</dd>
965 wakaba 1.6 <dt>Link type <code>start</code></dt>
966     <dd>Use link type <code>first</code>.</dd>
967 wakaba 1.12 <dt>Link type <code>toc</code> or <code>top</code></dt>
968 wakaba 1.6 <dd>Use link type <code>index</code>.</dd>
969     </dl>
970 wakaba 1.4 </d:desc>
971     </d:item>
972    
973 wakaba 1.3 <d:item name="reserved browsing context name"
974     class="attribute-value-error">
975 wakaba 1.6 <d:message xml:lang="en">Browsing context name
976     <code><var>{@}</var></code> is reserved.</d:message>
977     <d:desc xml:lang="en">
978 wakaba 1.3 <p>The specified browsing context name is reserved.
979     The document is non-conforming.</p>
980    
981     <p>Names of browsing contexts starting with <code>_</code>
982     (<code>U+005F</code> <code class="charname">LOW LINE</code>)
983     are reserved so that it must not be used.</p>
984    
985     <p>Old version of HTML, non-HTML markup languages, and
986     Web browsers define or implements special reserved
987     browsing context names <code>_blank</code>,
988     <code>_main</code>, and <code>_replace</code>.
989     However, they are <em>not</em> conforming attribute values.</p>
990 wakaba 1.6 </d:desc>
991 wakaba 1.3 </d:item>
992    
993 wakaba 1.2 </section>
994    
995 wakaba 1.4 <section id="attribute-value-warnings">
996     <h2>Attribute Value Warnings</h2>
997    
998     <d:item name="link type:proposed" level="s"
999     class="attribute-value-warning should">
1000     <d:message xml:lang="en">Link type <code><var>$0</var></code>
1001     is proposed but not accepted yet; it <em>should not</em> be
1002     used until it has been accepted.</d:message>
1003     <d:desc>
1004     <p>The link type is in the <i>proposed</i> status; it
1005     <em>should not</em> be used until it has been
1006     accepted.</p>
1007    
1008     <p><strong>Warning</strong>: The data served to the
1009     conforming checker might be out of date; it might have already
1010 wakaba 1.12 been accepted or rejected. The document might or might not be
1011     conforming depending on the status. See WHATWG Wiki
1012 wakaba 1.4 for the latest information.</p>
1013     </d:desc>
1014     </d:item>
1015    
1016     </section>
1017    
1018 wakaba 1.2 <section id="table-model-errors">
1019     <h2>Table Model Errors</h2>
1020    
1021 wakaba 1.3 <d:item name="table:colspan creates column with no anchored cell"
1022     class="table-model-error">
1023     <d:message xml:lang="en">This <code>colspan</code> attribute
1024     results in creating a table column that does not contain
1025     any cell anchored to it.</d:message>
1026     </d:item>
1027    
1028 wakaba 1.2 <d:item name="table:no cell in last row"
1029     class="table-model-error">
1030     <d:message xml:lang="en">The table has no cell (<code>td</code> or
1031     <code>th</code>) in the last row.</d:message>
1032     </d:item>
1033    
1034 wakaba 1.6 <d:item name="table:rowspan extends table"
1035     class="table-model-error">
1036     <d:message xml:lang="en">This <code>rowspan</code> attribute
1037     results in creating a table row that does not contain
1038     any cell anchored to it.</d:message>
1039     <d:desc xml:lang="en">
1040     <p>The <code>rowspan</code> attribute value of the cell
1041     is so specified that it extends a table in the row axis.
1042     However, the extended row does not contain any cell by itself.
1043     The document is non-conforming.</p>
1044    
1045     <p>For example, the table below is non-conforming:
1046     <pre class="html non-conforming example"><code>&lt;table>
1047     &lt;tbody>
1048     &lt;tr>&lt;td rowspan=2>&lt;/td>&lt;/tr>
1049     &lt;/tbody>
1050     &lt;/table></code></pre>
1051 wakaba 1.9 ... since the second row contains only
1052     a cell that spans between first and second rows.</p>
1053 wakaba 1.6 </d:desc>
1054     </d:item>
1055    
1056 wakaba 1.2 </section>
1057    
1058     <section id="imt-warnings">
1059     <h2>Internet Media Type Warnings</h2>
1060    
1061     <d:item name="IMT:obsolete subtype"
1062     class="should" level="s">
1063 wakaba 1.6 <d:message xml:lang="en"><code><var>{@}</var></code>: An <em>obsolete</em>
1064     subtype is used.</d:message>
1065 wakaba 1.12 <d:item xml:lang="en">
1066     <p>The specified Internet Media Type is registered with status
1067     of <i>OBSOLETE</i>.</p><!-- @@ SHOULD NOT? -->
1068    
1069     <dl class="swtich">
1070     <dt>Media type <code>text/ecmascript</code></dt>
1071     <dd>Media type <code>text/ecmascript</code> is obsoleted in
1072     favor of <code>application/ecmascript</code>. Note that
1073     <code>text/javascript</code> would be better alternative
1074     for many cases.</dd>
1075     <dt>Media type <code>text/javascript</code></dt>
1076     <dd>Media type <code>text/javascript</code> is obsoleted by
1077     <abbr>IETF</abbr> with backward incompatible alternate
1078     <code>application/javascript</code> for architectural
1079     purity.<!-- @@ ref? --> Realist may ignore this warning.</dd>
1080     </dl>
1081     </d:item>
1082 wakaba 1.2 </d:item>
1083    
1084     <d:item name="IMT:private subtype"
1085     class="should" level="s">
1086 wakaba 1.6 <d:message xml:lang="en"><code><var>{@}</var></code>: A private
1087     (<code>x-</code> or <code>x.</code>) subtype is used.</d:message>
1088 wakaba 1.2 </d:item>
1089    
1090     <d:item name="IMT:unregistered subtype"
1091     class="should" level="s">
1092 wakaba 1.6 <d:message xml:lang="en"><code><var>{@}</var></code>: The subtype is
1093     not registered to IANA.</d:message>
1094 wakaba 1.2 <!-- TODO: Unknown message?? -->
1095     </d:item>
1096    
1097     </section>
1098    
1099     <section id="uri-errors">
1100     <h2>URI (or IRI) Errors</h2>
1101    
1102     <d:item name="URI::syntax error"
1103     class="must" level="m">
1104 wakaba 1.6 <d:message xml:lang="en">The specified value is syntactically not an IRI
1105     reference.</d:message>
1106     <d:desc xml:lang="en">
1107     <p>The specified value does not satisfy the syntactical requirements
1108     for IRI references. The document is non-conforming.</p>
1109    
1110     <p>Possible causes:
1111     <ul>
1112     <li>The string might contain one or more white space characters.
1113     Especially, the <code> </code> (<code>U+0020</code>
1114     <code class="charname">SPACE</code>) character cannot be
1115     used in IRI references.</li>
1116     </ul>
1117     </p>
1118     </d:desc>
1119 wakaba 1.2 </d:item>
1120    
1121     </section>
1122    
1123 wakaba 1.9 <section id="uri-shoulds">
1124     <h2>URI (or IRI) Should-level Errors</h2>
1125 wakaba 1.3
1126     <d:item name="URI::dot-segment"
1127     class="should" level="s">
1128 wakaba 1.9 <d:message xml:lang="en">A dot-segment (<code>.</code> or
1129     <code>..</code>) occurs in an absolute reference.</d:message>
1130 wakaba 1.3 <d:desc>
1131     <p>Dot-segment (<code>.</code> or <code>..</code>) should
1132     not occur in an absolute reference.</p>
1133    
1134     <p>In relative references, dot-segments are used to represent
1135     the current (<code>.</code>) or the parent (<code>..</code>)
1136     hierarchy of the path. Though they are also allowed
1137     in absolute references, it should be resolved to the
1138     canonical form before it has been published.</p>
1139     </d:desc>
1140     </d:item>
1141 wakaba 1.2
1142     <d:item name="URI::empty path"
1143     class="should" level="s">
1144 wakaba 1.9 <d:message xml:lang="en">This IRI does not end with
1145     a <code>/</code>.</d:message>
1146 wakaba 1.12 <d:item xml:lang="en">
1147     <p>The IRI does not end with a <code>/</code>. If there is an
1148     authority component in an IRI, a <code>/</code> should be present
1149     instead of empty path component.</p>
1150    
1151     <p>For example, <code>http://www.example.com<strong>/</strong></code>
1152     is preferred to <code>http://www.example.com</code>.</p>
1153     </d:item>
1154 wakaba 1.2 </d:item>
1155 wakaba 1.1
1156 wakaba 1.4 <d:item name="URI::lowercase hexadecimal digit"
1157     class="should" level="s">
1158 wakaba 1.9 <d:message xml:lang="en">A lowercase hexadecimal digit is used
1159     in percent-encoding.</d:message>
1160 wakaba 1.4 <d:desc xml:lang="en">
1161     <p>The hexadecimal digit in percent-encoding string in the IRI
1162     is in lowercase. Though the IRI <em>is</em> conforming,
1163     it should be in uppercase.</p>
1164     </d:desc>
1165     </d:item>
1166    
1167     <d:item name="URI::percent-encoded unreserved"
1168     class="should" level="s">
1169     <d:message xml:lang="en">An unreserved character is
1170     percent-encoded.</d:message>
1171     <d:desc xml:lang="en">
1172     <p>An unreserved character is percent-encoded in the IRI.
1173     Though it <em>is</em> conforming, it should be in the
1174     decoded (or bare) form.</p>
1175     </d:desc>
1176     </d:item>
1177    
1178 wakaba 1.6 <d:item name="URI::uppercase scheme name"
1179     class="should" level="s">
1180     <d:message xml:lang="en">URI scheme name is in uppercase.</d:message>
1181     <d:desc xml:lang="en">
1182     <p>The scheme part of the IRI is written in uppercase letter.</p>
1183    
1184     <p>Uppercase scheme names are not required to be processed
1185     correctly.</p>
1186     <!-- @@
1187     RFC 3986 3.1.
1188     > Although schemes are case-
1189     insensitive, the canonical form is lowercase and documents that
1190     specify schemes must do so with lowercase letters.
1191    
1192     > An implementation ... should only produce lowercase scheme names for
1193     consistency.
1194     -->
1195     </d:desc>
1196     </d:item>
1197    
1198 wakaba 1.1 </section>
1199    
1200 wakaba 1.12 <section id="cache-manifest-errors">
1201     <h2>Cache Manifest Errors</h2>
1202    
1203     <d:item name="not manifest" class="must" level="m">
1204     <d:message xml:lang="en">This document is not a cache manifest.</d:message>
1205     <d:desc xml:lang="en">
1206     <p>The specified document is <em>not</em> a cache manifest.
1207     The document is non-conforming.</p>
1208    
1209     <p>An entity labeled as Internet media type
1210     <code>text/cache-manifest</code> must contain a cache manifest.</p>
1211    
1212     <p>A cache manifest must start with a line whose content is
1213     <code>CACHE MANIFEST</code> (exactly one space character between
1214     <code>CACHE</code> and <code>MANIFEST</code>).</p>
1215     </d:desc>
1216     </d:item>
1217     </section>
1218    
1219 wakaba 1.1 <section id="unsupported-messages">
1220     <h2><i>Unsupported</i> Messages</h2>
1221    
1222 wakaba 1.9 <d:item name="element"
1223 wakaba 1.2 class="unsupported" level="unsupported">
1224 wakaba 1.9 <d:message xml:lang="en">Conformance checking for element
1225     <code><var>{local-name}</var></code> is not supported; <em>it might or
1226     might not be conforming</em>.</d:message>
1227 wakaba 1.1 <d:desc xml:lang="en">
1228 wakaba 1.9 <p>The conformant checker does not support the element.
1229 wakaba 1.1 It cannot determine whether the document is conforming or not.</p>
1230     </d:desc>
1231     </d:item>
1232    
1233 wakaba 1.9 <d:item name="attribute"
1234 wakaba 1.2 class="unsupported" level="unsupported">
1235 wakaba 1.9 <d:message xml:lang="en">Conformance checking for attribute
1236     <code><var>{local-name}</var></code> of element
1237     <code><var>{element-local-name}</var></code> is not supported;
1238     <em>it might or might not be conforming</em>.</d:message>
1239 wakaba 1.1 <d:desc xml:lang="en">
1240 wakaba 1.9 <p>The conformant checker does not support the attribute.
1241 wakaba 1.1 It cannot determine whether the document is conforming or not.</p>
1242     </d:desc>
1243     </d:item>
1244    
1245 wakaba 1.2 <d:item name="link type"
1246     class="unsupported" level="unsupported">
1247 wakaba 1.9 <d:message xml:lang="en">Link type <code><var>$0</var></code> is not
1248 wakaba 1.4 standardized or registered at the time of the release of the conformance
1249 wakaba 1.9 checker; <em>it is non-conforming unless it now has been
1250 wakaba 1.4 registered</em>.</d:message>
1251 wakaba 1.1 <d:desc xml:lang="en">
1252     <p>The <code>rel</code> attribute is defined as a list of link types.
1253     Some common link types are defined in the HTML5 specification.
1254     Additional link types can be registered to the WHATWG Wiki.
1255     use of any other link type is non-conforming.</p>
1256    
1257     <p>The specified link type is not part of the standard or registry
1258     when the database used by the conformance cheker is created.
1259     The link type might have been added to the registry since then.
1260     In such case it might be conforming. Otherwise, the
1261     document is non-conforming.</p>
1262 wakaba 1.8
1263     <dl>
1264     <dt>Link types <code>shortcut icon</code></dt>
1265     <dd>Link type <code>shortcut</code> is not registered.
1266     Use only <code>icon</code> for linking to so-called favicon.</dd>
1267     </dl>
1268 wakaba 1.1 </d:desc>
1269     </d:item>
1270    
1271 wakaba 1.4 <d:item name="event handler"
1272     class="unsupported" level="unsupported">
1273     <d:message xml:lang="en">Conformance checking for event handler attribute
1274     is not supported; <em>it might or might not be conforming.</em></d:message>
1275     </d:item>
1276    
1277     <d:item name="media query"
1278     class="unsupported" level="unsupported">
1279     <d:message xml:lang="en">Conformance checking for media query
1280     is not supported; <em>it might or might not be conforming.</em></d:message>
1281     </d:item>
1282    
1283     <d:item name="script"
1284     class="unsupported" level="unsupported">
1285     <d:message xml:lang="en">Conformance checking for script
1286     language <code><var>$0</var></code> is not supported;
1287     <em>it might or might not be conforming.</em></d:message>
1288     </d:item>
1289    
1290     <d:item name="style"
1291     class="unsupported" level="unsupported">
1292     <d:message xml:lang="en">Conformance checking for style
1293     language <code><var>$0</var></code> is not supported;
1294     <em>it might or might not be conforming.</em></d:message>
1295     </d:item>
1296    
1297 wakaba 1.1 </section>
1298    
1299 wakaba 1.2 <d:catalog>
1300     manakaiCompatMode:quirks;;Quirks Mode
1301     manakaiCompatMode:limited quirks;;Limited Quirks Mode
1302     manakaiCompatMode:no quirks;;No Quirks Mode
1303    
1304     manakaiIsHTML:1;;HTML Document
1305     manakaiIsHTML:0;;XML Document
1306     </d:catalog>
1307    
1308 wakaba 1.13 <section id="levels">
1309     <h2>Error Levels</h2>
1310    
1311     <table id="levels-table">
1312     <thead>
1313     <tr><th scope="col">Level</th>
1314     <th scope="col">Conforming?</th>
1315     <th scope="col">Description</th>
1316     </tr>
1317     </thead>
1318     <tbody>
1319     <tr id="level-m" class="level-m">
1320     <th scope="row"><em class="rfc2119">MUST</em>‐level error</th>
1321     <td>Non‐conforming.</td>
1322     <td>A violation to a hard requirement of the specification.
1323     The document is non‐conforming.</td>
1324     </tr>
1325     <tr id="level-s" class="level-s">
1326     <th scope="row"><em class="rfc2119">SHOULD</em>‐level error</th>
1327     <td>Non‐conforming, but <em>in some case</em>
1328     conforming.</td>
1329     <td>A violation to a requirement of the specification.
1330     The violation might be legitimize in some case. Otherwise,
1331     the document is non‐conforming.</td>
1332     </tr>
1333     <tr id="level-w" class="level-w">
1334     <th scope="row">Warning</th>
1335     <td>Conforming.</td>
1336     <td>A warning is an advice from the conformance checker to avoid
1337     to solve a problem in a confusing or possibly wrong way.
1338     It does not affect to the conformance of the document, and
1339     may sometimes be inappropriate.</td>
1340     </tr>
1341     <tr id="level-unsupported" class="level-unsupported">
1342     <th scope="row">Not supported</th>
1343     <td><em>Unknown</em>.</td>
1344     <td>Some feature that is not supported by the conformance checker
1345     is used in the document.</td>
1346     </tr>
1347     </tbody>
1348     </table>
1349     </section>
1350    
1351 wakaba 1.1 <section id="license">
1352     <h2>License of This Document</h2>
1353    
1354 wakaba 1.12 <p>Copyright <time>2007</time>
1355     <a href="http://suika.fam.cx/~wakaba/who?" rel="author" xml:lang="ja">Wakaba</a>
1356     <code class="mail">&lt;<a href="mailto:w@suika.fam.cx">w@suika.fam.cx</a>></code>.</p>
1357    
1358 wakaba 1.9 <p>This document is free software; you can redistribute it
1359 wakaba 1.1 and/or modify it under the same terms as Perl itself.</p>
1360     </section>
1361    
1362 wakaba 1.14 <!-- $Date: 2007/11/05 09:33:52 $ -->
1363 wakaba 1.1 </body>
1364     </html>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24