- From: Ian Hickson <ian@hixie.ch>
- Date: Mon, 8 Jan 2007 23:17:55 +0000 (UTC)
- To: Cameron McCormack <cam@mcc.id.au>
- Cc: public-appformats@w3.org
- Message-ID: <Pine.LNX.4.62.0701082300470.22379@dhalsim.dreamhost.com>
On Thu, 7 Dec 2006, Cameron McCormack wrote:
>
> 1.2.1 Attributes Containing Selectors
>
> The default namespace in selectors in XBL attributes is always unbound
> ("*").
>
> What does the “("*")” mean? Does it mean that selectors for
> elements that no prefix will match an element with that name in any
> namespace, and that the default XML namespace as given by an xmlns
> attribute is not used? If so, please say so here.
Removed the confusing parenthetical.
> The “xmlns” prefix is also defined to always be declared (and bound to
> http://www.w3.org/2000/xmlns/), but there really is no good reason to
> use that prefix in selectors, so authors are encouraged to avoid doing
> so.
>
> I could imagine a reason: an binding that facilitates the inspection of
> a DOM. Such a binding might have processing dependent on xmlns:*
> attributes.
The odds of this working reliably are pretty slim. :-) I'm not even sure
that xmlns:* attributes end up in the DOM.
> Is there really a need for this note? It is, after all, what Namespaces
> in XML says.
It's mentioned here because implementors may not have realised the
implications of what [XMLNS] says.
> How is case insensitive matching performed on namespace prefixes? Does
> it use UAX#21 full case folding?
UAX21 was incorporated into the main Unicode text long ago. But yes,
Unicode case folding is what is used here. I've added a ref to Unicode 5.
> For example, would a selector
>
> ß|*
>
> with the following prefixes in scope
>
> xmlns:ß="http://example.org/1"
> xmlns:ss="http://example.org/2"
>
> use the "http://example.org/2" namespace URI?
Yes.
> If it is known that the binding document is only ever going to be used
> from documents that use one namespace, for example if the bindings are
> always to be imported into HTML documents, then it is easier to just
> specify the tag name (as in this example) and ignore the namespaces.
>
> But it’s not the tag name that you are specifying, but the node’s local
> name. It might be that the element’s tag name is h:blockquote, but the
> “blockquote” selector will still match it.
Fixed both mentions of tag name to say local name.
> A space-separated attribute whole value is either the empty string or
> that consists of only U+0020, U+000A, and U+000D characters has no
> values.
>
> s/is/that is/, if I understand the intent of the sentence correctly.
I don't understand what it would mean if you had "that is". It looks
correct as is to me...
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 8 January 2007 23:18:17 UTC