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.