Re: more struggles with POWDER test matierals

Hi Dan,

Thanks as always, for taking the time to look at our work. We've been 
through your comments, done some tests, made some discoveries and made 
some minor tweaks to a couple of things.

Comments inline.

Dan Connolly wrote:
> In our 23 apr meeting*, the TAG reviewed my comment about
> the testcases not working:
>   powder-test/grddl/powder002.xml is 404?
> and decided to endorse it. It's hard for us to review POWDER
> with the test materials in their present state.
> Is there some way of using the test materials in their present
> state that we're just not aware of? Or are they actually broken
> and in need of a fix?

Taking your original e-mail, the test suite URI works: and if you follow the links from 
there to, say, 
the files referenced within that are all present and correct. i.e. there 
are no 404s in the chain. I verified this with a script, accessible at 
the very end of our implementation report [1]. In other words, past 
errors in this regard have already been corrected.

The more substantive point you've raised concerns our GRDDL references.

We did some tests with two applications: the W3C GRDDL service (which is 
based on Redland) and Jena which uses the Saxon XSLT engine. Both 
applications gave error messages but for different reasons.

We can't be 100% sure but it seems very likely that the reason that 
Redland fails is because we use XSLT2.

We are more sure that the reason that Jena fails is that it doesn't 
parse XML namespace documents to find the data-view transformation link 
- which is the GRDDL method we use.

Redland gives a parsing error, Jena (Saxon) tries to validate against 
the RDFa DTD and throws out many lines of errors.

It would be good to find a GRDDL implementation that supported both XLST 
2 and schema-identified transformations. If such an application exists, 
we'd be interested to see the result (but I can't find any).

We /have/ however made a slight change since your e-mail. Originally, we 
published 2 separate XSLTs. One does the POWDER to POWDER-BASE 
transformation for which XSLT 2 functions are required) and the second 
gets you from POWDER-BASE to POWDER-S (this just uses XSLT 1). Recall 
that the only difference between POWDER and POWDER-BASE is that in the 
latter, all IRI constraints are defined as regular expressions. In the 
former, we support more friendly constraints like 'inclduehsosts.'

Originally we had data-view:transform links to both of those stylesheets 
separately in the POWDER schema which actually comprises multiple files. 
That was a mistake that we've now corrected. The GRDDL reference now is 
to a single XSLT that is an exact copy of the P to P-B stylesheet with 
an additional <xsl:include /> element pointing to the P-B to P-S 
transform (unchanged).

We've tested this combined file in Saxon (directly and via W3C XSLT 
service) and it works fine. For example, if you put GRDDL test 2 and the 
combined XSLT into the W3C service, you get the (correct) result as can 
be seen at

The separate XSLTs are still available and will remain so, along with a 
script I wrote that does the P to P-B transformation, so that it is 
possible to do the full transformation through to POWDER-S without using 

It's clear that we're pushing the limits of what GRDDL can do, however, 
technologies other than XSLT 1 are expressly allowed in the GRDDL spec, 
as are schema-defined transformations.

I hope this answers your concerns.


> * minutes pending; draft in member space:
> p.s. tracker, this is re ACTION-262


Phil Archer

i-sieve technologies                |      W3C Mobile Web Initiative
Making Sense of the Buzz            |

Received on Wednesday, 13 May 2009 14:08:20 UTC