|
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 |