Subject: Re: [xsl] Problem With Different Colors for Alternate Rows From: Joerg Heinicke <joerg.heinicke@xxxxxx> Date: Tue, 05 Nov 2002 07:10:38 +0100 |
<xsl:template match="*" mode="row"> <TR class="evenRowStyle"> <xsl:if test="position() mod 2 = 1"> <xsl:attribute name="class">oddRowStyle</xsl:attribute> </xsl:if> <xsl:apply-templates select="."/> </TR> </xsl:template>
<xsl:template match="Main_Food_List"> <TD>Main Course:</TD> <TD><xsl:value-of select="Main_Course"/></TD> </xsl:template>
<xsl:template match="Side_Dish"> <TD>Side Dish:</TD> <TD><xsl:value-of select="."/></TD> </xsl:template>
<xsl:template match="Desert"> <TD>Desert:</TD> <TD><xsl:value-of select="Fancy_Desert"/></TD> </xsl:template>
All,
I am having difficulty programming a stylesheet that is supposed to return the result set as a list of HTML rows in alternating colors.All of the examples that I have seen address how to do this if every data row is is derived from the same type of XML tag. But in my example, each row may come from a completely different section of the XML. Following is a sample XML similar to the one that I am using. Also, another constraint is if any row is missing, it is inhibited, and the alternating color rule must still be preserved. I have tried numerous ways of passing parameters, but have been unable to modify the the row count after a match was found ofr each item. Any help would be GREATLY appreciated.
Sample XML:
<Food_List> <Main_Food_List> <Main_Course> Chicken </Main_Course> </Main_Food_List> <Side_Dish> Potatoes </Side_Dish> <Desert> <Fancy_Desert> Chocolate Truffles </Fancy_Desert> </Desert> </Food_List>
Sample XSLT Stylesheet: <?xml version="1.0" ?> <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > <xsl:output method="html" indent="yes"/> <xsl:template match="/"> <xsl:apply-templates select="Food_List/Main_Food_List/Main_Course"/> <xsl:apply-templates select="Food_List/Side_Dish"/> <xsl:apply-templates select="Food_List/Desert/Fancy_Desert"/>
<xsl:template match="Main_Course"> <TR><TD>Main Course:</TD><TD xsl:value-of select="."/></TD></TR> </xsl:template>
<xsl:template match="Side_Dish"> <TR><TD>Side Dish:</TD><TD xsl:value-of select="."/></TD></TR> </xsl:template>
<xsl:template match="Fancy_Desert"> <TR><TD>Desert:</TD><TD xsl:value-of select="."/></TD></TR> </xsl:template>
</xsl:stylesheet>
Required HTML Output <TABLE> <TR><TD colspan="2">MENU</TD></TR> <TR><TD class="oddRowStyle">Main Dish:</TD><TD class="oddRowStyle">Chicken</TD></TR> <TR><TD class="evenRowStyle">Side Dish:</TD><TD class="oddRowStyle">Potatoes</TD></TR> <TR><TD class="oddRowStyle">Desert:</TD><TD class="oddRowStyle">Chocolate Truffles</TR> </TABLE>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Incorrect output with IE6, Richard Lander | Thread | RE: [xsl] Problem With Different Co, Schwartz, Rechell R, |
RE: [xsl] Incorrect output with IE6, Richard Lander | Date | [xsl] generating entities in XSL, <, Christer Nordvik |
Month |