Jonas,

Let me tackle your specific technical questions. I tried to address some higher level issues in a separate message to Maciej.

Jonas Sicking wrote:
As I have pointed out, the "Namespaces in XML" recommendation [1] only
defines processing for XML documents. Which is not what we have here.
We have an HTML document or a DOM. The HTML specification defines a
mapping from a HTML document to a DOM, so specifying processing for a
DOM would be enough for defining processing for a HTML document as
well.

Put it another way. Can you point to the language that specifies how
the following HTML document should be processed:

<!DOCTYPE html>
<html>
<head><title>HTML+RDFa example</title></head>
<body>
<table xmlns:cc="http://creativecommons.org/ns#";>
<a rel="cc:license"
  href="http://creativecommons.org/licenses/by-nc-nd/3.0/";>
  Creative Commons License
</a>
<tr><td>Example table</td></tr>
</table>
</body>
</html>

Note that in the resulting document, when parsed as HTML, the <table>
element is not a parent of the <a> element.

Sure. The rules for processing a source document are defined in the context of the host language. In this case, the HTML 5 specification indicates the rules for munging the input (I suppose). RDFa doesn't care what the host language does with valid input (I am assuming the above is valid HTML5). See the normative section 2 and informative seciton 2.1 of Manu's draft at http://html5.digitalbazaar.com/specs/rdfa.html

Similarly, in the
following document:

<!DOCTYPE html>
<html><head>
<script>
onload = function() {
  document.body.setAttribute("xmlns:cc", "http://creativecommons.org/ns#";);
  document.body.setAttributeNS("http://www.w3.org/2000/xmlns/";,
"xmlns:cc", "http://mynamespace.example.com/#";);
}
</script>
<title>Second RDFa+HTML example</title>
</head>
<body>
<p>
<a rel="cc:license"
  href="http://creativecommons.org/licenses/by-nc-nd/3.0/";>
  Creative Commons License
</a>
</p>
</body>
</html>

Note, in the resulting document, after the "load" event has finished
firing, there are two different attributes with the tagName "xmlns:cc"
on the body element.

Interesting issue. I do not think this (to me, pathological) case is defined. Processing after mutation events such as this is clearly something that would only happen in browser environments, but regardless... The DOM2 and DOM3 Recommendations indicate that mixing NS and non-NS methods on the same DOM is a bad idea, and that the behavior is unpredictable. So my first reaction is "don't do that". If you are requesting that we address this case specifically, I would be open to dealing with it in the context of an errata to the RDFa Syntax specification. Probably this would be in conjunction with my proposed errata to section 5.5 step 2. In general, I would say that when there are attributes in the null namespace and attributes in the xmlns namespace on the same element that would have had have the same lexical declaration, the item in the xmlns namespace must take precedence. However, as I said above, I feel this case is pathological.
If you do think processing is defined for both these cases, can you
please point to exactly where. I.e. which paragraph or paragraphs in
which specs.

[1] http://www.w3.org/TR/xml-names/

/ Jonas

--
Shane P. McCarron                          Phone: +1 763 786-8160 x120
Managing Director                            Fax: +1 763 786-8180
ApTest Minnesota                            Inet: sh...@aptest.com



Reply via email to