RE: merge/join two xml files.
It depends on many details that you haven't supplied, but let's assume (1) apart from the handling of X, the rest of the transformation is copying A.xml unchanged. (2) the element that might or might not contain an X child is called P, and this is the only P element in the document, and the X element from B.xml is to be added as the last child of P. Then with A as the principal input document do: <xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="P[not(X)]"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> <xsl:copy-of select="document('B.xml')//X"/> </xsl:copy> </xsl:template> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: chun ji [mailto:cji_work@xxxxxxxxx] > Sent: 27 November 2006 20:56 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: merge/join two xml files. > > (Sorry if this quiestion have been asked before, cause I just > joined this group 5 minutes ago. ) > > I have two files, A.xml and B.xml. Both files have the same root. > File A might or might not have node X(and its sub elements). > File B will always have node X(and its sub elements). > > If File A does not contain node X, XSLT should get it from > file B and insert it in File A under the defined location. > > If File A contains node X (the location is known), XSLT > should still get it from file B and replace the one existed in File A. > > Does someone know how to make it happen by XSLT ? > > > Thanks a lot ! > > > Chun > > > > > > ______________________________________________________________ > ______________________ > Cheap talk? > Check out Yahoo! Messenger's low PC-to-Phone call rates. > http://voice.yahoo.com
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