--- test/html-webhacc/error-description-source.xml 2007/07/01 10:02:24 1.1 +++ test/html-webhacc/error-description-source.xml 2007/09/03 14:30:46 1.9 @@ -11,26 +11,248 @@

Description of Errors

-
-

HTML5 Parse Errors

+
+

HTML5 Parse Errors in Tokenization Stage

- - The $0 element cannot be - inserted between head and body elements. + Tag <$0> + is not allowed after the end tag </html>. -

A start tag occurs after the head element is closed - but before the body element is opened. +

The start or end tag of an element appears after the + html element has been closed. The document is + non-conforming.

+ +

Any content of the document other than comments + must be put into the html element.

+
+
+ + + Tag <$0> + is not allowed after the end tag </body>. + +

The start or end tag of an element appears after the + body element has been closed. The document is + non-conforming.

+ +

Any content of the document other than head + contents and comments must be put into the body + element.

+
+
+ + + The & character must + introduce a reference. + +

An & (U+0026 + AMPERSAND) character which + is not part of any reference appears in the input stream. + The document is non-conforming.

+ +

Any & character in URI (or IRI) + must be escaped as &amp;.

+ +

The & character must + be the first character of a reference: +

+
Named entity reference
+
&entity-name;
+ where entity-name is the name of the + character entity to be referenced.
+
Numeric character reference
+
&#d;
+ where d is the decimal representation of + the code position of the character to be referenced.
+
Hexadecimal character reference
+
&#xh;
+ where h is the hexadecimal representation + of the code position of the character to be referenced.
+
+

+ +

To represent & as a data character, use + named entity reference: +

&amp;
+

+
+
+ + + A </ string is not followed + by a tag name. + +

There is a < (U+003C + LESS-THAN SIGN) character + immediately followed by a / (U+005F + SOLIDUS) character, which is not part + of any end tag, in the input stream. The document + is non-conforming.

+ +

The </ sequence immediately followed + by an EOF is + interpreted as a string data of </.

+ +

The </ sequence as string data must + be escaped as: +

&lt;/
+

+
+
+ + + A < character is not followed + by tag name or by a ! character. + +

A < (U+003C + LESS-THAN SIGN) character which is not part + of any markup appears in the input stream.

+ +

The < character as a data character must + be escaped as: +

&lt;
+

+
+
+ + + The decimal representation of the code position + of a character must be specified after &#. + +

An & (U+0026 + AMPERSAND) character immediately + followed by a # (U+0023 + NUMBER SIGN) character which + is not part of any reference appears in the input stream. The document is non-conforming.

+ +

The string &# must be the first two characters + of a reference: +

+
Numeric character reference
+
&#d;
+ where d is the decimal representation of + the code point of the character to be referenced.
+
Hexadecimal character reference
+
&#xh;
+ where h is the hexadecimal representation + of the code point of the character to be referenced.
+
+

+ +

To represent &# as data characters, use + a named entity reference for the & character: +

&amp;#
+

+
+
+ + + The hexadecimal representation of the code position + of a character must be specified after &#x. + +

The string &#x or &#X which + is not part of any reference appears in the input stream. + The document is non-conforming.

+ +

The string &#x or &#X must + be the first three characters of a hexadecimal reference: +

&#xh;
+ where h is the hexadecimal representation + of the code point of the character to be referenced.

+ +

To represent &#x as data characters, use + a named entity reference for the & character: +

&amp;#x
+

+
+
+ + + String <! is not followed + by --. + +

There is a < (U+003C + LESS-THAN SIGN) character + followed by a ! (U+0021 + EXCLAMATION MARK) character, + which is not followed by a -- or + !DOCTYPE. The document is non-conforming.

+ +
+
Comments
+
In HTML documents, comments must be introduced by + <!-- (<! immediately followed + by two -s) and must be terminated by + -->. Strings <! not followed + by -- and <!- not followed by + - are not valid open delimiters for comments.
+
Marked sections, including CDATA sections
+
Marked sections are not allowed in HTML documents.
+
Markup declarations
+
Markup declarations, except DOCTYPE + and comment declarations, are not allowed in HTML documents.
+
String <!
+
String <! must be escaped as + &lt;!.
+
+
+
+ + + String </ is not followed + by tag name. + +

