- From: Philip Taylor <pjt47@cam.ac.uk>
- Date: Sat, 05 Dec 2009 23:12:55 +0000
- To: Manu Sporny <msporny@digitalbazaar.com>
- CC: RDFa mailing list <public-rdf-in-xhtml-tf@w3.org>
Manu Sporny wrote: > [...] > TC115 had two issues. The first was an issue that would occur on > SAX-based processors that did not have access to the raw byte stream and > thus wouldn't be able to tell if the encoded "<strong>" value should be > interpreted as an XML Literal or not. The checking logs contain a bit > more information about the change: > > [...] > http://github.com/msporny/rdfa-test-suite/commit/a27e4f4500a854024b0e3914af13f6227d54d805 > http://github.com/msporny/rdfa-test-suite/commit/5e46f13b43a3e84e4e0ea15ebd297f9a88a4c3b8 I don't understand the reasoning for this change, or why access to the raw byte stream is relevant. The original test case said: <span property="ex:entity1"><string></span> so a SAX-based processor would see a stream like: * startElement("http://www.w3.org/1999/xhtml", "span", "span", ...attributes...) * characters("<string>") * endElement("http://www.w3.org/1999/xhtml", "span", "span") Since the only event inside the element events is characters(), the element clearly only contains text nodes, so it must be a plain literal. If there were any startElement or processingInstruction events then it would not be containing only text nodes, so it must be an XMLLiteral, but that's not the case here. So I can't see what problem you were trying to solve, since that test case seemed fine before - why was the change needed? This does suggest a new problem, though: what should be the output for: <span property="ex:entity1"><!-- comment -->string</span> in any conforming RDFa processor? The RDFa spec talks about if "the [current element] has any child nodes that are not simply text nodes", and in a DOM-like or Infoset-like model there will typically be a comment node (which is not a text node), so presumably this should be an XMLLiteral. But the SAX2 ContentHandler interface does not expose comments to the application, so it couldn't implement this in the same way, so interoperability is lost. I guess it would be good to have a test case for this. -- Philip Taylor pjt47@cam.ac.uk
Received on Saturday, 5 December 2009 23:13:39 UTC