p:document 007

Tests p:document with relative @href and 'base-uri' in document-properties: Makes sure that document-property "base-uri" is set correctly.

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"
                xmlns:xs="http://www.w3.org/2001/XMLSchema" version="3.0">
   <p:output port="result"/>
   <p:identity>
      <p:with-input>
         <p:document href="../documents/ab-doc.xml"
                     document-properties="map{xs:QName('base-uri'):'http://www.w3.org'}"/>
      </p:with-input>
   </p:identity>
   <p:cast-content-type content-type="application/xml">
      <p:with-input select="p:document-properties(.)"/>
   </p:cast-content-type>
</p:declare-step>

Result

<map xmlns="http://www.w3.org/2005/xpath-functions"
     xmlns:t="http://xproc.org/ns/testsuite/3.0">
   <string key="content-type">application/xml</string>
   <string key="base-uri">http://www.w3.org</string>
</map>

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 uri="http://www.w3.org/ns/xproc" prefix="p"/>
   <s:ns prefix="j"
         uri="http://www.w3.org/2005/xpath-functions"/>
   <s:pattern>
      <s:rule context="/">
         <s:assert test="j:map">The document root is not j:map.</s:assert>
         <s:assert test="string-length(j:map/j:string[@key='base-uri']/text()) != 0">Base-uri is not set.</s:assert>
         <s:assert test="starts-with(j:map/j:string[@key='base-uri']/text(),'http://www.w3.org')">Base-uri is not set correctly</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
14 Dec 2019, Achim Berndzen
Added declaration for prefix "xs".
18 Nov 2019, Achim Berndzen
Changed test from p:document-properties-document() to p:document-properties()
22 Oct 2018, Norman Walsh
Fixed result document ( c:document-properties, not p:document-properties)
05 Oct 2018, Achim Berndzen
Fixed wrong condition in schematron test
02 May 2018, Achim Berndzen
Change test with document-properties to map{xs:QName, item()}
03 Apr 2018, Achim Berndzen
Some new tests.