Features: xquery-function-import

nw-import-functions-018

Tests p:import-functions: Test function imported globally and locally.

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"
                xmlns:test="http://xproc.org/ns/testsuite/3.0/function-test" version="3.0">
   <p:import-functions href="../documents/xquery-library.xq"
                       content-type="application/xquery"/>
   <p:output port="result"/>
   <p:declare-step type="test:step">
      <p:import-functions href="../documents/xquery-library.xq"
                          content-type="application/xquery"/>
      <p:output port="result"/>
      <p:identity>
         <p:with-input>
            <result>{test:function1()}</result>
         </p:with-input>
      </p:identity>
   </p:declare-step>
   <test:step/>
</p:declare-step>

Result

<result xmlns:t="http://xproc.org/ns/testsuite/3.0"
        xmlns:test="http://xproc.org/ns/testsuite/3.0/function-test">
   <function-result/>
</result>

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="result">The document root is not result.</s:assert>
         <s:assert test="result/function-result">Result does not have a child "function-result".</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

05 Dec 2024, Norm Tovey-Walsh
Tests for p:import-function; adapted from ab-import-functions-018 but uses an XQuery library module.