AB-xslt-087

Tests output base uri.

Test ab-xslt-087.xml is expected to pass.

It requires the following features: xslt-1 or xslt-1-output-base-uri.

The pipeline


<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" version="3.0">
   <p:output port="result"/>
   <p:xslt version="1.0" output-base-uri="http://base.uri/doc.xml">
      <p:with-input>
         <doc/>
      </p:with-input>
      <p:with-input port="stylesheet">
         <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
            <xsl:template match="doc">
               <xsl:copy-of select="."/>
            </xsl:template>
         </xsl:stylesheet>
      </p:with-input>
   </p:xslt>
   <p:identity>
      <p:with-input>
         <uri>{p:document-property(., 'base-uri')}</uri>
      </p:with-input>
   </p:identity>
</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:pattern>
      <s:rule context="/">
         <s:assert test="/uri">The document root is not 'uri'.</s:assert>
         <s:assert test="/uri/text()='http://base.uri/doc.xml'">Text child of uri is not 'http://base.uri/doc.xml'.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen

Added attribute 'queryBinding' to schematron's schema.

04 Oct 2019, Achim Berndzen

Added tests for p:xslt with version="1.0".