Subject: RE: Empty spaces turn to %20
From: "Martinez, Brian" <brian.martinez@xxxxxxxx>
Date: Fri, 28 Mar 2003 09:19:51 -0700
|
> From: David Carlisle [mailto:davidc@xxxxxxxxx]
> Sent: Friday, March 28, 2003 8:54 AM
> Subject: Re: Empty spaces turn to %20
>
> > Use the translate() function:
> >
> > <xsl:value-of select="translate(text(),'%20',' ')"/>
>
>
> That will translate "%20" to " " which does meet the stated
> specification,
> but it will also translate % to space, and remove every 2 and every 0
> from the input string, which probably isn't wanted.
Eh, my bad--I was trying to use translate() as a string replacement
function.
This will get easier in XSLT 2.0, right? Something like:
<xsl:analyze-string select="text()" regex="%20">
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
<xsl:matching-substring>
<xsl:text> </xsl:text>
<xsl:matching-substring>
</xsl:analyze-string>
A bit unwieldy for a string replacement construct (unless I'm missing a
shorthand way of doing this), but I'll take it, particularly when I have no
control over the source XML.
cheers,
b.
| brian martinez brian.martinez@xxxxxxxx |
| lead gui programmer 303.708.7248 |
| trip network, inc. fax 303.790.9350 |
| 6436 s. racine cir. englewood, co 80111 |
| http://www.cheaptickets.com/ http://www.trip.com/ |
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|