Confusion with Namespaces?

Tyler Baker tyler at
Mon Apr 13 19:40:03 BST 1998

In the 1.0 XML Namespaces specification a namespace PI is defined as

'<?xml:namespace' (S (PrefixDef | NSDef | SrcDef))+ '?>'

>From this it looks like a particular namespace must have either one or
more PrefixDef's, NS'Def's, or SrcDef's in any particular order so long
as there is at least one of these.  But then the following is said:

Namespace Constraint: Required Parts
A namespace declaration must contain exactly one NSDef, exactly one
PrefixDef and zero or one SrcDef.

So based upon this shouldn't a namespace PI be defined as follows:

'<?xml:namespace' S NSDef S PrefixDef (S SrcDef)* '?>'

I guess that:

'<?xml:namespace' (S (PrefixDef | NSDef | SrcDef))+ '?>'

could be construed as that the Definitions can occur in any order they
wish, so long as there is only one DSDef and PrefixDef while any number
of SrcDefs can occur within the namespace declaration.  For XML
Processors, search engines and the like I think it would make much more
sense to define a namespace PI as something like this:

'<?xml:namespace' S NSDef S PrefixDef (S SrcDef)* '?>'

Any thoughts here?


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
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