Tests output-base-uri (3.0)
Test ab-xslt-042.xml is expected to pass.
It requires the following features: xslt-3.
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" version="3.0">
<p:output port="result"/>
<p:xslt version="3.0" output-base-uri="xslt/" xml:base="http://xproc-test/">
<p:with-input port="source">
<doc/>
</p:with-input>
<p:with-input port="stylesheet">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
<xsl:template match="/">
<xsl:result-document href="one.xml">
<one/>
</xsl:result-document>
<xsl:result-document href="two.xml">
<two/>
</xsl:result-document>
</xsl:template>
</xsl:stylesheet>
</p:with-input>
</p:xslt>
<p:for-each>
<p:with-input pipe="secondary"/>
<p:insert position="first-child" match="/*">
<p:with-input port="insertion">
<uri>{p:document-property(.,'base-uri')}</uri>
</p:with-input>
</p:insert>
</p:for-each>
<p:wrap-sequence wrapper="wrapper"/>
</p:declare-step>
<s:schema xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
<s:pattern>
<s:rule context="/">
<s:assert test="/wrapper">The document root is not 'wrapper'.</s:assert>
<s:assert test="/wrapper/one/uri/text()='http://xproc-test/xslt/one.xml'">Element 'one' does not have a text child 'http://xproc-test/xslt/one.xml'.</s:assert>
<s:assert test="/wrapper/two/uri/text()='http://xproc-test/xslt/two.xml'">Element 'two' does not have a text child 'http://xproc-test/xslt/two.xml'.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
Added attribute 'queryBinding' to schematron's schema.
Change test so it does not rely on document order of port "secondary".
Initial commit