Elliotte Rusty Harold wrote:
> The local name property of the attribute information item for an xmlns
> attribute is xmlns. The prefix property for the attribute information
> corresponding to an xmlns attribute has no value. Therefore, when SAX
> reports these I maintain that the local name should be xmlns, not the
> empty string. The qualified name should also be xmlns. This is still a
> showstopper issue, even allowing xmlns attributes into the
> http://www.w3.org/2000/xmlns/ namespace.
OK, people, what do we do here? Here are my opinions:
1. Anyone who writes an application that actually cares about the Namespace
assigned to xmlns attributes is f#@$%@#$ed in the head and deserves whatever
happens.
2. That said, we still have a responsibility to try to do the right thing.
If we get it wrong, though, it doesn't matter all that much (see #1).
So, bearing all that in mind, what should we report for the following
Namespace declaration?
<foo xmlns="http://www.example.org/ns#"/>
a) an attribute with no Namespace URI and the local name "xmlns";
b) an attribute with the Namespace URI "http://www.w3.org/2000/xmlns/" and
no local name; or
c) an attribute with the Namespace URI "http://www.w3.org/2000/xmlns/" and
the local name "xmlns".
Note that none of these is a clean solution, probably because Namespaces 1.1
is a bit broken. Then again, I doubt it matters much. If no one presents a
convincing argument, I'll just pick one of the three at random.
Apathetically yours,
David