Re: How do I say ???this is not in any language??? in XHTML/HTML

Martin Duerst wrote:

> The trick is the line
>    [<!ENTITY % LanguageCode "CDATA">]
> which overrides the definition of the LanguageCode entity
> in the XHTML DTD to something that allows empty values.

The validator might "allow" this, but bullet 5 in XHTML 1.0
chapter 3.1.1 about "strict conformance" doesn't allow this:

 <http://www.w3.org/TR/xhtml1/#strict>
| 5. The DTD subset must not be used to override any parameter
|    entities in the DTD.

The issue is apparently that the XML 1.0 spec. 3rd and 4th ed.
explicitly say in 2.12 that an empty string can be specified
for xml:lang, but XHTML 1.0 2nd ed. has a normative reference
to XML 1.0 2nd ed. 2.12 where the value still was NMTOKEN, and
NMTOKEN can't be empty.

Maybe XHTML 1.0 "simply" (I've no idea how "simple" that is)
needs to replace XML 1.0 2nd ed. by XML 1.0 4th ed.  Or maybe
that could be listed as an unintended XHTML 1.0 "erratum" (?)

OTOH the XHTML 1.0 prose says that the DTDs try to emulate the
HTML 4.01 gibberish as closely as possible, and if HTML 4.01
also uses NMTOKEN you're kind of stuck... (4.02 anybody ?)  

Frank

Received on Wednesday, 14 March 2007 16:43:23 UTC