[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Re: loop through comma seperated values

Subject: Re: Re: loop through comma seperated values
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 01 Apr 2010 11:39:30 -0400
Re:  Re: loop through comma seperated values
At 2010-04-01 19:33 +0400, you wrote:
My requirement is to frame a matrix.

I thought to have two for loops using the above keys and identify
elements and to display data appropriately.

Fine. Then nest into your stylesheet two instances of the approach I described. When you reach the "do-logic" portion for the years, do the nested approach for the months. When you reach the "do-logic" portion for the months, display your information accordingly. Name your templates appropriately to avoid name collision.

You don't give any guidelines as to how you plan to display your data, but if you track the year and month values and pass both of those down to the "do-logic" portion for the months, you'll have what you need.

I hope this helps.

. . . . . . . . . . Ken


On Thu, Apr 1, 2010 at 7:13 PM, G. Ken Holman
<gkholman@xxxxxxxxxxxxxxxxxxxx> wrote:
> Use a recursive function call with substring-before() and substring-after(),
> along the lines of (untested):
> <xsl:template name="loop-commas">
> <xsl:param name="value"/>
> <xsl:choose>
> <xsl:when test="contains($value,',')">
> <xsl:call-template name="do-logic">
> <xsl:with-param name="this" select="substring-before($value,',')"/>
> </xsl:call-template>
> <xsl:call-template name="loop-commas">
> <xsl:with-param name="value" select="substring-after($value,',')"/>
> </xsl:call-template>
> </xsl:when>
> <xsl:otherwise>
> <xsl:call-template name="do-logic">
> <xsl:with-param name="this" select="$value"/>
> </xsl:call-template>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:template>
> I hope this helps.
> . . . . . . . Ken
> At 2010-04-01 19:08 +0400, Ramesh Kumar wrote:
>> I am using XSLT 1.0
>> On Thu, Apr 1, 2010 at 7:06 PM, Ramesh Kumar <cnrameshkumar@xxxxxxxxx>
>> wrote:
>> > Dear All,
>> >
>> > I have XML document with an element having comma seperated values as
>> > below
>> >
>> > I need to loop through the values. I tried to replace the comma","
>> > with "><" and used the variable in For each as below.
>> > <xsl:for-each select="msxsl:node-set($ColHead)">
>> > <xsl:value-of select="."/>
>> > </xsl:for-each>
>> > Note: $ColHead contains the comma seperated values.
>> >
>> >
>> > But no luck. Any help ?

XSLT/XQuery training:         San Carlos, California 2010-04-26/30
Principles of XSLT for XQuery Writers: San Francisco,CA 2010-05-03
XSLT/XQuery training:                 Ottawa, Canada 2010-05-10/14
XSLT/XQuery/UBL/Code List training: Trondheim,Norway 2010-06-02/11
Vote for your XML training:   http://www.CraneSoftwrights.com/s/i/
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.