/[pub]/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.43 - (hide annotations) (download) (as text)
Wed Sep 10 10:22:59 2008 UTC (17 years, 10 months ago) by wakaba
Branch: MAIN
Changes since 1.42: +89 -7 lines
File MIME type: text/xml
++ ChangeLog	10 Sep 2008 10:21:38 -0000
2008-09-10  Wakaba  <wakaba@suika.fam.cx>

	* error-description-source.xml: Encoding layer errors added.

++ html/WebHACC/ChangeLog	10 Sep 2008 10:22:56 -0000
2008-09-10  Wakaba  <wakaba@suika.fam.cx>

	* Output.pm (nl_text): Support for |<var>{octets}</var>|,
	|<var>{char}</var>|, and |<var>{char:hexref}</var>|
	macros.
	(generate_input_section): More charsets are added
	to the list of charsets.

	* Result.pm: Pass |char| and |octets| arguments
	to |nl_text|.

<
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 wakaba 1.36 <base href="cc/"/>
7     <title xml:lang="en">Description of Errors &#x2014; WebHACC (β)</title>
8 wakaba 1.37 <title xml:lang="ja">誤りの説明 &#x2014; WebHACC (β)</title>
9 wakaba 1.36 <link rel="stylesheet" href="../cc-style"/>
10 wakaba 1.1 <link rel="license" href="#license"/>
11     </head>
12     <body>
13 wakaba 1.36 <header>
14     <h1><a href="../cc-about"><abbr title="Web Hypertext Application Conformance Checker (β)"><img src="../icons/title" alt="WebHACC"/></abbr></a></h1>
15     <h2>Description of Errors</h2>
16     </header>
17    
18     <d:cat name="WebHACC:Title">
19     <d:text xml:lang="en">WebHACC (β)</d:text>
20     </d:cat>
21    
22     <d:cat name="WebHACC:Heading">
23     <d:text xml:lang="en">
24     <a href="../error-description#WebHACC:Heading" rel="help"><abbr title="Web Hypertext Application Conformance Checker (β)"><img src="../icons/title" alt="WebHACC"/></abbr></a>
25     </d:text>
26     <d:text xml:lang="ja">
27     <a href="../error-description#WebHACC:Heading" rel="help"><abbr title="Web ハイパーテキスト応用適合性検査器 (β)"><img src="../icons/title" alt="WebHACC"/></abbr></a>
28     </d:text>
29     <d:desc xml:lang="en">
30     <p><a href="./#input"><abbr title="Web Hypertext Application Conformance Checker">WebHACC</abbr></a>
31     is a <em>conformance checker</em> (or validator) for Web documents,
32     supporting <a href="../standards">latest Web standards</a> including
33     <a href="http://whatwg.org/html5"><abbr title="Hypertext Markup Language">HTML</abbr>5</a>,
34     <a href="urn:ietf:rfc:4287">Atom 1.0</a>,
35     <a href="http://www.w3.org/Style/CSS/current-work"><abbr title="Cascading Style Sheets">CSS</abbr>3</a>.</p>
36    
37     <p><strong><a href="./#input">Check your document</a></strong>, or
38     <a href="../cc-about">learn more about
39     <abbr title="Web Hypertext Application Conformance Checker">WebHACC</abbr></a>.</p>
40     </d:desc>
41     <d:desc xml:lang="ja">
42     <p><a href="./#input"><abbr title="Web ハイパーテキスト応用適合性検査器">WebHACC</abbr></a>
43     は、 Web 文書のための<em>適合性検査器</em> (妥当性検証器) です。
44     <a href="http://whatwg.org/html5"><abbr title="Hypertext Markup Language">HTML</abbr>5</a>、
45     <a href="urn:ietf:rfc:4287">Atom 1.0</a>、
46     <a href="http://www.w3.org/Style/CSS/current-work"><abbr title="Cascading Style Sheets">CSS</abbr>3</a>
47     などの<a href="../standards">最新の Web 標準</a>に対応しています。</p>
48    
49     <p><strong><a href="./#input">文書を検査する</a></strong></p>
50    
51     <p><a href="../cc-about"><abbr title="Web ハイパーテキスト応用適合性検査器">WebHACC</abbr>
52     の詳細</a></p>
53     </d:desc>
54     </d:cat>
55 wakaba 1.1
56 wakaba 1.23 <section id="character-encoding-layer">
57     <h2>Character Encoding Layer Errors</h2>
58    
59 wakaba 1.43 <d:item name="fallback-char-error"
60     modules="Charset::DecodeHandle">
61     <d:message xml:lang="en">Octet sequence <code><var>{octets}</var></code>
62     is not an allowed representation of the character
63     <code><var>{char}</var></code> &#x2014; character reference
64     <code><var>{char:hexref}</var></code> should be used instead.</d:message>
65     <!-- HTML5 parse error -->
66     </d:item>
67    
68     <d:item name="fallback-unassigned-error"
69     modules="Charset::DecodeHandle">
70     <d:message xml:lang="en">No character is assigned to octet sequence
71     <code><var>{octets}</var></code>.</d:message>
72     <!-- HTML5 parse error -->
73     </d:item>
74    
75     <d:item name="illegal-octets-error"
76     modules="Charset::DecodeHandle">
77     <d:message xml:lang="en">Octet sequence <code><var>{octets}</var></code>
78     is illegal.</d:message>
79     </d:item>
80    
81     <d:item name="invalid-state-error"
82     modules="Charset::DecodeHandle::ISO2022JP">
83     <!-- TODO: more user-friendly error message is desired... -->
84     <d:message xml:lang="en">The input stream is broken.</d:message>
85     <d:desc xml:lang="en">
86     <p>The input stream is encoded in <code>ISO-2022-JP</code>
87     or its variant but is partially broken.</p>
88    
89     <p>Note that an <code>ISO-2022-JP</code> stream must end in the ASCII
90     state.</p>
91     </d:desc>
92     </d:item>
93    
94     <d:item name="unassigned-code-point-error"
95     modules="Charset::DecodeHandle">
96     <d:message xml:lang="en">No character is assigned to octet sequence
97     <code><var>{octets}</var></code>.</d:message>
98 wakaba 1.23 </d:item>
99     </section>
100    
101 wakaba 1.16 <section id="html5-character-encoding">
102     <h2>HTML5 Character Encoding Errors</h2>
103    
104 wakaba 1.30 <d:item name="disallowed character encoding"
105     modules="ContentChecker">
106     <d:message xml:lang="en">Character encoding <code><var>{text}</var></code>
107 wakaba 1.16 is not allowed for <abbr>HTML</abbr> document.</d:message>
108     <d:desc xml:lang="en">
109     <p>The character encoding used for the document is not allowed
110     for <abbr>HTML</abbr> document. The document is non‐conforming.</p>
111     </d:desc>
112     </d:item>
113    
114 wakaba 1.30 <d:item name="bad character encoding"
115     modules="ContentChecker">
116     <d:message xml:lang="en">Character encoding <code><var>{text}</var></code>
117 wakaba 1.16 should not be used for <abbr>HTML</abbr> document.</d:message>
118     <d:desc xml:lang="en">
119     <p>The character encoding used for the document is not recommended
120     for <abbr>HTML</abbr> document. The document is non‐conforming
121     unless there is any good reason to use that encoding.</p>
122     </d:desc>
123     </d:item>
124    
125 wakaba 1.30 <d:item name="non-utf-8 character encoding"
126     modules="ContentChecker">
127     <d:message xml:lang="en">Use of UTF-8 is encouraged (this document
128     is encoded in <code><var>{text}</var></code>).</d:message>
129 wakaba 1.16 <d:desc xml:lang="en">
130     <p>Use of UTF-8 as the character encoding of the document is encouraged,
131 wakaba 1.21 though the use of another character encoding is still conforming.</p>
132 wakaba 1.16 </d:desc>
133     </d:item>
134    
135 wakaba 1.30 <d:item name="character encoding unchecked"
136     modules="ContentChecker">
137 wakaba 1.17 <d:message xml:lang="en">Conformance for character encoding requirements
138 wakaba 1.30 cannot be checked, since the input is not a byte stream.</d:message>
139 wakaba 1.17 <d:desc xml:lang="en">
140     <p>The conformance checker cannot detect whether the input document
141     met the requirements on character encoding, since the document
142     is not inputed as a serialized byte sequence. The document is
143     not conforming if it is not encoded in an appropriate character
144     encoding with appropriate labeling.</p>
145     </d:desc>
146     </d:item>
147    
148 wakaba 1.30 <d:item name="no character encoding declaration"
149     modules="ContentChecker">
150 wakaba 1.16 <d:message xml:lang="en">There is no character encoding
151     declaration.</d:message>
152     <d:desc xml:lang="en">
153     <p>The document does not contain a character encoding
154     declaration. Unless the character encoding is explicitly
155 wakaba 1.17 specified in lower‐level protocol, e.g. in <abbr>HTTP</abbr>,
156 wakaba 1.16 or is implied by <abbr>BOM</abbr>, there must be a character
157     encoding declaration. The document is non‐conforming.</p>
158    
159     <p>The long character encoding declaration syntax
160     <code class="html bad example">&lt;meta http-equiv="Content-Type" content="text/html; charset=<var>charset-name</var>"></code>
161     is obsolete. The new syntax is:</p>
162     <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
163    
164     <p>Note that the <code>encoding</code> declaration in <abbr>XML</abbr>
165     declaration has no effect for <abbr>HTML</abbr> document.</p>
166     </d:desc>
167     </d:item>
168    
169 wakaba 1.30 <d:item name="non ascii superset"
170     modules="ContentChecker">
171 wakaba 1.16 <d:message xml:lang="en">No character encoding metadata is found
172 wakaba 1.17 in lower‐level protocol nor is there <abbr>BOM</abbr>, while
173 wakaba 1.30 character encoding <code><var>{text}</var></code>
174 wakaba 1.16 is not a superset of <abbr>ASCII</abbr>.</d:message>
175     <d:desc xml:lang="en">
176     <p>The document is not labeled with character encoding name
177 wakaba 1.17 in lower‐level protocol, e.g. in <abbr>HTTP</abbr>, and
178 wakaba 1.16 the document is not begin with <abbr>BOM</abbr>. In addition,
179     the character encoding of the document is not a superset of
180     <abbr>ASCII</abbr>. The document is non‐conforming.</p>
181    
182     <p>Unless there is a <abbr>BOM</abbr>, the character encoding
183     for the document must be specified in e.g. <abbr>HTTP</abbr>‐level,
184     as:</p>
185     <pre class="http example"><code>Content-Type: text/html; charset=<var>charset-name</var></code></pre>
186    
187     <p>Existence of <abbr>HTML</abbr> character encoding declaration, i.e.
188     <code class="html example">&lt;meta charset="<var>charset-name</var>"></code>,
189     does not allow to omit <code>charset</code> parameter
190     for <abbr>HTML</abbr> document encoded in non‐<abbr>ASCII</abbr>
191     compatible encoding.</p>
192    
193     <p>Character encodings <code>Shift_JIS</code>, <code>Windows-31J</code>,
194     and <code>ISO-2022-JP</code> are <em>not</em> a superset of
195     <abbr>ASCII</abbr> for the purpose of <abbr>HTML</abbr> conformance.</p>
196     </d:desc>
197     </d:item>
198    
199 wakaba 1.29 <d:item name="sniffing:chardet"
200     modules="HTML::Parser">
201     <d:message xml:lang="en">Character encoding of this document is sniffed
202     as <code><var>{text}</var></code> (Sniffed because no explicit specification
203     for the character encoding of this document is found in the transfer
204     procotol headers).</d:message>
205     </d:item>
206    
207     <d:item name="sniffing:default"
208     modules="HTML::Parser">
209     <d:message xml:lang="en">Character encoding of this document is defaulted
210     to <code><var>{text}</var></code> because no explicit specification
211     for the character encoding of this document is found in the transfer
212     procotol headers.</d:message>
213     </d:item>
214    
215     <d:item name="chardecode:fallback"
216     modules="HTML::Parser">
217 wakaba 1.43 <d:message xml:lang="en">Results might be <em>wrong</em>, since the
218     conformance checker cannot find an appropriate decoder for the character
219     encoding used for the document.</d:message>
220     <d:desc xml:lang="en">
221     <p>The conformance checker cannot find an appropriate decoder for
222     the character encoding used to encode characters in the document.</p>
223    
224     <p>This error is raised if:</p>
225     <ul>
226     <li>the conformance checker cannot find any decoder for the character
227     encoding in use, but it knows that the encoding is similar to another
228     character encoding, such that it uses the decoder for that character
229     encoding, and therefore some octets might be interpreted incorrectly,
230     or,</li>
231     <li>the conformance checker find a decoder for the character encoding
232     in use, but it does not know whether the decoder is conforming to the
233     relevant specification or not, and therefore some octets might be
234     interpreted incorrectly.</li>
235     </ul>
236    
237     <p>In either case, the result shown by the conformance checker might
238     contain wrong errors caused by errorneous decoder or might not contain
239     errors that should be raised if an appropriate decoder is used.</p>
240    
241     <!-- TODO: add advise that either install relevant modules or
242     join the developmenet of the modules... -->
243     </d:desc>
244 wakaba 1.29 </d:item>
245    
246     <d:item name="chardecode:no error"
247     modules="HTML::Parser">
248     <d:message xml:lang="en">Conformance error checking for the character
249     encoding <code><var>{text}</var></code> is not supported.</d:message>
250     </d:item>
251    
252     <d:item name="charset label:matching"
253     modules="HTML::Parser">
254     <d:message xml:lang="en">Sniffed character encoding
255     <code><var>{text}</var></code> is same as the character encoding specified
256     in the character encoding declaration. This is <em>not</em> an
257     error.</d:message>
258     </d:item>
259    
260     <d:item name="charset label detected"
261     modules="HTML::Parser">
262 wakaba 1.16 <d:message xml:lang="en">While parsing the document as
263 wakaba 1.29 <code><var>{text}</var></code>, a character encoding declaration specifying
264     a different character encoding is found. The document
265 wakaba 1.16 is reparsed.</d:message>
266     <d:desc xml:lang="en">
267     <p>While parsing a document in a character encoding,
268     a character encoding declaration which declares the character
269     encoding of the document as another character encoding is found.
270     The occurence of this warning itself does not make the document
271     non‐conforming. However, the failure of the first attempt to
272 wakaba 1.21 to detect the character encoding might be a result of non‐conformance
273 wakaba 1.16 of the document.</p>
274    
275     <p>The document will be reparsed from the beginning. Some error
276     or warning might be reported again.</p>
277    
278     <p>These are suggestions to avoid this warning:</p>
279     <ul>
280     <li>Specify <code>charset</code> parameter in the <code>Content-Type</code>
281     field in the <abbr>HTTP</abbr> header, as:
282     <pre class="HTTP example"><code>Content-Type: text/html; charset="<var>charset-name</var>"</code></pre></li>
283     <li>Put the character encoding declaration
284     (<code class="html example">&lt;meta charset="<var>charset-name</var>"></code>)
285     just after <code class="html example">&lt;head></code> start tag.</li>
286     <li>Use <code>UTF-8</code>.</li>
287     </ul>
288     </d:desc>
289     </d:item>
290 wakaba 1.29
291     <d:item name="NULL"
292     modules="HTML::Parser">
293     <d:message xml:lang="en">The <code class="charname">NULL</code> character
294     is not allowed.</d:message>
295     </d:item>
296    
297     <d:item name="control char"
298     modules="HTML::Parser">
299     <d:message xml:lang="en">Code point <code><var>{text}</var></code> is
300     not allowed.</d:message>
301     </d:item>
302    
303 wakaba 1.16 </section>
304    
305 wakaba 1.2 <section id="html5-tokenize-error">
306     <h2>HTML5 Parse Errors in Tokenization Stage</h2>
307 wakaba 1.1
308 wakaba 1.29 <d:item name="bad attribute name"
309     modules="HTML::Parser">
310     <d:message xml:lang="en">Attribute name cannot contain characters
311     <code>"</code>, <code>'</code>, and <code>=</code>.</d:message>
312     </d:item>
313    
314     <d:item name="bad attribute value"
315     modules="HTML::Parser">
316     <d:message xml:lang="en">Attribute value must be quoted by <code>"</code>
317     or <code>'</code> if it contains a <code>"</code>, <code>'</code>, or
318     <code>=</code> character.</d:message>
319 wakaba 1.41 <d:desc xml:lang="en">
320     <p>In an unquoted attribute value, a character <code>"</code>
321     (<code>U+0022</code> <code class="charname">QUOTATION MARK</code>),
322     <code>'</code> (<code>U+0026</code>
323     <code class="charname">APOSTROPHE</code>), or <code>=</code>
324     (<code>U+003D</code> <code class="charname">EQUAL SIGN</code>)
325     is contained. These characters are not allowed in unquoted attribute
326     values, since they are used to quote attribute values or to separate
327     attribute name and value.</p>
328    
329     <p>This error is also raised if one try to use empty attribute
330     value like <code class="html bad example">&lt;foo bar= baz=></code>;
331     in this example, <code class="html bad example">baz=</code> is
332     treated as an invalid attribute value for the attribute
333     <code class="html bad example">bar</code>, not as another attribute.</p>
334     </d:desc>
335 wakaba 1.29 </d:item>
336    
337 wakaba 1.3 <d:item name="bare ero"
338 wakaba 1.29 modules="HTML::Parser">
339 wakaba 1.3 <d:message xml:lang="en">The <code>&amp;</code> character must
340 wakaba 1.22 be escaped as <code class="html example">&amp;amp;</code>.</d:message>
341 wakaba 1.3 <d:desc xml:lang="en">
342 wakaba 1.15 <p>An <code>&amp;</code> character which
343 wakaba 1.3 is not part of any reference appears in the input stream.
344 wakaba 1.15 The document is non‐conforming.</p>
345 wakaba 1.3
346 wakaba 1.15 <p><em>Any <code>&amp;</code> character in URI (or IRI)
347     must be escaped as <code class="example">&amp;amp;</code>.</em></p>
348 wakaba 1.9
349 wakaba 1.3 <p>The <code>&amp;</code> character must
350     be the first character of a reference:
351 wakaba 1.15 <dl class="switch">
352 wakaba 1.3 <dt>Named entity reference</dt>
353     <dd><pre class="html example"><code>&amp;<var>entity-name</var>;</code></pre>
354     where <var>entity-name</var> is the name of the
355     character entity to be referenced.</dd>
356     <dt>Numeric character reference</dt>
357     <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>
358     where <var>d</var> is the decimal representation of
359     the code position of the character to be referenced.</dd>
360     <dt>Hexadecimal character reference</dt>
361     <dd><pre class="html example"><code>&amp;#x<var>h</var>;</code></pre>
362     where <var>h</var> is the hexadecimal representation
363     of the code position of the character to be referenced.</dd>
364     </dl>
365     </p>
366    
367     <p>To represent <code>&amp;</code> as a data character, use
368     named entity reference:
369     <pre class="html example"><code>&amp;amp;</code></pre>
370     </p>
371     </d:desc>
372     </d:item>
373    
374 wakaba 1.7 <d:item name="bare etago"
375 wakaba 1.29 modules="HTML::Parser">
376 wakaba 1.7 <d:message xml:lang="en">A <code>&lt;/</code> string is not followed
377     by a tag name.</d:message><!-- </ EOF -->
378     <d:desc xml:lang="en">
379     <p>There is a <code>&lt;</code> (<code>U+003C</code>
380     <code class="charname">LESS-THAN SIGN</code>) character
381     immediately followed by a <code>/</code> (<code>U+005F</code>
382     <code>SOLIDUS</code>) character, which is not part
383     of any end tag, in the input stream. The document
384     is non-conforming.</p>
385    
386     <p>The <code>&lt;/</code> sequence immediately followed
387     by an <abbr title="End of file pseudo-character">EOF</abbr> is
388     interpreted as a string data of <code>&lt;/</code>.</p>
389    
390     <p>The <code>&lt;/</code> sequence as string data must
391     be escaped as:
392     <pre class="html example"><code>&amp;lt;/</code></pre>
393     </p>
394     </d:desc>
395     </d:item>
396    
397 wakaba 1.4 <d:item name="bare stago"
398 wakaba 1.29 modules="HTML::Parser">
399 wakaba 1.4 <d:message xml:lang="en">A <code>&lt;</code> character is not followed
400     by tag name or by a <code>!</code> character.</d:message>
401     <d:desc xml:lang="en">
402 wakaba 1.6 <p>A <code>&lt;</code> (<code>U+003C</code>
403     <code class="charname">LESS-THAN SIGN</code>) character which is not part
404     of any markup appears in the input stream.</p>
405 wakaba 1.4
406     <p>The <code>&lt;</code> character as a data character must
407     be escaped as:
408 wakaba 1.6 <pre class="html example"><code>&amp;lt;</code></pre>
409 wakaba 1.4 </p>
410     </d:desc>
411     </d:item>
412    
413 wakaba 1.3 <d:item name="bare nero"
414 wakaba 1.29 modules="HTML::Parser">
415 wakaba 1.3 <d:message xml:lang="en">The decimal representation of the code position
416     of a character must be specified after <code>&amp;#</code>.</d:message>
417     <d:desc xml:lang="en">
418     <p>An <code>&amp;</code> (<code>U+0026</code>
419     <code class="charname">AMPERSAND</code>) character immediately
420     followed by a <code>#</code> (<code>U+0023</code>
421     <code>NUMBER SIGN</code>) character which
422     is not part of any reference appears in the input stream.
423     The document is non-conforming.</p>
424    
425     <p>The string <code>&amp;#</code> must be the first two characters
426     of a reference:
427 wakaba 1.15 <dl class="switch">
428 wakaba 1.3 <dt>Numeric character reference</dt>
429     <dd><pre class="html example"><code>&amp;#<var>d</var>;</code></pre>
430     where <var>d</var> is the decimal representation of
431     the code point of the character to be referenced.</dd>
432     <dt>Hexadecimal character reference</dt>
433     <dd><pre class="html example"><code>&amp;#x<var>h</var>;</code></pre>
434     where <var>h</var> is the hexadecimal representation
435     of the code point of the character to be referenced.</dd>
436     </dl>
437     </p>
438    
439     <p>To represent <code>&amp;#</code> as data characters, use
440 wakaba 1.6 a named entity reference for the <code>&amp;</code> character:
441 wakaba 1.3 <pre class="html example"><code>&amp;amp;#</code></pre>
442     </p>
443     </d:desc>
444     </d:item>
445    
446     <d:item name="bare hcro"
447 wakaba 1.29 modules="HTML::Parser">
448 wakaba 1.3 <d:message xml:lang="en">The hexadecimal representation of the code position
449     of a character must be specified after <code>&amp;#x</code>.</d:message>
450     <d:desc xml:lang="en">
451     <p>The string <code>&amp;#x</code> or <code>&amp;#X</code> which
452     is not part of any reference appears in the input stream.
453     The document is non-conforming.</p>
454    
455     <p>The string <code>&amp;#x</code> or <code>&amp;#X</code> must
456     be the first three characters of a hexadecimal reference:
457     <pre class="html example"><code>&amp;#x<var>h</var>;</code></pre>
458     where <var>h</var> is the hexadecimal representation
459     of the code point of the character to be referenced.</p>
460    
461     <p>To represent <code>&amp;#x</code> as data characters, use
462 wakaba 1.6 a named entity reference for the <code>&amp;</code> character:
463 wakaba 1.3 <pre class="html example"><code>&amp;amp;#x</code></pre>
464     </p>
465     </d:desc>
466     </d:item>
467    
468 wakaba 1.9 <d:item name="bogus comment"
469 wakaba 1.29 modules="HTML::Parser">
470 wakaba 1.9 <d:message xml:lang="en">String <code>&lt;!</code> is not followed
471     by <code>--</code>.</d:message>
472     <d:desc xml:lang="en">
473     <p>There is a <code>&lt;</code> (<code>U+003C</code>
474     <code class="charname">LESS-THAN SIGN</code>) character
475     followed by a <code>!</code> (<code>U+0021</code>
476     <code class="charname">EXCLAMATION MARK</code>) character,
477     which is not followed by a <code>--</code> or
478     <code>!DOCTYPE</code>. The document is non-conforming.</p>
479    
480     <dl class="switch">
481     <dt>Comments</dt>
482 wakaba 1.15 <dd>In HTML document, comments must be introduced by
483     <code class="example">&lt;!--</code> (<code>&lt;!</code>
484     <em>immediately</em> followed
485 wakaba 1.9 by <em>two</em> <code>-</code>s) and must be terminated by
486 wakaba 1.15 <code class="example">--></code>.
487     Strings <code>&lt;!</code> not followed
488 wakaba 1.9 by <code>--</code> and <code>&lt;!-</code> not followed by
489     <code>-</code> are not valid open delimiters for comments.</dd>
490     <dt>Marked sections, including <code>CDATA</code> sections</dt>
491 wakaba 1.15 <dd>Marked sections are not allowed in HTML document.</dd>
492 wakaba 1.9 <dt>Markup declarations</dt>
493 wakaba 1.15 <dd>Markup declarations, except for <code>DOCTYPE</code>
494     and comment declarations, are not allowed in HTML document.</dd>
495 wakaba 1.9 <dt>String <code>&lt;!</code></dt>
496     <dd>String <code>&lt;!</code> must be escaped as
497 wakaba 1.15 <code class="example">&amp;lt;!</code>.</dd>
498 wakaba 1.9 </dl>
499     </d:desc>
500     </d:item>
501    
502 wakaba 1.7 <d:item name="bogus end tag"
503 wakaba 1.29 modules="HTML::Parser">
504 wakaba 1.9 <d:message xml:lang="en">String <code>&lt;/</code> is not followed
505     by tag name.</d:message><!-- </ non-name-start-char-non-EOF -->
506 wakaba 1.7 <d:desc xml:lang="en">
507     <p>There is a <code>&lt;</code> (<code>U+003C</code>
508     <code class="charname">LESS-THAN SIGN</code>) character
509     immediately followed by a <code>/</code> (<code>U+005F</code>
510     <code>SOLIDUS</code>) character, which is not part
511     of any end tag, in the input stream. The document
512     is non-conforming.</p>
513    
514     <p>The <code>&lt;/</code> sequence not followed by a
515     tag name is parsed as an opening of bogus comment.</p>
516    
517     <p>The <code>&lt;/</code> sequence as string data must
518     be escaped as:
519     <pre class="html example"><code>&amp;lt;/</code></pre>
520     </p>
521     </d:desc>
522     </d:item>
523    
524 wakaba 1.29 <d:item name="C1 character reference"
525     modules="HTML::Parser">
526     <d:message xml:lang="en">Character reference to
527     <code><var>{text}</var></code> is not allowed.</d:message>
528     </d:item>
529    
530     <d:item name="CR character reference"
531     modules="HTML::Parser">
532     <d:message xml:lang="en">Character reference to
533     <code>U+000D</code> (<code class="charname">CARRIAGE RETURN</code>)
534     is not allowed.</d:message>
535     </d:item>
536    
537 wakaba 1.4 <d:item name="dash in comment"
538 wakaba 1.29 modules="HTML::Parser">
539 wakaba 1.4 <d:message xml:lang="en">There is a <code>--</code> sequence
540     in a comment.</d:message>
541     <d:desc xml:lang="en">
542     <p>There is a <code>-</code> (<code>U+002D</code>
543     <code class="charname">HYPHEN-MINUS</code>) character
544     at the end of the comment or a <code>--</code> sequence
545     in the comment. The document is non-conforming.</p>
546    
547     <p>Comments cannot contain a string <code>--</code>, as in XML.
548     Unlike SGML, there cannot be more than one comments
549     (where <i>comment</i> is an SGML term) in the comment
550     declaration.</p>
551     </d:desc>
552     </d:item>
553    
554 wakaba 1.1 <d:item name="duplicate attribute"
555 wakaba 1.29 modules="HTML::Parser">
556 wakaba 1.6 <d:message xml:lang="en">There are two attributes with name
557 wakaba 1.29 <code><var>{text}</var></code>.</d:message>
558 wakaba 1.1 <d:desc xml:lang="en">
559 wakaba 1.3 <p>There are more than one attributes with the same
560     name in a tag. The document is non-conforming.</p>
561 wakaba 1.1
562     <p>The <code>motion</code> attribute is not part of the HTML standard.
563     Use <code>img</code> element with animation GIF instead.</p>
564     </d:desc>
565     </d:item>
566    
567 wakaba 1.29 <d:item name="empty start tag"
568     modules="HTML::Parser">
569     <d:message xml:lang="en">Empty start tag (<code>&lt;></code>) is not
570     allowed.</d:message>
571     </d:item>
572    
573     <d:item name="empty end tag"
574     modules="HTML::Parser">
575     <d:message xml:lang="en">Empty end tag (<code>&lt;/></code>) is not
576     allowed.</d:message>
577     </d:item>
578    
579     <d:item name="end tag attribute"
580     modules="HTML::Parser">
581     <d:message xml:lang="en">End tag cannot have attributes.</d:message>
582 wakaba 1.41 <d:message xml:lang="ja">終了タグに属性が指定されています。</d:message>
583     </d:item>
584    
585     <d:item name="empty unquoted attribute value"
586     modules="HTML::Parser">
587     <d:message xml:lang="en">Attribute value is not specified.</d:message>
588     <d:message xml:lang="ja">属性値が指定されていません。</d:message>
589     <d:desc xml:lang="en">
590     <p>The attribute value is not specified after the <code>=</code>
591     (<code>U+003C</code> <code class="charname">EQUAL SIGN</code>)
592     character.</p>
593    
594     <p>When an attribute value is empty, the <code>=</code> character after
595     the attribute name must be specified as:</p>
596    
597     <p><code class="html example">&lt;foo bar></code></p>
598    
599     <p>Instead, quotation marks can be used to explicitly represent that
600     the attribute value is empty, as:</p>
601    
602     <p><code class="html example">&lt;foo bar=""></code></p>
603    
604     <p>... or like:</p>
605    
606     <p><code class="html example">&lt;foo bar=''></code></p>
607     </d:desc>
608 wakaba 1.29 </d:item>
609    
610     <d:item name="invalid character reference"
611     modules="HTML::Parser">
612     <d:message xml:lang="en">Character reference to
613     <code><var>{text}</var></code> is not allowed.</d:message>
614     </d:item>
615    
616 wakaba 1.1 <d:item name="nestc"
617 wakaba 1.29 modules="HTML::Parser">
618 wakaba 1.10 <d:message xml:lang="en">Polytheistic slash (<code>/></code>) cannot be
619 wakaba 1.1 used for this element.</d:message>
620     <d:desc xml:lang="en">
621 wakaba 1.10 <p>Polytheistic slash (<code>/></code>) must not be used
622 wakaba 1.3 for the element. The document is non-conforming.</p>
623    
624 wakaba 1.10 <p>The polytheistic slash can only be
625 wakaba 1.1 used for <code>base</code>, <code>link</code>, <code>meta</code>,
626     <code>hr</code>, <code>br</code>, <code>img</code>,
627     <code>embed</code>, <code>param</code>, <code>area</code>,
628 wakaba 1.3 <code>col</code>, and <code>input</code> elements.</p>
629 wakaba 1.1
630 wakaba 1.12 <dl class="switch">
631 wakaba 1.9 <dt><code>&lt;script/></code></dt>
632 wakaba 1.10 <dd><p>The polytheistic slash cannot be used for <code>script</code>
633 wakaba 1.9 element. Even for an empty <code>script</code> element,
634 wakaba 1.15 there must be an explicit end tag
635     <code class="html example">&lt;/script></code>.</p>
636 wakaba 1.9
637     <p><strong>NOTE</strong>: Though some user agents interpret
638 wakaba 1.10 polytheistic slash for <code>script</code> element as the
639 wakaba 1.9 closing of the element, such usage is not allowed under
640     the current standard.</p></dd>
641     <dt><code>&lt;basefont/></code>, <code>&lt;bgsound/></code>,
642     <code>&lt;frame/></code>, <code>&lt;keygen/></code>,
643     <code>&lt;spacer/></code>, <code>&lt;wbr/></code></dt>
644     <dd>These elements are themselves non-conforming.</dd>
645     <!-- isindex, image -->
646     <dt><code>&lt;command/></code>, <code>&lt;event-source/></code>,
647 wakaba 1.12 <code>&lt;nest/></code>, or <code>&lt;source/></code></dt>
648 wakaba 1.9 <dd>Future revision of HTML5 parsing algorithm is expected
649 wakaba 1.10 to allow polytheistic slash for these elements.</dd>
650 wakaba 1.9 <dt><code>&lt;a/></code>, <code>&lt;p/></code></dt>
651     <dd>These elements are not always empty and therefore
652 wakaba 1.15 polytheistic slash is not allowed. Use explicit end tag
653     to represent empty element as:
654     <pre class="example html"><code>&lt;p>&lt;/p></code></pre>
655     </dd>
656 wakaba 1.9 </dl>
657    
658 wakaba 1.10 <p>Note that, unlike in XML, the polytheistic slash has
659 wakaba 1.1 no effect in HTML.</p>
660     </d:desc>
661     </d:item>
662    
663 wakaba 1.29 <d:item name="no DOCTYPE name"
664     modules="HTML::Parser">
665     <d:message xml:lang="en">After the string <code>&lt;!DOCTYPE </code>, the
666     document type name must be specified.</d:message>
667     </d:item>
668    
669     <d:item name="no PUBLIC literal"
670     modules="HTML::Parser">
671     <d:message xml:lang="en">After the keyword <code>PUBLIC</code>, no
672     oublic identifier is specified.</d:message>
673     </d:item>
674    
675     <d:item name="no refc"
676     modules="HTML::Parser">
677     <d:message xml:lang="en">Character reference must be closed by a
678     <code>;</code> character.</d:message>
679     </d:item>
680    
681     <d:item name="no space before DOCTYPE name"
682     modules="HTML::Parser">
683     <d:message xml:lang="en">After the string <code>&lt;!DOCTYPE</code>, there
684     must be at least a white space character before the document type
685     name.</d:message>
686     </d:item>
687    
688     <d:item name="no space between attributes"
689     modules="HTML::Parser">
690     <d:message xml:lang="en">Attributes must be separeted by at least a
691     white space character.</d:message>
692     </d:item>
693    
694     <d:item name="no SYSTEM literal"
695     modules="HTML::Parser">
696     <d:message xml:lang="en">After the keyword <code>SYSTEM</code>, no
697     system identifier is specified.</d:message>
698     </d:item>
699 wakaba 1.5
700     <d:item name="pio"
701 wakaba 1.29 modules="HTML::Parser">
702 wakaba 1.5 <d:message xml:lang="en">Processing instruction
703 wakaba 1.29 (<code>&lt;?<var>...</var>></code>) is not allowed in HTML
704     document.</d:message>
705 wakaba 1.5 <d:desc xml:lang="en">
706     <p>Processing instructions (<code>&lt;?<var>...</var>?></code>),
707     including XML declaration (<code>&lt;?xml <var>...</var>?></code>)
708     and XML style sheet <abbr title="processing instruction">PI</abbr>
709 wakaba 1.9 (<code>&lt;?xml-stylesheet <var>...</var>?></code>), are not allowed
710 wakaba 1.5 in the HTML syntax. The document is non-conforming.</p>
711    
712 wakaba 1.12 <dl class="switch">
713     <dt><code>&lt;?xbl?></code> (<abbr>XBL</abbr> Association)</dt>
714     <dd>An <abbr>XBL</abbr> binding cannot be associated by
715     <abbr title="processing instruction">PI</abbr> in <abbr>HTML</abbr>
716     document. Use <code>binding</code> property in <abbr>CSS</abbr>
717 wakaba 1.15 style sheet as:
718     <pre class="html example"><code>&lt;style>
719     p {
720     binding: url(binding.xbl);
721     }
722     &lt;/style></code></pre>
723     </dd>
724 wakaba 1.9 <dt><code>&lt;?xml?&gt;</code> (XML declaration)</dt>
725     <dd>XML declaration is unnecessary for HTML documents.</dd>
726     <dt><code>&lt;?xml-stylesheet?></code> (XML style sheet
727 wakaba 1.12 <abbr title="processing instruction">PI</abbr>)</dt>
728 wakaba 1.9 <dd>Use HTML <code>link</code> element with <code>rel</code>
729     attribute set to <code>stylesheet</code> (or,
730     <code>alternate stylesheet</code> for an alternate style
731 wakaba 1.15 sheet).
732     <pre class="example html"><code>&lt;link rel=stylesheet href="path/to/stylesheet.css"></code></pre>
733     </dd>
734 wakaba 1.12 <dt><code>&lt;?php?&gt;</code> or
735     <code>&lt;? <var>... <abbr>PHP</abbr> code ...</var> ?&gt;</code>
736     (<abbr>PHP</abbr> code)</dt>
737 wakaba 1.9 <dd>The conformance checker does <em>not</em> support
738     checking for PHP source documents.</dd>
739     <dt>Other processing instructions</dt>
740     <dd>Processing instructions cannot be inserted in an HTML
741     document. Use XML document or insert
742     <code>ProcessingInstruction</code> node by scripting.</dd>
743     </dl>
744 wakaba 1.5
745     <p>Web browsers will parse processing instructions as bogus
746     comments. Some legacy Web browsers, such as IE:mac and
747 wakaba 1.9 some mobile Web browsers, will display processing instructions
748 wakaba 1.5 as string.</p>
749     </d:desc>
750     </d:item>
751    
752 wakaba 1.29 <d:item name="string after DOCTYPE name"
753     modules="HTML::Parser">
754     <d:message xml:lang="en">There is a bogus string after the document type
755     name.</d:message>
756     </d:item>
757    
758     <d:item name="string after PUBLIC"
759     modules="HTML::Parser">
760     <d:message xml:lang="en">There is a bogus string after the keyword
761     <code>PUBLIC</code>.</d:message>
762     </d:item>
763    
764     <d:item name="string after PUBLIC literal"
765     modules="HTML::Parser">
766     <d:message xml:lang="en">There is a bogus string after the public
767     identifier.</d:message>
768     </d:item>
769    
770     <d:item name="string after SYSTEM"
771     modules="HTML::Parser">
772     <d:message xml:lang="en">There is a bogus string after the keyword
773     <code>SYSTEM</code>.</d:message>
774     </d:item>
775    
776     <d:item name="string after SYSTEM literal"
777     modules="HTML::Parser">
778     <d:message xml:lang="en">There is a bogus string after the system
779     identifier.</d:message>
780     </d:item>
781    
782     <d:item name="unclosed attribute value"
783     modules="HTML::Parser">
784     <d:message xml:lang="en">Attribute value is not closed by a quotation
785     mark.</d:message>
786     </d:item>
787    
788     <d:item name="unclosed comment"
789     modules="HTML::Parser">
790     <d:message xml:lang="en">Comment is not closed by a string
791     <code>--></code>.</d:message>
792     </d:item>
793    
794     <d:item name="unclosed DOCTYPE"
795     modules="HTML::Parser">
796     <d:message xml:lang="en">The <code>DOCTYPE</code> is not closed by a
797     <code>></code> character.</d:message>
798     </d:item>
799    
800     <d:item name="unclosed PUBLIC literal"
801     modules="HTML::Parser">
802     <d:message xml:lang="en">The public identifier literal is not closed by a
803     quotation mark.</d:message>
804     </d:item>
805    
806     <d:item name="unclosed SYSTEM literal"
807     modules="HTML::Parser">
808     <d:message xml:lang="en">The system identifier literal is not closed by a
809     quotation mark.</d:message>
810     </d:item>
811    
812     <d:item name="unclosed tag"
813     modules="HTML::Parser">
814     <d:message xml:lang="en">Tag is not closed by a <code>></code>
815     character.</d:message>
816     </d:item>
817    
818 wakaba 1.1 </section>
819    
820 wakaba 1.2 <section id="html5-parse-errors">
821     <h2>HTML5 Parse Errors in Tree Construction Stage</h2>
822    
823 wakaba 1.42 <d:item name="after after frameset"
824     modules="HTML::Parser">
825     <d:message xml:lang="en">There is a start tag
826     <code>&lt;<var>{text}</var>></code> is after the <code>html</code> element
827     is closed.</d:message>
828     <d:message xml:lang="ja"><code>html</code> 要素が閉じられた後に開始タグ
829     <code>&lt;<var>{text}</var>></code> があります。</d:message>
830     </d:item>
831    
832     <d:item name="after after frameset:/"
833     modules="HTML::Parser">
834     <d:message xml:lang="en">There is an end tag
835     <code>&lt;/<var>{text}</var>></code> is after the <code>html</code> element
836     is closed.</d:message>
837     <d:message xml:lang="ja"><code>html</code> 要素が閉じられた後に終了タグ
838     <code>&lt;/<var>{text}</var>></code> があります。</d:message>
839     </d:item>
840    
841 wakaba 1.29 <d:item name="after body"
842     modules="HTML::Parser">
843     <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
844     not allowed after the <code>body</code> is closed.</d:message>
845     </d:item>
846    
847     <d:item name="after body:/"
848     modules="HTML::Parser">
849     <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
850     not allowed after the <code>body</code> is closed.</d:message>
851     </d:item>
852    
853     <d:item name="after body:#text"
854     modules="HTML::Parser">
855     <d:message xml:lang="en">Non‐white‐space characters are not allowed
856     after the <code>body</code> is closed.</d:message>
857     </d:item>
858    
859     <d:item name="after frameset"
860     modules="HTML::Parser">
861     <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
862     not allowed after the <code>frameset</code> is closed.</d:message>
863     </d:item>
864    
865     <d:item name="after frameset:/"
866     modules="HTML::Parser">
867     <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
868     not allowed after the <code>frameset</code> is closed.</d:message>
869     </d:item>
870    
871     <d:item name="after frameset:#text"
872     modules="HTML::Parser">
873     <d:message xml:lang="en">Non‐white‐space characters are not allowed
874     after the <code>frame</code> is closed.</d:message>
875     </d:item>
876    
877 wakaba 1.2 <d:item name="after head"
878 wakaba 1.39 modules="HTML::Parser">
879 wakaba 1.29 <d:message xml:lang="en">The <code><var>{text}</var></code> element cannot be
880     inserted between <code>head</code> and <code>body</code>
881     elements.</d:message>
882 wakaba 1.2 <d:desc xml:lang="en">
883 wakaba 1.3 <p>A start tag appears after the <code>head</code> element is closed
884 wakaba 1.2 but before the <code>body</code> element is opened.
885     The document is non-conforming.</p>
886     </d:desc>
887     </d:item>
888    
889 wakaba 1.29 <d:item name="after html"
890     modules="HTML::Parser">
891     <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
892     not allowed after the <code>html</code> is closed.</d:message>
893 wakaba 1.39 <d:desc xml:lang="en">
894     <p>The start tag of an element appears after the
895     <code>body</code> element has been closed. The document is
896     non-conforming.</p>
897    
898     <p>Any content of the document other than <code>head</code>
899     contents and comments must be put into the <code>body</code>
900     element.</p>
901     </d:desc>
902 wakaba 1.29 </d:item>
903    
904     <d:item name="after html:/"
905     modules="HTML::Parser">
906     <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
907     not allowed after the <code>html</code> is closed.</d:message>
908 wakaba 1.39 <d:desc xml:lang="en">
909     <p>The end tag of an element appears after the
910     <code>body</code> element has been closed. The document is
911     non-conforming.</p>
912    
913     <p>Any content of the document other than <code>head</code>
914     contents and comments must be put into the <code>body</code>
915     element.</p>
916     </d:desc>
917 wakaba 1.29 </d:item>
918    
919     <d:item name="after html:#text"
920     modules="HTML::Parser">
921     <d:message xml:lang="en">Non‐white‐space characters are not allowed
922     after the <code>html</code> is closed.</d:message>
923     </d:item>
924    
925     <d:item name="image"
926     modules="HTML::Parser">
927     <d:message xml:lang="en">The <code>image</code> element is
928     obsolete.</d:message>
929 wakaba 1.4 </d:item>
930    
931 wakaba 1.5 <d:item name="in a:a"
932 wakaba 1.29 modules="HTML::Parser">
933 wakaba 1.5 <d:message xml:lang="en">Anchor cannot be nested.</d:message>
934     <d:desc xml:lang="en">
935     <p>HTML <code>a</code> elements cannot be nested.
936     The document is non-conforming.</p>
937    
938     <p>In the HTML syntax, a start tag of the <code>a</code>
939     implies the end tag of any opening <code>a</code> element.</p>
940     </d:desc>
941     </d:item>
942    
943 wakaba 1.4 <d:item name="in body"
944 wakaba 1.29 modules="HTML::Parser">
945     <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>&gt;</code>
946 wakaba 1.9 is not allowed in the <code>body</code> element.</d:message>
947 wakaba 1.4 <d:desc xml:lang="en">
948     <p>The start or end tag of an element, which
949     cannot be a descendant of <code>body</code> element, appears
950     in the input stream while the <code>body</code> element has been opened.
951     The document is non-conforming.</p>
952     </d:desc>
953     </d:item>
954    
955 wakaba 1.29 <d:item name="in body:#eof"
956     modules="HTML::Parser">
957     <d:message xml:lang="en">Some element is not closed before the end of
958     file.</d:message>
959     </d:item>
960    
961     <d:item name="in button:button"
962     modules="HTML::Parser">
963     <d:message xml:lang="en">The <code>button</code> element cannot be
964     nested.</d:message>
965     </d:item>
966    
967     <d:item name="in CDATA:#eof"
968     modules="HTML::Parser">
969     <d:message xml:lang="en">Element is not closed before the end of
970     file.</d:message>
971     </d:item>
972    
973     <d:item name="in form:form"
974     modules="HTML::Parser">
975     <d:message xml:lang="en">Start tag <code>&lt;form></code> is
976     not allowed in a <code>form</code> element.</d:message>
977     </d:item>
978    
979     <d:item name="in frameset"
980     modules="HTML::Parser">
981     <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>></code> is
982     not allowed in a <code>framset</code> element.</d:message>
983     </d:item>
984    
985     <d:item name="in frameset:/"
986     modules="HTML::Parser">
987     <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>></code> is
988     not allowed in a <code>frameset</code> element.</d:message>
989     </d:item>
990    
991     <d:item name="in frameset:#text"
992     modules="HTML::Parser">
993     <d:message xml:lang="en">Non‐white‐space characters are not allowed
994     in a <code>frameset</code> element.</d:message>
995     </d:item>
996    
997 wakaba 1.5 <d:item name="in head:head"
998 wakaba 1.29 modules="HTML::Parser">
999 wakaba 1.9 <d:message xml:lang="en">Start tag <code>&lt;head&gt;</code>
1000 wakaba 1.5 is not allowed in the <code>head</code> element.</d:message>
1001     <d:desc xml:lang="en">
1002     <p>There is a start tag <code>&lt;head></code> in the
1003     <code>&lt;head></code> element. The document is non-conforming.</p>
1004    
1005     <p>In an HTML document there must not be more than
1006     one <code>head</code> element, therefore no more than one
1007     start tag <code>&lt;head></code> can appear in the input stream.</p>
1008     </d:desc>
1009     </d:item>
1010    
1011 wakaba 1.29 <d:item name="in html:#DOCTYPE"
1012     modules="HTML::Parser">
1013     <d:message xml:lang="en">A <code>DOCTYPE</code> appears after any
1014     element or data character has been seen.</d:message>
1015     <!-- <!DOCTYPE HTML><!DOCTYPE HTML> -->
1016     <!-- <html><!DOCTYPE HTML> -->
1017     <d:desc xml:lang="en">
1018     <p>A <code>DOCTYPE</code> appears after any element or data character
1019     has been seen. The document is non-conforming.</p>
1020    
1021     <p>The <code>DOCTYPE</code> must be placed before any
1022     tag, reference, or data character. Only white space characters
1023     and comments can be inserted before the <code>DOCTYPE</code>.</p>
1024     </d:desc>
1025     </d:item>
1026    
1027     <d:item name="in nobr:nobr"
1028     modules="HTML::Parser">
1029     <d:message xml:lang="en">The <code>nobr</code> element cannot be
1030     nested.</d:message>
1031     </d:item>
1032    
1033     <d:item name="in noscript"
1034     modules="HTML::Parser">
1035     <d:message xml:lang="en">The <code><var>{text}</var></code> element is not
1036     allowed in a <code>noscript</code> element in the
1037     <code>head</code> element.</d:message>
1038     </d:item>
1039    
1040     <d:item name="in noscript:/"
1041     modules="HTML::Parser">
1042     <d:message xml:lang="en">An end tag <code>&lt;/<var>{text}</var>></code>
1043     appers before the <code>noscript</code> element is closed.</d:message>
1044     </d:item>
1045    
1046     <d:item name="in noscript:#eof"
1047     modules="HTML::Parser">
1048     <d:message xml:lang="en">A <code>noscript</code> element is not closed
1049     before the end of file.</d:message>
1050     </d:item>
1051    
1052     <d:item name="in noscript:#text"
1053     modules="HTML::Parser">
1054     <d:message xml:lang="en">Non‐white‐space characters are not allowed
1055     in a <code>noscript</code> element in the <code>head</code>
1056     element.</d:message>
1057     </d:item>
1058    
1059     <d:item name="in PCDATA:#eof"
1060     modules="HTML::Parser">
1061     <d:message xml:lang="en">Element is not closed before the end of
1062     file.</d:message>
1063     </d:item>
1064    
1065     <d:item name="in select"
1066     modules="HTML::Parser">
1067     <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>&gt;</code>
1068     is not allowed in a <code>select</code> element.</d:message>
1069     </d:item>
1070    
1071     <d:item name="in select:/"
1072     modules="HTML::Parser">
1073     <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>&gt;</code>
1074     is not allowed in a <code>select</code> element.</d:message>
1075     </d:item>
1076    
1077 wakaba 1.3 <d:item name="in table"
1078 wakaba 1.29 modules="HTML::Parser">
1079     <d:message xml:lang="en">Start tag <code>&lt;<var>{text}</var>&gt;</code>
1080 wakaba 1.5 is not allowed in a <code>table</code> element.</d:message>
1081 wakaba 1.3 <d:desc xml:lang="en">
1082 wakaba 1.4 <p>The start or end tag of an element, which
1083     cannot be a child of <code>table</code> element, appears
1084     in the input stream while the <code>table</code> element has been opened
1085     but no other element has been opened. The document is non-conforming.</p>
1086 wakaba 1.3
1087     <p>In <code>table</code>, only table related elements
1088     are allowed; any other element must be contained in
1089     <code>td</code> or <code>th</code> element to form
1090     a part of the table, or <code>caption</code> element to create
1091     a table caption.</p>
1092     </d:desc>
1093     </d:item>
1094    
1095 wakaba 1.29 <d:item name="in table:/"
1096     modules="HTML::Parser">
1097     <d:message xml:lang="en">End tag <code>&lt;/<var>{text}</var>&gt;</code>
1098     is not allowed in a <code>table</code> element.</d:message>
1099     </d:item>
1100    
1101     <d:item name="in table:#text"
1102     modules="HTML::Parser">
1103     <d:message xml:lang="en">Non‐white‐space character is not allowed within
1104     the <code>table</code> element, outside of the caption and cells.</d:message>
1105 wakaba 1.3 <d:desc xml:lang="en">
1106 wakaba 1.29 <p>A non‐white‐space character appears in <code>table</code>.
1107     The document is non-conforming.</p>
1108 wakaba 1.3
1109     <p>In <code>table</code>, only table related elements
1110     are allowed; any other element and data character must be contained in
1111     <code>td</code> or <code>th</code> element to form
1112     a part of the table, or <code>caption</code> element to create
1113     a table caption.</p>
1114     </d:desc>
1115     </d:item>
1116    
1117 wakaba 1.29 <d:item name="isindex"
1118     modules="HTML::Parser">
1119     <d:message xml:lang="en">The <code>isindex</code> element is
1120     obsolete.</d:message>
1121     </d:item>
1122    
1123 wakaba 1.3 <d:item name="missing start tag:tr"