XProc goes back to Last Call

Volume 11, Issue 57; 20 Aug 2008; last modified 08 Oct 2010

I sincerely expect this to be the Last Call.

I was disappointed that our first attempt at Last Call on XProc didn't succeed. Several working groups and users pushed us to rethink some pretty big decisions.

We addressed those comments (137 threads of them) and considered a few other hard issues. I think we've got a solid specification; I don't anticipate any issues that we haven't already considered (of course, we wouldn't be at Last Call if that weren't the case).

Since our last public draft, we've done a lot of editorial work to clean up and clarify the specification. In terms of user-visible language changes, there have been relatively few:

  • The p:filter step lets you evaluate a dynamically constructed XPath expression. It's like p:identity but you can read the input select expression from a configuration file, for example.

  • The p:data element works like p:document except that it loads non-XML documents and returns them as encoded text. (Think RELAX NG compact syntax documents and XQuery files.)

  • We added limit to p:count so that you can quickly tell if you've got, for example, 0, 1, or more than one document in a sequence (without having to count every single one).

  • We added initial-only to p:split-sequence so you can trim off just the beginning of a sequence.

  • We refined the options to p:hash.

Comments and suggestions most welcome. If you want to follow along, there's another running log of last call comments.

The last call comment period ends in late September. I still see a Recommendation in 2008.