Inconsistencies within the XHTML 1.1 Specification


 

The table below illustrates inconsistencies I have found within the XHTML 1.1 specification. More specifically, inconsistencies between the XHTML 1.1 recommendation

  1. as stated in the *Prose Specification
  2. as defined by the DTD - in both the *XHTML 1.1 DTD Module Implementations and the *XHTML 1.1 Document Model Module
  3. as implied by the current behaviour of the *W3C Validator (as at 15th April 2009)

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)NoYesYes
The object element is allowed as a child of headNoYesYes
List elements (ul, ol, dl) are allowed as children of mapNoYesYes
The a element can be a child of buttonYesNoNo
blockquote may have no childrenYesYesNo
The id attribute may be used on html and head elementsYesYesNo
The id attribute may be used on base, meta and title elementsYesNoNo
The style attribute may be used on br, bdo and map elementsNoYesYes
The noscript, ins and del elements may be children of preYesYesNo
The big, small, sub, sup, img, object, input, textarea, button, select and label elements may be children of preYesNoNo
The class attribute is of type NMTOKEN on the map element (rather than NMTOKENS - as it is everywhere else it may be used)YesNoNo
The profile attribute is of type URI (rather than URIs)NoYesCan'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).

Other Insignificant Inconsistencies

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


Page Footer & Copyright

Copyright © Sally Maughan 2005-2009 (Page last updated on 16 May 2009)

*Valid XHTML 1.1 - hosted by *Openstrike

Content based on the W3C Working Draft: *XHTML 1.1 and Recommendation: *XHTML Modularisation 1.1.

W3C, XHTML, XML, HTML, CSS and MathML are *Trademarks of the W3C (*MIT, *ERCIM, *Keio) with which the site's author has no connection.


Up, Next & Previous Links

Your Location

Home > XHTML 1.1 Home > XHTML 1.1 Basics > Inconsistencies within the XHTML 1.1 Specification