Features: p-validate-with-schematron

ab-validate-with-schematron-012

Testing schematron validation: Invalid doc trigger error in report.

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" name="pipeline" version="3.0">
   <p:output port="result"/>
   <p:validate-with-schematron phase="full"
                               assert-valid="false" report-format="xvrl">
      <p:with-input port="source"
                    href="../documents/docbook-invalid.xml"/>
      <p:with-input port="schema"
                    href="../documents/docbook-phases.sch"/>
   </p:validate-with-schematron>
   <p:count limit="1">
      <p:with-input xmlns:xvrl="http://www.xproc.org/ns/xvrl"
                    pipe="report" select="//xvrl:report"/>
   </p:count>
</p:declare-step>

Result

<c:result xmlns:c="http://www.w3.org/ns/xproc-step"
          xmlns:t="http://xproc.org/ns/testsuite/3.0">1</c: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:ns prefix="c"
         uri="http://www.w3.org/ns/xproc-step"/>
   <s:pattern>
      <s:rule context="/">
         <s:assert test="c:result">Document element is not 'c:result'.</s:assert>
         <s:assert test="c:result/text() != '0'">Text child should not be '0'.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
03 Jan 2020, Achim Berndzen
Added explicit request for xvrl because svrl is default now.
18 Aug 2019, Achim Berndzen
Initial publication: Test ported from 1.0 test suite