Subject: RE:RE: [xsl] Join XMLs with XLST with ralative data From: Mangesh Kakade <wadapaav@xxxxxxxxx> Date: Mon, 9 Jun 2003 03:29:14 -0700 (PDT) |
Hi Jarno and all Gurus , Thanks for the reply ...earlier i was in digest list now i am in daily-list.. I have modified my xslt as suggested but still it is not working properly so the out put with the two xml s i.e. 22.xml <STKAVAILABLE> <STKMAST Alias="01" STKCODE="31" STKDESC="FANTA "> <STKDESC IndexID="5017"/> </STKMAST> <STKMAST Alias="01" STKCODE="30" STKDESC="PEPSI"> <STKDESC IndexID="5017"/> </STKMAST> ??.. </STKAVAILABLE> buy22.xml <buyermaster> <name id="a001" deptid="01"> <bstkcode>31</bstkcode> </name> <name id="a010"> <bstkcode>40</bstkcode> </name> <name id="a003" deptid="10"> <bstkcode>31</bstkcode> <bstkcode>20</bstkcode> </name> </buyermaster> And out put I want is ???. < tran> <stock> <stockcode>31</stockcode> <name id="a001" deptid="01"> <name id="a003" deptid="10"> </stock> <stock> <stockcode>30</stockcode> <name id="a010"> </stock> ??.and so on if stock code from 22.xml matches bstkcode from buy22.xml </tran> so based on suggestion I have modified my xslt to : <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:key name="rows-bstkcode" match="name" use="bstkcode"/> <xsl:variable name="x_22" select="document('22.xml')"/> <xsl:variable name="buy22" select="document('buy22.xml')"/> <xsl:template match="/"> <tran> <xsl:for-each select="$x_22/STKAVAILABLE/STKMAST"> <xsl:variable name="STKCODE1" select="@STKCODE"/> <xsl:for-each select="$buy22/buyermaster"> <stock> <stockcode> <xsl:value-of select="$STKCODE1" /></stockcode> <xsl:for-each select="key('rows-bstkcode',$STKCODE1)"> <xsl:copy> <xsl:copy-of select="bstkcode"/> </xsl:copy> </xsl:for-each> </stock> </xsl:for-each> </xsl:for-each> </tran> </xsl:template> </xsl:stylesheet> but out put I am getting still is : <?xml version="1.0" encoding="UTF-8" ?> <tran> <stock> <stockcode>31</stockcode> </stock> <stock> <stockcode>30</stockcode> </stock> <stock> <stockcode>32</stockcode> </stock> </tran> Pls Help me Mangesh ----------From: Jarno.Elovirta@xxxxxxxxx > Hi, > > > I am using join.xslt > > <xsl:stylesheet version="1.0" > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:key name="rows-bstkcode" match="bstkcode" > > use="bstkcode" /> > > The key should be > > <xsl:key name="rows-bstkcode" match="name" > use="bstkcode" /> > > > <xsl:for-each > select="$x_22/STKAVAILABLE/STKMAST"> > > If you only want the STKCODE 31, i.e. the first one, > this should be > > <xsl:for-each > select="$x_22/STKAVAILABLE/STKMAST[1]"> > > > <xsl:for-each select="$buy22"> > > <xsl:copy-of select="key('rows-bstkcode', > > $STKCODE) > > /*[name() != 'bstkcode']" /> > > > > </xsl:for-each> > > This should be e.g. > > <xsl:for-each select="$buy22"> > <xsl:for-each select="key('rows-bstkcode', > $STKCODE)"> > <xsl:copy> > <xsl:copy-of select="@id" /> > </xsl:copy> > </xsl:for-each> > > Because what you had would output > > <tran> > <STKMAST Alias="01" STKCODE="31"> > <address/> > <address/> > </STKMAST> > </tran> > > Cheers, > > Jarno > > > > __________________________________ > Do you Yahoo!? > Yahoo! Calendar - Free online calendar with sync to > Outlook(TM). > http://calendar.yahoo.com __________________________________ Do you Yahoo!? Yahoo! Calendar - Free online calendar with sync to Outlook(TM). http://calendar.yahoo.com XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Join XMLs with XLST with , Jarno . Elovirta | Thread | RE: RE: [xsl] Join XMLs with XLST w, Americo Albuquerque |
Re: [xsl] When is a variable a node, David Carlisle | Date | Re: [xsl] When is a variable a node, Oleg Tkachenko |
Month |