Subject: RE: [xsl] xsl:result-document appending From: "Michael Kay" <mhk@xxxxxxxxx> Date: Fri, 19 Sep 2003 13:53:45 +0100 |
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@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Kloeck, Erwin > Sent: 19 September 2003 09:13 > To: xsl-list@Lists. 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] xsl:result-document appending, Kloeck, Erwin | Thread | RE: [xsl] xsl:result-document appen, Jim Fuller |
RE: [xsl] xsl:result-document appen, Michael Kay | Date | [xsl] creating canonRef from flat, Jim_Albright |
Month |