<?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>Landmark XML Calabash Moment</title><biblioid class="uri">http://norman.walsh.name/2009/04/28/100percent</biblioid>
<volumenum>12</volumenum>
<issuenum>12</issuenum>
<pubdate>2009-04-28T10:17:00-04:00</pubdate>
<author>
      <personname>
<firstname>Norman</firstname>
	<surname>Walsh</surname>
</personname>
    </author>
<copyright>
      <year>2009</year>
      <holder>Norman Walsh</holder>
    </copyright>
<abstract>
<para>For the first time ever, (I assert) XML Calabash passes 100% of
the XProc test suite!</para>
</abstract>
<dc:subject rdf:resource="http://norman.walsh.name/knows/taxonomy#Calabash"/>
<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>

<epigraph>
<attribution>
      <personname>
	<firstname>T. S.</firstname>
<surname>Eliot</surname>
      </personname>
    </attribution>
<para xml:id="p2">Success is relative; it is what we make of the
mess we have made of things.</para>
</epigraph>

<para xml:id="p1">Last night and early this morning, I converted
<link xlink:href="http://xmlcalabash.com/">my implementation</link>
of <tag>p:validate-with-relax-ng</tag> to use 
<link xlink:href="http://code.google.com/p/jing-trang">Jing</link>
instead of
<link xlink:href="http://msv.dev.java.net/">MSV</link>. That change
allows me to handle RELAX NG grammars expressed in the compact syntax,
and <emphasis>that</emphasis> change allows me to assert that
<link xlink:href="/2008/projects/calabash/">XML Calabash</link>,
my
<wikipedia page="XML_pipeline">XProc</wikipedia> processor, 
<link xlink:href="http://tests.xproc.org/results/calabash/">passes 100%</link> of the
<link xlink:href="http://tests.xproc.org/testsuite/">XProc Test Suite</link>.
</para>

<para xml:id="p3">I say “assert” because there are two tests that it appears to fail:</para>

<variablelist>
<varlistentry>
<term xlink:href="http://tests.xproc.org/tests/optional/err-c0033-002.xml">err-c0033-002.xml</term>
<listitem>
<para xml:id="p4">But <link xlink:href="http://lists.w3.org/Archives/Public/xproc-dev/2009Apr/0060.html">I think</link> this test is invalid.</para>
</listitem>
</varlistentry>
<varlistentry>
<term xlink:href="http://tests.xproc.org/tests/optional/validxsd-006.xml">validxsd-006.xml</term>
<listitem>
<para xml:id="p5">But I think <citetitle>XML Calabash</citetitle> passes this test.
The actual result varies from the expected result only because
<link xlink:href="http://saxonica.com/">SaxonSA</link> inserted a comment
to identify the location of the validation error.</para>
<para xml:id="p6">I hope that the next version of Saxon will give me the ability to
control this behavior.</para>
</listitem>
</varlistentry>
</variablelist>

<para xml:id="p7">While this is a nice milestone, my elation is tempered by the fact
that the test suite isn't anywhere near complete yet. It has only 412 tests
and not particularly good
<link xlink:href="http://tests.xproc.org/testsuite/coverage.html">coverage</link>.
But, hey, I get to beam a bit anyway; it may be a small mountain,
but I got there first! (Spurred on by some
<link xlink:href="http://tests.xproc.org/results/calumet/">healthy
competition</link> from <personname>
      <surname>Vojtech</surname>
<firstname role="suppress">Toman</firstname>
    </personname>’s
<citetitle>Calumet</citetitle>.)</para>

</essay>

