/[suikacvs]/test/html-webhacc/error-description-source.xml
Suika

Diff of /test/html-webhacc/error-description-source.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by wakaba, Mon Jul 16 13:56:26 2007 UTC revision 1.10 by wakaba, Tue Sep 4 11:40:02 2007 UTC
# Line 28  Web Document Conformance Checker (BETA)< Line 28  Web Document Conformance Checker (BETA)<
28    </d:desc>    </d:desc>
29  </d:item>  </d:item>
30    
31    <d:item name="after body"
32        class="parse-error">
33      <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
34      is not allowed after the end tag <code>&lt;/body></code>.</d:message>
35      <d:desc xml:lang="en">
36        <p>The start or end tag of an element appears after the
37        <code>body</code> element has been closed.  The document is
38        non-conforming.</p>
39    
40        <p>Any content of the document other than <code>head</code>
41        contents and comments must be put into the <code>body</code>
42        element.</p>
43      </d:desc>
44    </d:item>
45    
46  <d:item name="bare ero"  <d:item name="bare ero"
47      class="tokenize-error">      class="tokenize-error">
48    <d:message xml:lang="en">The <code>&amp;</code> character must    <d:message xml:lang="en">The <code>&amp;</code> character must
# Line 38  Web Document Conformance Checker (BETA)< Line 53  Web Document Conformance Checker (BETA)<
53      is not part of any reference appears in the input stream.      is not part of any reference appears in the input stream.
54      The document is non-conforming.</p>      The document is non-conforming.</p>
55    
56        <p><strong>Any <code>&amp;</code> character in URI (or IRI)
57        must be escaped as <code>&amp;amp;</code>.</strong></p>
58    
59      <p>The <code>&amp;</code> character must      <p>The <code>&amp;</code> character must
60      be the first character of a reference:      be the first character of a reference:
61        <dl>        <dl>
# Line 63  Web Document Conformance Checker (BETA)< Line 81  Web Document Conformance Checker (BETA)<
81    </d:desc>    </d:desc>
82  </d:item>  </d:item>
83    
84    <d:item name="bare etago"
85        class="tokenize-error">
86      <d:message xml:lang="en">A <code>&lt;/</code> string is not followed
87      by a tag name.</d:message><!-- </ EOF -->
88      <d:desc xml:lang="en">
89        <p>There is a <code>&lt;</code> (<code>U+003C</code>
90        <code class="charname">LESS-THAN SIGN</code>) character
91        immediately followed by a <code>/</code> (<code>U+005F</code>
92        <code>SOLIDUS</code>) character, which is not part
93        of any end tag, in the input stream.  The document
94        is non-conforming.</p>
95    
96        <p>The <code>&lt;/</code> sequence immediately followed
97        by an <abbr title="End of file pseudo-character">EOF</abbr> is
98        interpreted as a string data of <code>&lt;/</code>.</p>
99    
100        <p>The <code>&lt;/</code> sequence as string data must
101        be escaped as:
102        <pre class="html example"><code>&amp;lt;/</code></pre>
103        </p>
104      </d:desc>
105    </d:item>
106    
107  <d:item name="bare stago"  <d:item name="bare stago"
108      class="tokenize-error">      class="tokenize-error">
109    <d:message xml:lang="en">A <code>&lt;</code> character is not followed    <d:message xml:lang="en">A <code>&lt;</code> character is not followed
110    by tag name or by a <code>!</code> character.</d:message>    by tag name or by a <code>!</code> character.</d:message>
111    <d:desc xml:lang="en">    <d:desc xml:lang="en">
112      <p>A <code>&lt;</code> (<code>U+003C</code> <code class="charname">LESS-THAN      <p>A <code>&lt;</code> (<code>U+003C</code>
113      SIGN</code>) character which is not part of any markup appears      <code class="charname">LESS-THAN SIGN</code>) character which is not part
114      in the input stream.</p>      of any markup appears in the input stream.</p>
115    
116      <p>The <code>&lt;</code> character as a data character must      <p>The <code>&lt;</code> character as a data character must
117      be escaped as:      be escaped as:
118      <pre class="html example"><code>&lt;lt;</code></pre>      <pre class="html example"><code>&amp;lt;</code></pre>
119      </p>      </p>
120    </d:desc>    </d:desc>
121  </d:item>  </d:item>
# Line 92  Web Document Conformance Checker (BETA)< Line 133  Web Document Conformance Checker (BETA)<
133      The document is non-conforming.</p>      The document is non-conforming.</p>
134    
135      <p>The string <code>&amp;#</code> must be the first two characters      <p>The string <code>&amp;#</code> must be the first two characters
     <code>NUMBER SIGN</code>) character must be the first two characters  
