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

Re: Feature suggestion: Hook property on Node


domdataobject
Ronald Bourret wrote:
> [...]
> > Check the DOM Level 3 Core draft:
> > http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020114/core.html#Node3-setUserData
> [...]
> That does exactly what I need. (My code wouldn't use the UserDataHandler
> interface, but it's easy to imagine code that would.) My only objection
> is the name "DOMKeyObject", which sounds like a key, not data.
> "DOMDataObject" or "DOMUserDataObject" would be better.

Good point.

> > > Another use (inspired by recent discussions on xml-dev) would be storing
> > > the current namespace scoping information. I am certain that many other
> > > uses/abuses could be found as well.
> >
> > As a side comment, the DOM Level 3 XPath gives you this information:
> > http://www.w3.org/TR/2001/WD-DOM-Level-3-XPath-20011031/xpath.html#XPathNamespace
> >
> > We didn't find any interest or enough use cases to add this Node into
> > the DOM Level 3 Core module. XPath was our only main one.
> 
> Too bad. This would be useful for anyone traversing the tree and wanting
> to discover what namespace declarations are in force at the time. Two
> use cases are:
> 
> 1) Figuring out if you need to add an xmlns attribute after moving a
> node from one location to another. (I would prefer that DOM did this for
> you, but in the absence of that, this node would be very useful. The
> alternative is to traverse the path back to the root and figure it out
> myself. Yech.)

The DOM will do that for you but not automatically. It is one of the purposes of the
normalizeDocument method:
http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020114/core.html#Document3-normalizeDocument

This method works with the normalization features (also used in the Load and
Save module. One of them is "namespace-declarations" and is activated by default.
Calling normalizeDocument will add the appropriate xmlns declarations for you.

> 2) Resolving QNames in attribute or element content. I'm not sure how
> many languages do this, but at least some do.

We're still working on that but you can take a look at lookupNamespaceURI
and lookupNamespacePrefix on the Node interface:
http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020114/core.html#Node3-lookupNamespacePrefix
http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020114/core.html#Node3-lookupNamespaceURI

We are currently improving the namespace algorithms and default namespace handling.

> Note that it would be most useful if, instead of having a set of
> Namespace Nodes, I could simply call Node.getPrefix(uri) and
> Node.getURI(prefix).

see above.

Philippe

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-2007 All Rights Reserved.