HI Everybody ,
I am very new to this list,
As I was going thru the archive , I found the way to
join the 2 or more XML docs using ?copy? and ?key?
element.
I used it in my program , but it seems not working
well . I don?t know Where I went wrong .
The two xml doc that I want to join are
22.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="stock.xslt"?>
<STKAVAILABLE>
<STKMAST Alias="01" STKCODE="31>
<STKCODE IndexID="5011"/>
<STKDESC IndexID="5017"/>
</STKMAST>
<STKMAST Alias="01" STKCODE="30">
<STKCODE IndexID="5011"/>
<STKDESC IndexID="5017"/>
</STKMAST>
<STKMAST Alias="01" STKCODE="32>
<STKCODE IndexID="5011"/>
<STKDESC IndexID="5017"/>
</STKMAST>
</STKAVAILABLE>
buy22.xml
<?xml version="1.0" encoding="UTF-8"?>
<buyermaster>
<name id="a001" deptid="01">
<address/>
<bstkcode>31</bstkcode>
</name>
<name id="a010">
<address/>
<bstkcode>31</bstkcode>
</name>
<name id="a003" deptid="10">
<address/>
<bstkcode>40</bstkcode>
<bstkcode>20</bstkcode>
<bstkcode>35</bstkcode>
</name>
</buyermaster>
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" />
<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:copy>
<xsl:copy-of select="@*" />
<xsl:variable name="STKCODE" select="@STKCODE"
/>
<xsl:for-each select="$buy22">
<xsl:copy-of select="key('rows-bstkcode',
$STKCODE)
/*[name() != 'bstkcode']" />
</xsl:for-each>
</xsl:copy>
</xsl:for-each>
</tran>
</xsl:template>
</xsl:stylesheet>
And I want xml or HTML out put like this
<tran>
<STKMAST STKCODE="31" > <!?from 22.xml>
<name id="a001"/> < !?Corresponding buyer id
from buy22.xml-->
<name id="a010"/>
</STKMAST>
</tran>
but with my join.xslt I am getting following out put (
xml)
<?xml version="1.0" encoding="UTF-8" ?>
<tran>
<STKMAST Alias="01" STKCODE="31" />
<STKMAST Alias="01" STKCODE="30" />
<STKMAST Alias="01" STKCODE="32" />
</tran>
Pls Help me
TIA
Mangesh
__________________________________
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