Chris Gad: XSL-nodes vergleichen

hi ihr,

vielleicht habe ich irgendwas wesentliches übersehen, aber hier meine frage:

ich möchte aus meinem XML 2 nodes vergleichen, nur wie?

BSP:

xsl:choose
 <xsl:when test="'/node_a/' = '/node_b/@id_von_node_b'">
  xsl:textasd</xsl:text>
 </xsl:when>
</xsl:choose>

ich weiss nicht, ob der operator auch für nodes funktional ist. in node_a und id_von_node_b steht exakt gleicher text.

danke euch schonmal im voraus,
chris

  1. xsl:choose
     <xsl:when test="'/node_a/' = '/node_b/@id_von_node_b'">
      xsl:textasd</xsl:text>
     </xsl:when>
    </xsl:choose>

    das is mal peinlich: nu beantworte ich mir das selber. ich war mir ganz sicher, dass ich das getestet hatte. aber vielleicht überschnitt sich das mit einem zeitweilig anderem problem.

    es muss natürlich heissen:

    <xsl:when test="'/node_a/ = /node_b/@id_von_node_b'">

    dann meckert sablotron auch nicht :-)

    greetz,
    chris

    1. Hallo,

      es muss natürlich heissen:

      <xsl:when test="'/node_a/ = /node_b/@id_von_node_b'">

      Das ist das Selbe wie worher nur im grün.

      Nach dem du das ganze innerhalb von " " in ' ' eingeschlossen hast ist das Ganze '/node_a/ = /node_b/@id_von_node_b' ein String.

      dann meckert sablotron auch nicht :-)

      Was soll er auch meckern? Du testest einen String in sich auf sich selbst. So bekommst du hier immer true() als Ergebnis.

      Was du möchtest is:

      <xsl:when test="/node_a/ = /node_b/@id_von_node_b">

      Grüße
      Thomas