--- test/html-webhacc/error-description-source.xml 2007/07/01 10:02:24 1.1 +++ test/html-webhacc/error-description-source.xml 2007/08/11 13:54:55 1.7 @@ -11,26 +11,213 @@

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.

+ +

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
+

+
+
+ + + 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 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 +229,244 @@ 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 +

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.

+ +

If it is necessary to embed a processing instruction + in the HTML document, you must use the XML syntax instead.

+ +

In the HTML syntax, XML declaration is not necessary.

+ +

Instead of XML style sheet, + PIs, you must + use the HTML link element whose rel + attribute is set to stylesheet (or + alternate stylesheet for an aleternate style sheet).

+ +

Web browsers will parse processing instructions as bogus + comments. Some legacy Web browsers, such as IE:mac and + some mobile 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 a 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 +477,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 +506,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 +526,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,28 +536,39 @@ 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.

    +

    Note: The conformance checker does + not support form elements yet.

    +

    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)
    +
    If the element with the error is a block-level element, + such as div, hn, or + section

    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 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 @@ -158,28 +578,380 @@ -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. + For example, any img element must have + alt and src attributes specified. + Without required attributes specified, user agents + cannot provide the full functionality of the element + to the user.

+
+
+ + + 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.

+ +

The lang attribute in the null + namespace for HTML elements is defined as conforming only for + XML document.

+ +

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 defined as conforming only for + HTML document.

+ +

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 + static documents.

+
+
+ +
+ +
+

Attribute Value Errors

+ + + This attribute only allow a limited set of + values and the specified value {@} is not one + of them. + + + + 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>
+ ... is non-conforming, since the second row contains only + a cell that spans the first and the 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) Warnings

+ + + Dot-segment (. or + ..) should not occur 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 should explicitly end with + /. + + + + Hexadecimal digit in percent-encoding + should be in lowercase. + +

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.

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

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. @@ -188,8 +960,8 @@ - + This element is not supported by the conformance checker; it might or might not be conforming. @@ -198,11 +970,12 @@ - - 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. + + 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.

The rel attribute is defined as a list of link types. Some common link types are defined in the HTML5 specification. @@ -217,8 +990,49 @@ + + 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

@@ -227,6 +1041,6 @@ and/or modify it under the same terms as Perl itself.

- + \ No newline at end of file