Features: xquery_3_1

p:xquery 022 (AB)

Tests p:xquery: JSON arrays can be source docs in XQuery 3.1

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:xquery version="3.1">
      <p:with-input port="source">
         <p:inline content-type="application/json">["one", "two"]</p:inline>
      </p:with-input>
      <p:with-input port="query">
         <p:inline content-type="text/plain">
                  declare namespace array="http://www.w3.org/2005/xpath-functions/array";
                  <result>{{array:get(., 2)}}</result>
               </p:inline>
      </p:with-input>
   </p:xquery>
</p:declare-step>

Result

<result xmlns:t="http://xproc.org/ns/testsuite/3.0">two</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">Root element is not 'result'.</s:assert>
         <s:assert test="result/text()='two'">Root element does not have text 'two'.</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 3.1
13 Sep 2019, Achim Berndzen
Tests for p:xquery (Partly ported from 1.0)