Re: Why DOCTYPE Declarations for XHTML?

> [The ArchForms syntax machinery can be forbidding;)  The key is that the
> *document type* - that which allows "a UA to distinguish between one type
> of markup and another" - is in a notation declaration: the public text
> class is NOTATION in the FPI.  So, basically what we need is to declare
> something like <!DOCUMENT PUBLIC "-//W3C//NOTATION XHTML 1.1//EN"> to say
> what we mean.  Unfortunately, we have no standardized way to declare such
> a *notation* directly.  Like HyTime, the XHTML spec could provisionally
> "standardize" a processing instruction for this, but my impression is
> that a FPI for a declaration subset - e.g. "-//W3C//DTD XHTML 1.1//EN" -
> is to be pressed into double duty.]
> 
> > The object of XML / XHTML should be IMHO to learn from HTML's
> > mistakes, and move onward, not repeat HTML's mistakes.
> 
> I couldn't agree more strongly.

Nor could I.

I appreciate what Murray is trying to do and I completely understand his
intent, but it is misguided and will only lead to pain. It is not
necessary for the XHTML user community to understand the subtlty of my
argument in order to use some mechanism other than DOCTYPE declarations.
It is only required that XHTML do the appropriate thing.

Why should XHTML require the the feature of SGML that XML correctly
worked so hard to eliminate (DOCTYPE declarations) when the use of it is
not reliable as a way to define types, for all the reasons I've stated
many times?

There exist at least two standardized facilities for unambiguously
binding documents to their types: architecture use declaration PIs as
defined in ISO/IEC 10744:1997 (as ammended) and name-space declarations
coupled with normative meanings in their governing specs (i.e., as done
for XLink).  XHTML could use either of these or, as Arjun points out,
trivially define a purpose-built PI. It also seems likely that the XML
Schema group will at some point realize it needs a similar type of
declaration and provide it.

The advantage of the PI is that it does not require a DOCTYPE
declaration yet still enables validation because any processor can still
apply the XHTML DTD to the document *as though it had declared it as its
syntatic DOCTYPE declaration (this is essentially what the 10744
architecture mechanism does).

I think it would be a serious mistake for XHTML, probably the most
important standardized XML application, to require thte use of DOCTYPE
declarations to define types. It would not serve XHTML well and it would
serve to institutionalize what could be the worst single bad practice
the SGML and XML community suffers under.

Cheers,

Eliot

Received on Monday, 17 January 2000 08:16:02 UTC