XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] My report on experiments with unused namespaces

I don't have strong opinions on the value of doing this, but the case I 
noted earlier of a backchannel emerged at least in part when the 
developers celebrated their freedom from DTDs.

That freedom came for other reasons - complex document structures and 
customer expectations of XML Schema - but somebody noticed the other 
possibilities.  Using DTDs to put this genie back in the bottle may 
create other problems.

And alas, I don't remember who told me this story, but I'm pretty sure 
it was after a New York XML Special Interest Group meeting.

Thanks,
Simon

On 9/22/10 10:21 AM, Costello, Roger L. wrote:
> David Carlisle suggested validating an XML document against a DTD as a mechanism for detecting unused namespaces. I tried it. It works well.
>
> I created this DTD:
>
> <!ELEMENT Root (child)>
> <!ATTLIST Root
>            xmlns CDATA #FIXED 'http://www.used.org'>
>
> <!ELEMENT child (#PCDATA)>
> <!ATTLIST child
>            xmlns CDATA #FIXED 'http://www.used.org'>
>
>
> This XML document contains no unused namespaces:
>
> -----------------------------------
> <Root xmlns="http://www.used.org";>
>
>          <child>true</child>
>
> </Root>
> -----------------------------------
>
> It validates fine.
>
>
> Then I added an unused namespace:
>
> -----------------------------------
> <Root xmlns="http://www.used.org";
>        xmlns:foo="blah">
>
>          <child>true</child>
>
> </Root>
> -----------------------------------
>
> Validation fails. Good! Validation detected the unused namespace.
>
>
> Conversely, this XML Schema does not detect the unused namespace:
>
> <schema xmlns="http://www.w3.org/2001/XMLSchema";
>          targetNamespace="http://www.used.org";
>          elementFormDefault="qualified">
>
>      <element name="Root">
>          <complexType>
>              <sequence>
>                  <element name="child" type="boolean" />
>              </sequence>
>          </complexType>
>      </element>
>
> </schema>
>
> Validation succeeds with or without the unused namespace.
>
>
> Conclusion: it appears that one mechanism for detecting unused namespaces in an XML document is to validate it against a DTD. Can anyone think of a case where a DTD would not detect an unused namespace?


-- 
Simon St.Laurent
http://simonstl.com/


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


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

Copyright 1993-2007 XML.org. This site is hosted by OASIS