Re: [xsl] Re: loop through comma seperated values

Subject: Re: [xsl] Re: loop through comma seperated values
From: Ramesh Kumar <cnrameshkumar@xxxxxxxxx>
Date: Fri, 2 Apr 2010 14:23:06 +0400
Dear Ken,Mike

Thanks a lot. I tried the same way as you guided. Its working fine.

Regards,
Ramesh

On Thu, Apr 1, 2010 at 7:39 PM, G. Ken Holman
<gkholman@xxxxxxxxxxxxxxxxxxxx> wrote:
> At 2010-04-01 19:33 +0400, you wrote:
>>
>> My requirement is to frame a matrix.
>> <ColKey>2009,2010</ColKey>
>> <RowKey>JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC,YTD</RowKey>
>>
>> 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
>
>> Regards,
>> Ramesh
>>
>> 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
>> >> > <RowKey>JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC,YTD</RowKey>
>> >> >
>> >> > 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
>
>



--


Regards,
Ramesh

Current Thread