RE: [xsl] how to concatenate fields?

Subject: RE: [xsl] how to concatenate fields?
From: "Tiffany Blake" <Tiffany_Blake@xxxxxxx>
Date: Mon, 7 Mar 2005 13:12:30 -0800
i'm 95% done.  the only problem i'm having is getting the "body_text" on the
first line:

WRONG:
"location" - "publish_date" -
"body_text"

how do i get it to look like:
"location" - "publish_date" - "body_text"

-----Original Message-----
From: J.Pietschmann [mailto:j3322ptm@xxxxxxxx]
Sent: Monday, March 07, 2005 1:00 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] how to concatenate fields?


Tiffany Blake wrote:
> does this look correct?

Not quite.

 > <xsl:if test="string-length(location)&gt;0">
 > 	<p><b><xsl:value-of select="location"/></b>" - "
                                                         ^
The linefeed  and the space used for indentation on the next line
will appear in the output and produce a visible space in the browser.
The quotes will also appear in the output.
You should use xsl:text here (see below)

 > 	<xsl:value-of select="publish_date"/>" - "</p>
The </p> end tag will end the block, i.e. you are getting
a new line in the browser.

Try
   <p>
     <xsl:if test="string-length(location)&gt;0">
       <b><xsl:value-of select="location"/></b>
       <xsl:text>-</xsl:text>
       <xsl:value-of select="publish_date"/>
       <xsl:text>-</xsl:text>
     </xsl:if>
     <xsl:if test="string-length(/gapinc/body_text)&gt;0">
       <xsl:apply-templates select="/gapinc/body_text"/>
     </xsl:if>
   </p>

J.Pietschmann

Current Thread