p:archive-manifest 010 (AB)

Tests p:archive-manifest: Relative-to creates absolute uris for href. Its resolve to base-uri of element.

Test ab-archive-manifest-010.xml is expected to pass.

The pipeline


      <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" name="pipeline" version="3.0">
         <p:output port="result"/>
         
         <p:archive-manifest>
            <p:with-option name="relative-to" select="'test/'" xml:base="http://xproc.org/ns/testsuite/3.0/"/>
            <p:with-input href="../documents/archive.zip"/>
         </p:archive-manifest>
      </p:declare-step>
   

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:archive">Root element is not 'c:archive'.</s:assert>
               <s:assert test="count(c:archive/c:entry)=10">Element 'c:archive' does not have 10 children named 'c:entry'</s:assert>
               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/doc.xml'">Value 'href' for 'doc.xml' is wrong.</s:assert>
               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/fish.jpg'">Value 'href' for 'fish.jpg' is wrong.</s:assert>
               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/html.html'">Value 'href' for 'html.html' is wrong.</s:assert>
               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/json.json'">Value 'href' for 'json.json' is wrong.</s:assert>
               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/text.txt'">Value 'href' for 'text.txt' is wrong.</s:assert>

               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/folder/doc.xml'">Value 'href' for 'folder/doc.xml' is wrong.</s:assert>
               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/folder/fish.jpg'">Value 'href' for 'folder/fish.jpg' is wrong.</s:assert>
               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/folder/html.html'">Value 'href' for 'folder/html.html' is wrong.</s:assert>
               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/folder/json.json'">Value 'href' for 'folder/json.json' is wrong.</s:assert>
               <s:assert test="c:archive/c:entry/@href='http://xproc.org/ns/testsuite/3.0/test/folder/text.txt'">Value 'href' for 'folder/text.txt' is wrong.</s:assert>
               
               <s:assert test="count(c:archive/c:entry/@name)=10">Every c:entry must have an attribute 'name'.</s:assert>
            </s:rule>
         </s:pattern>
      </s:schema>
   

Revision history

24 Nov 2019, Achim Berndzen

Additional tests for p:archive-manifest