Re: ISSUE-41/ACTION-97 decentralized-extensibility

On Oct 6, 2009, at 2:59 AM, Julian Reschke wrote:

> Maciej Stachowiak wrote:
>> ...
>>>> 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 {}foo.
> We had this discussion before :-)
> It doesn't make a difference for the results of parsing an XHTML or  
> HTML document.

It does make a difference. XHTML documents will produce one attribute,  
and HTML documents the other (as currently specified).

> It's only relevant if script code on a single page combines both L1  
> and L2 function calls. Don't do it. It hurts.

That indeed causes even worse problems.

> It appears to me that whenever people complain over here about the  
> complexity of XML namespaces, they really *mean* the complexity of  
> how to deal with them in the DOM, in particular as long as you can't  
> rely on consistent DOM Level 2 support. I agree that this is a pain,  
> but that's a problem of that particular API, not XML namespaces in  
> general.

Can you name an API that makes them less painful to work with?

>>> 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 {}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.
> No, it's a deliberate decision to do a best-effort in absence of DOM  
> Level 2 support.

None of those implementations attempt to use DOM Level 2 even when it  
is present. If they did, they would fail all the text/html test cases.  
The text/html test cases are written such that you fail if you use a  
namespace-aware API instead of a namespace-unaware one.


Received on Tuesday, 6 October 2009 10:22:27 UTC