Pipe attributes 001

Test pipe-attr-001.xml is expected to pass.

The pipeline


      <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" name="main" version="3.0">
         <p:output port="result"/>

         <p:identity name="one">
            <p:with-input port="source">
               <t:doc xmlns:t="http://xproc.org/ns/testsuite/3.0">One</t:doc>
            </p:with-input>
         </p:identity>

         <p:identity name="two">
            <p:with-input port="source">
               <t:doc xmlns:t="http://xproc.org/ns/testsuite/3.0">Two</t:doc>
            </p:with-input>
         </p:identity>

         <p:identity name="three">
            <p:with-input port="source">
               <t:doc xmlns:t="http://xproc.org/ns/testsuite/3.0">Three</t:doc>
            </p:with-input>
         </p:identity>

         <p:identity name="combined">
            <p:with-input port="source" pipe="@three @two @one"/>
         </p:identity>

         <p:wrap-sequence wrapper="docs"/>
      </p:declare-step>
   
MorganaXProc passing XML Calabash passing

Schematron validation


      <s:schema xmlns:s="http://purl.oclc.org/dsdl/schematron">
         <s:ns prefix="c" uri="http://www.w3.org/ns/xproc-step"/>
         <s:pattern>
            <s:rule context="/*">
               <s:assert test="self::docs">The pipeline root is not docs.</s:assert>
            </s:rule>
            <s:rule context="/docs">
               <s:assert test="doc[1] = 'Three'">The first document isn’t Three</s:assert>
               <s:assert test="doc[2] = 'Two'">The second document isn’t Two</s:assert>
               <s:assert test="doc[3] = 'One'">The third document isn’t One</s:assert>
            </s:rule>
         </s:pattern>
      </s:schema>
   

Revision history

18 Feb 2018 08:23, Achim Berndzen

Reversed @pipe-substructure. (->Prague 2018)

29 Dec 2017 19:20, Achim Berndzen

Creating new tests, extending rng and corrected xproc's test

24 Sep 2017 17:47, Norman Walsh

Port my test suite; add documentation and schemas