Zum Festlegen einer Prüfbedingung wird im <head>-Element der TPL-Templatedatei ein <tpl:checks>-Container mit einem <tpl:check_content>-Element eingefügt. Das Element muss mindestens das check-Attribut besitzen:
@check="" – Mit diesem Attribut wird der parsX-Elementname angegeben, dessen Inhalt geprüft werden soll.
![]() | Anmerkung |
|---|---|
Als Prüfbedingung für Element-Inhaltsprüfungen können nur die TPL-Element-Aufrufe (vollständige Liste im folgenden Kapitel) verwendet werden! XPath-Abfragen sind nicht erlaubt! |
@valueEmpty="(true|false)" – Mit diesem optionalen Attribut kann angegeben werden, dass das durch das @tpl:valueOf-Attribut überprüfte XML-Element leer (Attributwert true) oder nicht leer (Attributwert false, Default) sein muss.
@valueEquals="" – Mit diesem optionalen Attribut kann angegeben werden, dass der Inhalt des durch das @check-Attribut überprüften XML-Elements dem hier angegebenen Wert gleichen muss.
HINWEIS: Da man in Attributwerten keine Tags verwenden kann, macht diese Prüfungen nur für Plain-Text-Abfragen Sinn (z.B. ISBNs, Namen etc.).
@valueNotEquals="" – Mit diesem optionalen Attribut kann angegeben werden, dass der Inhalt des durch das @check-Attribut überprüften XML-Elements ungleich(!) dem hier angegebenen Wert sein muss.
HINWEIS: Da man in Attributwerten keine Tags verwenden kann, macht diese Prüfungen nur für Plain-Text-Abfragen Sinn (z.B. ISBNs, Namen etc.).
@valueStartsWith="" – Mit diesem optionalen Attribut kann angegeben werden, dass der Inhalt des durch das @check-Attribut überprüften XML-Elements mit dem hier angegebenen Text beginnen muss.
HINWEIS: Da man in Attributwerten keine Tags verwenden kann, macht diese Prüfungen nur für Plain-Text-Abfragen Sinn (z.B. ISBNs, Namen etc.).
@valueNotStartsWith="" – Mit diesem optionalen Attribut kann angegeben werden, dass der Inhalt des durch das @check-Attribut überprüften XML-Elements nicht(!) mit dem hier angegebenen Text beginnen darf.
HINWEIS: Da man in Attributwerten keine Tags verwenden kann, macht diese Prüfungen nur für Plain-Text-Abfragen Sinn (z.B. ISBNs, Namen etc.).
Beispiel 12. Prüfung, ob das XML-Element <bio> Inhalt enthält
<head>
[...]
<tpl:checks>
<tpl:check_content check="bio"/>
</tpl:checks>
</head>Falls <bio> Inhalt enthält, wird das Template ganz normal verarbeitet und ins EPUB aufgenommen.
Falls <bio> nicht existiert oder leer ist, wird das TPL-Template nicht weiter verarbeitet und somit auch nicht ins EPUB aufgenommen. Im Logfile des EPUB-Konverters wird darüber informiert.
Beispiel 13. Prüfung, ob die E-Book-ISBN einem bestimmten Wert gleicht
<head>
[...]
<tpl:checks>
<tpl:check_content check="kennung-isbn" valueEquals="978-3-455-50250-3"/>
</tpl:checks>
</head>Falls die E-Book-ISBN "978-3-455-50250-3" lautet, wird das Template ganz normal verarbeitet und ins EPUB aufgenommen.
Falls nicht, wird das TPL-Template nicht weiter verarbeitet und somit auch nicht ins EPUB aufgenommen. Im Logfile des EPUB-Konverters wird darüber informiert.
Beispiel 14. Prüfung, ob die Print-ISBN nicht einem bestimmten Wert gleicht
<head>
[...]
<tpl:checks>
<tpl:check_content check="kennung-isbn-print" valueNotEquals="978-3-455-50250-3"/>
</tpl:checks>
</head>Falls die Print-ISBN nicht "978-3-455-50250-3" lautet, wird das Template ganz normal verarbeitet und ins EPUB aufgenommen.
Falls hingegen die Print-ISBN genau diesem Wert entspricht, wird das TPL-Template nicht weiter verarbeitet und somit auch nicht ins EPUB aufgenommen. Im Logfile des EPUB-Konverters wird darüber informiert.
Beispiel 15. Prüfung, ob die E-Book-ISBN mit einem bestimmten Wert beginnt
<head>
[...]
<tpl:checks>
<tpl:check_content check="kennung-isbn" valueStartsWith="978-3-455"/>
</tpl:checks>
</head>Falls die E-Book-ISBN mit "978-3-455" beginnt, wird das Template ganz normal verarbeitet und ins EPUB aufgenommen.
Falls nicht, wird das TPL-Template nicht weiter verarbeitet und somit auch nicht ins EPUB aufgenommen. Im Logfile des EPUB-Konverters wird darüber informiert.