xsl-list
[Top] [All Lists]

RE: Can you apply a template match on a copy node?

2002-09-18 15:26:20
Hi Mike!

I would strongly advise you to rework the problem, as there is no (IMHO)
clean way to do what you want to do.  The following will work:

<xsl:variable name="myNode">
   <xsl:copy>
      <xsl:apply-templates .../>
   </xsl:copy>
</xsl:variable>

<xsl:apply-templates select="vendor:node-set($myNode)"/>

Where vendor:node-set() is the implementation specific function to
convert an RTF to a node set.

Most problems like this can be solved in better ways, though...

HTH!

Dion

-----Original Message-----
From: Mike Carlisle [mailto:swflash(_at_)hotmail(_dot_)com] 
Sent: Wednesday, September 18, 2002 3:09 PM
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Can you apply a template match on a copy node?

Hello list people,

Wonder if anyone can help. I have an xsl which is applying templates on
match. One of these templates matches on an attribute. For various
reasons
within this template I want to copy the node (filtering out the matched
attribute), and then apply templates to the copy of this node.

How can I reference this copy? So far I have only been able to apply
attribute matches to my new node, not node matches.

Here's my code. It needs to write out the contents of the title
attribute,
make a copy of the node without the title attribute, and then apply
templates to this new copy.

<xsl:template match="*[(_at_)title]">
   <xsl:value-of select="@title" />
   <xsl:copy>
      <xsl:apply-templates select="node()|@*[not(name(.) = 'title')]" />
   </xsl:copy>
</xsl:template>

Any help is much appriecated.

Mike


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


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