XSL-FO footnotes

An XSL-FO footnote is an out-of-line formatting object. To generate a footnote and its citation the <fo:footnote> formatting object is used. The <fo:footnote> has 2 children:

  • <fo:inline> used to generate a footnote's citation< and
  • <fo:footnote-body> used to generate a footnote's content.

Footnotes usually are devided from the rest of the text by a separator. A separator is created in xsl-footnote-separator that can be placed into the <fo:static-content> element.

Here is a simple example:

   <fo:page-sequence>
     <fo:static-content flow-name="xsl-footnote-separator">
       <fo:block>
         <fo:leader leader-pattern="rule" leader-length="50%"
                    rule-style="dashed" rule-thickness="0.5pt"/>
       </fo:block>
     </fo:static-content>
      <fo:flow flow-name="contents" font-family="Calibri" font-size="12pt">
       <fo:block>
         The quick brown fox jumps over a lazy dog. The quick brown fox jumps over 
         a lazy dog. The quick brown fox jumps over a lazy dog.<fo:footnote>
           <fo:inline baseline-shift="super"  font-size="10pt">
             (*)
           </fo:inline>
           <fo:footnote-body>
             <fo:block> 
               * This is the first footnote
             </fo:block>
           </fo:footnote-body>
         </fo:footnote>
         The quick brown fox jumps over a lazy dog. The quick brown fox jumps over 
         a lazy dog. 
       </fo:block>
      </fo:flow>
   </fo:page-sequence>