RE: [xml-dev] XSD elementFormDefault="unqualified" destroys the benefits of namespace modularity

From
Michael Kay <>
To
"'Costello, Roger L.'" <>,
Date
2009-01-28T14:11:44
ID
<C7CF0755ABDD47BCA0A72B591C71ECBF@Sealion>
Thread
RE: [xml-dev] XSD elementFormDefault="unqualified" destroys the benefits of namespace modularity
> Recall that with XML Schemas you can specify that all 
> elements in conforming instance documents must be 
> namespace-qualified using:
> 
>     elementFormDefault="qualified"
> 
> Or, you can specify that only top-level, global elements must 
> be namespace-qualified using:
> 
>     elementFormDefault="unqualified"

That's not a very accurate precis of the spec. For a start, anything you say
here can be overridden in the form attribute of individual element or
attribute declarations.

> These can yield remarkably different instance documents. 
>
Yes, obviously, changing a default at the top level is likely to have a
major impact. 

> RECOMMENDATION
> 
> Don't use elementFormDefault="unqualified" in your XML 
> Schemas. It destroys the modularity benefits provided by namespaces.
> 
> 
> Do you agree with this recommendation?

Yes. I think there has been a high level of consensus about this for many
years. See for example Walmsley p448 or van der Vlist p159.

Michael Kay
http://www.saxonica.com/