[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XML processor behavior with unused NS declarations
Hi Evan Ideally an Xml processor should not throw away any namespace declarations reduntant or not since sometimes people hack things into serializations depending on a yet unused namespace declaration. The apache serializer - now deprecated had a restriction where there could only be one prefix declared for a given namespace url, so it dropped redundant declarations that someone was depending on for some downstream processing. I realize you can argue the downstream processing should not rely on the upstream declaration - but hacks often make things work. Jim -----Original Message----- From: Evan Lenz [mailto:evan@evanlenz.net] Sent: Wednesday, July 22, 2009 2:15 PM To: Chuck Bearden Cc: xml-dev@lists.xml.org Subject: Re: XML processor behavior with unused NS declarations 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 _______________________________________________________________________ XML-DEV is a publicly archived, unmoderated list hosted by OASIS to support XML implementation and development. To minimize spam in the archives, you must subscribe before posting. [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ Or unsubscribe: xml-dev-unsubscribe@lists.xml.org subscribe: xml-dev-subscribe@lists.xml.org List archive: http://lists.xml.org/archives/xml-dev/ List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|