/[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.11 - (show annotations) (download) (as text)
Mon Sep 10 11:51:09 2007 UTC (16 years, 8 months ago) by wakaba
Branch: MAIN
Changes since 1.10: +9 -6 lines
File MIME type: text/xml
++ ChangeLog	10 Sep 2007 11:50:30 -0000
2007-09-10  Wakaba  <wakaba@suika.fam.cx>

	* cc.cgi, cc-style.css: Scoring support.

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24