[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE:RE: Join XMLs with XLST with ralative data

Subject: RE:RE: Join XMLs with XLST with ralative data
From: Mangesh Kakade <wadapaav@xxxxxxxxx>
Date: Mon, 9 Jun 2003 03:29:14 -0700 (PDT)
xlst for each
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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.