Subject: Fwd: [xsl] Problem to create an xml file from two xml files From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Wed, 12 Apr 2006 11:43:54 +0530 |
I am trying to post the following query to xsl-list@xxxxxxxxxxxxxxxxxxxxxx . 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Calling Web Service Metho, bryan rasmussen | Thread | [xsl] rephrased: passing parameters, Robert Frank |
[xsl] Calling Web Service Method fr, saurabh lakhia | Date | [xsl] rephrased: passing parameters, Robert Frank |
Month |