This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

multiple output files within a recursive template


Hi,

I've got a probleme creating multiple output files from within a recursive
temaple. My XSL template looks something like this:

<xsl:template name="Counter">
   <xsl:param name="list"/>
   <xsl:param name="currentlength" select="0"/>
   <xsl:if test="string($list)!=''">
      <xsl:choose>
      <xsl:when test="($currentlength + string-length($list[1])) &lt; 1500">
         <saxon:output file="part1.xml">
            <xsl:value-of select="$list[1]"/>
         </saxon:output>
      </xsl:when>
      <xsl:otherwise>
         <saxon:output file="part2.xml">
            <xsl:value-of select="$paralist[1]"/>
         </saxon:output>
      </xsl:otherwise>
      </xsl:choose>
   </xsl:if>

   <xsl:call-template name="Counter">
   <xsl:with-param name="list" select="$list[position()!=1]"/>
   <xsl:with-param name="currentlength" select="$currentlength +
string-length($list[1])"/>
   </xsl:call-template>
</xsl:template>


The task of this template is it to divide the source document into 2
parts/files, the first 1500 characters and the rest. Basically it works quite
fine. The only problem is that Saxon 5.5.1 overwrites existing files instead of
appending the output to the existing file, so that only the output of the last
temaple match is written to the file(s).

Now I'd like to know if there is a possibility to tell Saxon (or any other XSL
transformation tool) to append output at existing files instead of overwriting
them or if there is another way to solve the problem?

Hope somebody got a hint for me.

- Zeljko


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]