Add-attribute-004 (AB)

Tests adding an attribute with QName AVT to doc.

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:add-attribute match="/doc" attribute-value="5">
      <p:with-input>
         <doc/>
      </p:with-input>
      <p:with-option name="attribute-name"
                     select="QName('http://attribute-namespace','att')"/>
   </p:add-attribute>
</p:declare-step>

Result

<doc xmlns:_1="http://attribute-namespace"
     xmlns:t="http://xproc.org/ns/testsuite/3.0" _1:att="5"/>

Schematron checks

<s:schema xmlns:s="http://purl.oclc.org/dsdl/schematron"
          xmlns:t="http://xproc.org/ns/testsuite/3.0" queryBinding="xslt2">
   <s:ns prefix="att-ns"
         uri="http://attribute-namespace"/>
   <s:pattern>
      <s:rule context="/">
         <s:assert test="doc">The document root is not doc.</s:assert>
         <s:assert test="doc/@att-ns:att">There is not attribute "Q{http://attribute-namespace}att" at doc.</s:assert>
         <s:assert test="doc/@att-ns:att=5">Value of attribute "Q{http://attribute-namespace}att" is not 5.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
28 Jun 2019, Achim Berndzen
Fix tests by removing AVT
16 Feb 2019, Achim Berndzen
Added new tests for p:add-attribute.