variable verändern in XSLT

secret Burner

Grünschnabel
Habe das Problem in XSLT, dass ich eine Variable verändern möchte um danach den Wert abzufragen, um damit wiederrum eine Meldung auszugeben!

Soweit hätte ich mir das gedacht:

<xsl:variable name="decision" select="10"/>
<xsl:for-each select="employees/emp">
<xsl:choose>
<xsl:when test="sal &gt; 2000">
<tr>
<td><xsl:value-of select="empno"/></td>
<td><xsl:value-of select="ename"/></td>
<td><xsl:value-of select="sal"/></td>
<xsl:variable name="decision">2</xsl:variable>
</tr>
</xsl:when>
</xsl:choose>
</xsl:for-each>
<xsl:if test="$decision &gt;= 5">
<div style="color:red">No highly paid employees in this department!!</div>
</xsl:if>

Zur Erklärung, falls die for-each Schleife nicht betreten wird, soll die Meldung "No highly paid employees in this department!!" ausgegeben werden!

Bin für sonstige Vorschläge gerne offen! Danke im Vorraus!!
 
Hi.

Das wird so nicht funktionieren, denn eine Variable in XSLT ist - anders als ihr Name suggeriert - nicht änderbar.

Versuch's mal so:
XML:
<xsl:for-each select="employees/emp[sal &gt; 2000]"> 
<tr>
<td><xsl:value-of select="empno"/></td>
<td><xsl:value-of select="ename"/></td>
<td><xsl:value-of select="sal"/></td>
</tr>
</xsl:for-each>
<xsl:if test="not(employees/emp[sal &gt; 2000])">
  ...
</xsl:if>
Gruß
 
Zuletzt bearbeitet von einem Moderator:
Zurück