[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] XML processor behavior with unused NS declarations
- From: Evan Lenz <evan@evanlenz.net>
- To: Chuck Bearden <cbearden@rice.edu>
- 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]