M
michga
Hello,
Using docbook 4.4, docbook-xsl 1.70.1 and fop, I've successfully used
this snippet of code in a customized-layer stylesheet to insert one
linebreak:
<xsl:template match="processing-instruction('linebreak')">
<fo:block> </fo:block>
</xsl:template>
and this in the xml file where I need it:
<?linebreak?>
Problem is with this, that I need to put x times <?linebreak?> in the
xml file when I need x line breaks.
I would like to have a recursive template, say linebreakn, which can
add n linebreaks, n being a variable.
I've written down the following code (which does not work):
<xsl:template name="linebreakn">
<xslaram name="currentnumber"/>
<xslaram name="linenumber"/>
<xsl:if test="$currentnumber <= $linenumber">
<fo:block>
</fo:block>
<xsl:call-template name="linebreakn">
<xsl:with-param name="currentnumber" select="$currentnumber + 1"/>
<xsl:with-param name="linenumber" select="$linenumber"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="processing-instruction('linebreakn')">
<xslaram name="linenumber"/>
<xsl:call-template name="linebreakn">
<xsl:with-param name="linenumber" select="$linenumber"/>
</xsl:call-template>
</xsl:template>
And in the xml file:
<?linebreakn 5?> for example
Could someone tell me what I'm doing wrong here as I'm a complete
newbye to templates?
Thanks in advance
Using docbook 4.4, docbook-xsl 1.70.1 and fop, I've successfully used
this snippet of code in a customized-layer stylesheet to insert one
linebreak:
<xsl:template match="processing-instruction('linebreak')">
<fo:block> </fo:block>
</xsl:template>
and this in the xml file where I need it:
<?linebreak?>
Problem is with this, that I need to put x times <?linebreak?> in the
xml file when I need x line breaks.
I would like to have a recursive template, say linebreakn, which can
add n linebreaks, n being a variable.
I've written down the following code (which does not work):
<xsl:template name="linebreakn">
<xslaram name="currentnumber"/>
<xslaram name="linenumber"/>
<xsl:if test="$currentnumber <= $linenumber">
<fo:block>
</fo:block>
<xsl:call-template name="linebreakn">
<xsl:with-param name="currentnumber" select="$currentnumber + 1"/>
<xsl:with-param name="linenumber" select="$linenumber"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="processing-instruction('linebreakn')">
<xslaram name="linenumber"/>
<xsl:call-template name="linebreakn">
<xsl:with-param name="linenumber" select="$linenumber"/>
</xsl:call-template>
</xsl:template>
And in the xml file:
<?linebreakn 5?> for example
Could someone tell me what I'm doing wrong here as I'm a complete
newbye to templates?
Thanks in advance