Subject: Re: [xsl] length of string from a set of nodes.|
From: Fred Christian <fredc@xxxxxxxxxx>
Date: Fri, 27 Mar 2009 11:14:23 -0700
And of course, you could combine the two variables:I got an error when I tried that ???
<xsl:variable name="slen" as="xs:integer" select="string-length(answers)"/>
Should it work? I am using Saxon from the command line. java -jar "C:\saxon\saxon.jar .....
Michael Kay http://www.saxonica.com/
From: Fred Christian [mailto:fredc@xxxxxxxxxx] Sent: 27 March 2009 17:46
Subject: [xsl] length of string from a set of nodes.
I was able to get this to work, but while reading about it, I see all these little tips and recommendations regarding being efficient and not creating nodes when you only need strings.
In this code my goal was meet of deciding if the length of all the text concatenated together is greater than 30.
<xsl:variable name="strings" as="xs:string"><xsl:value-of select="answers"/></xsl:variable>
<xsl:variable name="slen" as="xs:integer"><xsl:sequence select="string-length($strings)"/></xsl:variable>
<xsl:when test="$slen gt 30"> etc...
I tried various combinations of using the <<concat()>> function, <<xsl:sequence>>, and <<xsl:value-of>>. This is what ended up working.
Is there a "better" way to do this? Thanks