[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] fn:collection and result-document problem


Subject: [xsl] fn:collection and result-document problem
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Mon, 24 Mar 2008 06:33:25 -0400

Hi,

I am trying to transform a directory of XML files from one directory to
another. The XSL below fails with an error saying:

 "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 ..."

If I comment out the result-document instructions, the xsl:message list
all of the unique file paths. In other words, I am not trying to write
more than one result document to the same URI or trying to write to a
URI that has been read. What am I doing wrong?
...
<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"/>
  </xsl:result-document>
</xsl:template>

thanks,
-Rob


Current Thread
Keywords