The W3C's web-based interface to Saxon 8.5

Running XSLT 2 stylesheets with a URL.

The W3C has made a web-based version of James Clark's XT XSLT processor available since June of 2000, and Dan Brickley recently announced to the semantic-web@w3.org mailing list that the W3C replaced the processor behind this service with Michael Kay's Saxon. You can use it by filling out this form with URLs for your source document and stylesheet. When you click "transform", in addition to running your stylesheet on your source document, you'll see the URL that you could have entered to run the stylesheet with a REST interface.

Because it's Saxon 8.5, you can run XSLT 2.0 stylesheets on it. (I found out exactly which processor using this URL, which passes it a stylesheet that I described here.) To see a 2.0 feature in action, this URL runs the http://www.snee.com/xml/xslt/grouping.xsl stylesheet against the http://www.snee.com/xml/xslt/groups.xml input file. This stylesheet, further described here, demonstrates XSLT 2.0's grouping capabilities. Its plain text output won't look like much on a browser, so do a View Source to see the grouped data.

You don't have to do this from a browser. If you pass it your URL using a utility like wget, dog, or cURL, you can use the W3C's Saxon processor from a line in a shell script or batch file, making this a real boon to REST app development. The page tells us that the service is "not to be utilized as a regular service by sites other than w3.org. [The W3C] will consider blocking high volume usage or any usage that causes a strain on our Web servers", so it's really for use as a demo platform—letting you demo some really great capabilities.

As Kanzaki Masahide pointed out to the same mailing list, this will be also be a great resource for people doing GRDDL work; if RDF metadata can be pulled from a web document by simply specifying the right URL, there will be more incentive to add that metadata to XHTML documents. The same applies to RDFa documents.

2 Comments

Its certainly great to see the W3C update this service, I've been a long-standing user of their original to do some quick online hacks and conversions.

I released a similar service last week, also based on Saxon. Docs here:

http://xmlarmyknife.org/docs/xslt/transform/

I'm intending to extend this to support proper HTTP caching as well as having local copies of "popular" stylesheets, e.g. the EXSLT work. Suggestions for additional features gratefully appreciated!