Hallo zusammen,
ich bin XSLT technisch noch nicht viel unterwegs gewesen. Mein Problem ist folgendes: Ich lese Datensätze ein und gebe diese gestückelt in einer HTML Tabelle aus, dabei ist jeder zweite Datensatz grau, der Rest weiß um einen "Zebra"effekt zu erhalten.
Die Parameter "BgColorLightGray" bzw. "BgColorWhite" sind in der css hinterlegt. Im Template werden die Tabellenspalten entsprechend den Variablen gefüllt.
Soweit so gut.
Jetzt erstreckt sich ein Datensatz auf 2 Zeilen. Sprich die erste Zeile wird regelkonform gefüllt und in der zweiten tauchen Informationen auf, die allerdings noch zur ersten Zeile gehören. Das ist so gewollt und passiert alles einwandfrei, das Problem ist die Hintergrundfarbe, da ich nur auf position() mod 2 prüfe und er die Farbe wechselt auch wenn in der nächsten Zeile der gleichen Datensatz steht. Wie kann ich die Abfrage optimieren? Als Anhaltspunkte könnte ich 1,2 Spalten nennen, die bei einer weiteren Zeile zum gleichen Datensatz nie befüllt werden. Wären die also = "" so wechselt er die Farbe nicht. Programmiertechnisch leicht gedacht, doch wie setz ich das in XSLT um?
Vielen Dank im Voraus.
Lg, Kazum
ich bin XSLT technisch noch nicht viel unterwegs gewesen. Mein Problem ist folgendes: Ich lese Datensätze ein und gebe diese gestückelt in einer HTML Tabelle aus, dabei ist jeder zweite Datensatz grau, der Rest weiß um einen "Zebra"effekt zu erhalten.
HTML Code:
<xsl:for-each select="Datensaetze"> <xsl:choose> <xsl:when test="position() mod 2 = 0"> <xsl:call-template name="Template"> <xsl:with-param name="bgcolor" select="'bgcolorlightgray'"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="Template"> <xsl:with-param name="bgcolor" select="'bgcolorWhite'"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:for-each>
Soweit so gut.
Jetzt erstreckt sich ein Datensatz auf 2 Zeilen. Sprich die erste Zeile wird regelkonform gefüllt und in der zweiten tauchen Informationen auf, die allerdings noch zur ersten Zeile gehören. Das ist so gewollt und passiert alles einwandfrei, das Problem ist die Hintergrundfarbe, da ich nur auf position() mod 2 prüfe und er die Farbe wechselt auch wenn in der nächsten Zeile der gleichen Datensatz steht. Wie kann ich die Abfrage optimieren? Als Anhaltspunkte könnte ich 1,2 Spalten nennen, die bei einer weiteren Zeile zum gleichen Datensatz nie befüllt werden. Wären die also = "" so wechselt er die Farbe nicht. Programmiertechnisch leicht gedacht, doch wie setz ich das in XSLT um?
Vielen Dank im Voraus.
Lg, Kazum
Comment