Hi zusammen,
ich sitz gerade vor einem XML / XSLT Problem, vielleicht hat jemand von Euch ja eine Idee.
Wenn ich folgenden Baum habe:
<irgendwas>
<knoten id="1" value="x"/>
<knoten id="2" value="x"/>
<knoten id="3" value="y"/>
</irgendwas>
Jetzt möchte ich mit XSL nur die Knoten, die unterschiedliche Values haben, also ich möchte Knoten mit ID 1 und mit ID 3. Die ID 2 möchte ich nicht, da ich X bereits mit ID 1 abgedeckt habe.
Meine Idee war jetzt mit for-each (ich bin gerade am Knoten "irgendwas"):
<xsl:for-each select="knoten[@id=../knoten[@value=current()/@value][1]/@id]">
...irgendwas
</xsl:for-each>
D.h. ich hätte alle knoten abgefragt, die die ID des ersten Knotens mit selbigem Value haben. Das geht aber so nicht, da current() mir wohl den falschen Knoten zurückliefert. Ich muss ja bei [@value=current()/@value] mit dem Value des Knoten vergleichen, den ich gerade angesprochen habe. Hat jemand eine Idee, wie ich das realisieren kann?
Gruß
Mike
ich sitz gerade vor einem XML / XSLT Problem, vielleicht hat jemand von Euch ja eine Idee.
Wenn ich folgenden Baum habe:
<irgendwas>
<knoten id="1" value="x"/>
<knoten id="2" value="x"/>
<knoten id="3" value="y"/>
</irgendwas>
Jetzt möchte ich mit XSL nur die Knoten, die unterschiedliche Values haben, also ich möchte Knoten mit ID 1 und mit ID 3. Die ID 2 möchte ich nicht, da ich X bereits mit ID 1 abgedeckt habe.
Meine Idee war jetzt mit for-each (ich bin gerade am Knoten "irgendwas"):
<xsl:for-each select="knoten[@id=../knoten[@value=current()/@value][1]/@id]">
...irgendwas
</xsl:for-each>
D.h. ich hätte alle knoten abgefragt, die die ID des ersten Knotens mit selbigem Value haben. Das geht aber so nicht, da current() mir wohl den falschen Knoten zurückliefert. Ich muss ja bei [@value=current()/@value] mit dem Value des Knoten vergleichen, den ich gerade angesprochen habe. Hat jemand eine Idee, wie ich das realisieren kann?
Gruß
Mike