[Home] [By Thread] [By Date] [Recent Entries]

  • From: Evan Lenz <evan@e...>
  • To: Chuck Bearden <cbearden@r...>
  • Date: Wed, 22 Jul 2009 14:15:08 -0700

Hi Chuck,

Sorry to be late to this thread. It sounds like you've gotten your 
answer already: don't throw the namespace declaration away. If you're 
interested in reading some more discussion/background on the reasons 
why, check out the "QNames in Content" section of a paper/chapter I 
wrote called "Understanding XML Namespaces".[1]

Of course, it's always safe to throw away *redundant* namespace 
declarations when serializing XML, provided you're not just serializing 
a fragment (in which case it wouldn't be redundant anymore). For 
example, if the <h2> element in your example merely repeated the 
xmlns:dc declaration verbatim, it would be safe to leave that out of 
your serialized result. (And Canonical XML *requires* such superfluous 
namespace declarations to be removed.) You just can't make any removals 
that would make a difference to the XPath data model's abstraction of 
your document.

Evan Lenz
Lenz Consulting Group

[1] http://lenzconsulting.com/namespaces/#qnames_in_content
[2] http://www.w3.org/TR/xml-c14n#SuperfluousNSDecl


Chuck Bearden wrote:
> Is a namespace-aware XML processor permitted to drop a namespace 
> declaration when no elements or attributes in that namespace are used 
> within the scope of the declaration?  Say, given this example from the 
> RDRa Primer:
>
>   <div xmlns:dc="http://purl.org/dc/elements/1.1/">
>      <h2 property="dc:title">The trouble with Bob</h2>
>      <h3 property="dc:creator">Alice</h3>
>      ...
>   </div>
>
> there's no danger of the processor dropping the 'xmlns:dc' 
> declaration, correct?
>
> I looked at the Namespaces in XML recommendation, and it doesn't 
> mention omitting them.  A namespace-unaware processor would treat NS 
> declarations like attributes and hence not drop them, so I reckon that 
> a NS-aware processor should match that behavior as well, but 
> confirmation from the cognoscenti is welcome!
>
> Thanks
> Chuck



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


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member