- From: Ian Hickson <ian@hixie.ch>
- Date: Tue, 24 Jan 2006 20:19:20 +0000 (UTC)
- To: Boris Zbarsky <bzbarsky@mit.edu>
- Cc: www-style Mailing List <www-style@w3.org>
On Sat, 21 Jan 2006, Boris Zbarsky wrote:
>
> 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"?
It now reads:
: Type selectors allow an optional namespace component: a namespace prefix
: that has been previously declared may be prepended to the element name
: separated by the namespace separator "vertical bar" (U+007C, |). (See,
: e.g., [XMLNAMES] for the use of namespaces in XML.)
:
: The namespace component may be left empty (no prefix before the
: namespace separator) to indicate that the selector is only to represent
: elements with no declared namespace.
> 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"...
It now reads:
: 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 for
: namespaced selectors (e.g. in CSS, in the style sheet). If a default
: namespace has been declared, such selectors will represent only elements
: in the default namespace.
:
: A type selector containing a namespace prefix that has not been
: previously declared for namespaced selectors is an invalid selector. The
: mechanism for declaring a namespace prefix is left up to the language
: implementing Selectors. In CSS, such a mechanism is defined in the
: General Syntax module.
> 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.
Now reads:
: In a namespace-aware client, the name part of element type selectors
: (the part after the namespace separator, if it is present) will only
: match against the local part of the element's qualified name. See below
: for notes about matching behaviors in down-level clients.
> 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" .... ;) )
Done ("matching behaviors in down-level clients" is the link).
> 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.
Now reads:
: ns|E
: elements with name E in namespace ns
: *|E
: elements with name E in any namespace, including those without a
: namespace
: |E
: elements with name E without a namespace
: E
: if no default namespace has been declared for selectors, this is
: equivalent to *|E. Otherwise it is equivalent to ns|E where ns is
: the default namespace.
> 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....
I've added "(not counting the <code>@namespace</code> at-rule)" after the
"first rule", and added "/* first rule */" in the example.
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Tuesday, 24 January 2006 20:19:28 UTC