In XSLT 1.0 you can do it recursively (not tested myself):
<xsl:template name="removelines" >
<xsl:param name="text" />
<xsl:choose>
<xsl:when test="string-before($text, '
')>
<xsl:value-of select="string-before($text, '
')" />
<xsl:call-template name="removelines">
<xsl:with-param name="text" select="string-after($text,
'
') />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
In XSLT 2.0 you can do:
<xsl:value-of select="replace(paragraph, '\n', '')" />
Or perhaps (not sure this is more complete):
<xsl:value-of select="replace(paragraph, '
|
', '')" />
Cheers,
Abel Braaksma
http://abelleba.metacarpus.com
Mark Peters wrote:
Hi,
Is there any way to remove line breaks without deleting the whitespace
in-between elements? For example, suppose you started with the
following XML:
<paragraph>
<sentence>Some words are <i>italicized</i> and some words are in
<b>bold</b>.</sentence>
<sentence>Some words are <u>underlined</u>.</sentence>
</paragraph>
I'd like to remove the line breaks, but otherwise retain any existing
whitespace between elements, resulting in the following XML:
<paragraph><sentence>Some words are <i>italicized</i> and some words
are in <b>bold</b>.</sentence><sentence>Some words are
<u>underlined</u>.</sentence></paragraph>
I'm trying to avoid sentences whose contents run together when I
process the text.
Thanks!
Mark
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--