p:set-properties-025 (AB)

Tests value for key 'serialization' in document properties is map{xs:QName, item()*}.

Test is expected to pass.

The pipeline

<p:declare-step xmlns:map="http://www.w3.org/2005/xpath-functions/map"
                xmlns:p="http://www.w3.org/ns/xproc"
                xmlns:t="http://xproc.org/ns/testsuite/3.0"
                xmlns:xs="http://www.w3.org/2001/XMLSchema" version="3.0">
   <p:output port="result"/>
   <p:set-properties properties="map{'serialization' : map{xs:QName('indent') : true() }}"
                     merge="true">
      <p:with-input>
         <p:inline>
            <doc/>
         </p:inline>
      </p:with-input>
   </p:set-properties>
   <p:identity>
      <p:with-input>
         <result>{map:get(p:document-property(., xs:QName('serialization')), xs:QName('indent'))}</result>
      </p:with-input>
   </p:identity>
</p:declare-step>

Result

<result xmlns:map="http://www.w3.org/2005/xpath-functions/map"
        xmlns:t="http://xproc.org/ns/testsuite/3.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">true</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/text()='true'">Text node of result is not 'true'.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
14 Dec 2019, Achim Berndzen
Fixed test by declaring prefix "xs".
03 Oct 2019, Achim Berndzen
Additional tests for p:set-properties