Frank Spangenberg: Variable und String mit "xsl:if" vergleichen

Beitrag lesen

Hallo,

folgende Struktur:

...
<xsl:variable name="switch"></xsl:variable>
...

<xsl:for-each select="...">

xsl:choose

<xsl:when test="...">

...

</xsl:when>

<xsl:when test="...">

<xsl:if test="$switch = 'on'">

...

</xsl:if>

<xsl:if test="$switch = ''">

<xsl:variable name="switch">on</xsl:variable>

</xsl:if>

</xsl:when>

xsl:otherwise
  ...
  </xsl:otherwise>

</xsl:choose>

</xsl:for-each>

Beim ersten Durchlauf hat $switch keinen Wert und bekommt
im 2. "xsl:when" durch das 2. "xsl:if" den Wert "on".

Beim nächsten "xsl:for-each" wird aber "<xsl:if test="$switch = 'on'">"
übergangen und statt dessen "<xsl:if test="$switch = ''">"
ausgeführt.

Wo könnte der Fehler liegen?

Danke!

--
Mit freundlichem Gruß
Frank Spangenberg