[xquery-talk] fn:transform running with default call-template invocation - no result-documents created
Ihe Onwuka
ihe.onwuka at gmail.com
Thu Feb 11 06:27:09 PST 2021
This transform test.xsl copies (for the purpose of a small test example) a
directory of XML data by calling an identity transform for each recursively
encountered XML file.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:map="http://www.w3.org/2005/xpath-functions/map"
version="3.0" exclude-result-prefixes="xsi fn xs map" expand-text="yes">
<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:variable name="currentStylesheet" as="document-node()"
select="doc('identity.xsl')"/>
<xsl:template name="xsl:initial-template">
<xsl:for-each
select="collection('file:///mnt/c/home/oneD/data/translatable' ||
'?select=*.xml;recurse=yes')">
<xsl:result-document
href="{replace(document-uri(),'/data/translatable/','/translated/')}">
<xsl:sequence select=" fn:transform(map {
'stylesheet-node' : $currentStylesheet,
'source-node' : .
})?output"/>
</xsl:result-document>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
However if I invoke it from XQuery with fn:transform like so
xquery version "3.1";
fn:transform(map { 'stylesheet-node' : doc('test.xsl')})?output
none of the result-documents are created.
Is there something wrong with the invoking XQuery? I have never before
tried this so it is my best attempt from reading the docs.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://x-query.com/pipermail/talk/attachments/20210211/14322440/attachment.html>
More information about the talk
mailing list