Collection 001

Tests that collection works correctly on p:variable.

Test nw-collection-001.xml is expected to pass.

The pipeline


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

        <p:identity name="id1">
          <p:with-input port="source">
            <p:inline>
              <doc xmlns=""/>
            </p:inline>
          </p:with-input>
        </p:identity>

        <p:identity name="id2">
          <p:with-input port="source">
            <p:inline>
              <doc xmlns=""/>
            </p:inline>
          </p:with-input>
        </p:identity>

        <p:identity name="combine">
          <p:with-input port="source" pipe="@id1 @id2"/>
        </p:identity>

        <p:variable name="a" select="count(collection())" collection="true"/>

        <p:identity>
          <p:with-input>
            <doc xmlns="">{$a}</doc>
          </p:with-input>
        </p:identity>
      </p:declare-step>
   
MorganaXProc passing XML Calabash passing

Schematron validation


     <s:schema xmlns:s="http://purl.oclc.org/dsdl/schematron">
       <s:pattern>
         <s:rule context="/">
           <s:assert test="doc">The pipeline root is not “doc”.</s:assert>
           <s:assert test="doc = '2'">Text collection length isn’t correct.</s:assert>
         </s:rule>
       </s:pattern>
     </s:schema>
   

Revision history

14 Oct 2018, Norman Walsh

Initial publication