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

Re: Combination of normalize-space() and apply-templat

Subject: Re: Combination of normalize-space() and apply-templates
From: Andreas Grytz <agrytz@xxxxxxxxxxxxx>
Date: Thu, 26 Feb 2004 13:48:06 +0100
xsl normalize string
On Thu, Feb 26, 2004 at 10:40:09AM +0000, David Carlisle wrote:
>   <xsl:template match="document">
>    <xsl:apply-templates select="normalize-space(para)" />
>   </xsl:template>
> 
>   It doesn't work. But if I do it this way:
> 
> normalize-space returns a string and you can't apply templates to a
> string, only to nodes.

OK, that's clear.
> 
> However that will normalize the two text nodes separately, producing
> 
> <p>Some text, that is wrapped several times, but should be one line in the output document. And which has -- to make it tricky -- some Elements<em>within</em>which should also be processed.</p>
> 
> and the space around the emph has gone, so you need to put something
> more like
> 
> <xsl:template match="para/text()">
>  <xsl:if test="preceding-sibling::* and (starts-with(.,' ') or
>                                          starts-with(.,'&#10;'))">
>    <xsl:text> </xsl:text>
>  </xsl:if>
>  <xsl:value-of select="normalize-space(.)"/>
>  <xsl:if test="following-sibling::* and (substring(.,string-length(.)-1)=' ' or
>                    substring(.,string-length(.)-1)='&#10;')">
>    <xsl:text> </xsl:text>
>  </xsl:if>
> </xsl:template>
[Missing quotes added and one bracket deleted]

That one worked, except fo the trailing blank. What does it do? Take the
string between to elements. Examine, wether the first character is a
blank or a newline(?). Normalize all space and examine, wether the last
character is a blank or newline. But, can there be a trailing character,
which matches the condition?

To put it clear: Are these instructions proccessed one after each other?

If so, the last condition will always fail, because we already
normalized the string.

Anyway, thanks a lot for the insight.

Andreas

-- 
Andreas Grytz		| http://www.linuxnewmedia.de
Stefan-George-Ring 24	| Tel:	+49 (0) 89 993411-0
D-81929 München		| Fax:	+49 (0) 89 993411-99

 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.