------- Additional Comments From [hidden email] 2005-05-27 07:51 -------
(In reply to comment #7)
> Both assertions fail because ((Element)element).getLocalName() is "alpha", not
> null. I haven't yet figured out if this is OK or a bug in gnu classpath...
When xml namespaces are enabled, there are two parts to an element name:
namespaceURI and localname (eg "http://acme.com/ns", "item")
When xml namespaces are disabled, there is one part to an element name:
qname (eg "ns:item")
Quite what localname should be when namespaces are disabled, or what qname
should be when namespaces are enabled is very ambiguous in the javadoc for
sax/dom at least. I suspect that Xerces reports NULL for qname when namespaces
are enabled, and NULL for localname when namespaces are disabled, while Aelfred
populates qname even when namespaces are disabled (reasonable) and populates
localname even when namespaces are enabled. Which XML parser is actually
complying with the SAX/DOM specs I don't know. Or whether the specs don't say
anything on this issue, in which case we should not be asserting one way or the
And quite how localname/qname map to the DOM "NodeName" isn't clear from the
javadoc at least.
Writing a simple test harness and running it with Aelfred and Xerces should show
if this is the cause. Then we would have to figure out whether one of the
parsers was actually non-compliant with the specs. And if so, whether we should
try to "fix" the data the parser is reporting in NodeCreateRule or not. All
looks like a fair bit of work.
But the fact that those are the only test failures on kaffe/gnu-classpath is
great! [esp. as they might just be over-zealous asserts anyway, if the relevant
specs allow localname to be set when namespaces are enabled etc].