/[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.6 - (hide annotations) (download) (as text)
Sat Jul 21 04:58:17 2007 UTC (17 years, 4 months ago) by wakaba
Branch: MAIN
Changes since 1.5: +163 -51 lines
File MIME type: text/xml
++ ChangeLog	21 Jul 2007 04:58:03 -0000
2007-07-21  Wakaba  <wakaba@suika.fam.cx>

	* cc-style.css: Don't remove bullet of the document node
	in the document tree.  Don't collapse white space
	in the |code| elements.

	* cc.cgi: Put identifiers and class names into |code|
	element.
	(get_text): Template for attribute values are supported.

	* error-descriotion-source.en.xml: More error descriptions
	are included.  Use |{@}| attribute value insertion macro
	for errors in which it should be useful.

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24