On Mon, 2008-03-24 at 14:07 +0100, Martin Honnen wrote:
Robert Koberg wrote:
but this does not:
...
<xsl:apply-templates
select="collection($jspx-includes-dir)"
mode="jspx"/>
...
<xsl:template match="/" mode="jspx">
<xsl:variable name="jspx-doc" select="."/>
<xsl:variable name="page-path"
select="concat($output-dir, '/WEB-INF/jspx/',
tokenize(document-uri(/), '/')[last()])"/>
<xsl:message>
JSPX: <xsl:value-of select="$page-path"/>:
</xsl:message>
<xsl:result-document href="{$page-path}">
<xsl:apply-templates select="$jspx-doc"/>
I don't know how your template for root nodes (e.g. <xsl:template
match="/">) looks but here it is possible that you recursively process
your nodes again. I would rather expect you to use e.g.
<xsl:apply-templates select="$jspx-doc/node()" mode="jspx"/>
here and then have templates filling the result document in mode="jspx".
The transformation does reach the match="/" mode="jspx" template, but
fails to write the file producing the error:
"Cannot write more than one result document to the same URI, or write
to a URI that has been read: file:/path/to/my/source.xml ..."
That is why I don't understand. The temporary tree that I use
successfully to write the files (from the previous post) uses the exact
same source and destination URIs as the method above. Don't get it...
thanks,
-Rob
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--