Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: Multiple Valued Variables in XSLT

From: Martin Honnen <mahotrash@-----.-->
To: 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/



transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent