Hallo,
ich bin nicht fit in XSLT und hänge nun mit einem Problem, das ich nicht lösen kann. Mittels dem Buch XSLT 2 .0 habe ich mir die Grundzüge beigebracht, aber nun hänge ich an einem Problem.
---- XML Dokument (Ausschnitt) ----
<xObjekt>
<xText>
<xTextoption>
<xInhalt> (node ist nicht immer vorhanden, sondern nur, wenn mit Inhalt gefüllt!)
</xInhalt>
</xTextoption>
</xText>
.....
<xObjekt>
....(in sich verschachtelte xObjekt nodes)
</xObjekt>
...
</xObjekt>
-----Ende XML Dokument----
XSL Abfrage, die derzeit funktioniert
<xsl:for-each select="descendant::xObject[@type='cv9']">
Somit wähle ich nur die gewünschten Typen an.
Was ich aber nun abfragen möchte ist:
- xObject[@type='cv9'] UND istVorhanden(node(xInhalt))
Ich möchte nur die Objekte auswählen, die 3 Ebenen tiefer den gewünschten Knoten haben - die anderen benötige ich hier nicht und sollen nicht in die Auswahl.
Mein Problem ist, das sich der Knoten auf den descendant:: Achsen befindet. Weitere Verschachtelungen des xObjekts in sich selbst sind ebenfalls vorhanden.
Die Prüfung soll allerdings nur die 3te Ebene prüfen ob der dynamisch generierte Knoten vorhanden ist oder nicht.
Ist das in dieser Art überhaupt möglich?
Ich hatte auch schon an count(descendant::Text/Textoption/xInhalt) gedacht aber ich weiß ja nicht einmal, wie man mehrere Bedingungen in der value of setzt.
Wie kann man mehrere Bedingungen setzen, die unterschiedliche nodes betreffen?
Über Hilfe und Tipps würde ich mich freuen
Grüße
Armin
ich bin nicht fit in XSLT und hänge nun mit einem Problem, das ich nicht lösen kann. Mittels dem Buch XSLT 2 .0 habe ich mir die Grundzüge beigebracht, aber nun hänge ich an einem Problem.
---- XML Dokument (Ausschnitt) ----
<xObjekt>
<xText>
<xTextoption>
<xInhalt> (node ist nicht immer vorhanden, sondern nur, wenn mit Inhalt gefüllt!)
</xInhalt>
</xTextoption>
</xText>
.....
<xObjekt>
....(in sich verschachtelte xObjekt nodes)
</xObjekt>
...
</xObjekt>
-----Ende XML Dokument----
XSL Abfrage, die derzeit funktioniert
<xsl:for-each select="descendant::xObject[@type='cv9']">
Somit wähle ich nur die gewünschten Typen an.
Was ich aber nun abfragen möchte ist:
- xObject[@type='cv9'] UND istVorhanden(node(xInhalt))
Ich möchte nur die Objekte auswählen, die 3 Ebenen tiefer den gewünschten Knoten haben - die anderen benötige ich hier nicht und sollen nicht in die Auswahl.
Mein Problem ist, das sich der Knoten auf den descendant:: Achsen befindet. Weitere Verschachtelungen des xObjekts in sich selbst sind ebenfalls vorhanden.
Die Prüfung soll allerdings nur die 3te Ebene prüfen ob der dynamisch generierte Knoten vorhanden ist oder nicht.
Ist das in dieser Art überhaupt möglich?
Ich hatte auch schon an count(descendant::Text/Textoption/xInhalt) gedacht aber ich weiß ja nicht einmal, wie man mehrere Bedingungen in der value of setzt.
Wie kann man mehrere Bedingungen setzen, die unterschiedliche nodes betreffen?
Über Hilfe und Tipps würde ich mich freuen
Grüße
Armin
Comment