xsl-list
[Top] [All Lists]

RE: [xsl] replace

2007-06-12 07:54:42
You are trying to use an XSLT 2.0 construct with an XSLT 1.0 processor.

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: Charles Ohana [mailto:charles(_dot_)ohana(_at_)buongiorno(_dot_)com] 
Sent: 12 June 2007 15:11
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] replace

Thank you. but ... I still have issues. The following code 
returns the eror below. I must be missing something.

Error in expression replace(@name, 'Chuck', 'Charles'): Unknown system
function: replace
Transformation failed: Run-time errors were reported

<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
   <xsl:template match="/cnt">
      <xsl:value-of select="replace(@name, 'Chuck', 'Charles')" />
   </xsl:template>
</xsl:stylesheet>






----- Original Message -----
From: "David Carlisle" <davidc(_at_)nag(_dot_)co(_dot_)uk>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Tuesday, June 12, 2007 9:05 AM
Subject: Re: [xsl] replace



I want to replace "a" by "b"

the code you posted, with Michael's change, would do that 
assuming teh
EXSLT template is at the location implied by you rxsl:import.

 inside "/root/@description" .

I suspect that you mean that you want to output the rest of 
the document
unchanged, except for this change. XSLT will not do that 
automatically
you neeed to add an "identity template" that copies each 
node from the
input to the output. (google for modified identity 
tramsformation, or
see examples in the faq or Jeni's site) the code you posted 
would just
output the string value of the @description output, with 
the replacement
made.
In XSLT2 you don't need any replace templates, just
select="replace(@description,'a','b')
will do the job.
Actually if you real example is a single letter you don't 
need anything
other than
select="translate(@description,'a','b')
which would also work in xslt 1

David


______________________________________________________________
__________
The Numerical Algorithms Group Ltd is a company registered 
in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.

______________________________________________________________
__________


--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>