[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: How do I use non-literals in <xsl:if statements
> but my XSL processor must not support them (i.e they're always empty > after assignment). I'm using the LotusXSL processor. lotus xsl supports variables. probably you are looking at the value of the variable outside the scope where it is bound. A common mistake is <xsl:if test="something"> <xsl:variable name="x" select="something_else"/> <xsl:if> ...$x ... which doesn't work as the scope of the binding of $x ends at the element containing the binding, ie the </xsl:if> here. <file previous_date="03/13/99"> <file_date>04/03/99</file_date> </file> you don't say which node you try to evaluate this on: <xsl:if test="file_date[not(. = @previous_date)]"> do something </xsl:if> If you are on the file node then the string value of `.' will include that white space, in which case you might want to use normalize-space(.) but safer would be normalize-space(file_date)= @previous_date (normalize-space() may be called normalize() if your xsl processor is older than a couple of weeks or so) If you are on the file_date node, the nyou want normalize-space(.)=normalize-space(../@previous_date) The normalize-space() can be omitted if you know there is never any white space in these strings. David XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|