<programlisting role='xml' xmlns='http://docbook.org/ns/docbook'><tag class="starttag"><tag class='localname'>p:library</tag> <tag class='attribute'>xml:id</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>b4-glossary</tag><literal>"</literal>
	   <tag class='attribute'>xmlns:p</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>http://www.w3.org/ns/xproc</tag><literal>"</literal>
	   <tag class='attribute'>xmlns:cx</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>http://xmlcalabash.com/ns/extensions</tag><literal>"</literal>
	   <tag class='attribute'>xmlns:pl</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>http://www.w3.org/XML/XProc/docs/library</tag><literal>"</literal></tag>

<tag class="starttag"><tag class='localname'>p:declare-step</tag> <tag class='attribute'>name</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>main</tag><literal>"</literal> <tag class='attribute'>type</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>pl:main</tag><literal>"</literal></tag>
  <tag class="emptytag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>parameters</tag><literal>"</literal> <tag class='attribute'>kind</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>parameter</tag><literal>"</literal></tag>

  <tag class="starttag"><tag class='localname'>pl:format-spec</tag></tag>
    <tag class="starttag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>source</tag><literal>"</literal></tag>
      <tag class="emptytag"><tag class='localname'>p:document</tag> <tag class='attribute'>href</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>langspec.xml</tag><literal>"</literal></tag>
    <tag class="endtag"><tag class='localname'>p:input</tag></tag>
  <tag class="endtag"><tag class='localname'>pl:format-spec</tag></tag>

  <tag class="emptytag"><tag class='localname'>pl:tidy</tag> <tag class='attribute'>href</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>langspec.html</tag><literal>"</literal></tag>
<tag class="endtag"><tag class='localname'>p:declare-step</tag></tag>

<tag class="starttag"><tag class='localname'>p:declare-step</tag> <tag class='attribute'>name</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>main</tag><literal>"</literal> <tag class='attribute'>type</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>pl:format-spec</tag><literal>"</literal></tag>
  <tag class="emptytag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>source</tag><literal>"</literal></tag>
  <tag class="emptytag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>parameters</tag><literal>"</literal> <tag class='attribute'>kind</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>parameter</tag><literal>"</literal></tag>
  <tag class="emptytag"><tag class='localname'>p:output</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>result</tag><literal>"</literal></tag>

  <tag class="starttag"><tag class='localname'>p:xslt</tag></tag>
    <tag class="starttag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>stylesheet</tag><literal>"</literal></tag>
      <tag class="emptytag"><tag class='localname'>p:document</tag> <tag class='attribute'>href</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>../style/makeglossary.xsl</tag><literal>"</literal></tag>
    <tag class="endtag"><tag class='localname'>p:input</tag></tag>
  <tag class="endtag"><tag class='localname'>p:xslt</tag></tag>

  <tag class="emptytag"><tag class='localname'>p:store</tag> <tag class='attribute'>name</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>store-glossary</tag><literal>"</literal> <tag class='attribute'>href</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>glossary.xml</tag><literal>"</literal></tag>

  <tag class="starttag"><tag class='localname'>p:xinclude</tag> <tag class='attribute'>cx:depends-on</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>store-glossary</tag><literal>"</literal></tag>
    <tag class="starttag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>source</tag><literal>"</literal></tag>
      <tag class="emptytag"><tag class='localname'>p:pipe</tag> <tag class='attribute'>step</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>main</tag><literal>"</literal> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>source</tag><literal>"</literal></tag>
    <tag class="endtag"><tag class='localname'>p:input</tag></tag>
  <tag class="endtag"><tag class='localname'>p:xinclude</tag></tag>

  <tag class="starttag"><tag class='localname'>p:validate-with-relax-ng</tag></tag>
    <tag class="starttag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>schema</tag><literal>"</literal></tag>
      <tag class="emptytag"><tag class='localname'>p:document</tag> <tag class='attribute'>href</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>../schema/dbspec.rng</tag><literal>"</literal></tag>
    <tag class="endtag"><tag class='localname'>p:input</tag></tag>
  <tag class="endtag"><tag class='localname'>p:validate-with-relax-ng</tag></tag>

  <tag class="starttag"><tag class='localname'>p:xslt</tag> <tag class='attribute'>name</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>style</tag><literal>"</literal></tag>
    <tag class="starttag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>stylesheet</tag><literal>"</literal></tag>
      <tag class="emptytag"><tag class='localname'>p:document</tag> <tag class='attribute'>href</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>../style/dbspec.xsl</tag><literal>"</literal></tag>
    <tag class="endtag"><tag class='localname'>p:input</tag></tag>
  <tag class="endtag"><tag class='localname'>p:xslt</tag></tag>
<tag class="endtag"><tag class='localname'>p:declare-step</tag></tag>

<tag class="starttag"><tag class='localname'>p:declare-step</tag> <tag class='attribute'>type</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>pl:tidy</tag><literal>"</literal></tag>
  <tag class="emptytag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>source</tag><literal>"</literal></tag>
  <tag class="emptytag"><tag class='localname'>p:option</tag> <tag class='attribute'>name</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>href</tag><literal>"</literal> <tag class='attribute'>required</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>true</tag><literal>"</literal></tag>

  <tag class="starttag"><tag class='localname'>p:store</tag> <tag class='attribute'>name</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>store</tag><literal>"</literal></tag>
    <tag class="emptytag"><tag class='localname'>p:with-option</tag> <tag class='attribute'>name</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>href</tag><literal>"</literal> <tag class='attribute'>select</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>$href</tag><literal>"</literal></tag>
  <tag class="endtag"><tag class='localname'>p:store</tag></tag>

  <tag class="starttag"><tag class='localname'>p:exec</tag> <tag class='attribute'>result-is-xml</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>false</tag><literal>"</literal>
	  <tag class='attribute'>source-is-xml</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>false</tag><literal>"</literal>
	  <tag class='attribute'>command</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>/Users/ndw/bin/tidy</tag><literal>"</literal>
	  <tag class='attribute'>cx:depends-on</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>store</tag><literal>"</literal></tag>
    <tag class="starttag"><tag class='localname'>p:with-option</tag> <tag class='attribute'>name</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>args</tag><literal>"</literal> <tag class='attribute'>select</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>$href</tag><literal>"</literal></tag>
      <tag class="emptytag"><tag class='localname'>p:empty</tag></tag>
    <tag class="endtag"><tag class='localname'>p:with-option</tag></tag>
    <tag class="starttag"><tag class='localname'>p:input</tag> <tag class='attribute'>port</tag><literal>=</literal><literal>"</literal><tag class='attvalue'>source</tag><literal>"</literal></tag><tag class="emptytag"><tag class='localname'>p:empty</tag></tag><tag class="endtag"><tag class='localname'>p:input</tag></tag>
  <tag class="endtag"><tag class='localname'>p:exec</tag></tag>

  <tag class="emptytag"><tag class='localname'>p:sink</tag></tag>
<tag class="endtag"><tag class='localname'>p:declare-step</tag></tag>

<tag class="endtag"><tag class='localname'>p:library</tag></tag>
</programlisting>
