Hallo XSLT-Fans
)
Folgendes Problem raubt mir den letzten Nerv![Lächeln](https://entwickler-forum.de/core/images/smilies/smile.png)
In einer xsl:for-each-Schleife teste ich eine Knotenmenge auf ein bestimmtes Wert eines Attributes. Falls der Attribut belegt ist wird der Inhalt des Unterlementes ausgegeben.
Ansonsten möchte ich ausgeben, dass das Element nicht belegt ist.
Wenn ich die Textausgabe mit in die Schleife nehme und mit xsl:choose arbeite, dann bekomme ich unter Umständen mehrere Einträge "nicht belegt".
Ich möchte aber nur einmal das ausgeben. Unabhängig dafon wie oft die untersuchte Elemente vorkommen.
Ein Versuch mit einer "flip_flop" Variblen, die in der Schleife gesetzt wird, schlug fehl
.
<PRE>
...
<xsl:variable name="flip" select="0"/>
<xsl:for-each select="Element">
<xsl:if test="@attribut = ABC">
<xsl:value-of select="unterelement"/>
<xsl:variable name="flip" select="1"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="$flip = 0">nicht belegt</xsl:if>
...
</PRE>
Es wird der Inhalt des Unterlementes und der String "nicht belegt" ausgegeben.
Hat jemand eine Idee warum die Variable aus der Schleife nicht gerettet wird?
Mit besten Grüßen<br>
Dieter
![Lächeln](https://entwickler-forum.de/core/images/smilies/smile.png)
Folgendes Problem raubt mir den letzten Nerv
![Lächeln](https://entwickler-forum.de/core/images/smilies/smile.png)
In einer xsl:for-each-Schleife teste ich eine Knotenmenge auf ein bestimmtes Wert eines Attributes. Falls der Attribut belegt ist wird der Inhalt des Unterlementes ausgegeben.
Ansonsten möchte ich ausgeben, dass das Element nicht belegt ist.
Wenn ich die Textausgabe mit in die Schleife nehme und mit xsl:choose arbeite, dann bekomme ich unter Umständen mehrere Einträge "nicht belegt".
Ich möchte aber nur einmal das ausgeben. Unabhängig dafon wie oft die untersuchte Elemente vorkommen.
Ein Versuch mit einer "flip_flop" Variblen, die in der Schleife gesetzt wird, schlug fehl
![Stirnrunzeln](https://entwickler-forum.de/core/images/smilies/frown.png)
<PRE>
...
<xsl:variable name="flip" select="0"/>
<xsl:for-each select="Element">
<xsl:if test="@attribut = ABC">
<xsl:value-of select="unterelement"/>
<xsl:variable name="flip" select="1"/>
</xsl:if>
</xsl:for-each>
<xsl:if test="$flip = 0">nicht belegt</xsl:if>
...
</PRE>
Es wird der Inhalt des Unterlementes und der String "nicht belegt" ausgegeben.
Hat jemand eine Idee warum die Variable aus der Schleife nicht gerettet wird?
Mit besten Grüßen<br>
Dieter
Comment