On 2012-06-18 04:29, Boris Zbarsky wrote:
Consider how this is parsed in a depth-first recursive descent parser:
a|b +,
1) The identifier "a" is scanned. This might be a tag name or a
namespace; look at the next token.
2) The symbol '|' is scanned. Great. "a" was a namespace. Resolve it.
And you're done. You have an error and bail out. You never even got to
the '+'.
This is a good reason not to strictly define one having precedence over
the other. That leaves 2 options: Leaving it explicitly undefined (only
mildly better than the current situation) or using only syntax error.
Since it seems there are no objections to the latter option, and a few
people in favour of that, I've tentatively updated both drafts to
reflect this.
It now states:
"If the group of selectors include namespace prefixes that need to be
resolved, the implementation must raise a SYNTAX_ERR exception"
I also removed the note about non-namespace supporting implementations
throwing a syntax error instead of a namespace error.
http://dev.w3.org/2006/webapi/selectors-api/#resolving-namespaces
http://dev.w3.org/2006/webapi/selectors-api2/#resolving-namespaces
--
Lachlan Hunt - Opera Software
http://lachy.id.au/
http://www.opera.com/