Wednesday, October 4, 2006

First Public Working Draft of XProc XML Pipeline Language

W3C Logo

The XML Processing Model Working Group at W3C, of which Orbeon is a member, has just released the first public working draft of the standard XML pipeline language tentatively named "XProc". Such a language was the missing link between many XML technologies, which makes this is an important milestone.

At Orbeon we designed and implemented our own XML pipeline language, XPL, back in 2002 because there was no standard for XML pipelines, and the existing proposals or implementations back then were not satisfying. Ever since, we have been hoping for a standard, and in fact we did more than hoping for it since we talked to interested parties about the best course of action and wrote a formal specification for XPL and submitted it to W3C. The XPL Submission was published by W3C in April 2005.

While several factors have contributed to the creation of the working group, including Norm and Henri's dedication to the cause, we like to think that the XPL Submission was one of the triggers involved, and that at the very least it made clear that there was serious interest in the XML community for an XML pipeline standard.

So what's in this first public working draft? First, it is just that, a draft, but it represents almost a year of efforts by the working group. While the current syntax is not identical to that of XPL, XPL users will recognize similar constructs, like p:choose and p:for-each. Conceptually, the processing model is also similar, with "steps" consuming and producing XML documents. XProc adds to XPL the ability to handle sequences of documents on inputs and outputs, parameters, as well as exception handling. If you are familiar with XPL, there are good chances that you won't have difficulties switching to XProc.

In light of this, how do we see the future of XPL? The answer is that we plan to implement XProc once it is closer to being a recommendation, and that this will lead to progressively phasing out good old XPL. We hope to be able to adapt our current execution engine to XProc, so that it can support both XPL and standard XProc.

No comments:

Post a Comment