- From: Garret Wilson <garret@globalmentor.com>
- Date: Fri, 22 Dec 2000 07:01:31 -0800
- To: "www-dom list" <www-dom@w3.org>
Thanks to everyone who replied earlier to clear up that attributes with no namespace prefix specified will have a null namespace URI under DOM Level 2 (unlike elements, which inherit a namespace URI). This worries me a bit regarding how one would use the DOM Level 2 in practice. Let's say I have the following document: <myDocument xmlns="www.me.com" xmlns:myNS="www.me.com" > <myElement myAttr="1"/> <myElement myNS:myAttr="1"/> </myDocument> Using the DOM Level 2, how can I elegantly get the value of the myElement "a" attribute? I can't use myElement.getAttributeNS(null, "myAttr"), because that would work for the first nested element, not for the second. I can't use myElement.getAttributeNS("www.me.com", "myAttr"), because that would work for the second element, and not the first. I would instead have to use Java code something like the following *every* time I want to get an attribute using the DOM Level 2: public Attr findAttributeNS(Element element, String namespaceURI, String localName) { Attr attr=element.getAttributeNS(namespaceURI, localName); if(attr==null) { if(element.getNamespaceURI().equals(namespaceURI)) { attr=element.getAttributeNS(null, localName); } } return attr; } This to me seems very inelegant and inefficient. Is this how it's supposed to work? Garret
Received on Friday, 22 December 2000 10:02:07 UTC