On Feb 21, 2007, at 22:54, Daniel Schaedler wrote:

Hi,

<snip />
I reduced the template to:
***
<xsl:template match="lettertext/styledtext">
 <xsl:value-of select="text" />
</xsl:template>
***
and I still get the spaces.
I'm also sure that the input for the 'value-of' does not contain any spaces.

When I change the template to:
***
<xsl:template match="lettertext/styledtext">
 <xsl:value-of select="text" />
 <xsl:value-of select="text" />
</xsl:template>
***
Then I get every text doubled without a space between the doubletts - as expected.

That's the reason why I believe it has something to do with the calling of the template itself (?)
quite strange - I don't understand it...

The explanation is probably that you have no explicit matching template for text() nodes (note: text(), not your text nodes). In the first case, a linefeed or space in between two text-nodes in your source XML will invoke the built-in template rule:

<xsl:template match="text()">
  <xsl:value-of select="." />
</xsl:template>

When using default/initial values for white-space-treatment, white- space-collapse and linefeed-treatment, these will all be normalized into space characters by FOP.

Very quick way to check this is to try adding the following to your stylesheet:

<xsl:template match="text()" />


HTH!

Cheers,

Andreas

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to