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

Subject: Re: [xsl] Need help with tokenize functionality in XSLT 1.0
From: "Prady Prady prady.chin@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 25 Aug 2020 20:41:11 -0000
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>

Current Thread