p:xquery 023 (AB)

Tests p:xquery: JSON map can be used as variable in XQuery 3.1

Test ab-xquery-023.xml is expected to pass.

It requires the following features: xquery_3_1.

The pipeline


<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" version="3.0">
   <p:output port="result"/>
   <p:xquery parameters="map{'map' : map{'key' : 'value'}}" version="3.1">
      <p:with-input port="source">
         <p:empty/>
      </p:with-input>
      <p:with-input port="query">
         <p:inline content-type="text/plain">
                  declare namespace map="http://www.w3.org/2005/xpath-functions/map";
                  declare variable $map external;
                  &lt;result&gt;{{map:get($map, 'key')}}&lt;/result&gt;
               </p:inline>
      </p:with-input>
   </p:xquery>
</p:declare-step>
MorganaXProc passing XML Calabash passing

Schematron validation


<s:schema xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
   <s:pattern>
      <s:rule context="/">
         <s:assert test="result">Root element is not 'result'.</s:assert>
         <s:assert test="result/text()='value'">Root element does not have text 'value'.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen

Added attribute 'queryBinding' to schematron's schema.

30 Sep 2019, Achim Berndzen

Added explicit request for xquery version 3.1

13 Sep 2019, Achim Berndzen

Tests for p:xquery (Partly ported from 1.0)