paul wrote:
somehow it doesn't work for me :( I suspect I have an xpath-problem, but can't
figure out what would be wrong...

my template starts like this:
<xsl:template match="projektindikator_info/projekt/projektindikator">
        <xsl:if test="position() > 1"><fo:block break-before="page"/></xsl:if>

...

it works just fine, but always inserts a blank page at the beginning of the
document. I don't understand this.

It looks like the position is always >1, contrary to what you expect.
This is a common symptom for discounting invisible but still relevant
parts of the source: whitespace.

If you have
 <a>
   <b>stuff</b>
 </a>

and
 <xsl:template match="b">
  <xsl:value select="position()>1"/>
 </xsl:template>

it will always print true, because there is a text node containing
a line feed an a few spaces right before the b element node.

There are two possibilities:
1. Use <xsl:strip-space elements="*"/>, or whatever suits you.
2. Use <xsl:apply-templates select="*"/> or something similar at
 the necessary places, which will apply templates to element nodes only
 and ignore all text nodes.

J.Pietschmann

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

Reply via email to