p:validate-with-json-schema 005 (AB)

Tests p:validate-with-json-schema: Invalid document is replicated on port "result" if assert-valid=false.

Test ab-validate-with-json-schema-005.xml is expected to pass.

It requires the following features: p-validate-with-json-schema.

The pipeline


<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" version="3.0">
   <p:output port="result"/>
   <p:validate-with-json-schema assert-valid="false">
      <p:with-input href="../documents/in-valid.json"/>
      <p:with-input port="schema" href="../documents/schema.json"/>
   </p:validate-with-json-schema>
   <p:cast-content-type content-type="application/xml"/>
</p:declare-step>
MorganaXProc passing XML Calabash passing

Schematron validation


<s:schema xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
   <s:ns uri="http://www.w3.org/2005/xpath-functions" prefix="fn"/>
   <s:pattern>
      <s:rule context="/">
         <s:assert test="fn:map">The root element is not "map".</s:assert>
         <s:assert test="fn:map/fn:string[@key='first-name']">There is no entry for 'first-name'.</s:assert>
         <s:assert test="fn:map/fn:string[@key='last-name']">There is no entry for 'last-name'.</s:assert>
         <s:assert test="fn:map/fn:string[@key='first-name']='Jane'">The string value for first-name is not 'Jane'.</s:assert>
         <s:assert test="fn:map/fn:string[@key='last-name']='Doe'">The string value for last-name us not 'Doe'.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

04 Sep 2022, Achim Berndzen

Initial commit