Prüfen, ob Attribut leer/nicht vorhanden ist
John Barden
- xsl
Hallo,
wenn ich prüfen will, ob ein XML-Element leer oder nicht vorhanden ist, dann mache ich das normalerweise so:
<xsl:if test="test/abc/node()">
Wenn das Element <test><abc> etwas enthält, dann wird der Code in der if-Schleife ausgeführt. Wenn das Element leer oder nicht vorhnaden ist, dann wird der Code übersprungen.
Jetzt habe ich festegestellt, dass das mit Attributen nicht funktioniert:
<xsl:if test="test/parameter/@par1/node()">
Hier wird nie festgestellt, ob der Parameter <test><parameter par1="test1"/> etwas enthält, oder nicht.
Gibt es dafür eine andere Lösung?
Danke für eure Hilfe,
Grüße
John
Hallo,
Jetzt habe ich festegestellt, dass das mit Attributen nicht funktioniert:
<xsl:if test="test/parameter/@par1/node()">
Hier wird nie festgestellt, ob der Parameter <test><parameter par1="test1"/> etwas enthält, oder nicht.Gibt es dafür eine andere Lösung?
<xsl:if test="string-length(test/parameter/@par1) > 0">
MfG, Thomas
Hallo,
Jetzt habe ich festegestellt, dass das mit Attributen nicht funktioniert:
<xsl:if test="test/parameter/@par1/node()">
Hier wird nie festgestellt, ob der Parameter <test><parameter par1="test1"/> etwas enthält, oder nicht.Gibt es dafür eine andere Lösung?
Andere Lösung (wie von Thomas):
<xsl:if test="test/parameter[@par1 != '']">
Grüße
Thomas
Ah, jetzt funktioniert es.
Vielen Dank euch beiden *g*
Grüße
John