[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Need help with tokenize functionality in XSLT 1.0
Thank you very much for your input. Yes. input can contain details about single order or multiple orders and it might or might not end with ";". On Tue, 25 Aug 2020 at 16:53, David Carlisle d.p.carlisle@xxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > 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) >> > XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> > EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/3397216> (by > email <>)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|