<?xml version="1.0" encoding="UTF-8"?>
<essay xml:lang="en" version="5.0" 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/">
<info>
    
    
    
    
    
    
    
    
    
<title>New XProc Working Draft</title><biblioid class="uri">http://norman.walsh.name/2007/04/05/xproc</biblioid>
<volumenum>10</volumenum>
<issuenum>28</issuenum>
<pubdate>2007-04-05T09:46:46-04:00</pubdate>
<date>$Date: 2007-04-05 09:55:02 -0400 (Thu, 05 Apr 2007) $</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>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#XML"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#XProc"/>
</info>

<para xml:id="p1">The
<link xlink:href="http://www.w3.org/XML/Processing/">Processing Model
Working Group</link> has been busy hashing out the details of
<wikipedia page="XML_pipeline">XProc</wikipedia>. I think our
<link xlink:href="http://www.w3.org/TR/xproc/">latest draft</link>, published
<link xlink:href="http://www.w3.org/TR/2007/WD-xproc-20070405/">today</link>,
represents significant progress.</para>

<para xml:id="p2">There's been significant editorial work since our previous draft,
but that made it impractical to produce a “diff” version. Here's a quick
summary of the highlights.</para>

<itemizedlist>
<listitem>
<para xml:id="p3">The language is conceptually simpler: we've removed the notion of an
abstract component model independent of the XML syntax. A pipeline is now
a collection of steps, in roughly the same way that an XSLT stylesheet
is a collection of templates.
</para>
</listitem>
<listitem>
<para xml:id="p4">The language is syntactically simpler: we've moved from
“<literal>&lt;p:step type="p:xslt"&gt;</literal>” to simply
“<literal>&lt;p:xslt&gt;</literal>”.
</para>
</listitem>
<listitem>
<para xml:id="p5">The language is less verbose: we now have a defaulting story so that
the outputs of one step can flow into the following step without an explicit
binding.</para>
</listitem>
<listitem>
<para xml:id="p6">The bindings are simpler: instead of a complex arrangement of co-constrained
attributes, we have nested elements with consistent semantics. This is slightly
more verbose, but now less often necessary because of our defaulting story.</para>
</listitem>
<listitem>
<para xml:id="p7">There's now an explicit documentation element so that pipelines can be
documented in a straightfoward and consistent manner.</para>
</listitem>
<listitem>
<para xml:id="p8">The specification is now includes appendixes that summarize the
syntax and the static and dynamic errors.</para>
</listitem>
<listitem>
<para xml:id="p9">The language grammar is now available in RELAX NG, W3C XML Schema, and
DTD formats.</para>
</listitem>
<listitem>
<para xml:id="p10">The set of standard steps, both required and optional, is now more complete.
This is an area of the specification that is still under active discussion, so
the presence or absence of a step in this draft is probably not very significant.
But if your favorite step is missing, now would be a good time to
<link xlink:href="mailto:public-xml-processing-model-comments@w3.org">tell us</link>
and provide a use case.</para>
</listitem>
</itemizedlist>

<para xml:id="p11">There are other changes too, but I think those are the highlights.</para>

<para xml:id="p12">My own implementation, which ran a few simple piplines once
before being shredded in a refactoring exercise, very nearly runs
pipelines again. Here's hoping for a public release in the short term.</para>

<para xml:id="p13">As I'm fond of reminding the WG, as of today there are a mere 30
weeks left in our charter. We need to get to last call
<emphasis>soon</emphasis>. If you've got comments, now would be the
time. If you've made comments that haven't been answered, please
accept my apologies. I've been driving the WG to get this draft
finished. We'll get to the comments in short order.</para>

</essay>

