xsl-list
[Top] [All Lists]

Re: [xsl] Replace(//text()) in XSLT 1

2012-11-16 11:15:06
G. Ken Holman wrote:
At 2012-11-16 12:01 -0500, Nathan Tallman wrote:
I'd like to replace hyphens with en dashes. In XSLT 2.0, I can do this
with replace(text()), but I'm limited to XSLT 1.0.

How could I achieve the same thing in XSLT 1.0?

<xsl:value-of select="replace(//text(), '-', '&#8211;')"/>

First of all, I would expect the above statement to fail because the
first argument to replace has to be a singleton.  I would have used:

   <xsl:value-of select="replace(.,'-','&#8211;')"/>

As for an XSLT 1.0 version, you need a recursive call to walk through
the string making one replacement at a time

Why does
  <xsl:value-of select="translate(., '-', '&#8211;')"/>
not suffice?


--

        Martin Honnen --- MVP Data Platform Development
        http://msmvps.com/blogs/martin_honnen/

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