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.