[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: JAXP's ID Transform failing to include namespace declarat


include namespace
On Mon, 2002-01-07 at 22:41, Elliotte Rusty Harold wrote:
> Correct, DOM does not do that. When creating an element in the 
> http://www.foo.com/ namespace, DOM2 does not add an 
> xmlns="http://www.foo.com/" in the right place to make this work. 
> Section 1.1.8 states:...

Having just built an object model (MOE - http://moe.sourceforge.net)
that supports namespace-aware names, I'm happy to testify that this is
not a simple problem, nor does it have a single clear answer.  The
variety of options in SAX2 for handling namespaces (or not) is also
testimony to the difficulty of making namespace declarations work
auto-magically.

> In other words, what should happen is that any code that moves DOM to 
> some other model such as SAX, XPath, or a text file should insert the 
> necessary namespace declarations. What actually does happen though, 
> is that such code often neglects to insert them, thus requiring users 
> to add the attributes in DOM manually.  This is a big honking mess.

The only sane approach I've found is to use a visitor class to traverse
the document and maintain a list of namespace declarations that have
been made, so that when a new declaration is needed, it appears.  I
don't think expecting the object model itself to handle this is
plausible or workable, especially given issues like fragment
serialization.

(You can have the objects themselves refer to the visitor class for
toString() and the like, but it's still a tricky process.)

Alternate approaches include things like having elements declare their
namespaces and those of their attributes every time.  It does produce
easily-decomposed XML documents, but it's not especially pretty as a
general strategy.
 
> It gets even nastier when you consider the possibility of namespaces 
> being in scope on things other than element and attribute names, 
> since DOM really can't keep track of these at all.

Yes, though I've argued long and hard that those QName usages are a
wretched idea in the first place.

-- 
Simon St.Laurent
Ring around the contents, a pocket full of brackets
Errors, errors, all fall down.


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.