Namespaces, the universe, and everything

This discussion continues to be useful, if a bit theological in its
flavour now and again.  I'd like to address these issues:

1. Why namespaces anyhow
2. Web engineering perceptions
3. Validation, DTDs, and schemata

1. Why namespaces anyhow

Here's the canonical scenario that I think we're trying to make possible.
People want to stick together a chunk of XML that gives a PICS rating, 
another one that applies some Dewey Decimal classifications, another one 
that explains copyright status, pack them up with a chunk of content 
(HTML for now, but soon XML), and jam the whole shooting match down the 
wire in one blob.  They want to do this ad-hoc.  

For one or more of these chunks, validity may be an issue.  For most of 
them, there will be a requirement to map them to a formal schema, which 
may or not be a DTD.  This compound blob will be well-formed but probably 
nobody cares if it's valid, as a whole, with respect to any particular 
DTD.  The goal is that you can cook up a chunk of meta-content, stick it 
at the front/end of the document, and somehow not worry about GI
collisions confusing a simple-minded app that is reading the 
transmission.  Probably there will be multiple independent downstream
apps, most of which care only about (a) the content or (b) one of the 
blocks of meta-content.

[corollary: this scenario *presupposes* that most web metacontent is going
 to have XML syntax, one way or another.  Smiles.]

2. Web community perceptions

I mentioned in an earlier note that the people who are our customers
for this facility are up to this point in time very hostile toward the
idea that we do it all with AFs (er, fixed attributes).  Said mention
drew down a storm of abuse, and as a result the first draft of this note
was very nasty.  My best friend walked by the computer, glanced at the
screen, and said "don't send that out tonight, OK?".  So I've confined
the nastiness to the following well-marked excursion:

<nasty>
 At 03:23 PM 18/06/97 -0500, David G. Durand wrote:
 >I don't think that it is a good idea to throw away what we know to be
 >useful (DTDs) based on so-called "massive resistance" from people who don't
 >know what they are talking about. 

Gimme a $#%!# break.  Uh, how many pieces of DTD-driven software were 
downloaded voluntarily and used on a daily basis by 50 million people 
because they like it and they get useful work done without training?  
In fact, I <gasp> happen to think that some of these Web guys actually 
do, on a regular basis, know what they are talking about, when they are 
on the subject of the kind of software that people like to use and 
developers like to interface to.   Fortunately for the AF partisans in 
this debate, people like Jean and Jon and myself are insulating 
the web engineers from the above kind of militant ignorance; which means 
that 8879 conformance, for the moment, still has a fighting chance.
Sheesh.
</nasty>

OK, let's try again.  I and Jean (and I'm sure Jon at Sun and Dave at 
HP etc etc etc) are  having a lot of trouble with really smart and really 
senior people who at the moment look at us like we're nuts when we try to 
convince them that Architectural Forms are a viable way to go, because 
they exist and are standardized, etc... especially because we *really* 
don't want them to go and look at the relevant standard, if they do we're
toast.  These people see what looks like a self-evident self-explanatory 
no-brainer syntax 

         <dc:name>

and say "why won't this work?", as opposed to

         <!ATTLIST AUTHOR DC NAME #FIXED "NAME">
         ...much later in the document, or maybe even a different entity... 
         <author>

Things they don't want to do include:
 1) loading up every element with form attributes, or
 2) figuring out, as they append successive chunks of XML, what things
    have to be surgically implanted in the internal subset to avoid
    problem #1, and
 3) ensuring each little lightweight application includes a DTD syntax 
    parser [yes, I know it's not that hard, I know first-hand, Lark 
    processes <!attlists from the internal subset precisely to support 
    constructions like the above, but they DON'T WANT TO and are going 
    to have to be given good solid reasons why they should].

What is the correct answer?  Saying "we know what we're talking about
and you don't" isn't good enough.  At the moment, I have not heard a
good enough argument to convince me that AFs are better for the
purpose described above than the colon syntax.

3. Validation, DTD's and schemata

The discussion has suffered a bit from the assumption that when we
say namespace or schema or whatever, this necessarily means we are 
tied to some DTD and we are worried about content models and the like.
A lot of the schemata that people want to write are concerned with
things that DTD's don't care about: data typing, domains and ranges
of properties, inheritance of one kind or another.  Yes DTDs are
schemata.  But the traditional SGML mind-set, that metadata means
markup declarations, and that markup declarations means a DTD, and
that the DTD must necessarily constrain the whole document from end
to end, just doesn't apply any more.  

The concept of "validity" in XML isn't going to go away, but it's going 
to be subsumed into the much larger concept of "piecewise conformant to 
the rules for the schemata that apply to various document components".  
Lots of applications that are very stringent about what their data can 
contain just don't care about, for example, content models.  Nobody is
trying to *discard* DTD's; we need more validation, not less.

It seems pretty clear that it's probably not realistic at this
point to extend the 8879 syntax in 8 different directions at once
to meet the needs of all the meta-content group requirements - so
for now we're preaching that they should at least use XML, not 
S-expressions or tab-delimited files or whatever other proprietary
weirdness they may have been considering.

Perhaps in a future revision process DTDs will transmogrify, and
son-of-8879 will have a much more ambitious world-view as to what
constitutes a markup declaration.  In the meantime, these guys are
convinced that they need namespaces and they need them well-defined
by Q4 '97, and we shouldn't tell them that they can't have them.
 -Tim

Received on Thursday, 19 June 1997 12:56:15 UTC