farblich alternierende tabellenzeilen mit xsl ausgeben
daniel
- xsl
0 MudGuard0 MudGuard
0 Michael Wronna
hallo alle zusammen,
ich versuche mich gerade zum ersten mal ein bißchen an xml/xsl.
nun habe ich eine xml-datei schon mal via xsl zur tabellarischen ausgabe bewegen können - immerhin.
was mir nun zu meinem glück aber noch fehlen würde, wären alternierende tabellenzellen.
wenn ich mit php arbeiten würde, würde ich einfach eine variable mitzählen lassen, bei jedem durchlauf durch 2 teilen und je nach rest (0 oder 1) der zeile eine farbe verpassen...
geht sowas auch mit xsl? ich hab mal rumgesucht, aber nirgendwo sowas gefunden.
<xsl:for-each select="office"> <xsl:sort select="long" /> <tr>
<td valign="top" width="2%"><xsl:value-of select="nummer" /></td> <td valign="top" width="5%"><xsl:value-of select="short" /></td> <td valign="top" width="10%"><xsl:value-of select="long" /></td> <td valign="top" width="15%"><xsl:value-of select="level3" /></td> <td valign="top" width="15%"><xsl:value-of select="level2" /></td> <td valign="top" width="15%"><xsl:value-of select="level1" /></td>
</tr>
</xsl:for-each>
vielen dank für eure hilfe !!
grüße, daniel
Hi,
was mir nun zu meinem glück aber noch fehlen würde, wären alternierende tabellenzellen.
<xsl:for-each select="office">
<xsl:sort select="long" />
<tr>
<!-- probier mal das hier, bin mir aber im Moment nicht sicher, ob das mit der Sortierung noch hinhaut -->
<xsl:attribute name="class">
xsl:choose
<xsl:when test="position() % 2 = 0">hell</xsl:when>
xsl:otherwisedunkel</xsl:otherwise>
</xsl:choose>
</xsl:attibute>
Im CSS dann tr.hell und tr.dunkel entsprechend formatieren.
cu,
Andreas
Hi,
Korrektur:
<xsl:when test="position() % 2 = 0">hell</xsl:when>
<xsl:when test="position() mod 2 = 0">hell</xsl:when>
mod statt %
cu,
Andreas
hallo daniel, hallo MudGuard (beachte schreibweise :-)
MudGuard hat recht, und war sogar schneller, habe es gerade
getestet. gruss,
<xsl:when test="position() mod 2 = 0">hell</xsl:when>
michael
ss:) zu:) ls:& fo:) de:> va:) ch:? n4:& rl:? br:< js:| ie:% fl:{ mo:|
Hi,
MudGuard hat recht, und war sogar schneller, habe es gerade
getestet. gruss,
Naja, erst auf Dein Posting hin hab ich nochmal in XPath nachgeguckt wegen des mod <---> % ;-)
Ist aber auch doof, daß die Operatoren immer mal wieder anders sind...
cu,
Andreas
hallo daniel,
probiere mal folgendes (ungetestet):
<td>
<xsl:if test="[position() mod 2 = 0]">
<xsl:attribute name="class">ungerade</xsl:attribute>
</xsl:if>
</td>
hth, gruss vom bodensee,
michael
ss:) zu:) ls:& fo:) de:> va:) ch:? n4:& rl:? br:< js:| ie:% fl:{ mo:|