There is a < (U+003C + LESS-THAN SIGN) character + immediately followed by a / (U+005F + SOLIDUS) character, which is not part + of any end tag, in the input stream. The document + is non-conforming.

+ +

The </ sequence not followed by a + tag name is parsed as an opening of bogus comment.

+ +

The </ sequence as string data must + be escaped as: +

&lt;/
+

+
+
+ + + There is a -- sequence + in a comment. + +

There is a - (U+002D + HYPHEN-MINUS) character + at the end of the comment or a -- sequence + in the comment. The document is non-conforming.

+ +

Comments cannot contain a string --, as in XML. + Unlike SGML, there cannot be more than one comments + (where comment is an SGML term) in the comment + declaration.

- There are two attributes with same name. + There are two attributes with name + $0. -

Attributes must be unique in an element. Specifying - attributes with same name more than once is non-conforming.

+

There are more than one attributes with the same + name in a tag. The document is non-conforming.

The motion attribute is not part of the HTML standard. Use img element with animation GIF instead.

@@ -42,18 +264,275 @@ Void element syntax (/>) cannot be used for this element. -

The void element syntax /> syntax can only be +

Void element syntax (/>) must not be used + for the element. The document is non-conforming.

+ +

The void element syntax can only be used for base, link, meta, hr, br, img, embed, param, area, - col, and input elements. - For any other elements, using that syntax is non-conforming.

+ col, and input elements.

-

Unlike XML, the void element syntax (/>) has +

+
<script/>
+

The void element syntax cannot be used for script + element. Even for an empty script element, + there must be an explicit end tag </script>.

+ +

NOTE: Though some user agents interpret + void element syntax for script element as the + closing of the element, such usage is not allowed under + the current standard.

+
<basefont/>, <bgsound/>, + <frame/>, <keygen/>, + <spacer/>, <wbr/>
+
These elements are themselves non-conforming.
+ +
<command/>, <event-source/>, + <source/>
+
Future revision of HTML5 parsing algorithm is expected + to allow void element syntax for these elements.
+
<a/>, <p/>
+
These elements are not always empty and therefore + void element syntax is not allowed.
+
+ +

Note that, unlike in XML, the void element syntax has no effect in HTML.

+ + + Processing instruction + (<?...>) cannot be used. + +

Processing instructions (<?...?>), + including XML declaration (<?xml ...?>) + and XML style sheet PI + (<?xml-stylesheet ...?>), are not allowed + in the HTML syntax. The document is non-conforming.

