Announcement

Collapse
No announcement yet.

nach child-Knoten suchen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • nach child-Knoten suchen

    Hallo wieder,

    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>
    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

  • #2
    Welche XQuery-Implementierung benutzt du eigentlich? Es sollte keine Fehlermeldung geben, wenn man eine Sequenz von Knoten als "if"-Ausdruck verwendet, dabei wird einfach der boolesche Wert berechet, der genau dann wahr ist, wenn mindestens ein Knoten in der Sequenz enthalten ist, und der falsch ist, wenn die Sequenz leer ist.

    Comment


    • #3
      Ja, da hast du Recht! Es hat alles wieder geklappt! Danke vielmals!!!!!

      Comment

      Working...
      X