I had hoped it would only do it once as well, since it doesn't call the
template again,
As defined it just replaces the first word in each text text eun so if
you are replacing foo by bar then
<x> foo xxx yyy foo <b/> foo <cc> foo kkk foo </cc></x>
vvv !!! vvv !!!
<x> bar xxx yyy foo <b/> bar <cc> bar kkk foo </cc></x>
If you need to identify the first foo in the whole document set up a key
on text() nodes and then use muenchian grouping to identify when you are
at the right text node, and then just apply your template there.
<xsl:key name="foo" use="'foo'"
match="text()[contains(.,'foo')]"/>
<xsl:template match="text()">
<xsl:if test="generate-id(.)=generate-id(key('foo',generate-id('foo')))">
apply the template you had before...
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list