fixing (just) namespaces and validation

David Carlisle davidc at
Wed Sep 8 12:37:58 BST 1999

James anderson wrote
> Simon St.Laurent wrote:
> > 
> > Namespaces and validation are incompatible in cases where the namespace
> > prefix changes for whatever reason, 
> this claim is not universaly true. while there are dtd's for which it holds
> (those with ambiguous prefixes are those with declarations with identical
> prefixed names and no directly specified namespace binding.), this does not
> hold for all dtd's

Surely _all_ DTDs do have this problem with the namespace REC.

The documents

<foo:x xmlns:foo="http://here">


<bar:x xmlns:bar="http://here">

are fully equivalent according to XML Namespace REC, but it is not
possible to write a DTD such that you can add

<!DOCTYPE foo:x SYSTEM "x.dtd">
<foo:x xmlns:foo="http://here">


<!DOCTYPE bar:x SYSTEM "x.dtd">
<bar:x xmlns:bar="http://here">

Well, you could write a DTD that worked for any finite set of prefixes,
just by duplicating all the declarations, but you can not write one that
works in general.

So, to validate with namespaces, you either have to pre-process the
document instance to normalise the prefixes to the prefix used in the
DTD, or you have to invent a new declaration in the DTD that says
`this DTD uses prefix foo: but a documenent instance may use any prefix,
so long as is bound to the namespace "http://here"'
This is (I assume) the intention of the PI in Simon's posting.


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