Subject: Re: [xsl]Clarify Add an element to the result xml document From: Joerg Heinicke <joerg.heinicke@xxxxxx> Date: Tue, 08 Oct 2002 19:44:17 +0200 |
<xsl:template match="MessageID"> <xsl:copy> <!-- here the copy template is applied only to possible attributes --> <xsl:apply-templates select="@*"/> <xsl:copy> <!-- here the copy template is applied to attributes and nodes --> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:copy> </xsl:template>
To clarify what I need. This is source XML:
<Order> <OrderHeader> <OrderNumber> <BuyerOrderNumber>3</BuyerOrderNumber> <SellerOrderNumber/> <ListOfMessageID> <!-- one MessageID element --> <MessageID> <IDNumber/> <IDAssignedBy> <IDAssignedByCoded/> <IDAssignedByCodedOther/> </IDAssignedBy> <IDAssignedDate/> </MessageID> </ListOfMessageID> </OrderNumber>
This is what I need the result to look like:
<Order> <OrderHeader> <OrderNumber> <BuyerOrderNumber>3</BuyerOrderNumber> <SellerOrderNumber/> <ListOfMessageID> <!-- nested MessageID elements --> <MessageID> <MessageID> <IDNumber/> <IDAssignedBy> <IDAssignedByCoded/> <IDAssignedByCodedOther/> </IDAssignedBy> <IDAssignedDate/> </MessageID> </MessageID> </ListOfMessageID> </OrderNumber>
The Solution from Michael Kay that follows duplicated the MessageID and children: <xsl:template match="MessageID"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> <!-- and again... --> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template>
The Solutions from Joerg adds a <MessageID/> element in place of the child elements: <xsl:template match="MessageID"> <xsl:copy> <xsl:copy> </xsl:copy> </xsl:copy> </xsl:template>
The burning question is why do I want this. We receive E-Procurement orders in xCBL, cXML, etc. We set up mapping in NetFish to our order response and back-end. When we start a new element map in NetFish (now Iona E2A Integrator) we repeat element tags to show repeating groups of elements.
Thanks again for your help - I have tried so many ways to solve this without manually adding the tags. Lynda
Lynda Van Vleet
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl]Clarify Add an element to , LVanvleet | Thread | [xsl] XSL count function, RJ P |
RE: [xsl] Formated text output, Michael Kay | Date | RE: [xsl] Formated text output, Richard Lander |
Month |