OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Shocking News: Namespaces and Non-Validation

[ Lists Home | Date Index | Thread Index ]
  • From: Mark Tucker <mct@foyt.indyrad.iupui.edu>
  • To: xml-dev@ic.ac.uk
  • Date: Wed, 9 Sep 1998 08:12:58 -0500 (EST)


I was shocked to hear that namespaces invalidate validation.

The problem seems to be that DTD validation does not expand 
prefixes, nor does it apply namespace defaulting.

Can you all set me straight?



(Apologies in advance to two knowledgable people who gave me advice on
this subject in private.  They unfortunately disagreed with each
other, and now I am at a loss.

I hope you'll tell me that namespaces (esp. namespace defaulting) can
live peacefully with DTD validation.
)

The problem arises if a document uses <DATE>, with two different
content models.  Suppose that in the "alpha" namespace, DATE contains
DAY and MONTH, while in the "beta" namespace, DATE has an attribute v.
Without namespaces, <DATE> would be ambiguous. It would need to
satisfy two different content models.

====================: Validation works with consistent PREFIXES

With prefixes, you could say (with appropriate definitions of the ALPHA
and BETA prefixes)

<TOP>
<SITE1>
    <ALPHA:DATE>	-- This 
	<DAY>10</DAY>
	<MONTH>Sept</MONTH>
    </ALPHA:DATE>
</SITE1>
<ELT2>
  <BETA:DATE v="tuesday"/>    
</ELT2>
</TOP>

The above would be valid, if only because a DTD processor could just
ignore the namespace, and treat the element name's as ALPHA:DATE and
BETA:DATE.

================: Validation fails with locally chosen prefixes
Now, suppose the DTD defines

	xmlns:KAPPA="uri:alpha"
<!ELEMENT KAPPA:DATE (KAPPA:DAY KAPPA:MONTH) >
...

and the document that uses the "uri:alpha" dtd uses the prefix ALPHA

In this case the document would mention

	<ALPHA:DATE>

MY QUESTION: Would a DTD processor figure out that KAPPA:DATE
and ALPHA:DATE are the same element, (since the expansions of KAPPA
and ALPHA are the same?

================:  Validation dies when namespace defaults are used

And finally, DTD's seem to die completely if a document uses
namespace defaulting.  The DTD validator will not even attempt
to think that the first <DATE> refers to "uri:alpha"+DATE.


But with namespace defaulting
<TOP>
<SITE1 xmlns="uri:alpha">
    <DATE>	-- This is just DATE
	<DAY>10</DAY>
	<MONTH>Sept</MONTH>
    </DATE>
</SITE1>
<ELT2 xmlns="uri:beta">
  <DATE v="tuesday"/>     -- This is also just DATE
</ELT2>
</TOP>

a DTD processor would not figure out that 
	<DATE v="tuesday"/>    should be from the "beta" DTD,
and 
    <DATE>	-- This 
	<DAY>10</DAY>
	<MONTH>Sept</MONTH>
    </DATE>
should be checked against the "alpha" DTD.


MY QUESTION: Is there any hope that namespaces and DTD's
can get along?

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS