Subject: RE: [xsl] Re: <xsl:choose> or variable syntax incorrect? From: "Kathy Burke" <Kathy_Burke@xxxxxxxxx> Date: Fri, 26 Sep 2003 15:48:44 -0400 |
Tom, not meaning to make this "hard"...really...was simply looking for an example of accomplishing an <xsl:choose> condition to return a result, based on the 'name' attribute of an element. I did mention that I'm not getting an error now, just that my <xsl:when> result skips to the <xsl:otherwise> section regardless of what's in my xml file. Thanks for your example. Using the $rowcolor variable is SO MUCH SIMPLER than what I was trying to do. But my result is still that all rows are blue even though one of the three should be red because they have <Board> elements. I'll have to keep playing with it I guess. Thanks. Kathy p.s. BTW, I've seen TR bgcolor attribute used many times in books, etc. I believe it is the user's preference... :-) -----Original Message----- From: Passin, Tom [mailto:tpassin@xxxxxxxxxxxx] Sent: Friday, September 26, 2003 3:20 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] Re: <xsl:choose> or variable syntax incorrect? [ Kathy Burke] > First, I truly appreciate your responding. But please tell me > how I did not > "explain the problem I've solving"? I honestly thought I did! > Kathy, stop making this so hard! You are trying to transform some input into some output. You have not really told us accurately and concisely what the output should be, and you have not told us what you get when you say that "it doesn't work". For example, the bgcolor attribute belongs on the td, not the tr. That is an HTML problem. You need to get your HTML right, then think about the transform. One of your posts contained non-wellformed xml in a template. That is an xml problem. You need to say how you know it isn't working, like the error message or the actual results. Think simple. Based on what you have said - and I know that ultimately you want to do something more complex - here is a simple solution that works in the sense that it creates either a red or a blue background cell filled with the station name, depending on the presence of boards/board elements. It ought to be self-explanatory. <xsl:template match='data'> <html> <table> <xsl:apply-templates select='station'/> </table> </html> </xsl:template> <xsl:template match="station"> <xsl:variable name='rowcolor'> <xsl:choose> <xsl:when test='boards/board'>red</xsl:when> <xsl:otherwise>navy</xsl:otherwise> </xsl:choose> </xsl:variable> <tr> <td bgcolor='{$rowcolor}'><xsl:value-of select='@name'/></td> </tr> </xsl:template> See? Cheers, Tom P XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Looking for an approach to fi, John Reid | Thread | RE: [xsl] Re: <xsl:choose> or vari, Americo Albuquerque |
Re: [xsl] recursive help, Mukul Gandhi | Date | [xsl] Re: Re: <xsl:choose> or vari, Dimitre Novatchev |
Month |