Henri Sivonen wrote:
...
Although this looks like a non-problem in browsers because the Namespace-unaware DOM Level 1 view is available, it is a technical problem with APIs that only provide a Namespace-aware representation. For example, XOM doesn't allow attributes called xmlns:foo in the data model. Non-browser consumers are important, and it should be perfectly reasonable to use XOM in such a consumer.
...

Could you elaborate what exactly the problem with XOM is? I didn't get it from this paragraph.

There's also a technical issue for browsers: For resolving a prefix in a namespace mapping context on the XML side in a browser, it would make sense to intern the prefix being queried and then do pointer compares against interned local names of attributes in the "http://www.w3.org/2000/xmlns/"; namespace as traversing up the tree. If you ever wanted browsers to implement any RDFa features natively, being sensitive to xmlns:foo attributes set with setAttribute() would preclude a pointer compare-based lookup and would require actually inspecting string data unless the internal data structures of browsers were changed. (But see point #13 in my previous email on the topic of changing the data structures.)

That doesn't seem to be true. An implementation of setAttribute (L1) would just need to know that an attribute named "xmlns:*" is something special, and internally map it.

...
Let's see if it's robust when a script mutates a parser-inserted attribute:
http://hsivonen.iki.fi/test/moz/xmlns-dom-setter-cc.xhtml

Not robust in Opera.
...

"A bug in Opera"?

...

BR, Julian

Reply via email to