Mibakus

Hausverwaltung für private Vermieter

Markdown, XSL-FO-Templates

Die Bibliothek markdown-fo-transformer übersetzt Markdown-Text in XSL-FO. Ein vollständiges XSL-FO-Dokument benötigt außer dem eigentlichen Inhalt noch weitere Informationen, z.B. über die Seitengrößen, das Seitenlayout etc. Diese Informationen werden der Bibliothek in Form von Templates bereitgestellt. In dem Template werden die Positionen markiert, an dem die Bibliothek Inhalte ablegen soll.

Ein Template ist ein File, dass die folgenden Anforderungen erfüllen muss:

Mehrere Templates können zu einem Gesamtdokument kombiniert werden, indem ein Template in ein anderes eingefügt wird.

Beispiel-Templates

Dieses Beispiel enthält ein minimales XSL-FO-Template, das eine Ausgabe auf A4-Seiten mit einem Seitenrand von 2 cm erzeugt. Es sind zwei id-Attribute gesetzt:

<?xml version="1.0" encoding="UTF-8"?>
<fo:root id="root" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <fo:layout-master-set>
        <fo:simple-page-master master-name="A4"
                               page-width="210mm" page-height="297mm">
            <fo:region-body region-name="xsl-region-body" margin="2cm"/>
        </fo:simple-page-master>
    </fo:layout-master-set>

    <fo:page-sequence master-reference="A4">
        <fo:flow id="text-flow" flow-name="xsl-region-body">
        </fo:flow>
    </fo:page-sequence>
</fo:root>

Das folgende Template enthält nur eine Definition einer page-sequence. Dieses Template könnte deshalb z.B. in obiges Template eingefügt werden. Der eigentliche Inhalt kann hier vor der Einfügung ebenfalls an der Position mit dem Namen text-flow eingetragen werden.

<?xml version="1.0" encoding="UTF-8"?>
<fo:page-sequence xmlns:fo="http://www.w3.org/1999/XSL/Format" master-reference="A4">
    <fo:flow id="text-flow" flow-name="xsl-region-body">
    </fo:flow>
</fo:page-sequence>

Copyright © 2026 Hanspeter Halle
Dieser Text unterliegt der offenen Lizenz CC BY-SA 4.0
Er gehört zur Bibliothek markdown-fo-transformer