[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Added whitespace


Subject: Re: [xsl] Added whitespace
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 24 Apr 2004 15:49:43 -0400

At 2004-04-24 21:59 +0300, Kaarle Kaila wrote:
I am using libxml2 as my processor. It might be good to have an alternative
one for experiments.

Indeed.


My xslt files are too big to add to the list but a few templates are:

<xsl:template match="text()">
<xsl:if test="local-name(..)!='givenname'">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:value-of select="."/>
</xsl:template>

I see in the above that you are explicitly adding a space before every text node that isn't a child of "givenname" ... so for <place> the built-in template will push the child text node through the template rule and you will get a space before the place name.


It also explains why you get the space before the comma. Here is your original question:

At 2004-04-24 20:48 +0300, Kaarle Kaila wrote:
sitten paikka <place>Bromarf</place>, jonka perdssd pilkku

The result in html is

ja sitten paikka Bromarf , jonka perdssd pilkku


First, the text node ending in "sitten paikka" has the first space, then the text node below <place> adds the second space. Then, the text node ", jonka" is processed and your template adds a space before that as well, so you end up with a space before and after the <place> text node.

So, the processor is doing exactly what you ask: for every text node that is not a child of "givenname", add a space before adding the text node.

I hope this helps.

........................ Ken

--
Public courses: Spring 2004 world tour of hands-on XSL instruction
Each week:   Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO

Hong Kong May 17-21; Bremen Germany May 24-28; Helsinki June 14-18

World-wide on-site corporate, govt. & user group XML/XSL training.
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


Current Thread
Keywords