Fußnoten

Es werden Fußnoten erzeugt und im unteren Teil einer Seite dargestellt.

Es soll demonstriert werden, wie die Erzeugung und Platzierung von Fußnoten gehandhabt wird. Die Fußnoten werden vom Inhaltsbereich mit einer Linie getrennt. Fußnoten sind nicht Teil des Fußbereichs einer Seite, sondern des Inhaltsbereichs, weil sich der Inhalt und die Fußnoten den für den Inhaltsbereich festgelegten Bereich teilen müssen. Für die Anordnung von Fußnotenzeichen und Fußnoten-Inhalt wird das Listen-Konzept benutzt.

Auszug aus der DTD:

<!ELEMENT A (#PCDATA | ... | Fn)*>          ❶            
<!ELEMENT Fn (FnZ, FnA+)>                   ❷ 
<!ELEMENT FnZ (#PCDATA)>                    
<!ELEMENT FnA (#PCDATA | ...)*> 

❶ Fußnoten sind im normalen Absatztext zulässig.

❷ Fußnoten bestehen aus dem Fußnotenzeichen und einem oder mehreren Fußnoten-Absätzen. Auf eine automatisierte Zählung der Fußnoten wird hier verzichtet.

Ausschnitt aus der XML-Instanz:

<A> ... <Fn><FnZ>34</FnZ><FnA>Dies ist der Fußnoten-Inhalt.</FnA></Fn> ...</A> ❶

❶ Die Fußnote wird vollständig an der Stelle in den Absatztext eingefügt, an der sie verankert sein soll. Im Satz soll im Absatztext lediglich das Fußnotenzeichen erscheinen, am unteren Satzspiegelrand die vollständige Fußnote.

Stylesheet:

 

<fo:page-sequence master-reference="PageMaster.Inhalt">
...
   <fo:static-content flow-name="xsl-footnote-separator">                       ❶
      <fo:block text-align-last="justify" space-before="5mm" space-after="3mm"> ❷
         <fo:leader leader-length="30%" rule-thickness="1pt" leader-pattern="rule"/>
      </fo:block>
   </fo:static-content>
...
</fo:page-sequence>
... 
<xsl:template match="Fn">
   <fo:footnote> 
      <fo:inline baseline-shift="super" font-size="70%">                       ❸
         <xsl:value-of select="FnZ"/>
      </fo:inline>
      <fo:footnote-body>                                                       ❹
         <fo:list-block provisional-distance-between-starts="5mm">
            <fo:list-item> 
               <fo:list-item-label end-indent="label-end()"> 
                  <fo:block>
                     <xsl:value-of select="FnZ"/>
                  </fo:block>
               </fo:list-item-label>
               <fo:list-item-body start-indent="body-start()"> 
                  <fo:block>
                     <xsl:apply-templates select="FnA"/>
                  </fo:block>
               </fo:list-item-body>
            </fo:list-item>
         </fo:list-block>
      </fo:footnote-body>
   </fo:footnote>
</xsl:template>

 

❶ Innerhalb der Festlegungen für die gegebene Seitenfolge muss für den Bereich zwischen Inhalt und den Fußnoten der statische Bereich definiert werden, der den festen flow-Namen xsl-footnote-separator trägt.

❷ Für diesen Bereich wird ein Block spezifiziert, der als Inhalt eine Fußnotenlinie hat und mit dem der Abstand nach oben zum Inhalt und nach unten zum Beginn der ersten Fußnote definiert wird.

❸ Die Fußnote <fo:footnote> hat zwei Unterelemente: Das erste Unterelement <fo:inline> nimmt den Inhalt auf, der im laufenden Absatztext angezeigt wird. Üblicherweise werden die Fußnotenzeichen hochgestellt und im Schriftgrad gegenüber dem umgebenden Text verkleinert. Zu beachten: Dieses inzeilige Element darf lediglich einmal auftreten.

❹ Das zweite Unterelement von <fo:footnote>, d. h. der Inhalt, der im Fußnotenbereich erscheint, wird in der Form einer Liste gestaltet. Die Fußnotenzeichen werden am linken Rand freigestellt. Der Fußnoteninhalt wird um den Wert von provisional-distance-between-starts eingezogen. In das <fo:list-item-label> kommt das Fußnotenzeichen, in den <fo:list-item-body> kommen die Fußnoten-Absätze.

 

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSL-FO bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © dpunkt.verlag GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSL-FO in der Praxis" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

dpunkt.verlag GmbH, Ringstraße 19B, 69115 Heidelberg, fon 06221-14830, fax 06221-148399, hallo(at)dpunkt.de