[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: whitespace as a parameter to a template (replace l

Subject: Re: whitespace as a parameter to a template (replace linefeed with li nefeed tab)
From: Chris Nolte <cgn7094@xxxxxxxxx>
Date: Wed, 30 May 2001 15:19:47 -0700 (PDT)
template replace
I'll jump in, since it's perhaps the only question that will be asked on
this list where I actually know the answer!

Try something like:
<xsl:variable name='lf'><xsl:text>&#10;</xsl:text></xsl:variable>
<xsl:variable name='tab'><xsl:text>&#9;</xsl:text></xsl:variable>
<xsl:variable name='lftab'><xsl:copy-of select='$lf'/><xsl:copy-of
select='$tab'/></xsl:variable>

and 

<xsl:call-template name="do-replace">
   <xsl:with-param name="text" select="$x"/>
   <xsl:with-param name="replace" select="$lf"/>
   <xsl:with-param name="by" select="$lftab"/>
 </xsl:call-template>

If you don't want to define the variables above, I think the only thing
you really need is to put the "replace" and the "by" inside
<xsl:text>...</xsl:text>:


<xsl:call-template name="do-replace">
   <xsl:with-param name="text" select="$x"/>
   <xsl:with-param
name="replace"><xsl:text>&#10;</xsl:text></xsl:with-param>
   <xsl:with-param
name="by"><xsl:text>&#10;&#9;</xsl:text></xsl:with-param>
 </xsl:call-template>

&#10; is the character entity for a line feed; &#9; is the entity
representing a tab.

Hope this helps,
Chris

--- "MacEwan, James (Information Services)"
<James.MacEwan@xxxxxxxxxxxxxxxxxx> wrote:
> 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">
</xsl:with-param>
>   <xsl:with-param name="by">
	</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
> 


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.