Variable declaration 027

Test a p:variable selecting from default readable port.

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:identity>
      <p:with-input>
         <doc>value</doc>
      </p:with-input>
   </p:identity>
   <p:variable name="var" select="/doc/text()"/>
   <p:identity>
      <p:with-input>
         <doc>{$var}</doc>
      </p:with-input>
   </p:identity>
</p:declare-step>

Result

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

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="doc">The pipeline root is not doc.</s:assert>
         <s:assert test="count(doc/node())=1">The root element does not have exactly one child.</s:assert>
         <s:assert test="count(doc/text())=1">The root element does not have exactly one text child.</s:assert>
         <s:assert test="doc/text()='value'">The root element does not have a text child 'value'.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
10 Aug 2018, Achim Berndzen
Some new and some changed tests
04 Feb 2018, Achim Berndzen
Some tests fro p:variable