ab-validate-with-relax-ng-006

Basic test, standard grammar: check error is reported.

Test ab-validate-with-relax-ng-006.xml is expected to pass.

It requires the following features: p-validate-with-relax-ng.

The pipeline


<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" name="pipeline" version="3.0">
<p:output port="result"/>
  <p:try>
    <p:output port="result"/>
    <p:validate-with-relax-ng>
      <p:with-input port="source">
        <doc xmlns="">
          <p>Some paragraph.</p>
        </doc>
      </p:with-input>
      <p:with-input port="schema">
        <grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
          <start xmlns="http://relaxng.org/ns/structure/1.0">
            <ref xmlns="http://relaxng.org/ns/structure/1.0" name="doc"/>
          </start>
          <define xmlns="http://relaxng.org/ns/structure/1.0" name="doc">
            <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc">
              <ref xmlns="http://relaxng.org/ns/structure/1.0" name="title"/>
              <zeroOrMore xmlns="http://relaxng.org/ns/structure/1.0">
                <ref xmlns="http://relaxng.org/ns/structure/1.0" name="p"/>
              </zeroOrMore>
            </element>
          </define>
          <define xmlns="http://relaxng.org/ns/structure/1.0" name="title">
            <element xmlns="http://relaxng.org/ns/structure/1.0" name="title">
              <text xmlns="http://relaxng.org/ns/structure/1.0"/>
            </element>
          </define>
          <define xmlns="http://relaxng.org/ns/structure/1.0" name="p">
            <element xmlns="http://relaxng.org/ns/structure/1.0" name="p">
              <text xmlns="http://relaxng.org/ns/structure/1.0"/>
            </element>
          </define>
        </grammar>
      </p:with-input>
    </p:validate-with-relax-ng>
    
    <p:catch name="catch">
      <p:output port="result"/>
      <p:identity>
        <p:with-input pipe="error@catch"/>
      </p:identity>
    </p:catch>
  </p:try>
</p:declare-step>
MorganaXProc passing XML Calabash failing

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="c:errors">The pipeline root is not “c:errors”.</s:assert>
        </s:rule>
      </s:pattern>
    </s:schema>
  

Revision history

02 Aug 2019, Achim Berndzen

Initial publication