p:set-attributes-003 (AB)

Tests p:set-attributes

Test is expected to pass.

Input: source

<doc xmlns:a="http://xproc.org/ns/testsuite/attributes"
     xmlns:t="http://xproc.org/ns/testsuite/3.0" att="0" a:att="0"/>

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:input port="source"/>
   <p:output port="result"/>
   <p:set-attributes xmlns:a="http://xproc.org/ns/testsuite/attributes"
                     match="*"
                     attributes="map{'att':1, 'a:att':2}"/>
</p:declare-step>

Result

<doc xmlns:a="http://xproc.org/ns/testsuite/attributes"
     xmlns:t="http://xproc.org/ns/testsuite/3.0" att="1" a:att="2"/>

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:ns uri="http://xproc.org/ns/testsuite/attributes"
         prefix="a"/>
   <s:pattern>
      <s:rule context="/">
         <s:assert test="doc">Root element is not 'doc'.</s:assert>
         <s:assert test="/doc/@att='1'">Root element does not have an attribute 'a' with value '1'.</s:assert>
         <s:assert test="/doc/@a:att='2'">Root element does not have an attribute Q{http://xproc.org/ns/testsuite/attributes}att with value '2'.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
23 Jun 2019, Achim Berndzen
Changed test to new step signature.
19 May 2019, Achim Berndzen
Tests for p:set-attributes