On Oct 6, 2009, at 2:38 AM, Julian Reschke wrote:
> Maciej Stachowiak wrote:
>>> I do not believe that anybody involved in this discussion had
>>> problems understanding how namespaces work. It was just confusion
>>> about a specific API.
>> I got the impression that at least some RDFa advocates thought it
>> was acceptable and desirable to base semantics on nodeName (or
>> indeed how an attribute was spelled in the source text) instead of
>> on the {namespaceURI, localName} ordered pair. And indeed, that is
>> how a number of RDFa implementations seem to work in practice. I'm
>> not sure how much of the seeming confusion in the discussion was
>> genuine and how much was the result of trying to justify a hacky
>> solution.
>
> Using nodeName + prefix mappings obtained separately instead of
> namespaceURI/localName is a workaround for environments where DOM L2
> either isn't there (IE), or doesn't work as desired (HTML5 for now).
Prefix mapping obtained separately how? There's no obtaining of a
prefix mapping involved when you look at nodeName in order to treat
{null}xmlns:foo as {http://www.w3.org/2000/xmlns/}foo.
> It has nothing to do with not understanding how namespaces work.
> Otherwise those implementations wouldn't pass tests, right?
The RDFa text/html tests are written to expect checks of nodeName
rather than namespaceURI/localName. The implementations do checks of
nodeName rather than namespaceURI/localName. That is why the tests
pass. A test case that used script to insert {null}xmlns:foo into an
XML document would give results that show the mapping in effect, in JS-
based implementations (I haven't tested, but I'm pretty sure, given
how they are coded). A test that resulted in {null}xmlns:foo and {http://www.w3.org/2000/xmlns/
}foo attributes on the same element would give unpredictable results.
I think this shows either a failure to understand namespaces on the
part of the test writers and implementors, or a deliberate decision to
go against the Namespaces in XML model.
>> ...
>>> But that's an API choice. A single function would have been
>>> sufficient by using the right syntax. (Again, Clark notation)
>> What advantage would Clark notation have over simply allowing URIs
>> to be event names?
>> ...
>
> I don't know the event API sufficiently to answer that. If a simple
> URI works as identification, then no, there's no point in making it
> a (URI,localName) tuple instead.
A simple URI does work as identification (but non-URI names are also
allowed, as for the existing standard events like "click").
Regards,
Maciej