Tests p:document with relative @href and 'base-uri' in document-properties: Makes sure that document-property "base-uri" is set correctly.
Test ab-p-document007.xml is expected to pass.
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" 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>
<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/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>
Added attribute 'queryBinding' to schematron's schema.
Added declaration for prefix "xs".
Changed test from p:document-properties-document() to p:document-properties()
Fixed result document
(
c:document-properties
, not
p:document-properties
)
Fixed wrong condition in schematron test
Change test with document-properties to map{xs:QName, item()}
Some new tests.