Re: [xsl] Copying nodes

Subject: Re: [xsl] Copying nodes
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Wed, 11 Dec 2002 00:06:12 +0100
Hello Juan,

Juan Carlos Gonzalez wrote:
Hi Joerg:

I think I did what you suggested, but still I don't
get the expected results.

Not exactly ;-)


Sorry to keep posting the same question back.
THanks again,
... a frustated newbie on xslt

<xsl:template match="npc">

Change to <xsl:template match="*">.


<xsl:copy>
<xsl:apply-templates select="@*"/> <xsl:apply-templates select="*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@*">
<xsl:copy-of select="."/>
</xsl:template>


<xsl:template match="*">
  <xsl:copy-of select="."/>
</xsl:template>

Remove the template above.


The rest stays the same.

Joerg

<xsl:template match="@URL">
   <xsl:attribute
 name="URL">http://www.mydomain.com</xsl:attribute>
 <!--	            or
 	<xsl:copy>http://www.mydomain.com</xsl:copy>
 -->
</xsl:template>

--- Joerg Heinicke <joerg.heinicke@xxxxxx> wrote:

Hello Juan,

the error is obviously:

Juan Carlos Gonzalez wrote:

I'm transforming on the server, using MSXML 3.0.

This is my stylesheet:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; >
<xsl:output method="html"/>

<xsl:template match="/">
 <xsl:apply-templates select="/Products/npc"/>
</xsl:template>

<xsl:template match="npc">
<xsl:copy>
<xsl:apply-templates select="@*"/> <xsl:copy-of select="*"/>

Here you copy all elements without any processing,
so you never apply templates on @URL. Change it to <xsl:apply-templates
select="*"/> and the the template match to "*". Then it shell work.


Joerg


 </xsl:copy>		
</xsl:template>

<xsl:template match="@*">
 <xsl:copy-of select="."/>
</xsl:template>

<xsl:template match="@URL">
  <xsl:attribute
name="URL">http://www.mydomain.com</xsl:attribute>
<!--	            or
	<xsl:copy>http://www.mydomain.com</xsl:copy>
-->
</xsl:template>

</xsl:stylesheet>

Source file:

<Products>
<npc CatId="01" Descr="Accessories">
<p Price="5.61" Sku="C45-4022" ManfPartNo="4502"
URL="http://www.xxx.com/item.asp?sku=C45-4022"; />
<p Price="9.99" Sku="I30-1032" ManfPartNo="6333"
URL="http://www.xxx.com/item.asp?sku=I30-1032"/> </npc>
</Products>


I just want to replace once I copy the content of

the


URL attribute.

Thanks again.


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


Current Thread