Subject: RE: [xsl] Get value from update.xml and stored in source.xml(update source.xml) From: "Shailesh" <shailesh@xxxxxxxxxxxx> Date: Wed, 8 Sep 2004 16:35:52 +0530 |
Hi, Using msxml 4.0 The Output is: <?xml version="1.0" encoding="utf-16"?> <test> <source.xml> <test> <chapter> <test1 id="0000001"> <test2> </test2> </test1> <test1 id="0000002"> <test2> </test2> </test1> </chapter> </test> </source.xml> <source.xml> </source.xml> <output> <test> <chapter> <test1 id="0000001"> <!--Looking up test1 (id = '0000001')--> <!--With raw xpath:--> <!--With a key:--> </test1> <test1 id="0000002"> <!--Looking up test1 (id = '0000002')--> <!--With raw xpath:--> <!--With a key:--> </test1> </chapter> </test> </output> -----Original Message----- From: Joris Gillis [mailto:roac@xxxxxxxxxx] Sent: Thursday, September 08, 2005 3:40 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Get value from update.xml and stored in source.xml(update source.xml) On Wed, 08 Sep 2004 11:40:56 +0200, Shailesh <> wrote: > I have used posted xml and xslt. > I have written a small code in VB.NET which takes input as "xml" file > and for transformation "xslt" and does the transformation which will > output an xml file. What version of msxml do you use? Please run this diagnosing stylesheet and post the output. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:output method="xml" indent="yes"/> <xsl:variable name="update" select="document('update.xml')"/> <xsl:key name="id" match="*" use="@id"/> <xsl:template match="/"> <test> <source.xml> <xsl:copy-of select="/"/> </source.xml> <source.xml> <xsl:copy-of select="$update"/> </source.xml> <output> <xsl:apply-templates/> </output> </test> </xsl:template> <xsl:template match="*[@id]"> <xsl:variable name="id" select="@id"/> <xsl:copy> <xsl:apply-templates select="@*" /> <xsl:comment>Looking up <xsl:value-of select="local-name()"/> (id = '<xsl:value-of select="@id"/>')</xsl:comment> <xsl:comment>With raw xpath:</xsl:comment> <xsl:copy-of select="$update//*[@id=$id]/*"/> <xsl:comment>With a key:</xsl:comment> <xsl:for-each select="$update"> <xsl:copy-of select="key('id',$id)/*"/> </xsl:for-each> </xsl:copy> </xsl:template> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*" /> </xsl:copy> </xsl:template> </xsl:stylesheet> -- "Em o_da |ti oud]m o_da" - Syjqatgr
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Get value from update.xml, Joris Gillis | Thread | Re: [xsl] Get value from update.xml, David Carlisle |
RE: [xsl] Get value from update.xml, Shailesh | Date | RE: [xsl] Get value from update.xml, Shailesh |
Month |