Hallo wieder,
ich möchte in einer if-then-else-Abfrage prüfen, ob ein Element child-Knoten hat.
Zum Beispiel:
Zum Beispiel: Soziologisches Denken in: <item xml:id="i4" n="1">
<num type="struct">1</num>
<label>Soziologisches Denken</label>
</item>
hat ja Childknoten, alle die einen Wert 1. im Element <num> haben, z.B. <item>
<list type="ordered">
<item xml:id="i5" n="1">
<num type="struct">1.1</num>
<label>Die Kunst des Misstrauens und die Lehre vom zweiten Blick</label>
</item>
Ich möchte einfach generell prüfen:
if <item xml:id="i4" n="1">
<num type="struct">1</num>
<label>Soziologisches Denken</label>
</item>
hat ein Child-Knoten, dann gib mir den aus, ansonsten schreib "Trifft nicht zu" oder so etwas.
Wenn ich es aber so versuche:
if ($doc/item/label/child::*) - bekomme ich Fehlermeldungen, da dieser Ausdruck ja kein true-false-Wert zurückgibt. Kann mir jemand dabei helfen und einen Tipp geben! Vielen herzlichen Dank schon Mal!
Lingua
ich möchte in einer if-then-else-Abfrage prüfen, ob ein Element child-Knoten hat.
Zum Beispiel:
Code:
<item> <list type="ordered"> <item xml:id="i4" n="1"> <num type="struct">1</num> <label>Soziologisches Denken</label> </item> <item> <list type="ordered"> <item xml:id="i5" n="1"> <num type="struct">1.1</num> <label>Die Kunst des Misstrauens und die Lehre vom zweiten Blick</label> </item> <item xml:id="i6" n="2"> <num type="struct">1.2</num> <label>Hintergrundannahmen und Wertfreiheit</label> </item> <item xml:id="i7" n="3"> <num type="struct">1.3</num> <label>Weber: Die Konstruktion des Idealtypus</label> </item> <item xml:id="i8" n="4"> <num type="struct">1.4</num> <label>Weber: Was Wissenschaft leisten kann und was nicht</label> </item> <item xml:id="i9" n="5"> <num type="struct">1.5</num> <label>Reflektierte Gewissheit</label> </item> </list> </item> <item xml:id="i10" n="2"> <num type="struct">2</num> <label>Was ist Soziologie und was ist ihre Aufgabe?</label> </item> <item> <list type="ordered"> <item xml:id="i11" n="1"> <num type="struct">2.1</num> <label>Zugange zur Soziologie</label> </item> <item xml:id="i12" n="2"> <num type="struct">2.2</num> <label>Was ist eigentlich nicht Gegenstand der Soziologie?</label> </item> <item xml:id="i13" n="3"> <num type="struct">2.3</num> <label>Soziologie wozu? Drei klassische Antworten</label> </item> <item xml:id="i14" n="4"> <num type="struct">2.4</num> <label>Soziologie wozu? Eine moderne Debatte</label> </item> <item xml:id="i15" n="5"> <num type="struct">2.5</num> <label>Wann Soziologie beginnt und warum sie nicht endet</label> </item> <item xml:id="i16" n="6"> <num type="struct">2.6</num> <label>Was tut ein Soziologe und was ist seine Aufgabe?</label> </item> <item xml:id="i17" n="7"> <num type="struct">2.7</num> <label>Zwei grundsatzliche soziologische Perspektiven</label> </item> </list> </item>
<num type="struct">1</num>
<label>Soziologisches Denken</label>
</item>
hat ja Childknoten, alle die einen Wert 1. im Element <num> haben, z.B. <item>
<list type="ordered">
<item xml:id="i5" n="1">
<num type="struct">1.1</num>
<label>Die Kunst des Misstrauens und die Lehre vom zweiten Blick</label>
</item>
Ich möchte einfach generell prüfen:
if <item xml:id="i4" n="1">
<num type="struct">1</num>
<label>Soziologisches Denken</label>
</item>
hat ein Child-Knoten, dann gib mir den aus, ansonsten schreib "Trifft nicht zu" oder so etwas.
Wenn ich es aber so versuche:
if ($doc/item/label/child::*) - bekomme ich Fehlermeldungen, da dieser Ausdruck ja kein true-false-Wert zurückgibt. Kann mir jemand dabei helfen und einen Tipp geben! Vielen herzlichen Dank schon Mal!
Lingua
Comment