The table below illustrates inconsistencies I have found within the XHTML 1.1 specification. More specifically, inconsistencies between the XHTML 1.1 recommendation
The list below may not be exhaustive.
| Statement | Prose | DTD | Validator |
|---|---|---|---|
The ins and del elements are considered Block content as well as Inline (affects blockquote, body, form, map and noscript elements) | No | Yes | Yes |
The object element is allowed as a child of head | No | Yes | Yes |
List elements (ul, ol, dl) are allowed as children of map | No | Yes | Yes |
The a element can be a child of button | Yes | No | No |
blockquote may have no children | Yes | Yes | No |
The id attribute may be used on html and head elements | Yes | Yes | No |
The id attribute may be used on base, meta and title elements | Yes | No | No |
The style attribute may be used on br, bdo and map elements | No | Yes | Yes |
The noscript, ins and del elements may be children of pre | Yes | Yes | No |
The big, small, sub, sup, img, object, input, textarea, button, select and label elements may be children of pre | Yes | No | No |
The class attribute is of type NMTOKEN on the map element (rather than NMTOKENS - as it is everywhere else it may be used) | Yes | No | No |
The profile attribute is of type URI (rather than URIs) | No | Yes | Can't tell |
In terms of this site's treatment of these inconsistencies, the behaviour of the validator is deemed to have precedence over the other two.
The treatment of the xml:space attribute also currently differs in the Prose, the DTD and the Validator, but I am not going to go into the details
since the discrepancies are sufficiently great (and the attribute so little used and ultimately pointless to include - if it is meant to have a #FIXED
value of "preserve") that I didn't think the attribute worth covering on this site (except for a brief mention in the Core Attribute Collection).
In the
*Client-side Image Map Module DTD,
the coords attribute is declared as having
Coords Attribute Type, whereas the
*prose specification for the Client-side Image Map Module
instead specifies this attribute as having type CDATA.
This is not significant since the Coords Attribute Type is natively an XML
CDATA type anyway, but it makes sense to assign the more
specific *XHTML 1.1 attribute type in this case.
Similarly, the version and
xml:lang attributes are declared in the DTD as having the
attribute types FPI and
LanguageCode respectively but in the prose
they are both specified as having type CDATA.
Also, the title attribute is of type Text in the DTD, whereas the prose specifies
it as Text only for the style element (everywhere else in the prose it is type CDATA).