xsl-list
[Top] [All Lists]

RE: Get value from update.xml and stored in source.xml(update source.xml)

2004-09-08 04:05:52
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(_at_)pandora(_dot_)be] 
Sent: Thursday, September 08, 2005 3:40 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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="*[(_at_)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//*[(_at_)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>

--
"Εν οίδα ότι ουδέν οίδα"  - Σωκρατης

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--