|
Subject: Re: [xsl] Re: fn:collection and result-document problem From: Robert Koberg <rob@xxxxxxxxxx> Date: Mon, 24 Mar 2008 09:13:43 -0400 |
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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Re: fn:collection and res, Martin Honnen | Thread | Re: [xsl] Re: fn:collection and res, Martin Honnen |
| Re: [xsl] Re: fn:collection and res, Martin Honnen | Date | Re: [xsl] Re: fn:collection and res, Martin Honnen |
| Month |