xsl-list
[Top] [All Lists]

Re: [xsl] fn:collection and result-document problem

2008-03-24 04:16:40

Probably two files in the input collection with the same name but
different path... with the code above that would result in the same
$path-path for both.


Nope, the input files are all in the same directory (no duplicates).

I have worked around it by creating a temporary tree that lists each
file and its from and to location and applying templates on it, which
does work.

I must be missing something about collection??

best,
-Rob

On Mon, 2008-03-24 at 11:00 +0000, Andrew Welch wrote:
On 24/03/2008, Robert Koberg <rob(_at_)koberg(_dot_)com> wrote:
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>

Probably two files in the input collection with the same name but
different path... with the code above that would result in the same
$path-path for both.

cheers


--~------------------------------------------------------------------
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>
--~--