DRP as context for TVT 011

Tests DRP is context node for TVT on p:inline in a p:try step (catch pipeline)

Test ab-drp-context-023.xml is expected to pass.

The pipeline


        <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" version="3.0">
            <p:output port="result"/>

            <p:identity>
                <p:with-input>
                    <doc xmlns="">
                        <value>5</value>
                    </doc>
                </p:with-input>
            </p:identity>

            <p:try>
                <p:error code="error">
                  <p:with-input><ERROR xmlns="">failure</ERROR></p:with-input>
                </p:error>

                <p:catch>
                    <p:identity>
                        <p:with-input>
                            <p:inline>
                                <result xmlns="">{/c:errors/c:error/ERROR/text()}</result>
                            </p:inline>
                        </p:with-input>
                    </p:identity>
                </p:catch>
            </p:try>
        </p:declare-step>
    
MorganaXProc passing XML Calabash passing

Schematron validation


      <s:schema xmlns:s="http://purl.oclc.org/dsdl/schematron">
        <s:ns prefix="c" uri="http://www.w3.org/ns/xproc-step"/>
        <s:pattern>
          <s:rule context="/">
            <s:assert test="/result">Document root is not named 'result'.</s:assert>
            <s:assert test="count(*) = 1">Document does not have exactly one child element.</s:assert>
            <s:assert test="/result/text() = 'failure'">Element 'result' has the wrong content.</s:assert>
          </s:rule>
        </s:pattern>
      </s:schema>
    

Revision history

24 Jul 2019, Achim Berndzen

Fixed XPath expression in TVT.

23 Jul 2019, Norman Walsh

Updated to reflect that the input to ‘p:error’ is passed through.

22 Jul 2019, Norman Walsh

Updated to reflect that the ‘error’ port is now the DRP in p:catch.

30 Dec 2018, Achim Berndzen

Created new test