This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Every other row with a different twist
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Every other row with a different twist
- From: "Michael Kay" <mhkay at iclway dot co dot uk>
- Date: Tue, 16 Jan 2001 23:04:56 -0000
- Reply-To: xsl-list at lists dot mulberrytech dot com
If you can't calculate whether the row is odd or even based on its position
in the input, try writing the result to an RTF and then doing a second
transformation (using the node-set() extension). In the second phase you can
use position() mod 2 in the normal way.
Mike Kay
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Arni J
> Rognvaldsson
> Sent: 16 January 2001 21:14
> To: XSL-List@lists.mulberrytech.com
> Subject: [xsl] Every other row with a different twist
>
>
> I'm sorry if this has already been discussed to death, I
> tried searching
> the list, but found nothing close enough.
> Like a lot of other people I'm trying to color every other table row.
> Normally I would do this with position() mod 2, but in this
> case that's
> not practical.
>
> My xml can be represented like this:
>
> <person>
> <address>
> <city/>
> <tel/>
> </address>
> <employer>
> <name/>
> <tel/>
> </employer>
> </person>
>
> my stylesheet look like this:
>
> <xsl:template match="person">
> <table>
>
> <xsl:if test="boolean(address/name)">
> <tr>
> <td>Person's home city:</td>
> <td><xsl:value-of select="address/name"/></td>
> </tr>
> </xsl:if>
>
> <xsl:if test="boolean(employer/name)">
> <tr>
> <td>Person's employer:</td>
> <td><xsl:value-of select="employer/name"/></td>
> </tr>
> </xsl:if>
>
> <xsl:if test="boolean(employer/tel)">
> <tr>
> <td>Employer's telephone number:</td>
> <td><xsl:value-of select="employer/tel"/></td>
> </tr>
> </xsl:if>
>
> </table>
> </xsl:template>
>
> Notice that the number of rows in the output will vary
> depending on the
> existence of the nodes in the input xml. Also note that I'm not using
> all the elements in the input. Lastly, the labels in the
> first td in each
> block are completely arbitrary.
>
> Now, of course the client would like to color every other
> row. I'm stumped,
> can't figure out a way to do it. Any help would be very much
> appreciated, I
> don't mind cheating, rewriting the above in any way or
> whatever, as long as
> it does not require changes to the html data (this is only
> one page, there are
> more).
> Of course, this might be impossible :-(
> I'm running XalanJ version 1.2.2 under Apache JServ.
>
> Thanks,
>
> Arni
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list