[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Problem With Different Colors for Alternate Rows

Subject: Re: Problem With Different Colors for Alternate Rows
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Tue, 05 Nov 2002 07:10:38 +0100
xsl alternating colors
Hello Rechell,

there is also a simple XSL way:

<xsl:template match="/Food_List">
<table>
<xsl:apply-templates select="Main_Food_List | Side_Dish | Desert" mode="row"/>
</table>
</xsl:template>


<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>

Regards,

Joerg

Schwartz, Rechell R, ALCAS wrote:
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>


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.