Namespace URI address resources

Mark Birbeck Mark.Birbeck at
Wed Jun 16 13:23:10 BST 1999

Rick Jelliffe wrote:
> A schema is "processing" not "data": it is tied to whatever 
> applications
> understand the schema format. Editing, creating and 
> validating against a
> schema are all applications.

I can't understand how the idea that schemas operate at the same level
as Java classes and stylesheets has been introduced into this
discussion. As far as I can see, one point of the schema proposal is to
be functionally equivalent to a DTD with a few obvious advantages, one
of these being that if we get the definition right, each node can
specify its own schema. This makes the dynamic creation of documents
that are made up of other documents a much more straightforward task
(for example, as occurs in fragment interchange and transclusion), and,
IMO, impossible without it.

However, the fact that the schema can at its simplest play the role of
the DTD means that it is used by the parser, not just the application. I
use the terms here in the logical sense implied by XML 1.0; the parser
will check the document for well-formedness and possibly validate it,
the application will then make use of the document. So "editing,
creating and validating against a schema" are NOT all applications -
validating happens at a lower level.

To look at it a different way, DTDs can also be used to write tools that
edit and create documents but that does not detract from their
fundamental role in the validation of documents. In other words, they
are most definitely NOT on the same level as stylesheets, Java classes,
or whatever.

I think the problem we have is that validation is a special case of the
use of namespaces. In normal circumstances you would validate the
document and then pass it on for processing, and the processing
application would make use of any namespaces present, as it wants. In
other words there is a clear separation as to exactly where namespaces
play a role. However, to allow documents to have a mixture of schemas
(in the sense of DTD substitutes) we need to use namespaces to indicate
which schema should be used. In other words, there needs to be some way
of saying which namespace corresponds to which schema. Namespaces are
therefore already playing a role at the level of parsing. This is
incidentally why I don't PIs could be used for this, as some have
suggested, since according to XML 1.0, PIs are passed through the parser
to applications. But by then it's too late - we need the schema for

[IMHO I would even suggest it is more 'intuitive' anyway, to use the
namespace attribute. Remember the original namespace debate that raged
on this list? Everyone thought that namespaces WERE validation! It just
seemed so ... well ... intuitive.]


Mark Birbeck
Mark.Birbeck at

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