Re: [xsl] Need help with XSLT tokenize

Subject: Re: [xsl] Need help with XSLT tokenize
From: "Leo Studer leo.studer@xxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 11 Aug 2020 12:29:19 -0000
Try something like

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns:xs="http://www.w3.org/2001/XMLSchema";
    exclude-result-prefixes="xs"
    version="2.0">

    <xsl:template match="Payments">
        <Orders><xsl:apply-templates/></Orders>
    </xsl:template>
    <xsl:template match="Payment">
        <xsl:apply-templates/>
    </xsl:template>
    <xsl:template match="invoiceDetails">
        <xsl:for-each select="tokenize(., ';')[position() lt last()]">
            <xsl:variable name="data" select="."/>
            <Order>
                <OrderNumber><xsl:value-of
select="substring-before($data,'#')"/></OrderNumber>
                <OrderAmount><xsl:value-of
select="substring-after($data,'#')"/></OrderAmount>
            </Order>
        </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>

Greetings
Leo




> On 11 Aug 2020, at 13:34, Prady Prady prady.chin@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Team,
>
> I need help with XSLT. Below is my requirement. Can somebody help?
> =====================
> Input xml:
> <Payments>
> 	<Payment>
> 		<invoiceDetails>order1#amt1;order2#amt2;</invoiceDetails>
>
> 	</Payment>
> </Payments>
>
> I need to be able to convert this to:
> Output xml:
> <Orders>
> 	<Order>
> 		<OrderNumber>order1</OrderNumber>
> 		<Amount>amt1</Amount>
> </Order>
> 	<Order>
> 		<OrderNumber>order2</OrderNumber>
> 		<Amount>amt2</Amount>
> </Order>
> </Orders>
> ======================
>
> Thank you very much for your help
>
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/945646> (by
email <>)

Current Thread