[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: replacing a string value - copy-of

Subject: Re: replacing a string value - copy-of
From: Peter Davis <pdavis@xxxxxxxxx>
Date: Thu, 29 Nov 2001 16:22:35 -0800
value copy
On Thursday 29 November 2001 03:20 pm, Jörg Heinicke wrote:
> You don't may copy it, use normal xsl-templates:
>
> <xsl:template match="*|@*|text()">
>     <xsl:copy>
>         <xsl:apply-templates select="*|@*|text()"/>
>     </xsl:copy>
> </xsl:template>
>
> <xsl:template match="sr">
>     <br/>
> </xsl:template>

Yes, that should work.  <xsl:copy-of> does not allow any additional 
processing of its argument.  You have to use the "identity template" to do a 
normal, "shallow" copy of all elements, attributes, and text and then create 
a special template to handle the special case.

But I would like to suggest a modified version of the first template in the 
stylesheet suggested by Jorg (sorry for mutalating the "o" :->).  A more 
correct version (again, taken directly from the XSLT  1.0 spec) should also 
handle processing-instructions (just in case :->):

<xsl:template match="node() | @*">
  <xsl:copy>
    <xsl:apply-templates select="node() | @*"/>
  </xsl:copy>
</xsl:template>

The node() function matches everything except attributes, which means we 
don't have to specify "* | text() | everything-else".

Like Jorg said, because it is a template that matches everything, you need to 
be careful about the "priority", so that any other templates you define will 
not be overridden by the more general template.  You can do this, first of 
all, by placing the general template first in your stylesheet.  You can also 
set <xsl:template ... priority="-1"/> (replacing -1 with some number as need 
be) if you have problems.

-- 
Furthermore, I believe bacon prevents hair loss.
Peter Davis

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.