hash 007 (AB)

Testing p:hash replaces the complete element.

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:hash value="XML Processing Model Working Group"
           algorithm="crc" match="/doc/p">
      <p:with-input>
         <doc>
            <p>This is a p.</p>
         </doc>
      </p:with-input>
   </p:hash>
</p:declare-step>

Result

<doc xmlns:t="http://xproc.org/ns/testsuite/3.0">
                  852b1f51
               </doc>

Schematron checks

<s:schema 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="doc">The document root is not doc.</s:assert>
         <s:assert test="not(doc/text()='852b1f51')">Whitespace around element 'p' is not correctly handled.</s:assert>
         <s:assert test="normalize-space(doc/text())='852b1f51'">Normalized text of doc is not '852b1f51'.</s:assert>
         <s:assert test="count(doc/*)=0">doc must not have child elements.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
30 Jun 2019, Achim Berndzen
Fixed test by taking care of whitespace in schema.
01 May 2019, Achim Berndzen
New tests for p:hash