|
Subject: [xsl] detecting text between nodes From: "Uwe Janner" <xsl@xxxxxxxxx> Date: Thu, 24 Feb 2005 17:59:02 +0100 |
dear xsl-specialists,
i try write an xsl to transform html-documents (with a restricted
html-subset) directly to fo.
my only problem is the <br/>-tag:
if i have "aaa<br/>bbb<br/>ccc"
then i simply have to replace each br-tag with a <fo:block/> just to insert
a line-break.
but if i have "aaa<br/><br/>bbb" the first br is responsible for the
line-break and the second will insert an empty line, i.e. i have to convert
the second br-tag to something that inserts an empty line:
"aaa<fo:block/><fo:block space-after="10"/>bbb"
so, the attribute "space-after=10" is present if the preceding sibling is a
"br" and there is nothing except whitespace between the current br and the
preceding br;
but how can i express this condition with xpath?
<xsl:template match="br">
<fo:block>
<xsl:if test="name(./preceding-sibling::*[1])='br' and
NOTHINGBUTWHITESPACEBETWEEN(.,./preceding-sibling::*[1])">
<xsl:attribute name="space-after">10pt</xsl:attribute>
</xsl:if>
</fo:block>
</xsl:template>
tia for any hint!
fusel!
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Predicate on root node?, Michael Kay | Thread | Re: [xsl] detecting text between no, António Mota |
| [xsl] Predicate on root node?, Mark Lundquist | Date | [xsl] Chunking xml into single-topi, Kessler, Marcy |
| Month |