Subject: Re: [xsl] Merge Two Files From: David Carlisle <davidc@xxxxxxxxx> Date: Fri, 3 Jul 2009 16:04:26 +0100 |
see the other thread today. This is a classic example of where one would start with an identity template. Although here rather than having an identity template and then adding other templates i just modified the template as in this simple case, only one is needed. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" > <xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> <xsl:variable name="id" select="@id"/> <xsl:for-each select="document('mf2.xml')"> <xsl:copy-of select="key('n',$id)"/> </xsl:for-each> </xsl:template> <xsl:key name="n" match="note" use="@id"/> </xsl:stylesheet> the need to use a variable and for-each is just to get round limitations of key() in xslt1, in xslt 2 you could use <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" > <xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> <xsl:copy-of select="key('n',@id,doc('mf2.xml'))"/> </xsl:template> <xsl:key name="n" match="note" use="@id"/> </xsl:stylesheet> David ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Merge Two Files, Martin Honnen | Thread | [xsl] Is it possible to rewrite par, Jonas Voss |
Re: [xsl] Merge Two Files, Martin Honnen | Date | Re: [xsl] returning nodes which hav, Mukul Gandhi |
Month |