Re: [xsl] Need help with tokenize functionality in XSLT 1.0

Subject: Re: [xsl] Need help with tokenize functionality in XSLT 1.0
From: "David Carlisle d.p.carlisle@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 25 Aug 2020 20:53:37 -0000
You changed the format. in the form you showed originally every item
terminated with a ; you had two items, and two ;
the form you show now has one item but no ;

You could add the trailing  ; by making the initial param

<xsl:param name="details" select="concat(invoiceDetails,';')"/>

On Tue, 25 Aug 2020 at 21:41, Prady Prady prady.chin@xxxxxxxxx <
xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> This works good. Thanks for the solution.
>
>
> But this is not working if there is only one order
>
> eg:
> =====================
> Input xml:
>
> <Payments>
>
> <Payment>
>
> <invoiceDetails>order1#amt1</invoiceDetails>
>
> </Payment>
>
> </Payments>
>
> I need to be able to convert this to:
> Output xml:
>
> <Orders>
>
> <Order>
>
> <OrderNumber>order1</OrderNumber>
>
> <Amount>amt1</Amount>
>
> </Order>
>
> </Orders>
> ======================
>
> On Thu, 20 Aug 2020 at 12:52, Leo Studer leo.studer@xxxxxxxxxxx <
> xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
>> Nice, a recursive template with a parameter ;-)
>>
>> Cheers
>> Leo
>>
>>
>> >
>> > <xsl:template match="Payment">
>> >  <xsl:param name="details" select="invoiceDetails"/>
>> >  <xsl:variable name="car" select="substring-before($details,';')"/>
>> >  <xsl:variable name="cdr" select="substring-after($details,';')"/>
>> >  <Order>
>> >   <OrderNumber><xsl:value-of
>> select="substring-before($car,'#')"/></OrderNumber>
>> >   <Ammount><xsl:value-of select="substring-after($car,'#')"/></Ammount>
>> >  </Order>
>> >  <xsl:if test="contains($cdr,'#')">
>> >   <xsl:apply-templates select=".">
>> >    <xsl:with-param name="details" select="$cdr"/>
>> >   </xsl:apply-templates>
>> >  </xsl:if>
>> > </xsl:template>
>> >
>>
>> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/2739265> (by
> email <>)

Current Thread