<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="/style/browser.xsl" type="text/xsl"?>
<essay xmlns="http://docbook.org/ns/docbook"
       xmlns:xlink="http://www.w3.org/1999/xlink"
       xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
       xmlns:dc='http://purl.org/dc/elements/1.1/'
       xmlns:dcterms="http://purl.org/dc/terms/"
       xmlns:gal='http://norman.walsh.name/rdf/gallery#'
       xmlns:foaf="http://xmlns.com/foaf/0.1/"
       xml:lang="en"
       version='5.0'>
<info>
<title>New XProc Working Draft</title>
<volumenum>10</volumenum>
<issuenum>134</issuenum>
<pubdate>2007-11-29T13:30:47-05:00</pubdate>
<date>$Date$</date>
<author><personname>
<firstname>Norman</firstname><surname>Walsh</surname>
</personname></author>
<copyright><year>2007</year><holder>Norman Walsh</holder></copyright>
<abstract>
<para>The XML Processing Model Working Group has published a new Working
Draft of XProc: An XML Pipeline Language.</para>
</abstract>
</info>

<para xml:id='p1'>I was pretty confident that 
<citetitle xlink:href="http://www.w3.org/TR/xproc/">XProc:
An XML Pipeline Language</citetitle> would get through
<link xlink:href="http://www.w3.org/2005/10/Process-20051014/">the
process</link> with a single 
<link xlink:href="http://www.w3.org/2005/10/Process-20051014/tr#last-call">Last
Call</link>. Confidence misplaced, as it turns out.</para>

<para xml:id='p2'>The working group has not yet finished its review of
<link xlink:href="http://www.w3.org/XML/XProc/2007/09/lastcall/comments">all the
comments</link> received, but has already been persuaded to make a number of
changes. A few of them are significant enough that a new last call
will be necessary. Having concluded that a second last call will be
necessary, we decided to immediately publish a new working draft which exposes
the big changes (and, incidentally, a few smaller ones that had also been
implemented).</para>

<para xml:id='p3'>The changes in the
<wikipedia page="XML_pipeline">XProc</wikipedia> working draft
<link xlink:href="http://www.w3.org/TR/2007/WD-xproc-20071129/">published
today</link> are:</para>

<orderedlist>
<listitem>
<para xml:id='p4'>Attempt to support both XPath 1.0 <emphasis>or</emphasis> XPath 2.0
as the expression language.</para>
</listitem>
<listitem>
<para xml:id='p5'>Support both XSLT 1.0 and XSLT 2.0 in a single
<tag>p:xslt</tag> step.
</para>
</listitem>
<listitem>
<para xml:id='p6'>Removed implicit pipeline inputs and outputs.</para>
</listitem>
<listitem>
<para xml:id='p7'>Attempt to support default bindings on
<tag>p:input</tag>.
</para>
</listitem>
<listitem>
<para xml:id='p8'>Added a <citetitle>Security Considerations</citetitle> section.</para>
</listitem>
<listitem>
<para xml:id='p9'>Added a <literal>p:language</literal> system property.</para>
</listitem>
<listitem>
<para xml:id='p10'>Added <tag>p:hash</tag>, <tag>p:uuid</tag>,
<tag>p:www-form-urldecode</tag>, and <tag>p:www-form-urlencode</tag>.
</para>
</listitem>
<listitem>
<para xml:id='p11'>Added <option>fixup-xml-base</option> and <option>fixup-xml-lang</option>
options to <tag>p:xinclude</tag>.</para>
</listitem>
<listitem>
<para xml:id='p12'>Renamed <literal>c:http-request</literal> to <tag>c:request</tag> and
<literal>c:http-response</literal> to <tag>c:response</tag>.</para>
</listitem>
</orderedlist>

<para xml:id='p13'>The first two are the big ones.</para>

<para xml:id='p14'>Where we used to say that all of
the XPath expressions in the XProc language were XPath 1.0
expressions, we now give pipeline authors and implementors the freedom
to use either XPath 1.0 or XPath 2.0. Yes, this introduces some possible
interoperability issues. But, yes, it's also more forward looking.</para>

<para xml:id='p15'>The decision to wrap both versions of XSLT up into a single step
makes the signature for the step a little odd in the XSLT 1.0 case, but
workable. Pipeline authors can choose the version they want, implementors
can choose the version automagically if authors don't.</para>

<para xml:id='p16'>Implicit pipeline inputs and outputs were designed to make very
simple, straight through pipelines as short as possible
(syntactically). But they added significant complexity to the analysis
of pipelines that call pipelines. So now we require all the inputs and
outputs of a <tag>p:pipeline</tag> to be explicit.</para>

<para xml:id='p17'>The rest of the items probably wouldn't have driven us back
to last call.</para>

<para xml:id='p18'>Read and review!
<link xlink:href="mailto:public-xml-processing-model-comments@w3.org">Comments</link>
on these items, in particular, please.</para>

</essay>

