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 perässä pilkku
The result in html is
ja sitten paikka Bromarf , jonka perässä 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(_at_)CraneSoftwrights(_dot_)com
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