I am trying to post the following query to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com . But everytime it is being
bounced
back.
There is a request to u. Could u please post the following query to
xsl-mailing list.
I have following 2 xml files:
booklist.xml
--------------------------
<booklist>
<book>
<title>C++</title>
<author>AAAA</author>
</book>
<book>
<title>XML</title>
<author>BBBB</author>
</book>
</booklist>
books.xml
-------------------
<books>
<book>
<b_title>XML</b_title>
<price>600.00</price>
</book>
<book>
<b_title>C++</b_title>
<price>300.00</price>
</book>
<book>
<b_title>Oracle</b_title>
<price>1500.00</price>
</book>
</books>
When the name of the title will be matched between 2 xml files
Output xml file will contain <title> from booklist.xml and <price> from
books.xml.
Output xml file will be like following:
-------------------------------------------------------------
<bookinfo>
<title>C++</title>
<price>300.00</price>
<title>XML</title>
<price>600.00</price>
<title>Linux</title>
<price>900.00</price>
<title>Java</title>
<price>1000.00</price>
</bookinfo>
Following xsl file I have written, but it is not working.
booklist.xsl (1st method)
------------------------------------------
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="btitle"
select="document('books.xml')/books/book"/>
<xsl:template match="booklist/book">
<bookinfo>
<xsl:for-each select="$btitle">
<xsl:choose>
<xsl:when test="b_title = title">
<title>
<xsl:value-of select="title"/>
</title>
<price>
<xsl:value-of select="$btitle/price"/>
</price>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</bookinfo>
</xsl:template>
</xsl:stylesheet>
booklist.xsl (2nd method)
------------------------------------------
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="btitle"
select="document('books.xml')/books/book"/>
<xsl:variable name="temp" select="document('booklist.xml')"/>
<xsl:variable name="temp1" select="$temp/booklist/book"/>
<xsl:template match="/">
<bookinfo>
<xsl:for-each select="$temp1">
<xsl:choose>
<xsl:when test="title = $btitle/b_title">
<title>
<xsl:value-of select="$temp1/title"/>
</title>
<price>
<xsl:value-of select="$btitle/price"/>
</price>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</bookinfo>
</xsl:template>
</xsl:stylesheet>
Any help will be highly appreciated.
Thanks,
Saurabh
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--