Hallo Martin,
wäre es so nicht einfacher, und schneller?
<xsl:template match="eintrag">
<tr>
<xsl:attribute name="bgcolor">
xsl:choose
<xsl:when test="position() mod 2 = 0">gray</xsl:when>
xsl:otherwisered</xsl:otherwise>
</xsl:choose>
</xsl:attribute><xsl:apply-templates />
</tr>
</xsl:template>
Ob's schneller ist? Vermutlich, aber es ist wesentlich eleganter und einfacher im Sinne von weniger Code.
Übrigens ein gutes Beispiel auch für die Notwendigkeit xsl:attribute zu nutzen. Das macht nämlich nur dann Sinn, wenn es von einer Bedingung abhängig ist, dass das Attribut gesetzt wird oder welchen Wert es erhält. Ansonsten sind Attribute Value Templates der einfachere Weg.
Gruß
Franz