Subject: Re: [xsl] Replace(//text()) in XSLT 1 From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Fri, 16 Nov 2012 12:16:07 -0500 |
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(), '-', '–')"/>
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(.,'-','–')"/>
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(., '-', '–')"/> not suffice?
-- Contact us for world-wide XML consulting and instructor-led training Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Google+ profile: https://plus.google.com/116832879756988317389/about Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Replace(//text()) in XSLT, Martin Honnen | Thread | Re: [xsl] Replace(//text()) in XSLT, Michael Kay |
Re: [xsl] Replace(//text()) in XSLT, Martin Honnen | Date | Re: [xsl] Replace(//text()) in XSLT, Michael Kay |
Month |