p:archive 046 (AB)

Tests p:archive: Tests port 'report' reflects explicit manifest.

Test ab-p-archive-046.xml is expected to pass.

It requires the following features: archive-order.

The pipeline


<p:declare-step xmlns:c="http://www.w3.org/ns/xproc-step" xmlns:p="http://www.w3.org/ns/xproc" version="3.0">
   <p:output port="result" pipe="report"/>
   <p:archive>
      <p:with-input port="source">
         <p:inline document-properties="map{'base-uri' : 'http://test/one.xml'}">
            <doc-a/>
         </p:inline>
         <p:inline document-properties="map{'base-uri' : 'http://test/three.xml'}">
            <doc-c/>
         </p:inline>
         <p:inline document-properties="map{'base-uri' : 'http://test/two.xml'}">
            <doc-b/>
         </p:inline>
      </p:with-input>
      <p:with-input port="manifest">
         <c:archive>
            <c:entry name="one.xml" href="http://test/one.xml"/>
            <c:entry name="two.xml" href="http://test/two.xml"/>
            <c:entry name="three.xml" href="http://test/three.xml"/>
         </c:archive>
      </p:with-input>
      <p:with-input port="archive">
         <p:empty/>
      </p:with-input>
   </p:archive>
</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 prefix="c" uri="http://www.w3.org/ns/xproc-step"/>
   <s:pattern>
      <s:rule context="/">
         <s:assert test="c:archive">Root element is not 'c:archive'.</s:assert>
         <s:assert test="c:archive/c:entry[1]/@name='one.xml'">The first entry is not 'one.xml'.</s:assert>
         <s:assert test="c:archive/c:entry[2]/@name='two.xml'">The second entry is not 'two.xml'.</s:assert>
         <s:assert test="c:archive/c:entry[3]/@name='three.xml'">The third entry is not 'three.xml'.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen

Added attribute 'queryBinding' to schematron's schema.

26 Jun 2020, Achim Berndzen

Fixed test so that is actually checks orders of the entries.

01 Sep 2019, Achim Berndzen

Tests for p:archive