This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: question on apply-templates and strip-space
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Thu, 21 Feb 2002 09:36:12 -0000
- Subject: RE: [xsl] question on apply-templates and strip-space
- Reply-to: xsl-list at lists dot mulberrytech dot com
<xsl:strip-space> only removes text nodes that consist entirely of white
space. To remove white-space that's part of the same text node as printable
characters, use the normalize-space() function.
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Alice Tull
> Sent: 21 February 2002 00:55
> To: XSL-List@lists.mulberrytech.com
> Subject: [xsl] question on apply-templates and strip-space
>
>
>
> Hi,
>
> I'm new to XSL. I'm trying to get the following input:
>
> <MyStuff>
> <Tag1>
> This is just a <Tag2>normal</Tag2> line.
> </Tag1>
> <Tag1>
> This is the second <Tag2>normal</Tag2> line.
> </Tag1>
> </MyStuff>
>
> To be generated as the following output:
>
> Ta-Da:This is just a {1} line.
> Ta-Da:This is the second {1} line.
>
> I want the result to be simple "text" rather than XML or HTML.
>
> Here's my stylesheet:
>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:output method="text" indent="no" />
>
> <xsl:strip-space elements="*"/>
>
> <xsl:template match="Tag2">{<xsl:number
> count="*"/>}</xsl:template>
>
> <xsl:template match="/">
> <xsl:for-each select="MyStuff">
> <xsl:text>Ta-Da:</xsl:text>
> <xsl:apply-templates
> select="Tag1"/><xsl:text>
</xsl:text>
> </xsl:for-each>
> </xsl:template>
> </xsl:stylesheet>
>
> My output was:
> Ta-Da:
> This is just a {1} line.
>
> Ta-Da:
> This is the second {1} line.
>
> Which has more spaces and linefeeds than I want.
> The spaces in the text output was exactly the same as the spaces in
> the original xml file. Shouldn't "strip-space" get rid of the
> linefeed and spaces in the original <Tag1> node? Will normalize-space
> help, and how to use it in the case where I need to apply-templates?
>
> Btw, I tried this on the latest version on both Xalan and libxslt.
>
> thanx,
> alice
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list