--- test/html-webhacc/error-description-source.xml 2007/07/16 08:38:48 1.2 +++ test/html-webhacc/error-description-source.xml 2007/07/21 04:58:17 1.6 @@ -14,12 +14,150 @@

HTML5 Parse Errors in Tokenization Stage

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

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.

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

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

@@ -31,18 +169,50 @@ 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.

+
+
+
@@ -53,34 +223,188 @@ The $0 element cannot be inserted between head and body elements. -

A start tag occurs after the head element is closed +

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 the - DOCTYPE declaration. + 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.

+
@@ -93,28 +417,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.

-
+

@@ -126,7 +446,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: