<?xml version="1.0" encoding="UTF-8"?>
<essay xml:lang="en" role="project" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?nwn.doap?>
<info>
<title>XML Calabash: an XProc implementation</title>
<biblioid class="uri">http://norman.walsh.name/2008/projects/calabash</biblioid>
<abstract>
<para>This is the permanent status page for <citetitle>Calabash</citetitle>.
<phrase role="doap.description">Calabash is an
implementation of <citetitle xlink:href="http://www.w3.org/TR/xproc/">XProc: An XML Pipeline
Processor</citetitle>, a specification being developed by the W3C to
address questions about the XML processing model.</phrase>
Version 1.0.2 is now available.
</para>
</abstract>
<author>
      <personname>
<firstname>Norman</firstname>
	<surname>Walsh</surname>
</personname>
      <email>ndw@nwalsh.com</email>
    </author>
<copyright>
      <year>2008</year>
      <holder>norman walsh</holder>
    </copyright>
<pubdate>2008-08-24T16:18:09-04:00</pubdate>
<biblioid>projects-2008-calabash</biblioid>
<doap:license rdf:resource="http://www.gnu.org/licenses/gpl-2.0.html" xmlns:doap="http://usefulinc.com/ns/doap/#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<dcterms:replaces xmlns:dcterms="http://purl.org/dc/terms/">http://norman.walsh.name/2007/projects/xproc</dcterms:replaces>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Calabash" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Java" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Programming" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#XML" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
</info>

<para xml:id="p1"><inlinemediaobject>
<alt>XML Calabash Logo</alt>
<imageobject>
<imagedata align="right" fileref="images/xmlcalabash-128.png"/>
</imageobject>
</inlinemediaobject><phrase role="doap.shortdesc">Calabash
runs XProc pipelines.</phrase> It is a command-line application. This
version of
<phrase role="doap.name">Calabash</phrase> is supposed to implement
the 11 May 2010 Recommendation of the
<link xlink:href="http://www.w3.org/TR/xproc/">XProc
specification</link>.
</para>

<para xml:id="p2" role="doap.release">The current release is
<phrase role="doap.release.revision">1.0.2</phrase>
from <date role="doap.release.created">2012-01-29</date>. This is a
<phrase role="doap.release.branch">stable</phrase> release.
</para>

<para xml:id="p9">Recent changes:</para>

<itemizedlist>
<listitem>
<para xml:id="p375">Fixed issue
<link xlink:href="https://github.com/ndw/xmlcalabash1/issues/28">#28</link>:
make sure that the static base URI is available in XPath expressions.
</para>
</listitem>
<listitem>
<para xml:id="p376">Updated the extension library so that it contains all of the
supported extension steps. Added the extension library URI
to the
<link xlink:href="http://xmlcalabash.com/docs/reference/extensions.html#extsteps">reference
documentation</link>.</para>
</listitem>
<listitem>
<para xml:id="p377">Fixed issue
<link xlink:href="https://github.com/ndw/xmlcalabash1/issues/26">#26</link>:
support the <option>recursive</option> option on <tag>pxf:delete</tag> correctly.
</para>
</listitem>
<listitem>
<para xml:id="p378">Fixed issue
<link xlink:href="https://github.com/ndw/xmlcalabash1/issues/27">#27</link>:
reworked namespace handling so that <tag>cx:namespace-delete</tag> works correctly.
</para>
</listitem>
<listitem>
<para xml:id="p379">Updated README, added notices for distributed libraries, improved
documentation. Cleaned up the build system a bit. Added a (local) test suite for
extension steps.</para>
</listitem>
<listitem>
<para xml:id="p380">Fixed a bug in serialization where
some combinations of schema-valid/untyped documents weren't handled
correctly. This release was never announced.
</para>
</listitem>
</itemizedlist>

<!-- ============================================================ -->

<para xml:id="p21">Calabash's
<link xlink:href="http://tests.xproc.org/results/calabash">performance</link>
against the
<link xlink:href="http://tests.xproc.org/">test suite</link> is reported.
(Most releases so far have passed most, if not quite all, of the tests.)
</para>

<para xml:id="p11">Calabash is implemented in
<phrase role="doap.programming-language">Java</phrase> and should
run on <phrase role="doap.os">any</phrase> platform that supports
Java 1.5 or later and has a command-line.
You can
get “<phrase role="doap.shortname">calabash</phrase>”
from the
<link role="doap.download-page" xlink:href="http://xmlcalabash.com/download/">download page</link> on
<link role="doap.homepage" xlink:href="http://xmlcalabash.com">xmlcalabash.com</link>.
It is available under the terms of the GNU General Public License,
Version 2.0.</para>

<para xml:id="p7">Previous releases:</para>

<itemizedlist>
<listitem>
<para role="doap.release" xml:id="p381"><phrase role="doap.release.revision">1.0.1</phrase>
from <date role="doap.release.created">2012-01-28</date> was a
<phrase role="doap.release.branch">stable</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p382"><phrase role="doap.release.revision">1.0.0</phrase>
from <date role="doap.release.created">2012-01-20</date> was a
<phrase role="doap.release.branch">stable</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p374"><phrase role="doap.release.revision">0.9.44</phrase>
from <date role="doap.release.created">2011-01-10</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p370"><phrase role="doap.release.revision">0.9.42</phrase>
from <date role="doap.release.created">2011-01-02</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p366"><phrase role="doap.release.revision">0.9.41</phrase>
from <date role="doap.release.created">2011-12-03</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p358"><phrase role="doap.release.revision">0.9.40</phrase>
from <date role="doap.release.created">2011-11-11</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p347"><phrase role="doap.release.revision">0.9.39</phrase>
from <date role="doap.release.created">2011-10-31</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p348"><phrase role="doap.release.revision">0.9.38</phrase>
from <date role="doap.release.created">2011-10-26</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p349"><phrase role="doap.release.revision">0.9.37</phrase>
from <date role="doap.release.created">2011-10-07</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p350"><phrase role="doap.release.revision">0.9.36</phrase>
from <date role="doap.release.created">2011-10-05</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p325"><phrase role="doap.release.revision">0.9.35</phrase>
from <date role="doap.release.created">2011-10-03</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p322"><phrase role="doap.release.revision">0.9.24</phrase>
from <date role="doap.release.created">2010-11-07</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p310"><phrase role="doap.release.revision">0.9.23</phrase>
from <date role="doap.release.created">2010-07-27</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p300"><phrase role="doap.release.revision">0.9.22</phrase>
from <date role="doap.release.created">2010-07-20</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p301"><phrase role="doap.release.revision">0.9.21</phrase>
from <date role="doap.release.created">2010-04-19</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p281"><phrase role="doap.release.revision">0.9.20</phrase>
from <date role="doap.release.created">2010-04-05</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para xml:id="p265">Apparently I failed to publicize 0.9.18 and 0.9.19. Mea culpa.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p266"><phrase role="doap.release.revision">0.9.17</phrase>
from <date role="doap.release.created">2010-02-27</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para xml:id="p237">There was no official 0.9.16 release.</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p238"><phrase role="doap.release.revision">0.9.15</phrase>
from <date role="doap.release.created">2009-10-04</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p218"><phrase role="doap.release.revision">0.9.14</phrase>
from <date role="doap.release.created">2009-07-23</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para xml:id="p194">Version <phrase role="doap.release.revision">0.9.13</phrase> was
never actually released.</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p195"><phrase role="doap.release.revision">0.9.12</phrase>
from <date role="doap.release.created">2009-06-23</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p187"><phrase role="doap.release.revision">0.9.11</phrase>
from <date role="doap.release.created">2009-06-22</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p186"><phrase role="doap.release.revision">0.9.10</phrase>
from <date role="doap.release.created">2009-06-01</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p169"><phrase role="doap.release.revision">0.9.9</phrase>
from <date role="doap.release.created">2009-04-30</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p170"><phrase role="doap.release.revision">0.9.8</phrase>
from <date role="doap.release.created">2009-04-21</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p159"><phrase role="doap.release.revision">0.9.7</phrase>
from <date role="doap.release.created">2009-03-31</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p149"><phrase role="doap.release.revision">0.9.6</phrase>
from <date role="doap.release.created">2009-03-11</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p130"><phrase role="doap.release.revision">0.9.5</phrase>
from <date role="doap.release.created">2009-03-05</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>

