Subject: Re: [xsl] Merge 2 xmls : Loop through one xml and get elements from second xml From: "Prady Prady prady.chin@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 1 Sep 2020 15:12:10 -0000 |
Thank you, Martin. I will try this. On Tue, 1 Sep 2020 at 10:57, Martin Honnen martin.honnen@xxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Am 01.09.2020 um 15:51 schrieb Prady Prady prady.chin@xxxxxxxxx: > > Is there any other simpler way.. > > What do you consider simple or simpler? Using XSLT 2 or 3? Sure, go ahead > > <xsl:template match="order"> > <xsl:copy> > <xsl:apply-templates select="@* | node(), key('order', > $ordernumber, $doc2)/amount"/> > </xsl:copy> > </xsl:template> > > > > > All I have to do is: > > > > Loop thru first xml: > > add elements from first xml > > get "amount" from second xml where order number matches and create this > > Or > > > > Can you explain what is being done? > > The suggested approach processes the first XML with the identity > transformation to copy everything, with the exception of of the "order" > elements, where it additionally gets the "amount" from the second XML, > using a key to establish the match and selection based on the order number. > > > > > But I need to use only XSLT 1.0 > > > > Declare > > > > <xsl:param name="doc2" select="document('Orders_Part2.xml')"/> > > > > and a key > > > > <xsl:key name="order" match="order" use="order_number"/> > > > > then use > > > > <xsl:template match="order"> > > <xsl:copy> > > <xsl:apply-templates select="@* | node()"/> > > <xsl:variable name="ordernumber" select="order_number"/> > > <xsl:for-each select="$doc2"> > > <xsl:apply-templates select="key('order', > > $ordernumber)/amount"/> > > </xsl:for-each> > > </xsl:copy> > > </xsl:template> > > > > plus the identity transformation > > > > <xsl:template match="@* | node()"> > > <xsl:copy> > > <xsl:apply-templates select="@* | node()"/> > > </xsl:copy> > > </xsl:template> > > > > > > > > >>> ================= > > >>> Merge 2 xmls : Loop through one xml and get elements from > > second xml > > >>> > > >>> I have 2 xmls(Orders_Part1.xml,Orders_Part2.xml). I have to > > build the > > >>> 3rd xml ( Orders.xml) .
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Merge 2 xmls : Loop throu, Martin Honnen martin | Thread | Re: [xsl] Merge 2 xmls : Loop throu, Prady Prady prady.ch |
Re: [xsl] Merge 2 xmls : Loop throu, Liam R. E. Quin liam | Date | [xsl] XSL-List Guidelines, B Tommie Usdin btusd |
Month |