[css3-selectors][css-selectors] Comments on Section 6.1.1

1)  Paragraph 2 says:

   The namespace component may be left empty to indicate that the selector is
   only to represent elements with no declared namespace.

while paragraph 4 says:

   Element type selectors that have no namespace component (no namespace
   separator), represent elements without regard to the element's namespace
   (equivalent to "*|") unless a default namespace has been declared. If a
   default namespace has been declared, the selector will represent only
   elements in the default namespace.

I assume that paragraph 2 is talking about type selectors that _do_ have a 
namespace separator but _do_not_ have a "namespace component" (the term 
"namespace component" is not defined; I assume it means the same thing as 
"namespace prefix" in paragraph 1).  This should probably be made clear; as 
things stand it seems like paragraph 2 and paragraph 4 are saying different 
things about the same selectors.  Perhaps the distinction between having an 
empty "namespace component" and having no "namespace component" at all should be 
made clear somewhere in paragraph 1, maybe as part of a definition of "namespace 
component"?

2)  I think it should be made clear that the default namespace talked about in 
paragraph 4 is in the stylesheet, not the document.  Paragraph 2 means "declared 
in the document" when it uses "declared", and the difference in meaning for the 
same term is rather confusing.  Similarly, paragraph 5 means "declared in the 
stylesheet" when it uses "declared"...

Perhaps it might make sense to hoist the part of paragraph 5 that talks about 
how one declares namespaces to the beginning of this section, and at the same 
time to make some sort of statement to the effect that "declared" means for 
purposes of the selector.  Then fix paragraph 2 to match (perhaps by saying 
"elements with no namespace" or "elements in the null namespace" or something?).

3)  Paragraph 6 makes it sound like the whole type selector should only match 
against the local name, whereas it's just the part after the namespace separator 
that this is true for.  This is worth clarifying.

4)  In paragraph 6, I would make "notes about matching behaviors in down-level 
clients" the link, not "below" (since depending on styles applied to the 
document it may not in fact be "below" .... ;) )

5)  The summary again uses the term "declared" to mean "declared in the 
document" when talking about "*|E" and "|E".  Then it uses "specified" to mean 
"specified in the stylesheet"; compare this to the terminology used in the 
paragraphs I reference in my comment #2.  Please standardize the terminology 
here to make it unambiguous.

6)  In the CSS examples, the rule numbering (first, second, etc) assumes that 
the @namespace rule is the "zeroth" rule.  This seems a little odd to me....

-Boris

Received on Sunday, 22 January 2006 00:01:33 UTC