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

On 27.2.2014 17:53, Tab Atkins Jr. wrote:
> Again, the inconsistency is internal.  "*", when used in type
> selectors, is just a wildcard tagname.  It acts identically wrt
> namespaces as a real tagname does.  "*", when used in ::attr(), should
> work the same, and be identical to a real attribute name wrt
> namespaces.
> 
> Your suggestion is that "*" act *differently* than a normal attribute
> name, so that it assumes "all namespaces" while a normal attribute
> names assumes "the null namespace".

But as there is already inconsistency between type selectors ("E"
selects E elements in any namespace) and attribute selectors ("[A]"
matches elements that have A attribute in no namespace) I don't think
that special treatment of "*" as wildcard in ::attr(*) will do any harm.
After all this behaviour can be brought back to attribute selectors --
"[*]" will match element that has at least one attribute.

     Jirka

-- 
------------------------------------------------------------------
  Jirka Kosek      e-mail: jirka@kosek.cz      http://xmlguru.cz
------------------------------------------------------------------
       Professional XML consulting and training services
  DocBook customization, custom XSLT/XSL-FO document processing
------------------------------------------------------------------
 OASIS DocBook TC member, W3C Invited Expert, ISO JTC1/SC34 rep.
------------------------------------------------------------------
    Bringing you XML Prague conference    http://xmlprague.cz
------------------------------------------------------------------

Received on Thursday, 27 February 2014 17:08:40 UTC