|
Subject: RE: [xsl] Setting background colour according to contents of node From: "Michael Kay" <mhk@xxxxxxxxx> Date: Sun, 19 Sep 2004 09:18:23 +0100 |
Use
<xsl:attribute name="background-color">
<xsl:apply-templates select="BREAK_3" mode="get-colour"/>
</xsl:attribute>
then
<xsl:template match="* mode="get-colour">
<xsl:choose>
<xsl:when test="FIELD_134='Y' or ...>
etc.
</xsl:template>
In other words, but the conditional code in the piece that generates the
attribute that varies, not in the piece that generates its containing
element.
Michael Kay
> -----Original Message-----
> From: Sean & Helen [mailto:scarlson65@xxxxxxx]
> Sent: 19 September 2004 06:29
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Setting background colour according to contents of node
>
> Hi all,
> I was trying to set a background colour by setting a variable
> after checking
> the contents of a node. I realized that this would not work
> unless I used
> LOTS of variables since the value of a variable cannot be
> updated once set.
> Does anyone have an easier way to set a colour based on data?
> The only other
> way I can think of is to use an <xsl:choose> but then I have
> to repeat my
> whole table cell code twice (which really adds up for large reports).
>
> This is what I currently have (which is pretty awful):
>
> <xsl:choose>
> <xsl:when test="BREAK_3/FIELD_134[1]=Y or BREAK_3/FIELD_135[1]='F'">
> <fo:table-cell background-color="#9DE1DF"> .... contents
> of the cell
> .... </fo:table-cell>
> </xsl:when>
>
> <xsl:otherwise>
> <fo:table-cell background-color="white">...exactly the
> same code for
> the contents...</fo:table-cell>
> </xsl:otherwise>
> </xsl:choose>
>
> TIA for listening to my silly question,
> Helen.
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Setting background colour, M. David Peterson | Thread | [xsl] Using a parameter in a select, Sean & Helen |
| RE: [xsl] Using a parameter in a se, Michael Kay | Date | RE: [xsl] translate and templates a, Michael Kay |
| Month |