<listitem>
<para role="doap.release" xml:id="p122"><phrase role="doap.release.revision">0.9.4</phrase>
from <date role="doap.release.created">2009-02-04</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p114"><phrase role="doap.release.revision">0.9.3</phrase>
from <date role="doap.release.created">2008-12-19</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p115"><phrase role="doap.release.revision">0.9.2</phrase>
from <date role="doap.release.created">2008-12-04</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p106"><phrase role="doap.release.revision">0.9.1</phrase>
from <date role="doap.release.created">2008-11-30</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p102"><phrase role="doap.release.revision">0.9.0</phrase>
from <date role="doap.release.created">2008-11-28</date> was a
<phrase role="doap.release.branch">beta</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p100"><phrase role="doap.release.revision">0.8.8</phrase>
from <date role="doap.release.created">2008-11-20</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p91"><phrase role="doap.release.revision">0.8.6</phrase>
from <date role="doap.release.created">2008-11-09</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p79"><phrase role="doap.release.revision">0.8.5</phrase>
from <date role="doap.release.created">2008-11-04</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p80"><phrase role="doap.release.revision">0.8.4</phrase>
from <date role="doap.release.created">2008-10-31</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p51"><phrase role="doap.release.revision">0.8.3</phrase>
from <date role="doap.release.branch">2008-10-26</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p34"><phrase role="doap.release.revision">0.8.2</phrase>
from <date role="doap.release.created">2008-10-20</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p22"><phrase role="doap.release.revision">0.6.3</phrase>
from <date role="doap.release.created">2008-09-28</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p19"><phrase role="doap.release.revision">0.6.2</phrase>
from <date role="doap.release.created">2008-09-26</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p12"><phrase role="doap.release.revision">0.6.1</phrase>
from <date role="doap.release.created">2008-09-22</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.
</para>
</listitem>
<listitem>
<para role="doap.release" xml:id="p8"><phrase role="doap.release.revision">0.6.0</phrase>,
from <date role="doap.release.created">2008-08-27</date> was an
<phrase role="doap.release.branch">alpha</phrase> release.
</para>
</listitem>
<listitem>
<para xml:id="p3" role="doap.release"><phrase role="doap.release.revision">0.5.1</phrase>,
from <date role="doap.release.created">2008-08-24</date> was the initial
<phrase role="doap.release.branch">alpha</phrase> release.
</para>
</listitem>
</itemizedlist>

<para xml:id="p4">Calabash is maintained by
<personname role="doap.maintainer">
      <firstname>Norman</firstname>
<surname>Walsh</surname>
    </personname>.
Please
<link role="doap.bug-database" xlink:href="http://code.google.com/p/xmlcalabash/issues/list">report</link>
any bugs that you encounter.

<!-- Norm is also experimenting with tracking
the <link xlink:href="http://getsatisfaction.com/calabash">status of Calabash</link>
at <link xlink:href="http://getsatisfaction.com/">getsatisfaction.com</link>.
-->
</para>

<para xml:id="p5" role="doap.repository.CVSRepository">If you'd like to build
the project yourself, you can
<link role="doap.CVSRepository.browse" xlink:href="https://github.com/ndw/xmlcalabash1">browse</link>
the Git repository or 
access it directly from
<systemitem role="doap.CVSRepository.anon-root">git@github.com:ndw/xmlcalabash1.git</systemitem>.
</para>

<para xml:id="p6">Calabash was first announced on
<date role="doap.created">2008-08-24</date>.
It is a complete rewrite of an earlier project named simply <citetitle>The
XML Pipeline Processor</citetitle>.</para>

</essay>

