[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] My report on experiments with unused namespaces
- From: "Simon St.Laurent" <simonstl@simonstl.com>
- To: "Costello, Roger L." <costello@mitre.org>
- Date: Wed, 22 Sep 2010 10:50:01 -0400
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]