Layers, again (was Re: fixing (just) namespaces and validation)

Simon St.Laurent simonstl at
Wed Sep 8 22:24:06 BST 1999

In many ways, I agree with David's posting, and he goes well into providing
the more precise vocabulary that David Brownell and I both seem to agree
that any discussion of 'validation' needs.  I'm addressing only the points
here where we disagree - few, but critical - in the hopes of keeping this
post briefer than its predecessors have been.

At 03:55 PM 9/8/99 -0400, David Megginson wrote:
>Simon St.Laurent writes:
> > I don't want to move from XML 1.0 to Namespaces - I want
> > to address Namespaces within the context of XML 1.0 validation.
>In other words, you want to deal exclusively with the Namespaces

No.  I want to take a very well understood technology that's in the XML 1.0
layer and apply it to the results of the Namespaces layer.  Adding
qualified names processing to XML DTD validation is not very difficult (as
james anderson has pointed out several times on another thread).  This
requires taking a layer out of XML 1.0 - though it was not described as a
separate layer in that document - and applying it to the namespace layer.

> I think that's a good idea for most applications, and it's
>certainly necessary for XSL and RDF; it just happens that there's not
>a standard schema for validating that layer yet (because it's so
>new).  Personally, I would not mind deprecating the XML 1.0 layer so
>that we can remove it in a few years.

Personally, I would not mind using the technology we have today so that we
can validate those results - heck, any output that purports to be XML - today.

>My point is simply that it's not fair to complain that DTDs don't work
>with the Namespaces layer, any more than it's fair to complain that
>your screwdriver handle gets dented when you hit nails with it.

If there _were_ tools of any kind for processing the Namespaces layer, I
would be more inclined to agree with this analogy.  As it stands, I'd
prefer a screwdriver with a blunt piece of metal on the end of the handle
to nothing, thanks.

> > I don't find
> > Namespaces compelling as a 'logical layer' of their own - rather, I
> > see their existence in a separate document as a historical
> > accident.
>It is an accident, partly, but that's the way that technology
>develops.  We have to deal with the fact that there is much XML
>software that doesn't know about Namespaces, and it will likely be
>deployed for a long time.  That means that some applications will care
>about the XML 1.0 level for the foreseeable future.  As a result,
>there are de facto two separate layers.

There were warnings in the XML 1.0 spec about the use of colons and their
reserved nature.  I don't think this situation qualifies for two 'separate
layers' or that the lack of standardized processing for namespace
validation of some sort is justified by the existence of XML 1.0.  At
worst, this is a situation that should be left up to parser and application
developers - it certainly causes no more harm than optional retrieval of
external resources.

>I think that you've misunderstood.  Each thick layer is an abstraction
>of many thinner layers -- that's the way that high-level models work
>(just as each folder in a file system may contain many other folders,
>etc.).  Remember that a model is an abstracted explanation of a system
>design, not the system itself.

I think you've forgotten the cost of encapsulating smaller parts into
larger layers - the small parts are no longer mobile, and can't be
redeployed to other parts of the model.  And because models affect system

And a few minutes later, David writes:
>Simon St.Laurent writes:
>> In other words, we're stuck, should wait for schemas, and should
>> discontinue use of DTDs in systems where namespaces may be
>> important?  (And I mean namespaces, not namespace prefixes.)
>No -- it shouldn't matter whether Namespaces are important or not.
>You should discontinue using DTDs where you don't care about the
>specific prefixes used, since you're not buying yourself anything by
>using them when you don't care about the XML 1.0 layer.

Except of course, that you might well buy yourself a screwdriver with a
blunt piece of metal of the end that you could use to validate documents
with namespaces _today_.

I don't buy the lines you draw between the layers - I don't find them
logical. If you don't like DTDs and don't want to see their use extended,
fine.  I find your refusal to consider them a useful tool outside of their
original context extraordinarily puzzling.

Simon St.Laurent
XML: A Primer (2nd Ed - September)
Building XML Applications
Inside XML DTDs: Scientific and Technical
Sharing Bandwidth / Cookies

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list