How to insert variable number of linebreaks for pdf output?

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">
<xsl:param name="currentnumber"/>
<xsl:param name="linenumber"/>
<xsl:if test="$currentnumber &lt;= $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')">
<xsl:param 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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,053
Latest member
BrodieSola

Latest Threads

Top