[xsl] whitespace as a parameter to a template (replace linefeed with li nefeed tab)

Subject: [xsl] whitespace as a parameter to a template (replace linefeed with li nefeed tab)
From: "MacEwan, James (Information Services)" <James.MacEwan@xxxxxxxxxxxxxxxxxx>
Date: Wed, 30 May 2001 11:58:26 -0500
Hi xsl-list,

Background:
I am producing a text document and need to replace a linefeed character with
a linefeed tab combination.

My input XML "street" tag looks something like this:
...
<street><![CDATA[Suite 123
456 Harrington Way]]></street>
...

I want my output to look like this
...
Addr:	Suite123
	456 Harrington Way
...

I have roughly used the Replace string algorithm as found in Mike Kay's book
(see also http://www.dpawson.co.uk/xsl/replace.html).  I do not wish to
hardcode in the values of the substring to find and substring to put in its
place, but to pass them in as parameters to a template.

Problem:
I am making the call to my "do-replace" template as follows:
<xsl:call-template name="do-replace">
  <xsl:with-param name="text" select="$x"/>
  <xsl:with-param name="replace">&#10;</xsl:with-param>
  <xsl:with-param name="by">&#10;&#09;</xsl:with-param>
</xsl:call-template>

I suspect that the XML parser is converting my the whitespace in the
"replace" and "by" parameters to a single space or an empty string.  What is
the proper way to preserve the white space in parameters being passed into a
template?

Thanks,

J.


James MacEwan
Software Developer
Investors Group Inc.
mailto:James.MacEwan@xxxxxxxxxxxxxxxxxx
v: (204) 956-8515
f: (204) 943-3540


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread