Ivan Herman wrote:
Philip,

sorry for the long delay but, as I promised I would do, I took up this
discussion with the SPARQL folks, too, just to check.

Thanks for looking into this!

[...]
But, as I think we said in the previous mails, this in fact does not
affect the RDFa spec proper. We only say that proper RDF triples should
be produced by an RDFa processor, ie, a proper RDF XMLLiteral should be
generated.

Does the RDFa spec actually say this somewhere, or is it just implicit?

I don't see any mention of "proper" in the RDFa spec, or any similar requirements about the produced triples. The only relevant text I see for XMLLiteral is "The value of the [XML literal] is a string created by serializing to text, all nodes that are descendants of the [current element], i.e., not including the element itself, and giving it a datatype of rdf:XMLLiteral", which doesn't explicitly say anything about serialising to a value that is valid under the given datatype.

It seems that some implementations don't get this correct - is that because their developers were unaware of RDF's XMLLiteral c14n requirement? If so, making it explicit (e.g. as a non-normative note) in the RDFa spec might help interoperability. (Otherwise maybe it's sufficiently obvious already, and implementers simply need to fix bugs.)

I also looked at the RDFa spec  to see if the examples in the text are
o.k., but luckily I did not see any issues there. I may have missed one,
though...

The RDFa spec examples seem okay in terms of c14n, but http://html5.digitalbazaar.com/specs/rdfa.html (in yesterday's draft) still has an example that looks like N3/Turtle syntax and has a non-canonical XML string.

(The RDFa spec does have an example with "E = mc<sup>2</sup>: The Most Urgent Problem of Our Time"^^rdf:XMLLiteral which is missing the XHTML namespace, but that's a different issue.)

The current test suite is
pragmatic, insofar as many implementations (ie, the underlying XML
package) would indeed produce the first version of the XML Literal.
Maybe these tests should be flagged somehow to make it clear that there
is an issue there and that really really conforming processors should
produce the second version only...

Well, if http://www.w3.org/TR/rdfa-syntax/#processorconf defined the "really really conforming RDFa processor" conformance class... :-)

As it is now, conformance is a boolean property. If an RDFa processor produces invalid triples, it is not a conforming RDFa processor, and it should fail an RDFa conformance test suite. (Even if it's only a tiny bit invalid in an obscure way and it's really hard to implement correctly and nobody cares about the bug.)

(If it's un-pragmatic to require that RDFa processors follow all the requirements of the RDF and RDFa specs, that seems to indicate a problem in the RDF and RDFa specs which should be fixed in the specs so they are adequately pragmatic, rather than hiding the problem in the test suite.)

Cheers

Ivan

--
Philip Taylor
pj...@cam.ac.uk

Reply via email to