Wolfgang: XSL-FO: Ausgabe eines Hinweis im Fußbereich

Hallo,

Ich erstelle Dokumente mit dem FOP. Am Ende der letzten Seite möchte ich immer einen Hinweis mit ausgeben lassen. Ich folgende Seitenabfolge definiert.

<!-- Seitenabfolge "nachweise" -->
<fo:page-sequence-master master-name="nachweise">
 fo:repeatable-page-master-alternatives
  <!-- 1. Seite -->
  <fo:conditional-page-master-reference
   master-reference="first"
   page-position="first" />
  <!-- /1. Seite -->

<!-- 2. bis (n-1). Seite -->
  <fo:conditional-page-master-reference
   master-reference="middle"
   page-position="rest" />
  <!-- /2. bis (n-1). Seite -->

<!-- letzte Seite -->
  <fo:conditional-page-master-reference
   master-reference="last"
   page-position="last" />
  <!-- /letzte. Seite -->
 </fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
<!-- /Seitenabfolge "nachweise" -->

Die Ausgaben funktionieren auch problemlos bis auf den Fall, daß das Dokument nur 1 Seite lang ist, d. h. die erste Seite ist gleichzeitig auch die letzte Seite. Der FOP verwendet dann die Vorlage für die 1.Seite und der Hinweis am Ende erscheint nicht.

Weiß jemand eine Möglichkeit wie ich auch dann den Hinweis mit ausgeben kann.

  1. Hallo,

    Ich erstelle Dokumente mit dem FOP. Am Ende der letzten Seite möchte ich immer einen Hinweis mit ausgeben lassen. Ich folgende Seitenabfolge definiert.
    Die Ausgaben funktionieren auch problemlos bis auf den Fall, daß das Dokument nur 1 Seite lang ist, d. h. die erste Seite ist gleichzeitig auch die letzte Seite. Der FOP verwendet dann die Vorlage für die 1.Seite und der Hinweis am Ende erscheint nicht.

    Weiß jemand eine Möglichkeit wie ich auch dann den Hinweis mit ausgeben kann.

    Es würde sich hier anbieten abzufragen auf welcher Seite du bist, allerdings muss ich zugeben, dass dies, so wie ich das sehe, nur mit XSLT 2.0 möglich wäre, weil es dort möglich ist temporäre Bäume zu verwenden (da könnte man die entsprechenden fo-Elemente in eine Variable schreiben und dann auf die Ergebnisse zugreifen).
    Z.B. mit fo:page-number-citation.

    <xsl:variable name="seite">
     <fo:page-number-citation ref-id="lastBlock">
    </xsl:variable>

    und entsprechend in ein <fo:block id="lastBlock" /> als letztes Element in deine XSL-FO Seite einbauen.
    Dann in einem Test <xsl:if test="$seite = '1'"> eben deinen Hinweis ausgeben.

    Grüße
    Thomas