+ +
+
<?xml?> (XML declaration)
+
XML declaration is unnecessary for HTML documents.
+
<?xml-stylesheet?> (XML style sheet + PI
+
Use HTML link element with rel + attribute set to stylesheet (or, + alternate stylesheet for an alternate style + sheet).
+
<?php?> (PHP code)
+
The conformance checker does not support + checking for PHP source documents.
+
Other processing instructions
+
Processing instructions cannot be inserted in an HTML + document. Use XML document or insert + ProcessingInstruction node by scripting.
+
+ +

Web browsers will parse processing instructions as bogus + comments. Some legacy Web browsers, such as IE:mac and + some mobile Web browsers, will display processing instructions + as string.

+
+
+ +
+ +
+

HTML5 Parse Errors in Tree Construction Stage

+ + + The $0 element cannot be + inserted between head and body elements. + +

A start tag appears after the head element is closed + but before the body element is opened. + The document is non-conforming.

+
+
+ + + A DOCTYPE appears after any + element or data character has been seen. + +

A DOCTYPE appears after any element or data character + has been seen. The document is non-conforming.

+ +

The DOCTYPE must be placed before any + tag, reference, or data character. Only white space characters + and comments can be inserted before the DOCTYPE.

+
+
+ + + Anchor cannot be nested. + +

HTML a elements cannot be nested. + The document is non-conforming.

+ +

In the HTML syntax, a start tag of the a + implies the end tag of any opening a element.

+
+
+ + + Tag <$0> + is not allowed in the body element. + +

The start or end tag of an element, which + cannot be a descendant of body element, appears + in the input stream while the body element has been opened. + The document is non-conforming.

+
+
+ + + Start tag <head> + is not allowed in the head element. + +

There is a start tag <head> in the + <head> element. The document is non-conforming.

+ +

In an HTML document there must not be more than + one head element, therefore no more than one + start tag <head> can appear in the input stream.

+
+
+ + + Tag <$0> + is not allowed in a table element. + +

The start or end tag of an element, which + cannot be a child of table element, appears + in the input stream while the table element has been opened + but no other element has been opened. The document is non-conforming.

+ +

In table, only table related elements + are allowed; any other element must be contained in + td or th element to form + a part of the table, or caption element to create + a table caption.

+
+
+ + + Data character is not allowed in + table. + +

A data character appears in table. The document + is non-conforming.

+ +

In table, only table related elements + are allowed; any other element and data character must be contained in + td or th element to form + a part of the table, or caption element to create + a table caption.

+
+
+ + + Start tag of tr + element is missing. + +

Start tag of a tr element, which is not + optional, is missing. The document is non-conforming.

+ +

In a table section, a <tr> start tag + must occur before any <td> or + <th> start tag. Though the HTML5 parser + implies the <tr> start tag before + these start tags, it must be explicitly specified.

+
+
+ + + This document does not start with a + DOCTYPE. + +

The document does not start with a DOCTYPE. + The document is non-conforming.

+ +

An HTML document must start by a DOCTYPE: +

<!DOCTYPE HTML>
+

+ +

Only white space characters and comments are allowed + before the DOCTYPE.

+
+
+ + + Element $0 is not + closed. + +

End tag of an element is not found before, for example, + an end tag of another element appears or + the end of the document. The document is non-conforming.

+
+
+ + + This <html> tag is not + the first start tag. + +

There is a start tag of the html element + that it not the first start tag in the input stream. + The document is non-conforming.

+ +

In an HTML document, there cannot be more than one + html element and therefore there cannot be + more than one <html> tag. In addition, + nothing can be placed before the <html> tag + except a DOCTYPE, white space characters, + and comments.

+
+
+ + + This document is written in an old version of + HTML. + +

The document contains a DOCTYPE declaration + that is different from HTML5 DOCTYPE (i.e. + <!DOCTYPE HTML>). The document is non-conforming.

+ +

The document might or might not be conformant to + some version of HTML. However, conformance to any HTML + specification other than HTML5 provides for no practical + convenience, since Web borwsers will parse any + HTML document (roughly) as defined in HTML5.

+
+
+ + + Element $0 is not + opened. + +

An end tag appears though no element with the same name + has been opened. The document is non-conforming.

+ +

For any end tag in HTML document, there must be a + corresponding start tag.

+
+
+
@@ -64,28 +543,24 @@ Data character is not allowed in this context. -

A data character occurs where it is not allowed in this +

A data character appears where it is not allowed in this context. The document is non-conforming.

Possible causes: -

-
If the erred element is an inline-level element (such - as a or span)
-

A data character cannot be a child - of certain sectioning elements such as body, - section, and blockquote.

- -

Any inline-level content must be put - in e.g. paragraph element such as p.

-
If the erred element is a block-level element (such as - div or hn)
-

Though some elements such as div, - li, and td allow - either one of block-level or inline-level content - is allowed. If there is a block-level content, - any inline-level content must be put - in e.g. paragraph element such as p.

-
+
    +
  • A data character cannot be a child + of certain sectioning elements such as body, + section, and blockquote.

    + +

    Any inline-level content must be put + in e.g. paragraph element such as p.

  • +
  • Though some elements such as div, + li, and td allow + either one of block-level or inline-level content + is allowed. If there is a block-level content, + any inline-level content must be put + in e.g. paragraph element such as p.

  • +

@@ -97,7 +572,7 @@

The content model of the element is so defined that it must contain a $0 child element. - Without such an element, the document is non-conforming.

+ The document is non-conforming.

For example:

    @@ -117,8 +592,8 @@ or th element as a child of this element.

    The tr element must contain at least one - td or th child element. Without - such an element, the document is non-conforming.

    + td or th child element. The document + is non-conforming.

    @@ -127,82 +602,522 @@ This element is not allowed in this context. -

    An element occurs where it is not allowed. The document +

    An element appears where it is not allowed. The document is non-conforming.

    Possible causes: -

    -
    If the erred element is an inline-level element (such - as a or span)
    +
    +
    If the element with the error is an inline-level element, + such as a, progress, or img

    An inline-level element cannot be a child of certain sectioning elements such as body, section, and blockquote.

    Any inline-level content must be put in e.g. paragraph element such as p.

    -
    If the erred element is a block-level element (such as - div or hn)
    -

    Though some elements such as div, - li, and td allow - either one of block-level or inline-level content - is allowed. If there is a block-level content, - any inline-level content must be put - in e.g. paragraph element such as p.

    -
    If the erred element is the root html element
    +
    If it is a block-level elements, such as aside, + div, hn, + p, or section
    +
    +
    If the parent element is div, + li, td, or th
    + + +

    The parent element allows either + block-level or inline-level content. If there is a + block-level content, any inline-level content must be + put in e.g. paragraph element such as p.

    +

    For example, an HTML document fragment + <div><p>Hello!</p> World!</div> + is non-conforming, since a word World! does not belong + to any paragraph. (If not part of any paragraph, what is + it!?) A conforming example would be: +

    <div><p>Hello!</p> <p>World!</p></div>
    +

    +
    If the parent element does not allow + block-level elements as content
    +
    The element is not allowed to be inserted here. + For example, a div element cannot be + a child of an h1 element.
    +
    +
    If the element with the error is a noscript element
    +
    The noscript element is allowed only in the context + where a block-level or inline-level content is expected + and in the head element. + It cannot be used in e.g. ul, table, + or select.
    +
    If the element with the error is the html element + that is the root element of an XHTML document

    In an XHTML document, the root html element must have an xmlns attribute whose value is set to http://www.w3.org/1999/xhtml.

    +
    If the element with the error is blink, + center, or marquee element
    +
    These elements are not part of the HTML standard. + Use CSS for styling control.
    + +
    button, datalist, form, + input, label, + optgroup, option, output, + rb, rp, rt, ruby, + textarea, or textarea element
    + +
    These elements are intentionally not supported by the conformance + checker yet.

    -enumerated:invalid;attribute-error;This attribute only allow a limited set of values and the specified value is not one of them. -no DOCTYPE;parse-error;This document does not start with the DOCTYPE declaration. -not HTML5;parse-error;This document is written in an old version of HTML. -not closed;parse-error;Element $0 is not closed. -unmatched end tag;parse-error;Element $0 is not opened. - -table:no cell in last row;table-model-error;The table has no cell (td or th) in the last row. - -s:IMT:obsolete subtype;should;An obsolete subtype is used. -s:IMT:private subtype;should;A private (x- or x.) subtype is used. -s:IMT:unregistered subtype;should;The subtype is not registered to IANA. + + There is no $0 + element before this element. + +

    There must be an element before another element, but there + is not. The document is non-conforming.

    + +

    For example, there must be a dt element + before any dd element.

    +
    +
    + +
+ +
+

Attribute Errors

+ + + Required attribute $0 + is not specified. + +

A required attribute is not specified. The document + is non-conforming.

+ +

Some attribute is defined as required. + Without required attributes specified, user agents + cannot provide full functionality of the element to the user.

+ +
+
HTML img element
+
The src attribute must be specified. + Additionally, the alt attribute must be specified + in many cases.
+
HTML link element
+
The rel attribute must be specified. + Note that the rev attribute is obsolete.
+
+
+
+ + + Attribute + {local-name} is not allowed for + {element-local-name} element. + +

An attribute is specified where it is not allowed. + The document is non-conforming.

+ +
+
HTML meta element
+
For HTML meta element, only one of + name, http-equiv, or charset + attribute is allowed.
+
+
+
+ + + The xml:lang attribute is not + allowed in HTML document. + +

The xml:lang attribute is not allowed in + HTML document. The document is non-conforming.

+ +

Use of the xml:lang attribute is conforming + only in XML documents.

+ +

To specify natural language information in HTML document, + use lang attribute instead.

+ +

XHTML 1.0 Appendix C was encouraged to specify both + lang and xml:lang attributes with + the same value. Such a duplication has no effect in practice. + Use only one of lang (in HTML) or xml:lang (in + XML).

+ + +
+
+ + + The charset attribute is not + allowed in XML document. + +

The charset attribute of a + meta element is not allowed in XML document. + The document is non-conforming.

+ +

To specify the character encoding used for serialization, + if necessary, use XML declaration instead: +

<?xml version="1.0" encoding="encoding-name"?>
+

+
+
+ + + The lang attribute is not + allowed in XML document. + +

The HTML lang attribute is not allowed in + XML document. The document is non-conforming.

+ +

The lang attribute in null + namespace for HTML elements is conforming only in + HTML documents.

-s:URI::empty path;should;This IRI should explicitly end with /. -m:URI::syntax error;must;This IRI is not syntactically valid. +

To specify natural language information in XML document, + use xml:lang attribute instead.

+
+
+ + + The xmlns attribute + in the null namespace is not allowed in + XHTML document. The document is non-conforming. + +

The xmlns attribute in the null + namespace is not allowed in XHTML document.

+ +

This error should not occur in conformance-checking of + static documents.

+
+
+ +
+ +
+

Attribute Value Errors

+ + + This attribute only allow a limited set of + values and the specified value {@} is not one + of them. + +

For this attribute only several values are allowed and the + value of the attribute is not one of them. The document + is non-conforming.

+ +
+
HTML meta element, http-equiv attribute
+

Only Default-Style and Refresh + is allowed.

+

Value Content-Type is obsolete; for charset + declaration, the charset attribute can be used as: +

<meta charset="charset-name">
+ ... where charset-name is a name of the character encoding + of the document, such as utf-8.

+

Values Content-Style-Type and + Content-Script-Type are currently not allowed.

+

Value Keywords is not allowed. Use + name attribute instead of http-equiv + attribute.

+

Values Expires, Pragma, + and Cache-Control are not allowed; + use real HTTP header fields for cache control.

+
+
+
+ + + This identifier has already been + assigned to another element. + + + + + The link type $0 + cannot be specified for this element. + +

The specified link type cannot be used for the element. + The document is non-conforming.

+ +

Link types are associated with limited set of elements. + They cannot be used with other elements.

+ +

For example, link type bookmark + can be used with a or area element, + while it cannot be used with link element.

+
+
+ + + The link type $0 + is non-conforming. + +

The specified link type is non-conforming, and therefore + the document is non-conforming.

+ +
+
Link type contents
+
Use link type index.
+
Link type copyright
+
Use link type license.
+
Link type home
+
Use link type index.
+
Link type start
+
Use link type first.
+
Link type toc
+
Use link type index.
+
+
+
+ + + Browsing context name + {@} is reserved. + +

The specified browsing context name is reserved. + The document is non-conforming.

+ +

Names of browsing contexts starting with _ + (U+005F LOW LINE) + are reserved so that it must not be used.

+ +

Old version of HTML, non-HTML markup languages, and + Web browsers define or implements special reserved + browsing context names _blank, + _main, and _replace. + However, they are not conforming attribute values.

+
+
+ +
+ +
+

Attribute Value Warnings

+ + + Link type $0 + is proposed but not accepted yet; it should not be + used until it has been accepted. + +

The link type is in the proposed status; it + should not be used until it has been + accepted.

+ +

Warning: The data served to the + conforming checker might be out of date; it might have already + been accepted or rejected, depending on which the document + might be conforming or non-conforming. See WHATWG Wiki + for the latest information.

+
+
+ +
+ +
+

Table Model Errors

+ + + This colspan attribute + results in creating a table column that does not contain + any cell anchored to it. + + + + The table has no cell (td or + th) in the last row. + + + + This rowspan attribute + results in creating a table row that does not contain + any cell anchored to it. + +

The rowspan attribute value of the cell + is so specified that it extends a table in the row axis. + However, the extended row does not contain any cell by itself. + The document is non-conforming.

+ +

For example, the table below is non-conforming: +

<table>
+<tbody>
+<tr><td rowspan=2></td></tr>
+</tbody>
+</table>
+ ... since the second row contains only + a cell that spans between first and second rows.

+
+
+ +
+ +
+

Internet Media Type Warnings

+ + + {@}: An obsolete + subtype is used. + + + + {@}: A private + (x- or x.) subtype is used. + + + + {@}: The subtype is + not registered to IANA. + + + +
+ +
+

URI (or IRI) Errors

+ + + The specified value is syntactically not an IRI + reference. + +

The specified value does not satisfy the syntactical requirements + for IRI references. The document is non-conforming.

+ +

Possible causes: +

    +
  • The string might contain one or more white space characters. + Especially, the (U+0020 + SPACE) character cannot be + used in IRI references.
  • +
+

+
+
+ +
+ +
+

URI (or IRI) Should-level Errors

+ + + A dot-segment (. or + ..) occurs in an absolute reference. + +

Dot-segment (. or ..) should + not occur in an absolute reference.

+ +

In relative references, dot-segments are used to represent + the current (.) or the parent (..) + hierarchy of the path. Though they are also allowed + in absolute references, it should be resolved to the + canonical form before it has been published.

+
+
+ + + This IRI does not end with + a /. + + + + A lowercase hexadecimal digit is used + in percent-encoding. + +

The hexadecimal digit in percent-encoding string in the IRI + is in lowercase. Though the IRI is conforming, + it should be in uppercase.

+
+
+ + + An unreserved character is + percent-encoded. + +

An unreserved character is percent-encoded in the IRI. + Though it is conforming, it should be in the + decoded (or bare) form.

+
+
+ + + URI scheme name is in uppercase. + +

The scheme part of the IRI is written in uppercase letter.

+ +

Uppercase scheme names are not required to be processed + correctly.

+ +
+

Unsupported Messages

- - This attribute is not supported by the - conformance checker; it might or might not be conforming. + + Conformance checking for element + {local-name} is not supported; it might or + might not be conforming. -

The conformant checker does not support the attribute. +

The conformant checker does not support the element. It cannot determine whether the document is conforming or not.

- - This element is not supported by the - conformance checker; it might or might not be conforming. + + Conformance checking for attribute + {local-name} of element + {element-local-name} is not supported; + it might or might not be conforming. -

The conformant checker does not support the element. +

The conformant checker does not support the attribute. It cannot determine whether the document is conforming or not.

- - The link type $0 is not standardized - or registered at the time of the release of the conformance checker; - it is non-conforming unless it has now been registered. + + Link type $0 is not + standardized or registered at the time of the release of the conformance + checker; it is non-conforming unless it now has been + registered.

The rel attribute is defined as a list of link types. Some common link types are defined in the HTML5 specification. @@ -214,19 +1129,66 @@ The link type might have been added to the registry since then. In such case it might be conforming. Otherwise, the document is non-conforming.

+ +
+
Link types shortcut icon
+
Link type shortcut is not registered. + Use only icon for linking to so-called favicon.
+
+ + Conformance checking for event handler attribute + is not supported; it might or might not be conforming. + + + + Conformance checking for language tag + is not supported; it might or might not be conforming. + + + + Conformance checking for media query + is not supported; it might or might not be conforming. + + + + Conformance checking for script + language $0 is not supported; + it might or might not be conforming. + + + + Conformance checking for style + language $0 is not supported; + it might or might not be conforming. + +
+ +manakaiCompatMode:quirks;;Quirks Mode +manakaiCompatMode:limited quirks;;Limited Quirks Mode +manakaiCompatMode:no quirks;;No Quirks Mode + +manakaiIsHTML:1;;HTML Document +manakaiIsHTML:0;;XML Document + +

License of This Document

-

Copyright 2007 Wakaba

-

This library is free software; you can redistribute it +

Copyright 2007

+

This document is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

- + \ No newline at end of file