Subject: Re: [xsl] 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) |
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> </xsl:text></xsl:variable> <xsl:variable name='tab'><xsl:text>	</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> </xsl:text></xsl:with-param> <xsl:with-param name="by"><xsl:text> 	</xsl:text></xsl:with-param> </xsl:call-template> is the character entity for a line feed; 	 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] whitespace as a parameter to , MacEwan, James (Info | Thread | Re: [xsl] whitespace as a parameter, Chris Nolte |
Re: [xsl] XSL and Namespace, Johannes Döbler | Date | [xsl] How to append the content of , Mohammed Rahman |
Month |