[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Merging two xml files
Hi Arul, I have come up, probably with a simpler solution ;) <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:variable name="addresses" select="document('employeeAddresses.xml')"/> <xsl:template match="/employees"> <employees> <xsl:for-each select="employee"> <xsl:variable name="id" select="@id"/> <xsl:variable name="pincode" select="$addresses/employees/employee[$id = @id]/@pincode"/> <employee pincode="{$pincode}"> <lastname><xsl:value-of select="lastname" />< </lastname> <firstname><xsl:value-of select="firstname" /> </firstname> <address><xsl:value-of select="$addresses/employees/employee/address" /> </address> </employee> </xsl:for-each> </employees> </xsl:template> </xsl:stylesheet> Regards, Mukul --- Arulraj <p_arulraj@xxxxxxxxx> wrote: > > Hi, > > I want to merge two xml files, I am using > document()in > xsl file for accessing one file and another file > given > in command prompt for the parser. > > first xml file given below > employeeNames.xml > <?xml version="1.0" encoding="UTF-8"?> > <employees> > <employee id="1"> > <lastname>Smith</lastname> > <firstname>Marsha</firstname> > </employee> > <employee id="2"> > <lastname>Arul</lastname> > <firstname>Raj</firstname> > </employee> > <employee id="3"> > <lastname>Jaya</lastname> > <firstname>Raj</firstname> > </employee> > </employees> > > second xml file > employeeAddresses.xml > > <?xml version="1.0" encoding="UTF-8"?> > <employees> > <employee id="1" pincode="4"> > <address>115 Marshal Rd., > Greenville, MN 39281</address> > </employee> > <employee id="2" pincode="34"> > <address>chennai,India</address> > </employee> > <employee id="3" pincode="47"> > <address>Chennai</address> > </employee> > </employees> > > I am merging this XML file using XSLT > given below > > <?xml version="1.0"?> > <xsl:stylesheet > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > <xsl:output method="xml" indent="yes"/> > > <!-- load the merge file --> > <xsl:variable name="emps" > select="document('employeeAddresses.xml')"/> > > <xsl:template match="/"> > > <employees> > <xsl:for-each select="employees/employee"> > > <!-- cache the employee's ID --> > <xsl:variable name="id"> > <xsl:value-of select="@id"/></xsl:variable> > > <!-- copy the child nodes --> > <employee> > <xsl:copy-of select="child::*"/> > > <!-- copy the children of the matching > employee node > from the merge file --> > <xsl:copy-of > select="$emps/employees/employee[@id=$id]/child::*" > /> > </employee> > </xsl:for-each> > </employees> > </xsl:template> > </xsl:stylesheet> > > Expected Output is: > > <employees> > <employee pincode="4"> > <lastname>Smith</lastname> > <firstname>Marsha</firstname> > <address>115 Marshal Rd., > Greenville, MN 39281</address> > </employee> > <employee pincode="34"> > <lastname>Arul</lastname> > <firstname>Raj</firstname> > <address>chennai,India</address> > </employee> > <employee pincode="47"> > <lastname>Jaya</lastname> > <firstname>Raj</firstname> > <address>Chennai</address> > </employee> > </employees> > > By using above XSL I want get pincode attribute in > output file. > How to check that attribute exists in <employee> and > insert pincode attribute in produced output? > > Please reply if you know, > Thanks in advance > Arul > > __________________________________ > Do you Yahoo!? > Yahoo! Hotjobs: Enter the "Signing Bonus" > Sweepstakes > http://hotjobs.sweepstakes.yahoo.com/signingbonus > > XSL-List info and archive: > http://www.mulberrytech.com/xsl/xsl-list > ________________________________________________________________________ Yahoo! India Mobile: Download the latest polyphonic ringtones. Go to http://in.mobile.yahoo.com XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|