Referenzierungsproblem
Thomas
- xsl
0 ThomasM0 Thomas0 Thomas J.S.0 Thomas
Hallo zusammen,
ich versuche folgenden Ausdruck zuprüfen:
<xsl:if test="count(../../Referenzen/Referenz[@id1 = $ID
]/Ref.Gruppe = Gruppe) != 0">
Dabei erhalte ich aber immer nur die Fehlermeldung "Der Ausdruck gibt keinen DOM-Knoten zurück".
Was mache ich hier falsch?
Vielen Dank für Euer Hilfe.
Gruß
Thomas
Hallo Thomas,
<xsl:if test="count(../../Referenzen/Referenz[@id1 = $ID
]/Ref.Gruppe = Gruppe) != 0">
Prüfe mal auf die Elementinhalte mit .../Ref.Gruppe/text() = Gruppe/text(). Zeige ansonsten mal ein Stück des zu verarbeitenden XML-Dokuments.
Grüße,
Thomas
Hallo Thomas,
also, wenn ich nur
../../Referenzen/Referenz[@id1 = $ID]/Ref.Gruppe = Gruppe
angebe, klappt alles wunderbar, erst wenn ich den count()-Befehl drumrumbastle, kommt diese Fehlermeldung. - Ist denn die Syntax auch so korrekt? Kann man das so schreiben?
Hast Du vielleich noch eine Idee?
Gruß
Thomas
Hallo,
also, wenn ich nur
../../Referenzen/Referenz[@id1 = $ID]/Ref.Gruppe = Gruppe
angebe, klappt alles wunderbar, erst wenn ich den count()-Befehl drumrumbastle, kommt diese Fehlermeldung. - Ist denn die Syntax auch so korrekt? Kann man das so schreiben?
Nein.
<xsl:if test="count(../../Referenzen/Referenz[@id1 = $ID
]/Ref.Gruppe = Gruppe) != 0">
Das "=" stört im count.
<xsl:if test="count(../../Referenzen/Referenz[@id1 = $ID
]/Ref.Gruppe[. = Gruppe]) != 0">
oder:
<xsl:if test="count(../../Referenzen/Referenz[@id1 = $ID
]/Ref.Gruppe[text() = Gruppe]) != 0">
Grüße
Thomas - der andere
Hallo,
<xsl:if test="count(../../Referenzen/Referenz[@id1 = $ID]/Ref.Gruppe[. = Gruppe]) != 0">
oder:
<xsl:if test="count(../../Referenzen/Referenz[@id1 = $ID]/Ref.Gruppe[text() = Gruppe]) != 0">
beide Varianten habe ich nun ausprobiert, führen allerdings zu keinem Ergebnis. Es kommt nun zwar keine Fehlermeldung mehr, aber das count-Ergebnis ist immer nur 0.
Wie gesagt, <xsl:if test="../../Referenzen/Referenz[@id1 = $ID]/Ref.Gruppe = Gruppe"> klappt, nur mit count() eben nicht.
Noch eine Idee?
Gruß
Thomas
Hallo,
Wie gesagt, <xsl:if test="../../Referenzen/Referenz[@id1 = $ID]/Ref.Gruppe = Gruppe"> klappt, nur mit count() eben nicht.
Noch eine Idee?
»not(count( .... ) = 0)« o. »count(...) > 0«
Was liefert so das if?
Wie siht der weitere Kontext im XSLT aus?
Grüße
Thomas