This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
How to calculate attribute values with XSL ?
- From: stig dot garberg at no dot abb dot com
- To: XSL-List at lists dot mulberrytech dot com
- Date: Tue, 8 Jan 2002 09:24:39 +0100
- Subject: [xsl] How to calculate attribute values with XSL ?
- Reply-to: xsl-list at lists dot mulberrytech dot com
I'm working with working with XSL for HTML output. A problem that has occured
several times is that I want to calculate the values of HTML attributes based on
input XML values, but I'm not able to find a sensible way to do it.
For instance if I want to change the background colour (bccolor attribute) of a
table row based on the XML tags <state> and <ack>, where (<state>on</state> and
<ack>off</ack>) shall give bgcolor="#ff0000", while (<state>on</state> and
<ack>on</ack>) shall give bgcolor="#008000".
I can solve this by writing :
<xsl:if test="state = 'on' and ack = 'off'">
<tr bgcolor="#ff0000">table contents</tr>
</if>
<xsl:if test="state = 'on' and ack = 'on'">
<tr bgcolor="#008000">table contents</tr>
</if>
However, if there is a large table, it feels meaningless to write the table
contents multiple times. Is there a better way of solving this problem by
calculating the attribute value directly?
/StiG
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list