Re: [selectors-nonelement] ::attr(*|localname), ::attr(ns|*), and ::attr(*)

On Tue, Feb 18, 2014 at 2:36 AM, Simon Sapin <simon.sapin@exyr.org> wrote:
> This email is about three separate, but related issues.
>
> The current ED defines:
>
>> ::attr() = ::attr( <qualified-name> )
>>
>> Where <qualified-name> is a CSS qualified name.
>
>
> With "CSS qualified name" a link to the css-namespaces spec.
>
> css-namespaces defines <qname> and <wqname> grammar terms. Only the latter
> allows a wildcard for the namespace prefix: `*|localname`.
> selectors-nonelement should clarify which one is intended.
>
> The best way to do this IMO is to not define a new <qualified-name> grammar
> term, but use one of <qname> or <wqname> directly, specifying that it is
> defined in css-namespaces.

Ugh, it doesn't actually define either of these.  It does the old
token-grammar directly, instead.

And it doesn't allow '*' for the subject which means that the *only
place in CSS that uses Namespaces* (Selectors) can't even use it
directly, since it allows '*' for the subject to represent any element
in that namespace.

Due to all of this, the way Namespaces defines its grammar is actually
completely worthless, unfortunately.

I've lightly rewritten stuff in selectors-nonelement to work a little
better.  For now, I'm explicitly defining the grammar.  What we really
need is to issue a modified Rec of Namespaces that defines some
grammer terms properly, and has variants for whether or not you allow
wildcards in the prefix *and* the subject.

I made sure to retain all the clarifications that Jirka put into the
draft to address your comments.

~TJ

Received on Tuesday, 18 February 2014 22:18:30 UTC