<?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>The XML Pipeline Processor</title><biblioid class="uri">http://norman.walsh.name/2007/07/10/xproc001</biblioid>
<volumenum>10</volumenum>
<issuenum>66</issuenum>
<pubdate>2007-07-10T12:17:01-04:00</pubdate>
<date>$Date: 2007-07-10 12:55:06 -0400 (Tue, 10 Jul 2007) $</date>
<author>
      <personname>
<firstname>Norman</firstname>
	<surname>Walsh</surname>
</personname>
    </author>
<copyright>
      <year>2007</year>
      <holder>Norman Walsh</holder>
    </copyright>
<abstract>
<para>Announcing the first release of the <citetitle>XML Pipeline Processor</citetitle>,
my implementation of <citetitle xlink:href="http://www.w3.org/TR/xproc/">XProc:
An XML Pipeline Processor</citetitle>.</para>
</abstract>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#GlassFish"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Java"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Programming"/>
<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">At last, I'm releasing my nascent XProc processor.
You'll find all the details on the
<link xlink:href="/2007/projects/xproc">project status page</link>.</para>

<para xml:id="p2">Fair warning: this release is <emphasis>extremely</emphasis>
alpha. In addition to scant documentation and a woefully inadequate
test suite, it is known to have the following bugs:</para>

<itemizedlist>
<listitem>
<para xml:id="p3">The defaulting story for primary inputs and outputs (i.e., a pipeline with
no declared inputs gets an anonymous input if it's needed) is not supported.
</para>
</listitem>
<listitem>
<para xml:id="p4">There is no command-line syntax for binding options.
</para>
</listitem>
<listitem>
<para xml:id="p5">Parameters bound on the command-line are ignored.
</para>
</listitem>
<listitem>
<para xml:id="p6">The following steps are not implemented:
<function>p:error</function>,
<function>p:xsl-formatter</function>,
and <function>p:xquery</function>.
</para>
</listitem>
<listitem>
<para xml:id="p7">The <function>p:http-request</function> step is incompletely and incorrectly
implemented.
</para>
</listitem>
<listitem>
<para xml:id="p8">A large, almost random collection of debugging messages are printed.
</para>
</listitem>
<listitem>
<para xml:id="p9">Error reporting is abysmal.
</para>
</listitem>
</itemizedlist>

<para xml:id="p10">No doubt it has many others.</para>

<para xml:id="p11">However, it does implement a fair chunk of the specification and it does
work for me, so maybe it'll work for you. I suggest you read the
<link xlink:href="https://xproc.dev.java.net/release-notes.html">release notes</link>
before deciding if it's something you want to try today.</para>

<para xml:id="p12">Bug reports and other comments most welcome. I expect to continue to work
on making it complete and correct at least until the XProc specification has
successfully exited its candidate recommendation phase.</para>

</essay>

