RE: Doctypes, Declarations, and HTML Versions

On Tue, 5 Oct 1999 JOrendorff@ixl.com wrote:

> > The DTD is *incorporated* by the doctype declaration.  That is, the
> > doctype declaration is where one finds the DTD.
> 
> The difference between inclusion and reference here is interesting but
> rather abstract. 

Actually, the point was that the difference if any is *not* interesting. 
The HTML spec tries to leverage a supposed distinction (to make one form
de riguer and another verboten) where there isn't one.  That's one of the
ways in which the spec has made a mystical incantation out of the doctype
declaration.

Now we could all think Good Thoughts, and feel Good Feelings, and grandly
pretend we realy don't know why the HTML specs need^H^H^H^Hwant to outlaw
internal subsets.

Or we could recognize it for what it is.  Keeping The Web Safe For
Netploder.  Doubletalk about "version information" is just further
mystification.   

> Inasmuch as it matters at all, I think reference would have been the
> better choice. 

Sure.  Efficiency, re-use and all that.  But we're still missing the
connection between a machine processable set of declarations and the
governing semantic specification (something that the AFDR or the ArchForm
PI formalizes.) It's one thing to acknowledge that ISO8879 has a very
important inadequacy in this respect; it's quite another to misrepresent
existing syntax as a workaround (especially when the only real reason not
to use declarations or PIs is KTWSFN [see above for the expansion of this
acronym].) 

> To create a class of documents, you need to specify
> (a) the syntactic rules for instance documents and

  PUBLIC '-//Some Owner//DTD Bunch Of Syntax Rules//EN'

> (b) the semantic meanings of the tags you will use.

  PUBLIC '-//Some Owner//NOTATION Semantic Schema//EN'

> These rules will probably evolve.  

Quite possibly.  But anything short of a ratified standard is not going to
work; in fact, widespread abuse rates to be the result instead.

> There will also be exceptions where you'll want to incorporate other
> data objects.  

Why should this be an exception?  Why can't the incorporation mechanism be
an integral part of the rules making up the class?

Personally, I think "exception" is just an euphemism for ad-hackery. 

So you'll also want

> (c) some sort of versioning and
> (d) extensibility.

Both of these are handled automatically by architectural mappings (by
which an application "sees" only the part that it's meant to "see".)

> Of course, (b) can't be formalized, but at least there will be a not-bad
> standard place to document tag semantics. 

But we already have a way to assert the existence of such documentation.
Why not use it?


Arjun

Received on Wednesday, 6 October 1999 01:16:07 UTC