W3C home > Mailing lists > Public > www-html@w3.org > January 2000

Re: Why DOCTYPE Declarations for XHTML?

From: Murray Altheim <altheim@eng.sun.com>
Date: Sun, 16 Jan 2000 02:56:08 -0800
Message-ID: <3881A3C8.141BEF5D@eng.sun.com>
To: Arjun Ray <aray@q2.net>
CC: www-html <www-html@w3.org>
Arjun Ray wrote:
> On Sat, 15 Jan 2000, Murray Altheim wrote:
> > Daniel Hiester wrote:
> > > > The interoperability is supposed to stem from the verifiable
> > > > validity of the markup, i.e. that the content conforms to a certain
> > > > type.  The *mere* presence of a doctype declaration - as some
> > > > inscrutable string - has no bearing on the needed guarantee.  IMHO.
> >
> > That's how in XML 1.0 one attaches a DTD to a document instance.
> In W3C-speak, it's how one specifies a (machine processable) schema for
> a document instance.  Cf. 4.103 in ISO8879:
> : 4.103 (document) type declaration: A markup declaration that formally
> : specifies a portion of a document type definition.
> : NOTE - A document type declaration does not specify all of a document
> : type definition because part of the definition, such as the semantics
> : of elements and attributes, cannot be expressed in SGML.  [...]

You certainly rise to the occasion. Damn, but I left my copy of 8879 at work.

I keep trying to bring the discussion to earth and you keep taking it back
into the 8879 clouds. I won't stoop to attempting to prove my understanding
of SGML. You seem quite intent on proving your knowledge here more than
actually solving a problem, as your messages seldom seem to include 
realistic proposals, or any proposals at all. Just philosophical differences,
which are pretty useless here unless we're just chest-pounding.

SGML failed in many people's eyes (and HTML succeeded) on the issue of 
simplicity, and being strictly accurate is here not so important as 
explaining things in straightforward enough terms that everyone (and I 
mean everyone reading and/or implementing software to our specs) can 
understand it. So if we've failed, it's in our attempt to simplify. I 
don't think adding more technical verbiage is the solution. 

> Summary: "specifies a definition", not "declares the type".  Yet, the
> mythology simply refuses to die that somehow a *document type* is being
> "declared".  Daniel has put a finger on the pulse of the real underlying
> issue, and once again I'll cite Eliot Kimber's explanation of why the
> doctype declaration - or worse, formulaic scrutiny of a DTD FPI - is NOT
> the way to invoke a document type as the semantic intent.  The syntactic
> validity of the instance, which is where the doctype declaration fits in,
> is orthogonal to this very real need.
>   http://www.dejanews.com/getdoc.xp?AN=325927738

Yes, I read Eliot's message when it was first posted in 1998 and I've talked
to him about this issue before, and I agree with him in principle. That 
doesn't change the fact that the level of discernment you're attempting (as
was Eliot) to bring to this discussion is lost on most people. You may feel
you're trying to educate all of us in the most correct and true interpretation
of ISO 8879:1986, but the reality is that the distinctions in language you're
pushing on us are perhaps too obtuse and pedantic to be helpful. People 
understand the concept of a "document type" defined by a DTD, and the 
simplifications being made in our specifications are our best attempt to
define conformance for our target audience. Yes, someone could write an
equivalent set of markup declarations to our DTDs, but how would one define
conformance then? Without making the spec a mile long?

I might note that Eliot's message is approaching the idea of what is or 
isn't a document type entirely backwards of what we're trying to accomplish.
Whereas he is making the statement (pardon me for again simplifying an
extremely long message) that one cannot know what is exactly implied
by associating a collection of markup declarations with an instance,
we're doing very simple: we're defining a named canonical set of markup
declarations (which by *convention* is called a DTD) and defining 
conformance by way of requiring that conformant instances declare and
validate according to those specific sets of markup declarations.

As for the 'mythology' of DTDs and document types, sorry, but the 
convention is useful and I for one will continue to use it regardless
of the strict technical accuracy as according to ISO 8879:1986. People 
can understand the concept of a document type defined by a DTD a lot 
easier than the message from Eliot you cited, no disrespect to him 
intended. I mean, it took him all of 3400 words to explain what we did
in 158. The entire XHTML 1.0 spec is only about 5600 words. And we can
solve this 'problem' with the addition of about another five: "No 
internal subsets are permitted." 

I have provided the prohibition on internal subsets as a Last Call 
comment on XHTML 1.0 and will make sure we've filled this hole in 
other relevant drafts. For those who understand the implications of 
using internal subsets and have the knowledge and tools to do so 
effectively, the spec's conformance statements are moot. But for the
vast majority of our audience this is the most realistic approach to
conformance, as has been used in *many* specifications.


Murray Altheim                                   <mailto:altheim@sonic.net>
Member of Technical Staff, Tools Development & Support
Sun Microsystems, Inc. MS MPK17-102
1601 Willow Rd., Menlo Park, California 94025  <mailto:altheim@eng.sun.com>

   the honey bee is sad and cross and wicked as a weasel
   and when she perches on you boss she leaves a little measle -- archy
Received on Sunday, 16 January 2000 05:58:04 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:05:52 UTC