On Fri, 28 Mar 2008 18:32:47 +0100, Boris Zbarsky <[EMAIL PROTECTED]> wrote:

Bjoern Hoehrmann wrote:
What is the correct behavior if a lookupNamespaceURI call moves nodes between documents? In particular, what is the correct behavior is the Element node the call is being made on is moved to a different document during the lookupNamespaceURI call (using adoptNode)?
 Do I understand correctly that this is something scripts should not do?

Correct. I think it's worth taking the HTML5 approach of defining both what documents are conforming and what to do with the non-conforming ones....

Agree.

I would be rather reluctant to define this so long as we don't also de-
fine when and how many times the resolver is invoked, since depending on
that, the results would not necessarily become more predictable.

Indeed.

Sorry, I didn't understand Björn's logic in that quote.

What I've understood: it's proposed that if the custom lookupNamespaceURI function moves nodes between documents, the implementation trying to use the NSResolver (may|must) throw an error. I don't see why we can't specify that unless we specify "when and how many times the resolver is invoked".

Would it be acceptable to include a general provision to the effect that
if an implementation detects that resolvers manipulate documents in some
undesirable way, they may throw an exception?

I would be happy with that, yes.

I would not. It sounds like a vague statement that will cause incompatibilities because implementors will make different choices. I'd rather insert this somewhere suitable:

"If the custom lookupNamespaceURI function moves nodes between documents, the implementation trying to use the NSResolver MUST throw an error."



--
Hallvord R. M. Steen
Core QA JavaScript tester, Opera Software
http://www.opera.com/
Opera - simply the best Internet experience

Reply via email to