This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Alternating Between Values


| Is it possible to express, in XSL-T, alternate colors on TABLE rows?
| 
| Does anyone have any tips for adding a background color to every *alternate*
| TABLE row in the result tree?

There are lots of ways to do this, but the one I've settled
on in the XSLT-driven database apps I build is the following:

(1) I create a CSS Stylesheet containing two CSS classes
    like "row0" and "row1" as follows (I shorten to "r0" and "r1"):

    # My CSS File named "Something.css"
    .r0 {background-color: #f9f9f9}
    .r1 {background-color: #f7f7e7}

(2) I create an XSLT stylesheet that creates an HTML page
    that links to this Something.css stylesheet:

    <!-- Root template of my stylesheet -->
    <xsl:template match="/">
      <html>
        <head>
           <title>Cool XSLT App</title>
           <link rel="stylesheet" type="text/css" href="Something.css"/>
        </head>
        <body><xsl:apply-templates/></body>
      </html>
    </xsl:template>

(3) In my template that is creating HTML table rows, I
    use an attribute value template to alternate the
    *name* of the CSS class in use for that row to
    "toggle" between the names "r0" for even rows and
    "r1" for odd rows...

    <!-- Match a row of database query query results in XML -->
    <xsl:template match="ROW">
      <tr class="r{position() mod 2}">
        <xsl:apply-templates/>
      </tr>
    </xsl:template>

The expression {position() mod 2} will alternate
between the values 1 and 0 so the effective value
of the "class" attribute on the <tr> element I'm 
creating is "r1" and "r0".

This way, I can control the fonts/colors of my entire
site by touching a single CSS file, while XSLT takes
care of all the fancy stuff.

______________________________________________________________
Steve Muench, Lead XML Evangelist & Consulting Product Manager
Business Components for Java & XSQL Servlet Development Teams
Oracle Rep to the W3C XSL Working Group


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]