Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - Multiple Valued Variables in XSLT [Thread Next] Re: Multiple Valued Variables in XSLTTo: NULL Date: 7/2/2004 6:12:00 PM
John Kooistra wrote:
> I'm trying to set the font colour and background colour in HTML based
> on an XSL condition a la:
>
> <xsl:variable name="font">
> <xsl:choose>
> <xsl:when test="SOME TEST">
> <fontcolour>Red</fontcolour>
> <bgcolour>Blue</bgcolour>
> </xsl:when>
> <xsl:otherwise>
> <fontcolour>Black</fontcolour>
> <bgcolour>White</bgcolour>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:variable>
> <td bgcolor="{$font/bgcolour}">
> <font color="{$font/fontcolour}">
> TEXT
> </font>
> </td>
>
> However, I get the error: "Reference to variable or parameter 'font'
> must evaluate to a node list."
>
> I get it because $font is a Result Tree Fragment.
>
> Is there a way to get the functionality I want without using a
> processor dependent function like msxsl:node-set(rtf)?
>
> As a work-around, I'm currently using two separate variables for
> fontcolour and bgcolour complete with their own condition statements.
> Obviously, it is very ugly and I would really appreciate any
> suggestions you have.
I don't know to what kind of user agents you want to send your HTML but
if you target current desktop browsers like IE5+, Netscape 6/7, Opera
6/7 then I wouldn't bother with bgcolor or that <font> element but
simply use CSS to define the presentation of the page. You could simply
generate a <style type="text/css"> element in the <head> of your HTML
and depending on the conditions put the right CSS rules there so that
the elements are colored as you want it.
--
Martin Honnen
http://JavaScript.FAQTs.com/
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
