Issues in Note in 2.1.2

http://www.w3.org/TR/its20/#basic-concepts-selection-global

The note in section 2.1.2 has problems. First, it points out
that only absolute location paths are allowed in the selector
attribute, then gives this as an example of a legitimate value:

  myElement/descendant-or-self::*/@*

But that's not a legitimate value, because *absolute* location
paths must start with a '/'.

It then points out that this isn't a valid pattern because it
contains a descendant-or-self component, and instead provides
the alternative

  *[self::myElement]/@* | myElement//*/@*

This uses '//', which is allowed in patterns, even though the
full descendant-or-self axis is not. But knowing that, we can
instead just rewrite the original as

  myElement//@*

On a more general note, what's the point of this note? If you
make an implementation that puts selectors into matches, and
therefore can't handle all absolute location paths, wouldn't
that be non-conforming? Is that something we ought to support
or encourage?

--
Shaun

Received on Friday, 8 February 2013 15:53:24 UTC