Hallo!
Ich möchte den Inhalt der Knoten 2-5 ausgeben.
Da ich nicht für jeden Knoten explizit den direkten Namen angeben will, will ich das per Schleife lösen. Als Ergebnis soll "-B-C-D-E" sein.
Das sieht dann so aus:
<knoten>
<knoten1>A</knoten1>
<knoten2>B</knoten2>
<knoten3>C</knoten3>
<knoten4>D</knoten4>
<knoten5>E</knoten5>
<knoten6>F</knoten6>
<knoten7>G</knoten7>
</knoten>
<xsl:template name="knotenAusgeben">
<xsl:param name="Zaehler" select="2"/>
<xsl:param name="ergebnisString" />
xsl:choose
<xsl:when test="$Zaehler >= 2 and $Zaehler <= 5">
<xsl:variable name="column" select="concat('knoten', $Zaehler)"/>
<xsl:variable name="knotenInhalt" select="$column"/>
<xsl:call-template name="knotenAusgeben">
<xsl:with-param name="Zaehler" select="$Zaehler + 1" />
<xsl:with-param name="ausgabe" select="concat( $ergebnisString, '-', $knotenInhalt)"/>
</xsl:call-template>
</xsl:when>
xsl:otherwise
<xsl:value-of select="$ergebnisString"></xsl:value-of>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Dachte, ich erhalte jetzt die gewünschte Ausgabe "-B-C-D-E", bekommen tu ich aber "knoten2-knoten3-knoten4-knoten5" angezeigt.
Ich schaffe es nicht per Name des Knotens in einer Variable an den Inhalt des Knotens ranzubekommen.
Habe ich da mit XSLT überhaupt eine Chance?
Danke!