Die Template-Engine (dt. etwa: "Dokumentvorlagen-Prozessor") ist seit Version 2.0 ein Feature des EPUB-Konverters. Mit Version 2.2.0.0 wurde die Template-Engine v2 eingeführt.
Die Template-Engine verarbeitet neben der normalen pagina-XML-Instanz zusätzlich sogenannte TPL-Templates. Dies sind statische XHTML-Dateien mit der Dateiendung *.tpl
, die entweder reihenspezifisch in einem EPUB-ConfigSetting oder titelspezifisch neben der XML-Datei abgelegt sind. Sie liegen bereits im Zielformat XHTML vor und sind nicht in pagina-XML-Syntax verfasst. Dennoch werden die TPL-Templates vom EPUB-Konverter geparsed – genau genommen werden sie von der TPL-Engine prozessiert und verarbeitet.
Sinn und Zweck der TPL-Templates ist das Einbringen von statischen oder variablen Inhalten die z.B. reihenübergreifend in jedes EPUB eingebracht werden sollen. Gemäß der Tagging-Konventionen sollten solche Inhalte NICHT in die XML-Daten selbst eingebracht werden.
Beispiel: ein Verlags-Hinweis zum EPUB-Format, der in jedes E-Book als letzte Seite eingebunden werden soll.
Neben statischen Inhalten können TPL-Templates auch Variablen enthalten. Diese Variablen sind Platzhalter die während der EPUB-Generierung von der Template-Engine mit Inhalt aus der XML-Instanz befüllt werden. Soll im Text eines TPL-Templates bspw. auf den Titel und den Autor des Buches verwiesen werden, so können dafür folgende Platzhalter verwendet werden:
Wir hoffen, Ihnen hat "{{TITEL}}" von {{AUTOR}} gefallen, und Sie...
Durch die Template-Engine wird dies – bspw. für Schillers Wilhelm Tell – wie folgt aufgelöst:
Wir hoffen, Ihnen hat "Wilhelm Tell" von Friedrich Schiller gefallen, und Sie...
So gut wie alle Meta-Elemente der parsX-DTD lassen sich als Variable in den TPL-Templates definieren. Sie folgen allerdings einer besonderen Syntax, weshalb die Lektüre der folgenden Seiten unbedingt empfohlen wird um selbst TPL-Templates zu schreiben.
Als generierte Zusatzseiten werden im EPUB-Konverter die Seiten bezeichnet, die aus den E-Book-Metadaten (<titelei_ebook>
) der XML-Instanz vor oder nach dem eigentlichen Content erstellt werden. Dazu gehören z.B. das Cover, die Titelseite, das Inhaltsverzeichnis oder das Impressum. Diese generierten Seiten sind in einer festen Reihenfolge angeordnet und lassen sich auch über das EPUB-ConfigFile nicht umsortieren. Ein Impressum im "Vorspann", also vor dem Buch-Content, war bis zur Einführung der Template-Engine nicht möglich.
Diese generierten Seiten lassen sich allerdings im EPUB-ConfigFile abschalten und nun komplett durch TPL-Templates ersetzen:
Sie können dadurch beliebigen Inhalt VOR oder NACH den XML-Content platzieren.
Sie können für jedes TPL-Template bestimmen ob es im TOC aufgeführt werden soll oder nicht.
Sie können für jedes TPL-Template Bedingungen definieren die zutreffen müssen, damit das Template verarbeitet wird.
Beispiel: Das TPL-Template "Über den Autor" soll nur verarbeitet und eingebunden werden, wenn das entsprechende Meta-Element <meta_copyright>
auch Inhalt enthält.