Zum Festlegen einer Prüfbedingung wird im <head>-Element der TPL-Templatedatei ein <check>-Element eingefügt. Das Element muss mindestens das valueOf-Attribut besitzen:
@valueOf="" – Mit diesem Attribut wird der Name des Elementes in der XML-Instanz 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! |
@valueOf_empty="(true|false)" – Mit diesem optionalen Attribut kann angegeben werden, dass das, durch das @valueOf-Attribut überprüfte XML-Element, leer (Attributwert true) oder nicht leer (Attributwert false) sein muss.
@valueOf_equal="" – Mit diesem optionalen Attribut kann angegeben werden, dass der Inhalt des, durch das @valueOf-Attribut überprüften XML-Elements, dem hier angegebenen Attributwert 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.).
@valueOf_notEqual="" – Mit diesem optionalen Attribut kann angegeben werden, dass der Inhalt des, durch das @valueOf-Attribut überprüften XML-Elements, ungleich(!) dem hier angegebenen Attributwert 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.).
@valueOf_startsWith="" – Mit diesem optionalen Attribut kann angegeben werden, dass der Inhalt des, durch das @valueOf-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.).
@valueOf_notStartsWith="" – Mit diesem optionalen Attribut kann angegeben werden, dass der Inhalt des, durch das @valueOf-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 <meta_bio> Inhalt enthält
<head>
[...]
<check valueOf="meta_bio"/>
</head>Oder ab parsX 3.3:
<head>
[...]
<check valueOf="meta_bio" valueOf_empty="false"/>
</head>Falls <meta_bio> Inhalt enthält, wird das Template ganz normal verarbeitet und ins EPUB aufgenommen.
Falls <meta_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>
[...]
<check valueOf="meta_e-isbn" valueOf_equal="978-3-455-50250-3"/>
</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>
[...]
<check valueOf="meta_isbn" valueOf_notEqual="978-3-455-50250-3"/>
</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>
[...]
<check valueOf="meta_e-isbn" valueOf_startsWith="978-3-455"/>
</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.