136      of a reference:      of a reference:
137        <dl>        <dl>
138        <dt>Numeric character reference</dt>        <dt>Numeric character reference</dt>
# Line 107  Web Document Conformance Checker (BETA)< Line 147  Web Document Conformance Checker (BETA)<
147      </p>      </p>
148    
149      <p>To represent <code>&amp;#</code> as data characters, use      <p>To represent <code>&amp;#</code> as data characters, use
150      named entity reference:      a named entity reference for the <code>&amp;</code> character:
151        <pre class="html example"><code>&amp;amp;#</code></pre>        <pre class="html example"><code>&amp;amp;#</code></pre>
152      </p>      </p>
153    </d:desc>    </d:desc>
# Line 129  Web Document Conformance Checker (BETA)< Line 169  Web Document Conformance Checker (BETA)<
169      of the code point of the character to be referenced.</p>      of the code point of the character to be referenced.</p>
170    
171      <p>To represent <code>&amp;#x</code> as data characters, use      <p>To represent <code>&amp;#x</code> as data characters, use
172      named entity reference:      a named entity reference for the <code>&amp;</code> character:
173        <pre class="html example"><code>&amp;amp;#x</code></pre>        <pre class="html example"><code>&amp;amp;#x</code></pre>
174      </p>      </p>
175    </d:desc>    </d:desc>
176  </d:item>  </d:item>
177    
178    <d:item name="bogus comment"
179        class="tokenize-error">
180      <d:message xml:lang="en">String <code>&lt;!</code> is not followed
181      by <code>--</code>.</d:message>
182      <d:desc xml:lang="en">
183        <p>There is a <code>&lt;</code> (<code>U+003C</code>
184        <code class="charname">LESS-THAN SIGN</code>) character
185        followed by a <code>!</code> (<code>U+0021</code>
186        <code class="charname">EXCLAMATION MARK</code>) character,
187        which is not followed by a <code>--</code> or
188        <code>!DOCTYPE</code>.  The document is non-conforming.</p>
189    
190        <dl class="switch">
191        <dt>Comments</dt>
192          <dd>In HTML documents, comments must be introduced by
193          <code>&lt;!--</code> (<code>&lt;!</code> <em>immediately</em> followed
194          by <em>two</em> <code>-</code>s) and must be terminated by
195          <code>--></code>.  Strings <code>&lt;!</code> not followed
196          by <code>--</code> and <code>&lt;!-</code> not followed by
197          <code>-</code> are not valid open delimiters for comments.</dd>
198        <dt>Marked sections, including <code>CDATA</code> sections</dt>
199          <dd>Marked sections are not allowed in HTML documents.</dd>
200        <dt>Markup declarations</dt>
201          <dd>Markup declarations, except <code>DOCTYPE</code>
202          and comment declarations, are not allowed in HTML documents.</dd>
203        <dt>String <code>&lt;!</code></dt>
204          <dd>String <code>&lt;!</code> must be escaped as
205          <code>&amp;lt;!</code>.</dd>
206        </dl>
207      </d:desc>
208    </d:item>
209    
210    <d:item name="bogus end tag"
211        class="tokenize-error">
212      <d:message xml:lang="en">String <code>&lt;/</code> is not followed
213      by tag name.</d:message><!-- </ non-name-start-char-non-EOF -->
214      <d:desc xml:lang="en">
215        <p>There is a <code>&lt;</code> (<code>U+003C</code>
216        <code class="charname">LESS-THAN SIGN</code>) character
217        immediately followed by a <code>/</code> (<code>U+005F</code>
218        <code>SOLIDUS</code>) character, which is not part
219        of any end tag, in the input stream.  The document
220        is non-conforming.</p>
221    
222        <p>The <code>&lt;/</code> sequence not followed by a
223        tag name is parsed as an opening of bogus comment.</p>
224    
225        <p>The <code>&lt;/</code> sequence as string data must
226        be escaped as:
227        <pre class="html example"><code>&amp;lt;/</code></pre>
228        </p>
229      </d:desc>
230    </d:item>
231    
232  <d:item name="dash in comment"  <d:item name="dash in comment"
233      class="tokenize-error">      class="tokenize-error">
234    <d:message xml:lang="en">There is a <code>--</code> sequence    <d:message xml:lang="en">There is a <code>--</code> sequence
# Line 154  Web Document Conformance Checker (BETA)< Line 248  Web Document Conformance Checker (BETA)<
248    
249  <d:item name="duplicate attribute"  <d:item name="duplicate attribute"
250      class="tokenize-error">      class="tokenize-error">
251    <d:message xml:lang="en">There are two attributes with same name.</d:message>    <d:message xml:lang="en">There are two attributes with name
252          <code><var>$0</var></code>.</d:message>
253    <d:desc xml:lang="en">    <d:desc xml:lang="en">
254      <p>There are more than one attributes with the same      <p>There are more than one attributes with the same
255      name in a tag.  The document is non-conforming.</p>      name in a tag.  The document is non-conforming.</p>
# Line 166  Web Document Conformance Checker (BETA)< Line 261  Web Document Conformance Checker (BETA)<
261    
262  <d:item name="nestc"  <d:item name="nestc"
263      class="tokenize-error">      class="tokenize-error">
264    <d:message xml:lang="en">Void element syntax (<code>/></code>) cannot be    <d:message xml:lang="en">Polytheistic slash (<code>/></code>) cannot be
265    used for this element.</d:message>    used for this element.</d:message>
266    <d:desc xml:lang="en">    <d:desc xml:lang="en">
267      <p>Void element syntax (<code>/></code>) must not be used      <p>Polytheistic slash (<code>/></code>) must not be used
268      for the element.  The document is non-conforming.</p>      for the element.  The document is non-conforming.</p>
269    
270      <p>The void element syntax can only be      <p>The polytheistic slash can only be
271      used for <code>base</code>, <code>link</code>, <code>meta</code>,      used for <code>base</code>, <code>link</code>, <code>meta</code>,
272      <code>hr</code>, <code>br</code>, <code>img</code>,      <code>hr</code>, <code>br</code>, <code>img</code>,
273      <code>embed</code>, <code>param</code>, <code>area</code>,      <code>embed</code>, <code>param</code>, <code>area</code>,
274      <code>col</code>, and <code>input</code> elements.</p>      <code>col</code>, and <code>input</code> elements.</p>
275    
276      <p>Note that, unlike in XML, the void element syntax has      <dl>
277        <dt><code>&lt;script/></code></dt>
278            <dd><p>The polytheistic slash cannot be used for <code>script</code>
279            element.  Even for an empty <code>script</code> element,
280            there must be an explicit end tag <code>&lt;/script></code>.</p>
281    
282            <p><strong>NOTE</strong>: Though some user agents interpret
283            polytheistic slash for <code>script</code> element as the
284            closing of the element, such usage is not allowed under
285            the current standard.</p></dd>
286        <dt><code>&lt;basefont/></code>, <code>&lt;bgsound/></code>,
287        <code>&lt;frame/></code>, <code>&lt;keygen/></code>,
288        <code>&lt;spacer/></code>, <code>&lt;wbr/></code></dt>
289            <dd>These elements are themselves non-conforming.</dd>
290        <!-- isindex, image -->
291        <dt><code>&lt;command/></code>, <code>&lt;event-source/></code>,
292        <code>&lt;source/></code></dt>
293            <dd>Future revision of HTML5 parsing algorithm is expected
294            to allow polytheistic slash for these elements.</dd>
295        <dt><code>&lt;a/></code>, <code>&lt;p/></code></dt>
296            <dd>These elements are not always empty and therefore
297            polytheistic slash is not allowed.</dd>
298        </dl>
299    
300        <p>Note that, unlike in XML, the polytheistic slash has
301      no effect in HTML.</p>      no effect in HTML.</p>
302    </d:desc>    </d:desc>
303  </d:item>  </d:item>
304    
305    
306    <d:item name="pio"
307        class="tokenize-error">
308      <d:message xml:lang="en">Processing instruction
309      (<code>&lt;?<var>...</var>></code>) cannot be used.</d:message>
310      <d:desc xml:lang="en">
311        <p>Processing instructions (<code>&lt;?<var>...</var>?></code>),
312        including XML declaration (<code>&lt;?xml <var>...</var>?></code>)
313        and XML style sheet <abbr title="processing instruction">PI</abbr>
314        (<code>&lt;?xml-stylesheet <var>...</var>?></code>), are not allowed
315        in the HTML syntax.  The document is non-conforming.</p>
316    
317        <dl>
318        <dt><code>&lt;?xml?&gt;</code> (XML declaration)</dt>
319            <dd>XML declaration is unnecessary for HTML documents.</dd>
320        <dt><code>&lt;?xml-stylesheet?></code> (XML style sheet
321        <abbr title="processing instruction">PI</abbr></dt>
322            <dd>Use HTML <code>link</code> element with <code>rel</code>
323            attribute set to <code>stylesheet</code> (or,
324            <code>alternate stylesheet</code> for an alternate style
325            sheet).</dd>
326        <dt><code>&lt;?php?&gt;</code> (PHP code)</dt>
327            <dd>The conformance checker does <em>not</em> support
328            checking for PHP source documents.</dd>
329        <dt>Other processing instructions</dt>
330            <dd>Processing instructions cannot be inserted in an HTML
331            document.  Use XML document or insert
332            <code>ProcessingInstruction</code> node by scripting.</dd>
333        </dl>
334    
335        <p>Web browsers will parse processing instructions as bogus
336        comments.  Some legacy Web browsers, such as IE:mac and
337        some mobile Web browsers, will display processing instructions
338        as string.</p>
339      </d:desc>
340    </d:item>
341    
342  </section>  </section>
343    
344  <section id="html5-parse-errors">  <section id="html5-parse-errors">
# Line 213  Web Document Conformance Checker (BETA)< Line 369  Web Document Conformance Checker (BETA)<
369    </d:desc>    </d:desc>
370  </d:item>  </d:item>
371    
372    <d:item name="in a:a"
373        class="parse-error">
374      <d:message xml:lang="en">Anchor cannot be nested.</d:message>
375      <d:desc xml:lang="en">
376        <p>HTML <code>a</code> elements cannot be nested.
377        The document is non-conforming.</p>
378    
379        <p>In the HTML syntax, a start tag of the <code>a</code>
380        implies the end tag of any opening <code>a</code> element.</p>
381      </d:desc>
382    </d:item>
383    
384  <d:item name="in body"  <d:item name="in body"
385      class="parse-error">      class="parse-error">
386    <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>    <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
387    is not allowed in <code>body</code>.</d:message>    is not allowed in the <code>body</code> element.</d:message>
388    <d:desc xml:lang="en">    <d:desc xml:lang="en">
389      <p>The start or end tag of an element, which      <p>The start or end tag of an element, which
390      cannot be a descendant of <code>body</code> element, appears      cannot be a descendant of <code>body</code> element, appears
# Line 225  Web Document Conformance Checker (BETA)< Line 393  Web Document Conformance Checker (BETA)<
393    </d:desc>    </d:desc>
394  </d:item>  </d:item>
395    
396    <d:item name="in head:head"
397        class="parse-error">
398      <d:message xml:lang="en">Start tag <code>&lt;head&gt;</code>
399      is not allowed in the <code>head</code> element.</d:message>
400      <d:desc xml:lang="en">
401        <p>There is a start tag <code>&lt;head></code> in the
402        <code>&lt;head></code> element.  The document is non-conforming.</p>
403    
404        <p>In an HTML document there must not be more than
405        one <code>head</code> element, therefore no more than one
406        start tag <code>&lt;head></code> can appear in the input stream.</p>
407      </d:desc>
408    </d:item>
409    
410  <d:item name="in table"  <d:item name="in table"
411      class="parse-error">      class="parse-error">
412    <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>    <d:message xml:lang="en">Tag <code>&lt;<var>$0</var>&gt;</code>
413    is not allowed in <code>table</code>.</d:message>    is not allowed in a <code>table</code> element.</d:message>
414    <d:desc xml:lang="en">    <d:desc xml:lang="en">
415      <p>The start or end tag of an element, which      <p>The start or end tag of an element, which
416      cannot be a child of <code>table</code> element, appears      cannot be a child of <code>table</code> element, appears
# Line 277  Web Document Conformance Checker (BETA)< Line 459  Web Document Conformance Checker (BETA)<
459    
460  <d:item name="no DOCTYPE"  <d:item name="no DOCTYPE"
461      class="parse-error">      class="parse-error">
462    <d:message xml:lang="en">This document does not start with the    <d:message xml:lang="en">This document does not start with a
463    <code>DOCTYPE</code>.</d:message>    <code>DOCTYPE</code>.</d:message>
464    <d:desc>    <d:desc>
465      <p>The document does not start with a <code>DOCTYPE</code>.      <p>The document does not start with a <code>DOCTYPE</code>.
# Line 300  Web Document Conformance Checker (BETA)< Line 482  Web Document Conformance Checker (BETA)<
482      <p>End tag of an element is not found before, for example,      <p>End tag of an element is not found before, for example,
483      an end tag of another element appears or      an end tag of another element appears or
484      the end of the document.  The document is non-conforming.</p>      the end of the document.  The document is non-conforming.</p>
485    
486        <p>Only <code>body</code>, <code>dd</code>, <code>dt</code>,
487        <code>head</code>, <code>html</code>, <code>li</code>,
488        <code>ol</code>, <code>option</code>, <code>optgroup</code>,
489        <code>p</code>, <code>rb</code>, <code>rp</code>, <code>rt</code>, or
490        <code>ul</code> end tag can be implied in HTML documents.
491        For any element except for void element, there must be an explicit
492        end tag.</p>
493    
494        <p>Note that misnesting tags, such as
495        <code class="bad example">&lt;a>&lt;b>&lt;/a>&lt;/b></code>, are not
496        allowed and they also cause this error.</p>
497      </d:desc>
498    </d:item>
499    
500    <d:item name="not first start tag"
501        class="parse-error">
502      <d:message xml:lang="en">This <code>&lt;html></code> tag is not
503      the first start tag.</d:message>
504      <d:desc>
505        <p>There is a start tag of the <code>html</code> element
506        that it not the first start tag in the input stream.
507        The document is non-conforming.</p>
508    
509        <p>In an HTML document, there cannot be more than one
510        <code>html</code> element and therefore there cannot be
511        more than one <code>&lt;html></code> tag.  In addition,
512        nothing can be placed before the <code>&lt;html></code> tag
513        except a <code>DOCTYPE</code>, white space characters,
514        and comments.</p>
515    </d:desc>    </d:desc>
516  </d:item>  </d:item>
517    
# Line 309  Web Document Conformance Checker (BETA)< Line 521  Web Document Conformance Checker (BETA)<
521    HTML.</d:message>    HTML.</d:message>
522    <d:desc xml:lang="en">    <d:desc xml:lang="en">
523      <p>The document contains a <code>DOCTYPE</code> declaration      <p>The document contains a <code>DOCTYPE</code> declaration
524      that is different from HTML5 <code>DOCTYPE</code> (i.e. <code>&lt;!DOCTYPE      that is different from HTML5 <code>DOCTYPE</code> (i.e.
525      HTML&gt;</code>).  The document is non-conforming.</p>      <code>&lt;!DOCTYPE HTML&gt;</code>).  The document is non-conforming.</p>
526    
527      <p>The document might or might not be conformant to      <p>The document might or might not be conformant to
528      some version of HTML.  However, conformance to any HTML      some version of HTML.  However, conformance to any HTML
# Line 347  Web Document Conformance Checker (BETA)< Line 559  Web Document Conformance Checker (BETA)<
559      context.  The document is non-conforming.</p>      context.  The document is non-conforming.</p>
560    
561      <p>Possible causes:      <p>Possible causes:
562        <dl>        <ul>
563        <dt>If the erred element is an inline-level element (such        <li><p>A data character cannot be a child
564        as <code>a</code> or <code>span</code>)</dt>        of certain sectioning elements such as <code>body</code>,
565            <dd><p>A data character cannot be a child        <code>section</code>, and <code>blockquote</code>.</p>
566            of certain sectioning elements such as <code>body</code>,  
567            <code>section</code>, and <code>blockquote</code>.</p>        <p>Any inline-level content must be put
568          in e.g. paragraph element such as <code>p</code>.</p></li>
569            <p>Any inline-level content must be put        <li><p>Though some elements such as <code>div</code>,
570            in e.g. paragraph element such as <code>p</code>.</p></dd>        <code>li</code>, and <code>td</code> allow
571        <dt>If the erred element is a block-level element (such as        <em>either one</em> of block-level or inline-level content
572        <code>div</code> or <code>h<var>n</var></code>)</dt>        is allowed.  If there is a block-level content,
573            <dd><p>Though some elements such as <code>div</code>,        any inline-level content must be put
574            <code>li</code>, and <code>td</code> allow        in e.g. paragraph element such as <code>p</code>.</p></li>
575            <em>either one</em> of block-level or inline-level content        </ul>
           is allowed.  If there is a block-level content,  
           any inline-level content must be put  
           in e.g. paragraph element such as <code>p</code>.</p></dd>  
       </dl>  
576      </p>      </p>
577    </d:desc>    </d:desc>
578  </d:item>  </d:item>
# Line 409  Web Document Conformance Checker (BETA)< Line 617  Web Document Conformance Checker (BETA)<
617      <p>An element appears where it is not allowed.  The document      <p>An element appears where it is not allowed.  The document
618      is non-conforming.</p>      is non-conforming.</p>
619    
     <p><strong>Note</strong>: The conformance checker does  
     <em>not</em> support form elements yet.</p>  
   
620      <p>Possible causes:      <p>Possible causes:
621        <dl>        <dl class="switch">
622        <dt>If the erred element is an inline-level element (such        <dt>If the element with the error is an inline-level element,
623        as <code>a</code> or <code>span</code>)</dt>        such as <code>a</code>, <code>progress</code>, or <code>img</code></dt>
624            <dd><p>An inline-level element cannot be a child            <dd><p>An inline-level element cannot be a child
625            of certain sectioning elements such as <code>body</code>,            of certain sectioning elements such as <code>body</code>,
626            <code>section</code>, and <code>blockquote</code>.</p>            <code>section</code>, and <code>blockquote</code>.</p>
627    
628            <p>Any inline-level content must be put            <p>Any inline-level content must be put
629            in e.g. paragraph element such as <code>p</code>.</p></dd>            in e.g. paragraph element such as <code>p</code>.</p></dd>
630        <dt>If the erred element is a block-level element (such as        <dt>If it is a block-level elements, such as <code>aside</code>,
631        <code>div</code> or <code>h<var>n</var></code>)</dt>        <code>div</code>, <code>h<var>n</var></code>,
632            <dd><p>Though some elements such as <code>div</code>,        <code>p</code>, or <code>section</code></dt>
633            <code>li</code>, and <code>td</code> allow            <dd><dl class="switch">
634            <em>either one</em> of block-level or inline-level content                <dt>If the parent element is <code>div</code>,
635            is allowed.  If there is a block-level content,                <code>li</code>, <code>td</code>, or <code>th</code></dt>
636            any inline-level content must be put                <!-- @@ TODO: more... -->
637            in e.g. paragraph element such as <code>p</code>.</p></dd>                    <!-- @@ TODO: <p><ul><li><p> -->
638        <dt>If the erred element is the root <code>html</code> element</dt>                    <dd><p>The parent element allows <em>either</em>
639                      block-level or inline-level content.  If there is a
640                      block-level content, any inline-level content must be
641                      put in e.g. paragraph element such as <code>p</code>.</p>
642                      <p>For example, an HTML document fragment
643                      <code class="bad example">&lt;div>&lt;p>Hello!&lt;/p> World!&lt;/div></code>
644                      is non-conforming, since a word <q>World!</q> does not belong
645                      to any paragraph.  (If not part of any paragraph, what is
646                      it!?)  A conforming example would be:
647                        <pre class="example"><code>&lt;div>&lt;p>Hello!&lt;/p> &lt;p>World!&lt;/p>&lt;/div></code></pre>
648                      </p></dd>
649                  <dt>If the parent element does <em>not</em> allow
650                  block-level elements as content</dt>
651                      <dd>The element is not allowed to be inserted here.
652                      For example, a <code>div</code> element cannot be
653                      a child of an <code>h1</code> element.</dd>
654              </dl></dd>
655          <dt>If the element with the error is a <code>noscript</code> element</dt>
656              <dd>The <code>noscript</code> element is allowed only in the context
657              where a block-level or inline-level content is expected
658              and in the <code>head</code> element.
659              It cannot be used in e.g. <code>ul</code>, <code>table</code>,
660              or <code>select</code>.</dd>
661          <dt>If the element with the error is the <code>html</code> element
662          that is the root element of an XHTML document</dt>
663            <dd><p>In an XHTML document, the root <code>html</code>            <dd><p>In an XHTML document, the root <code>html</code>
664            element must have an <code>xmlns</code> attribute            element must have an <code>xmlns</code> attribute
665            whose value is set to            whose value is set to
666            <code>http://www.w3.org/1999/xhtml</code>.</p></dd>            <code>http://www.w3.org/1999/xhtml</code>.</p></dd>
667          <dt>If the element with the error is <code>blink</code>,
668          <code>center</code>, or <code>marquee</code> element</dt>
669              <dd>These elements are not part of the HTML standard.
670              Use CSS for styling control.</dd>
671    
672          <dt><code>button</code>, <code>datalist</code>, <code>form</code>,
673          <code>input</code>, <code>label</code>,
674          <code>optgroup</code>, <code>option</code>, <code>output</code>,
675          <code>rb</code>, <code>rp</code>, <code>rt</code>, <code>ruby</code>,
676          <code>textarea</code>, or <code>textarea</code> element</dt>
677          <!-- rbc, rtc ? -->
678              <dd>These elements are intentionally not supported by the conformance
679              checker <em>yet</em>.</dd>
680        </dl>        </dl>
681      </p>      </p>
682    </d:desc>    </d:desc>
683  </d:item>  </d:item>
684    
685    <d:item name="ps element missing"
686        class="content-model-error">
687      <d:message xml:lang="en">There is no <code><var>$0</var></code>
688      element before this element.</d:message>
689      <d:desc xml:lang="en">
690        <p>There must be an element before another element, but there
691        is not.  The document is non-conforming.</p>
692    
693        <p>For example, there must be a <code>dt</code> element
694        before any <code>dd</code> element.</p>
695      </d:desc>
696    </d:item>
697    
698  </section>  </section>
699    
700  <section id="attribute-errors">  <section id="attribute-errors">
# Line 454  Web Document Conformance Checker (BETA)< Line 709  Web Document Conformance Checker (BETA)<
709      is non-conforming.</p>      is non-conforming.</p>
710    
711      <p>Some attribute is defined as <i>required</i>.      <p>Some attribute is defined as <i>required</i>.
     For example, any <code>img</code> element must have  
     <code>alt</code> and <code>src</code> attributes specified.  
712      Without required attributes specified, user agents      Without required attributes specified, user agents
713      cannot provide the full functionality of the element      cannot provide full functionality of the element to the user.</p>
714      to the user.</p>  
715        <dl class="switch">
716        <dt>HTML <code>img</code> element</dt>
717            <dd>The <code>src</code> attribute must be specified.
718            Additionally, the <code>alt</code> attribute must be specified
719            in many cases.</dd>
720        <dt>HTML <code>link</code> element</dt>
721            <dd>The <code>rel</code> attribute must be specified.
722            Note that the <code>rev</code> attribute is obsolete.</dd>
723        </dl>
724      </d:desc>
725    </d:item>
726    
727    <d:item name="attribute not allowed" class="attribute-error">
728      <d:message xml:lang="en">Attribute
729      <code><var>{local-name}</var></code> is not allowed for
730      <code><var>{element-local-name}</var></code> element.</d:message>
731      <d:desc xml:lang="en">
732        <p>An attribute is specified where it is not allowed.
733        The document is non-conforming.</p>
734    
735        <dl>
736        <dt>HTML <code>meta</code> element</dt>
737            <dd>For HTML <code>meta</code> element, <em>only one</em> of
738            <code>name</code>, <code>http-equiv</code>, or <code>charset</code>
739            attribute is allowed.</dd>
740        </dl>
741    </d:desc>    </d:desc>
742  </d:item>  </d:item>
743    
# Line 466  Web Document Conformance Checker (BETA)< Line 745  Web Document Conformance Checker (BETA)<
745      class="attribute-error">      class="attribute-error">
746    <d:message xml:lang="en">The <code>xml:lang</code> attribute is not    <d:message xml:lang="en">The <code>xml:lang</code> attribute is not
747    allowed in HTML document.</d:message>    allowed in HTML document.</d:message>
748    <d:desc>    <d:desc xml:lang="en">
749      <p>The <code>xml:lang</code> attribute is not allowed in      <p>The <code>xml:lang</code> attribute is not allowed in
750      HTML document.  The document is non-conforming.</p>      HTML document.  The document is non-conforming.</p>
751    
752      <p>The <code>lang</code> attribute in the <code>null</code>      <p>Use of the <code>xml:lang</code> attribute is conforming
753      namespace for HTML elements is defined as conforming <em>only</em> for      <em>only</em> in XML documents.</p>
     XML document.</p>  
754    
755      <p>To specify natural language information in HTML document,      <p>To specify natural language information in HTML document,
756      use <code>lang</code> attribute instead.</p>      use <code>lang</code> attribute instead.</p>
757    
758        <p>XHTML 1.0 Appendix C was encouraged to specify both
759        <code>lang</code> and <code>xml:lang</code> attributes with
760        the same value.  Such a duplication has <em>no effect</em> in practice.
761        Use only one of <code>lang</code> (in HTML) or <code>xml:lang</code> (in
762        XML).</p>
763    
764      <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created      <!-- @@ ISSUE: xml:lang in non-HTML element in DOM5 HTML created
765           from an HTML document? -->           from an HTML document? -->
766    </d:desc>    </d:desc>
# Line 506  Web Document Conformance Checker (BETA)< Line 791  Web Document Conformance Checker (BETA)<
791      XML document.  The document is non-conforming.</p>      XML document.  The document is non-conforming.</p>
792    
793      <p>The <code>lang</code> attribute in <code>null</code>      <p>The <code>lang</code> attribute in <code>null</code>
794      namespace for HTML elements is defined as conforming <em>only</em> for      namespace for HTML elements is conforming <em>only</em> in
795      HTML document.</p>      HTML documents.</p>
796    
797      <p>To specify natural language information in XML document,      <p>To specify natural language information in XML document,
798      use <code>xml:lang</code> attribute instead.</p>      use <code>xml:lang</code> attribute instead.</p>
# Line 523  Web Document Conformance Checker (BETA)< Line 808  Web Document Conformance Checker (BETA)<
808      <p>The <code>xmlns</code> attribute in the <code>null</code>      <p>The <code>xmlns</code> attribute in the <code>null</code>
809      namespace is not allowed in XHTML document.</p>      namespace is not allowed in XHTML document.</p>
810    
811      <p>This error should not occur in conformance-checking      <p>This error should not occur in conformance-checking of
812      static documents.</p>      static documents.</p>
813    </d:desc>    </d:desc>
814  </d:item>  </d:item>
# Line 536  Web Document Conformance Checker (BETA)< Line 821  Web Document Conformance Checker (BETA)<
821  <d:item name="enumerated:invalid"  <d:item name="enumerated:invalid"
822      class="attribute-value-error">      class="attribute-value-error">
823    <d:message xml:lang="en">This attribute only allow a limited set of    <d:message xml:lang="en">This attribute only allow a limited set of
824    values and the specified value is not one of them.</d:message>    values and the specified value <code><var>{@}</var></code> is not one
825      of them.</d:message>
826      <d:desc xml:lang="en">
827        <p>For this attribute only several values are allowed and the
828        value of the attribute is not one of them.  The document
829        is non-conforming.</p>
830    
831        <dl>
832        <dt>HTML <code>meta</code> element, <code>http-equiv</code> attribute</dt>
833            <dd><p>Only <code>Default-Style</code> and <code>Refresh</code>
834            is allowed.</p>
835            <p>Value <code>Content-Type</code> is obsolete; for charset
836            declaration, the <code>charset</code> attribute can be used as:
837            <pre class="html example"><code>&lt;meta charset="<var>charset-name</var>"></code></pre>
838            ... where <var>charset-name</var> is a name of the character encoding
839            of the document, such as <code>utf-8</code>.</p>
840            <p>Values <code>Content-Style-Type</code> and
841            <code>Content-Script-Type</code> are currently not allowed.</p>
842            <p>Value <code>Keywords</code> is not allowed.  Use
843            <code>name</code> attribute instead of <code>http-equiv</code>
844            attribute.</p>
845            <p>Values <code>Expires</code>, <code>Pragma</code>,
846            and <code>Cache-Control</code> are not allowed;
847            use <em>real</em> HTTP header fields for cache control.</p></dd>
848        </dl>
849      </d:desc>
850  </d:item>  </d:item>
851    
852  <d:item name="duplicate ID"  <d:item name="duplicate ID"
# Line 546  Web Document Conformance Checker (BETA)< Line 856  Web Document Conformance Checker (BETA)<
856    <!-- @@ <id=a xml:id=a>? -->    <!-- @@ <id=a xml:id=a>? -->
857  </d:item>  </d:item>
858    
859  <d:item name="link type:bad-context"  <d:item name="link type:bad context"
860      class="attribute-value-error">      class="attribute-value-error">
861    <d:message xml:lang="en">The link type <code><var>$0</var></code>    <d:message xml:lang="en">The link type <code><var>$0</var></code>
862    cannot be specified for this element.</d:message>    cannot be specified for this element.</d:message>
# Line 568  Web Document Conformance Checker (BETA)< Line 878  Web Document Conformance Checker (BETA)<
878    <d:message xml:lang="en">The link type <code><var>$0</var></code>    <d:message xml:lang="en">The link type <code><var>$0</var></code>
879    is non-conforming.</d:message>    is non-conforming.</d:message>
880    <d:desc xml:lang="en">    <d:desc xml:lang="en">
881      <p>The specified link type is non-conforming.  The entire document      <p>The specified link type is non-conforming, and therefore
882      is non-conforming.</p>      the document is non-conforming.</p>
883    
884      <p>For example, in place of non-conforming link type <code>copyright</code>      <dl>
885      you must use link type <code>license</code>.</p>      <dt>Link type <code>contents</code></dt>
886          <dd>Use link type <code>index</code>.</dd>
887        <dt>Link type <code>copyright</code></dt>
888          <dd>Use link type <code>license</code>.</dd>
889        <dt>Link type <code>home</code></dt>
890          <dd>Use link type <code>index</code>.</dd>
891        <dt>Link type <code>start</code></dt>
892          <dd>Use link type <code>first</code>.</dd>
893        <dt>Link type <code>toc</code></dt>
894          <dd>Use link type <code>index</code>.</dd>
895        </dl>
896    </d:desc>    </d:desc>
897  </d:item>  </d:item>
898    
899  <d:item name="reserved browsing context name"  <d:item name="reserved browsing context name"
900      class="attribute-value-error">      class="attribute-value-error">
901    <d:message xml:lang="en">This browsing context name is reserved.</d:message>    <d:message xml:lang="en">Browsing context name
902    <d:item>    <code><var>{@}</var></code> is reserved.</d:message>
903      <d:desc xml:lang="en">
904      <p>The specified browsing context name is reserved.      <p>The specified browsing context name is reserved.
905      The document is non-conforming.</p>      The document is non-conforming.</p>
906    
# Line 592  Web Document Conformance Checker (BETA)< Line 913  Web Document Conformance Checker (BETA)<
913      browsing context names <code>_blank</code>,      browsing context names <code>_blank</code>,
914      <code>_main</code>, and <code>_replace</code>.      <code>_main</code>, and <code>_replace</code>.
915      However, they are <em>not</em> conforming attribute values.</p>      However, they are <em>not</em> conforming attribute values.</p>
916    </d:item>    </d:desc>
917  </d:item>  </d:item>
918    
919  </section>  </section>
# Line 636  Web Document Conformance Checker (BETA)< Line 957  Web Document Conformance Checker (BETA)<
957    <code>th</code>) in the last row.</d:message>    <code>th</code>) in the last row.</d:message>
958  </d:item>  </d:item>
959    
960    <d:item name="table:rowspan extends table"
961        class="table-model-error">
962      <d:message xml:lang="en">This <code>rowspan</code> attribute
963      results in creating a table row that does not contain
964      any cell anchored to it.</d:message>
965      <d:desc xml:lang="en">
966        <p>The <code>rowspan</code> attribute value of the cell
967        is so specified that it extends a table in the row axis.
968        However, the extended row does not contain any cell by itself.
969        The document is non-conforming.</p>
970    
971        <p>For example, the table below is non-conforming:
972          <pre class="html non-conforming example"><code>&lt;table>
973    &lt;tbody>
974    &lt;tr>&lt;td rowspan=2>&lt;/td>&lt;/tr>
975    &lt;/tbody>
976    &lt;/table></code></pre>
977        ... since the second row contains only
978        a cell that spans between first and second rows.</p>
979      </d:desc>
980    </d:item>
981    
982  </section>  </section>
983    
984  <section id="imt-warnings">  <section id="imt-warnings">
# Line 643  Web Document Conformance Checker (BETA)< Line 986  Web Document Conformance Checker (BETA)<
986    
987  <d:item name="IMT:obsolete subtype"  <d:item name="IMT:obsolete subtype"
988      class="should" level="s">      class="should" level="s">
989    <d:message xml:lang="en">An <em>obsolete</em> subtype is used.</d:message>    <d:message xml:lang="en"><code><var>{@}</var></code>: An <em>obsolete</em>
990      subtype is used.</d:message>
991  </d:item>  </d:item>
992    
993  <d:item name="IMT:private subtype"  <d:item name="IMT:private subtype"
994      class="should" level="s">      class="should" level="s">
995    <d:message xml:lang="en">A private (<code>x-</code> or <code>x.</code>)    <d:message xml:lang="en"><code><var>{@}</var></code>: A private
996    subtype is used.</d:message>    (<code>x-</code> or <code>x.</code>) subtype is used.</d:message>
997  </d:item>  </d:item>
998    
999  <d:item name="IMT:unregistered subtype"  <d:item name="IMT:unregistered subtype"
1000      class="should" level="s">      class="should" level="s">
1001    <d:message xml:lang="en">The subtype is not registered to IANA.</d:message>    <d:message xml:lang="en"><code><var>{@}</var></code>: The subtype is
1002      not registered to IANA.</d:message>
1003  <!-- TODO: Unknown message?? -->  <!-- TODO: Unknown message?? -->
1004  </d:item>  </d:item>
1005    
# Line 665  Web Document Conformance Checker (BETA)< Line 1010  Web Document Conformance Checker (BETA)<
1010    
1011  <d:item name="URI::syntax error"  <d:item name="URI::syntax error"
1012      class="must" level="m">      class="must" level="m">
1013    <d:message xml:lang="en">This string is not an IRI syntactically.</d:message>    <d:message xml:lang="en">The specified value is syntactically not an IRI
1014      reference.</d:message>
1015      <d:desc xml:lang="en">
1016        <p>The specified value does not satisfy the syntactical requirements
1017        for IRI references.  The document is non-conforming.</p>
1018    
1019        <p>Possible causes:
1020          <ul>
1021          <li>The string might contain one or more white space characters.
1022          Especially, the <code> </code> (<code>U+0020</code>
1023          <code class="charname">SPACE</code>) character cannot be
1024          used in IRI references.</li>
1025          </ul>
1026        </p>
1027      </d:desc>
1028  </d:item>  </d:item>
1029    
1030  </section>  </section>
1031    
1032  <section id="uri-warnings">  <section id="uri-shoulds">
1033  <h2>URI (or IRI) Warnings</h2>  <h2>URI (or IRI) Should-level Errors</h2>
1034    
1035  <d:item name="URI::dot-segment"  <d:item name="URI::dot-segment"
1036      class="should" level="s">      class="should" level="s">
1037    <d:message xml:lang="en">Dot-segment (<code>.</code> or    <d:message xml:lang="en">A dot-segment (<code>.</code> or
1038    <code>..</code>) should not occur in an absolute reference.</d:message>    <code>..</code>) occurs in an absolute reference.</d:message>
1039    <d:desc>    <d:desc>
1040      <p>Dot-segment (<code>.</code> or <code>..</code>) should      <p>Dot-segment (<code>.</code> or <code>..</code>) should
1041      not occur in an absolute reference.</p>      not occur in an absolute reference.</p>
# Line 691  Web Document Conformance Checker (BETA)< Line 1050  Web Document Conformance Checker (BETA)<
1050    
1051  <d:item name="URI::empty path"  <d:item name="URI::empty path"
1052      class="should" level="s">      class="should" level="s">
1053    <d:message xml:lang="en">This IRI should explicitly end with    <d:message xml:lang="en">This IRI does not end with
1054    <code>/</code>.</d:message>    a <code>/</code>.</d:message>
1055  </d:item>  </d:item>
1056    
1057  <d:item name="URI::lowercase hexadecimal digit"  <d:item name="URI::lowercase hexadecimal digit"
1058      class="should" level="s">      class="should" level="s">
1059    <d:message xml:lang="en">Hexadecimal digit in percent-encoding    <d:message xml:lang="en">A lowercase hexadecimal digit is used
1060    should be in lowercase.</d:message>    in percent-encoding.</d:message>
1061    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1062      <p>The hexadecimal digit in percent-encoding string in the IRI      <p>The hexadecimal digit in percent-encoding string in the IRI
1063      is in lowercase.  Though the IRI <em>is</em> conforming,      is in lowercase.  Though the IRI <em>is</em> conforming,
# Line 717  Web Document Conformance Checker (BETA)< Line 1076  Web Document Conformance Checker (BETA)<
1076    </d:desc>    </d:desc>
1077  </d:item>  </d:item>
1078    
1079    <d:item name="URI::uppercase scheme name"
1080        class="should" level="s">
1081      <d:message xml:lang="en">URI scheme name is in uppercase.</d:message>
1082      <d:desc xml:lang="en">
1083        <p>The scheme part of the IRI is written in uppercase letter.</p>
1084    
1085        <p>Uppercase scheme names are not required to be processed
1086        correctly.</p>
1087    <!-- @@
1088     RFC 3986 3.1.
1089     > Although schemes are case-
1090       insensitive, the canonical form is lowercase and documents that
1091       specify schemes must do so with lowercase letters.
1092    
1093     > An implementation ... should only produce lowercase scheme names for
1094       consistency.
1095    -->
1096      </d:desc>
1097    </d:item>
1098    
1099  </section>  </section>
1100    
1101  <section id="unsupported-messages">  <section id="unsupported-messages">
1102  <h2><i>Unsupported</i> Messages</h2>  <h2><i>Unsupported</i> Messages</h2>
1103    
1104  <d:item name="attribute"  <d:item name="element"
1105      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1106    <d:message xml:lang="en">This attribute is not supported by the    <d:message xml:lang="en">Conformance checking for element
1107    conformance checker; <em>it might or might not be conforming</em>.</d:message>    <code><var>{local-name}</var></code> is not supported; <em>it might or
1108      might not be conforming</em>.</d:message>
1109    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1110      <p>The conformant checker does not support the attribute.      <p>The conformant checker does not support the element.
1111      It cannot determine whether the document is conforming or not.</p>      It cannot determine whether the document is conforming or not.</p>
1112    </d:desc>    </d:desc>
1113  </d:item>  </d:item>
1114    
1115  <d:item name="element"  <d:item name="attribute"
1116      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1117    <d:message xml:lang="en">This element is not supported by the    <d:message xml:lang="en">Conformance checking for attribute
1118    conformance checker; <em>it might or might not be conforming</em>.</d:message>    <code><var>{local-name}</var></code> of element
1119      <code><var>{element-local-name}</var></code> is not supported;
1120      <em>it might or might not be conforming</em>.</d:message>
1121    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1122      <p>The conformant checker does not support the element.      <p>The conformant checker does not support the attribute.
1123      It cannot determine whether the document is conforming or not.</p>      It cannot determine whether the document is conforming or not.</p>
1124    </d:desc>    </d:desc>
1125  </d:item>  </d:item>
1126    
1127  <d:item name="link type"  <d:item name="link type"
1128      class="unsupported" level="unsupported">      class="unsupported" level="unsupported">
1129    <d:message xml:lang="en">The link type <code><var>$0</var></code> is not    <d:message xml:lang="en">Link type <code><var>$0</var></code> is not
1130    standardized or registered at the time of the release of the conformance    standardized or registered at the time of the release of the conformance
1131    checker; <em>it is non-conforming unless it has now been    checker; <em>it is non-conforming unless it now has been
1132    registered</em>.</d:message>    registered</em>.</d:message>
1133    <d:desc xml:lang="en">    <d:desc xml:lang="en">
1134      <p>The <code>rel</code> attribute is defined as a list of link types.      <p>The <code>rel</code> attribute is defined as a list of link types.
# Line 759  Web Document Conformance Checker (BETA)< Line 1141  Web Document Conformance Checker (BETA)<
1141      The link type might have been added to the registry since then.      The link type might have been added to the registry since then.
1142      In such case it might be conforming.  Otherwise, the      In such case it might be conforming.  Otherwise, the
1143      document is non-conforming.</p>      document is non-conforming.</p>
1144    
1145        <dl>
1146        <dt>Link types <code>shortcut icon</code></dt>
1147            <dd>Link type <code>shortcut</code> is not registered.
1148            Use only <code>icon</code> for linking to so-called favicon.</dd>
1149        </dl>
1150    </d:desc>    </d:desc>
1151  </d:item>  </d:item>
1152    
# Line 808  manakaiIsHTML:0;;XML Document Line 1196  manakaiIsHTML:0;;XML Document
1196  <section id="license">  <section id="license">
1197  <h2>License of This Document</h2>  <h2>License of This Document</h2>
1198    
1199  <p>Copyright 2007 <a href="http://suika.fam.cx/~wakaba/who?">Wakaba</a></p>  <p>Copyright 2007 <a href="http://suika.fam.cx/~wakaba/who?" rel="author" xml:lang="ja">Wakaba</a></p>
1200  <p>This library is free software; you can redistribute it  <p>This document is free software; you can redistribute it
1201  and/or modify it under the same terms as Perl itself.</p>  and/or modify it under the same terms as Perl itself.</p>
1202  </section>  </section>
1203    

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.10

[email protected]
ViewVC Help
Powered by ViewVC 1.1.24