Features: file-steps

depends 105 (AB)

Tests [p:]depends

Test is expected to pass.

The pipeline

<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
                xmlns:t="http://xproc.org/ns/testsuite/3.0" version="3.0">
   <p:output port="result"/>
   <p:variable name="episode"
               select="p:system-property('p:episode')"/>
   <p:file-create-tempfile delete-on-exit="true"/>
   <p:variable name="path" select="*:result/text()"/>
   <p:choose name="identity">
      <p:when test="true()">
         <p:identity depends="storer">
            <p:with-input select="doc($path)">
               <context/>
            </p:with-input>
         </p:identity>
      </p:when>
   </p:choose>
   <p:sink/>
   <p:store href="{$path}" name="storer">
      <p:with-input>
         <doc>{$episode}</doc>
      </p:with-input>
   </p:store>
   <p:choose>
      <p:with-input pipe="@identity"/>
      <p:when test="doc/text() = $episode">
         <p:identity>
            <p:with-input>
               <success/>
            </p:with-input>
         </p:identity>
      </p:when>
      <p:otherwise>
         <p:identity>
            <p:with-input>
               <failure/>
            </p:with-input>
         </p:identity>
      </p:otherwise>
   </p:choose>
</p:declare-step>

Result

<success xmlns:t="http://xproc.org/ns/testsuite/3.0"/>

Schematron checks

<s:schema xmlns="http://www.w3.org/1999/xhtml"
          xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:t="http://xproc.org/ns/testsuite/3.0"
          queryBinding="xslt2">
   <s:pattern>
      <s:rule context="/">
         <s:assert test="success">Test failed.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

13 Oct 2021, Achim Berndzen
Removed bogus step name that should cause xs0002
10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
10 Apr 2020, Achim Berndzen
Additional tests