On Sun, 01 Jun 2008 04:11:41 +0200, Charles McCathieNevile
<chaals@opera.com> wrote:
> On Sun, 01 Jun 2008 03:28:19 +0200, Cameron McCormack <cam@mcc.id.au>
> wrote:
>
>> Charles McCathieNevile:
>>> What it really means is that the appropriate namespace for these
>>> attributes is the empty string - xmlns:aria="" if you are going to use
>>> aria:aria-[something] in a namespace aware environment, but
>>> aria-[something] will work perfectly correctly in both a
>>> namespace-reliant environment, and in a namespace-unaware environment,
>>> because of a careful and thoughtful design decision in the namespaces
>>> specification that allows for the easiest possible transition between
>>> the
>>> two kinds of environment.
>>
>> A small note: you cannot use xmlns:aria="" to declare that the aria
>> prefix corresponds to no namespace. The only way to have an attribute
>> be in no namespace in markup is for it to have no prefix.
>>
>> http://www.w3.org/TR/REC-xml-names/#dt-prefix
>
>
> Argh. This spec is hard to read, although short. I read the "In such
> declarations, the namespace name may not be empty" in line with RFC
> 2119, whereas I think you are reading it in a looser way where normal
> people would interpret it as that RFC-2119 equivalent 'In such
> declarations, the namespace name must not be empty'. I haven't tested
> this in practice either, although I note that the spec doesn't require
> processors actually check what the namespace values are in any event.
>
> If I don't run out of time tonight I might try to write a test case for
> this.
I knocked together an attempt at one that may have other fatal quality
problems, but it showed that both Opera 9.5 and Safari (whatever I have on
my machine) do reject namespace prefixes that are null. Which is enough
for me to accept Cam's reminder as explaining the truth. I don't think
that changes my argument, but I am glad to have learned that I had missed
something.
I attached the test in case anyone thinks it is worth playing with. It's
fairly likely that some stupid error means it wouldn't work anyway (I did
exactly zero QA on it, just wrote some stuff without thinking and opened
it in a couple of browsers), but feel free to play with this in any way
you see fit (or delete, which is probably reasonable behaviour).
cheers
Chaals
--
Charles McCathieNevile Opera Software, Standards Group
je parle français -- hablo español -- jeg lærer norsk
http://my.opera.com/chaals Try Opera 9.5: http://snapshot.opera.com