W3C home > Mailing lists > Public > public-html@w3.org > September 2009

Re: HTML5 RDFa Test Suite (was Re: Request to publish HTML+RDFa (draft 3) as FPWD)

From: Maciej Stachowiak <mjs@apple.com>
Date: Tue, 22 Sep 2009 16:08:48 -0700
Cc: HTMLWG WG <public-html@w3.org>
Message-id: <D84D46D0-9523-49D0-8ED9-7CB7F926C719@apple.com>
To: Manu Sporny <msporny@digitalbazaar.com>

On Sep 22, 2009, at 8:05 AM, Manu Sporny wrote:

> (bcc: RDFa Task Force Mailing List)
> Sam Ruby wrote:
>> My conclusion is that defining RDFa in HTML in terms of a DOM or an
>> Infoset are but two of the possible ways of achieving the desired
>> result, namely being precise as to what triples MUST be produced  
>> from a
>> given input.
> Those reading this thread should also keep in mind that we not only  
> have
> a spec to describe the processing model, but we also have a large,
> modular test suite that exercises every feature, as well as many
> potential error conditions, for RDFa processors:
> http://rdfa.digitalbazaar.com/test-suite/
> This test suite was upgraded this past weekend to cover HTML5 and
> contains 127 unit tests specifically for HTML5. There are also at  
> least
> three implementations that are close to 100% conformant with HTML+RDFa
> (the PyRDFa processor, the MarkLogic processor, and the librdfa  
> processor).

I don't think this demonstrates that the spec is unambiguous. Can you  
relate every test case back to normative conformance requirements in  
the spec? Can you relate every implementation conformance requirement  
back to a test in the test suite?

> There are also 7 XHTML+RDFa processors implemented in non-browser
> technologies and 2 XHTML+RDFa processors implemented in Javascript in
> the browser.

Given the serious errors in the specification for prefix mapping in  
the XHTML+RDFa spec, it's pretty clear that in that case, no one was  
coding to just the language of the spec. They either used out of band  
information about what it's really supposed to mean, or coded to the  
test suite instead of to the spec. Others (e.g. Phillip Taylor) have  
pointed out errors in the test suite itself where tests don't match  
what the spec requires, but many implementations pass the tests. This  
would seem to indicate coding to the test suite instead of to the  
spec. Or conversely, it may indicate that the test suite was written  
to match what implementations do, instead of testing what the spec  

> This "the RDFa spec is not precise enough" discussion should take  
> these
> facts into account, as we do have many conforming implementations by a
> diverse group of implementers. This didn't just happen by accident and
> all of these implementers were able to implement the RDFa spec.  
> Three of
> those implementations worked with the majority of the HTML5 tests
> without further modification.

Then let's make the spec accurately and precisely state the  
requirements tested by the test suite. And when people raise confusing  
edge cases, let's turn them into tests and make sure the spec  
accurately reflects the desired behavior. For example, how do  
implementations behave for Jonas's <a> inside a <table> example? How  
do browser-hosted implementations behave when xmlns: attributes in the  
DOM have been modified after parsing? Can that behavior be derived  
from the spec?

Making the spec more precise is a good thing. And it's not hard. I  
even gave examples of some more precise language to use in particular  
cases. I think the abstract tree model of XHTML+RDFa is actually a  
reasonable starting point, and HTML+RDFa just needs to make a few  
adjustments and explain how that tree model maps to HTML5 concepts. I  
don't think it is very convincing to say more precision is not  
required. It would be much more convincing to add the requested  
precision, or if it's really truly there, to walk through examples  
like Jonas's and explain what normative statements describe how to  
process it.

Received on Tuesday, 22 September 2009 23:09:28 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 29 October 2015 10:15:51 UTC