You can't do this; allowing it would break the non-sequential nature of
XSLT (unless you were happy to have the lines in your log file appear in
random order).
XSLT processing should generally be output-driven, not input-driven. If
you need to produce two different outputs that use the same input, then
access the input twice; if this looks as if it will be inefficient, then
save intermediate results in a variable.
Michael Kay
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Kloeck, Erwin
Sent: 19 September 2003 09:13
To: xsl-list(_at_)Lists(_dot_) mulberrytech. com (E-Mail)
Subject: [xsl] xsl:result-document appending
Hi,
I want to write out something like a log file from within a
for-each loop. I do some processing and at one point within
the loop I want to write a line to a different file.
Here is what I do:
--------- log.xml ---------
<?xml version="1.0" encoding="UTF-8"?>
<top>
<item value="hugo"/>
<item value="otto"/>
<item value="xaver"/>
</top>
--------- log.xsl ---------
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output name="log-format" method="text"
omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:for-each select="top/item">
<!-- some involved processing with variables that are
used in the log entry -->
<xsl:result-document href="log.txt" format="log-format" >
<xsl:value-of select="concat(string(position()), ' =
', @value)"/>
</xsl:result-document >
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
--------- log.txt ---------
3 = xaver
I would like log.txt to look like this:
--------- log.txt ---------
1 = hugo
2 = otto
3 = xaver
For this I would like to be able to append to the existing
log.txt file. Is there a way to do this?
The alternative I can think of is to run trough the for-each
loop twice, once to do the processing and once to write the
log file. I hope I have other options.
Thanks
Erwin
..............................
Erwin Kloeck
Produktentwicklung
Oestreicher + Wagner
Medientechnik GmbH
Frankenthaler Strasse 20
D-81539 Muenchen
Fon +49 (0)89-68961 216
Fax +49 (0)89-68961 271
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list