Forum: XML Beginner |
Thema:
Kann nicht auf Variable/Param in template zugreifen |
Von:
G. Guest (
24.08.2005 13:55) |
Hallo zusammen,
ich bräuchte einen kleinen Tipp, denn ich finde meinen Fehler nicht.
Zum Einfärben der einzelnen rows einer Tabelle möchte ich wechselnde Farben angeben können. In meinem 1. Versuch soll bei jeder zweiten row der globale Parameter durch einen lokalen (im template) überschrieben werden, wobei ich es hier mit variable und param im template versucht habe.
<xsl:apply-templates select="node()">
<xsl:with-param name="col" select="AliceBlue"> </xsl:with-param>
</xsl:apply-templates>
<xsl:template match="Literatur">
<xsl:if test="position() mod 2 = 0">
<xsl:variable name="col" select="Gainsborow"></xsl:variable>
</xsl:if>
<fo:table-row background-color="{$col}">
...
</xsl:template>
Ergebnis Transformation: "Could not find variable with name col"
Zweiter Versuch ohne globalem Parameter:
<xsl:template match="Literatur">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">
<xsl:variable name="col" select="Gainsborow"></xsl:variable>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="col" select="AliceBlue"></xsl:variable>
</xsl:otherwise>
</xsl:choose>
<fo:table-row background-color="{$col}">
...
</xsl:template>
mit dem gleichen Ergebnis. Was mache ich falsch? Wieso kennt das Programm die Variable col nicht?
Vielen Dank im Voraus
Betreff |
Von |
Datum |
|
|
Hannes
Preishuber
|
24.08.2005 14:11 |
|
|
Re: Kann nicht auf Variable/Param in template...
Bei dem Versuch:<br><br><xsl:choose><br> <xsl:when test="position() mod 2 = 0"><br> <fo:table-row background-color="#dcdcdc"><br> </xsl:when><br> <xsl:otherwise><br> <fo:table-row background-color="#f0f8ff"> ... |
|
|
|
|
|
G.
Guest
|
24.08.2005 15:53 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!