xsl-list
[Top] [All Lists]

Re: [xsl] inserting page-break after certain terms

2007-07-04 07:36:11
Sorry, I thought my explanation was not detailed enough. So here are parts of the code.

The XML source:

<section>
<h1>Homöopathie und Original IS Aromamischungen für Frauen</h1>
<p>Im Mittelpunkt dieses Seminars stehen homöopathische Arzneimittelbilder und Original IS Aromamischungen für die verschiedenen Lebenszyklen der Frau. Frau Stadelmann baut auf bereits erworbenes Grundlagenwissen auf und geht auf spezifische Behandlungsmöglichkeiten insbesondere bei Prämenstruellem Syndrom, Stimmungsschwankungen und in der Wechselzeit ein. Voraussetzung für die Teilnahme ist der Besuch des Seminars »Die homöopathische Haus- und
Reiseapotheke« oder homöopathisches Grundlagenwissen.</p>
<course>
<tr>
<consultant><consultant_name>Seminar mit Ingeborg Stadelmann</consultant_name></consultant>
</tr>
<tr>
<day>Do</day><date>11.01.07</date><time> 10.00 - 18.00 Uhr</time><course_nr>Kurs-Nr.: </course_nr><nr>5</nr><dues>70,00 € </dues>
</tr>
</course>
</section>

<section>
<h1>Die homöopathische Haus- und Reiseapotheke</h1>
<p>In diesem Seminar erhalten Sie eine umfassende Einführung in die klassische Homöopathie nach der Lehre Hahnemanns. Frau Stadelmann erläutert die Begriffe Arzneimittelbild, Modalität und Potenzwahl. Sie erklärt Ihnen die Arzneiwirkung, die Dosierung sowie den Einsatz und die Grenzen der Homöopathie im Hausgebrauch. Es werden die homöopathischen Arzneimittelbilder besprochen, die Inhalt der Haus- und Reiseapotheke sind.</p>
<course>
<tr>
<consultant>
<consultant_name>Seminar mit Ingeborg Stadelmann</consultant_name>
</consultant>
</tr>
<tr>
<day>Fr</day>
<date>12.01.07</date>
<time>14.00 - 18.00 Uhr</time>
<course_nr>Kurs-Nr.:</course_nr>
<nr>1</nr>
<dues>75 Euro</dues>
</tr>
<tr>
<day>Sa</day>
<date>13.01.07</date>
<time>10.00 - 16.00 Uhr</time>
<course_nr/>
<nr/>
<dues/>
</tr>
</course>
</section>

and so on...

The XSL code:

<xsl:template match="section">
<xsl:variable name="count_p" select="round(sum(p/string-length(.)) div $max.char.line.p)" />
<xsl:variable name="count_h1" select="(count(h1))" />
<xsl:variable name="count_tr" select="(count(course/tr))" />
<xsl:variable name="count_li" select="(count(course/list/li))" />
<xsl:variable name="count_ad" select="(count(course/tr/addition/additional_text))" /> <xsl:variable name="gesamt" select="((($count_p + ($count_p)-1)) + ($count_h1) + ($count_tr) + ($count_li) + ($count_ad)) * 8 * $ptmm"/>

<xsl:choose>
<xsl:when test="sum($gesamt) &lt; 180">
<fo:block break-after="page">
<xsl:apply-templates/>
</fo:block>
</xsl:when>
</xsl:choose>
</xsl:template>

This works so far, but a page-break is included after every <section>, not after 180mm.

Thanks so much for helping me.
Andreas


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>