Re: XHTML 1.1 DTD

olivier Thereaux wrote:

> As far as I can tell from
> http://www.w3.org/TR/xhtml11/xhtml11_dtd.html#a_xhtml11_dtd
> xhtml11-flat.dtd *is* the DTD suggested by the recommendation for
> validation, and the prose seems to mean that it is equivalent to the
> modular version.

Yes, that was pretty much the conclusion I had come to.

However, when I download the flat DTD from
<URL: http://www.w3.org/TR/xhtml11/DTD/xhtml11-flat.dtd >
it contains:

<!ENTITY % style.attlist  "INCLUDE" >
<![%style.attlist;[
<!ATTLIST %style.qname;
      %XHTML.xmlns.attrib;
      %title.attrib;
      %I18n.attrib;
      type         %ContentType.datatype;   #REQUIRED
      media        %MediaDesc.datatype;     #IMPLIED
      xml:space    ( preserve )             #FIXED 'preserve'
>

whereas, the style sheet module at
<URL:
http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-style-1.mod >
contains the same element definition, but adds an attribute
'id' (which seems correct, otherwise it would be hard to refer
to a style definition, as in, for example,

<?xml-stylesheet  type="text/css"  href="#Style_internal-0" ?>

):

<!ENTITY % style.attlist  "INCLUDE" >
<![%style.attlist;[
<!ATTLIST %style.qname;
      %XHTML.xmlns.attrib;
      %id.attrib;
      %title.attrib;
      %I18n.attrib;
      type         %ContentType.datatype;   #REQUIRED
      media        %MediaDesc.datatype;     #IMPLIED
>


> It uses the DTD from the XHTML 1.1
> recommendation, which has not (as far as I know) been updated
> since its publication in 2001.

The  xhtml-style-1.mod  file contains a revision date of
2006/07/05, but doesn't list any revisions, which suggests it
may have been changed just to correct a typo or minor omission.

The same is true for the script module,  xhtml-script-1.mod ,
(and in this case  %id.attrib;  is indented with a tab rather
than just spaces as used in the rest of the file);  there may be
others.

I was guessing that the flat version may not have been
regenerated to reflect recent corrections.  The validator
certainly flags ids on these elements as errors, which doesn't
seem correct.

I imagine now that the issue doesn't really lie with the
validator, which seems to be using the published version of the
flat DTD, but rather with the published version of the DTD
itself: it was just that the validator was what brought it to my
attention.  I suppose it's not necessarily a good idea to change
the published DTD too often as there is a risk of creating
breakage elsewhere, but it does seem slightly strange that the
various published versions disagree.

Cheers,
tim

Received on Tuesday, 10 October 2006 16:10:14 UTC