Subject: RE: append values to a String
From: "Martinez, Brian" <brian.martinez@xxxxxxxx>
Date: Wed, 12 Feb 2003 09:19:58 -0700
|
> From: Wang, Dongzhi (ACF) [mailto:DWang@xxxxxxxxxxx]
> Sent: Wednesday, February 12, 2003 8:52 AM
> Subject: append values to a String
>
> Hi,
>
> I had a similar question to the one Stevenson just asked
> about variable. I
> know it's impossible to re-assign value to a variable in XSL,
> that's why I
> don't know what to do in here.
>
> Here's the xml:
>
> <Sample>
> <K1/>
> <K2>something</K2>
> <K3>something else</K3>
> <K4/>
> </Sample>
>
> I'd like to loop through all the children nodes under
> <Sample>, find those
> have non-empty value, and construct a String with all those
> values append to
> each other with a "," delimiter in between them, i.e. the
> result String
> should look like: "something,something else,". And I need
> to assign this
> String to a variable since I need to use it elsewhere.
<xsl:variable name="big-string">
<xsl:for-each select="Sample/*">
<xsl:if ". != ''">
<xsl:value-of select="."/>
<xsl:if "position() != last()">,</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:variable>
Note that if the last child node is empty you'll still get a trailing comma
in your string--I'm sure there's a way to fix that but I have a meeting to
go to . . . ;-)
hth,
b.
| brian martinez brian.martinez@xxxxxxxx |
| senior gui programmer 303.708.7248 |
| trip network, inc. fax 303.790.9350 |
| 6436 s. racine cir. englewood, co 80111 |
| http://www.cheaptickets.com/ http://www.trip.com/ |
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|