Re: [xsl] Replacing strings in XSL

Subject: Re: [xsl] Replacing strings in XSL
From: JBryant@xxxxxxxxx
Date: Fri, 18 Mar 2005 16:25:35 -0600
That clears up the issue. I thought you might have a structure like 
<element>      </element>, which would be a different problem.

The following solutions work against this midget XML structure:

<x>
  <y>one two three</y>
</x>

One way to do what you want to do in XSLT 1.0 is this:
  <xsl:template match="y">
    <y>
      <xsl:call-template name="replaceSpace">
        <xsl:with-param name="inString" select="."/>
      </xsl:call-template>
    </y>
  </xsl:template>
 
  <xsl:template name="replaceSpace">
    <xsl:param name="inString"/>
    <xsl:choose>
      <xsl:when test="contains($inString, ' ')">
        <xsl:value-of select="substring-before($inString, ' ')"/>&#160;
        <xsl:call-template name="replaceSpace">
          <xsl:with-param name="inString" 
select="substring-after($inString, ' ')"/>
        </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$inString"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

One way to do it in XSL 2.0 is this:
  <xsl:template match="y">
    <y><xsl:value-of select="replace(., ' ', '&#160;')"/></y>
  </xsl:template>

(Thanks to Dr. Kay for pointing out the replace function earlier today.)

Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)




preetig_2 <preetig_2@xxxxxxxxx> 
03/18/2005 04:05 PM
Please respond to
xsl-list@xxxxxxxxxxxxxxxxxxxxxx


To
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
cc

Subject
Re: [xsl] Replacing strings in XSL






Hi Jay,

My XML has a tag somewhat like this,

<MANUFACTURER>LG Electronics Inc</MANUFACTURER> 

The XSL has to replace the white spaces with &nbsp;
For e.g: LG&nbsp;Electronics&nbsp;Inc

Hope that helps, please let me know if you have nay
questions.

Thanks,
Preeti 


> I'm sure it is, but exactly how you'd want to go
> about it is likely to 
> depend on the details of what you are trying to do.
> How about sending us 
> snippets (small but complete enough to show the
> problem) of your XML 
> source, your stylesheet so far, and your desired
> output. It's pretty hard 
> to answer questions in a vacuum (at least for me).
> 
> Jay Bryant
> Bryant Communicaton Services
> (presently consulting at Synergistic Solution
> Technologies)
> 
> 
> 
> 
> preetig_2 <preetig_2@xxxxxxxxx> 
> 03/18/2005 03:07 PM
> Please respond to
> xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 
> 
> To
> xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> cc
> 
> Subject
> [xsl] Replacing strings in XSL
> 
> 
> 
> 
> 
> 
> Hi ,
> 
> I am trying to replace white space with &nbsp; .
> Please let me know if its doable in XSL.
> 
> Thanks,
> Preeti
> 



 
__________________________________ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/ 

Current Thread