/[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.7 - (show annotations) (download) (as text)
Sat Aug 11 13:54:55 2007 UTC (16 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.6: +61 -1 lines
File MIME type: text/xml
++ ChangeLog	11 Aug 2007 13:54:20 -0000
2007-08-11  Wakaba  <wakaba@suika.fam.cx>

	* cc.cgi, parser-manakai.cgi, parser.cgi: Use |Message::CGI::HTTP|
	instead of |SuikaWiki::Input::HTTP|.

2007-08-05  Wakaba  <wakaba@suika.fam.cx>

	* cc-interface.en.html: IMT |application/atom+xml| is added.
	Link to |cc-todo| is added.

2007-07-24  Wakaba  <wakaba@suika.fam.cx>

	* error-description.xml: Description for "after body", "bare etago",
	and "bogus end tag" are added.

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24