- From: Manfred Staudinger <manfred.staudinger@gmail.com>
- Date: Tue, 23 Nov 2010 00:43:56 +0100
- To: XProc Dev <xproc-dev@w3.org>
Hi,
I have 2 xslt steps, say tr5-inst-nav and tr6-xforms-nav. The first
one takes a primary input and produces no "primary" but one or more
"secondary" output files using xsl:result-document. The (simplified)
pipeline looks like:
<p:option name="rel-path" required="true"/>
<p:option name="debug" select="'0'"/>
...
<p:identity name="section_3"/>
<p:xslt name="tr5-inst-nav">
<p:with-param name="rel-path" select="$rel-path"/>
<p:with-param name="test-dir" select="if ($debug=0) then () else
'/_test'"/>
<p:input port="stylesheet">
<p:inline exclude-inline-prefixes="cx dwfx xps dwf">
<xsl:stylesheet version="2.0"
...
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="rel-path"/>
<xsl:param name="test-dir"/>
...
<xsl:template match="c:directory">
...
<xsl:result-document href="{concat($out-dir, $sub, '-nav.xml')}">
...
</xsl:template>
</xsl:stylesheet>
</p:inline>
</p:input>
</p:xslt>
<p:sink/>
<p:for-each>
<p:iteration-source>
<p:pipe step="tr5-inst-nav" port="secondary"/>
</p:iteration-source>
<p:store encoding="utf-8" indent="false" omit-xml-declaration="false">
<p:with-option name="href" select="p:base-uri()"/>
</p:store>
</p:for-each>
This works perfectly, thanks Calabash! My second xslt (tr6-xforms-nav)
uses the same primary input, but in addition needs to read the files
produced by tr5-inst-nav using the doc() function. So I tried the
following:
<p:identity>
<p:input port="source">
<p:pipe step="section_3" port="result"/>
<p:pipe step="tr5-inst-nav" port="secondary"/><!-- ??? -->
</p:input>
</p:identity>
<p:xslt name="tr6-xforms-nav">
<p:with-param name="rel-path" select="$rel-path"/>
<p:with-param name="test-dir" select="if ($debug=0) then () else
'/_test'"/>
...
and got the error message
22.11.2010 11:21:57 com.xmlcalabash.util.DefaultXProcMessageListener error
SCHWERWIEGEND: step p:xslt named tr6-xforms-nav at file:/F:/...
1070:34: err:XD0008: More than one document in context for parameter
'rel-path'
22.11.2010 11:21:57 com.xmlcalabash.drivers.Main error
SCHWERWIEGEND: It is a dynamic error if a document sequence appears
where a document to be used as the context node is expected.
(which might indicate another problem as well). Still I have no idea
how to make the secondary output port available for tr6-xforms-nav. If
you can see any other problems please feel free to comment.
Calabash version 0.9.22, Saxon-HE 9.2.1.5J, Java version 1.6.0_14
Regards,
Manfred
Received on Monday, 22 November 2010 23:44:33 UTC