Try
<xsl:if test="ancestor::detalle/following-sibling::*">
Michael Kay
-----Original Message-----
From: CACTUS_JIROPA [mailto:CACTUS_JIROPA(_at_)terra(_dot_)es]
Sent: 11 June 2004 15:49
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] testing for last node of antecesor
Hello, I have a XML like this:
<listado>
<report>
</report>
<pagina>
</pagina>
<detalle>
<resumen>
</resumen>
<datos>
<reg>
<campoReg>
</campoReg>
<detalle>
<cabecera>
</cabecera>
<pie>
<campoPie>
<nombre>break</nombre>
</campoPie>
</pie>
<resumen>
</resumen>
<datos>
</datos>
</detalle>
</reg>
<reg>
<campoReg>
</campoReg>
<detalle>
<cabecera>
</cabecera>
<pie>
<campoPie>
<nombre>break</nombre>
</campoPie>
</pie>
<resumen>
</resumen>
<datos>
</datos>
</detalle>
</reg>
</datos>
<cabecera>
</cabecera>
<pie>
<campoPie>
<nombre>break</nombre>
</campoPie>
</pie>
</detalle>
</listado>
The problem is than when I evaluate node
//detalle/pie/campoPie/nombre,
in any of its recursive levels, I want to test if that
'detalle' node (
that is always antecesor of 'nombre' ) is the last in his level.
In other words, this is the structure of a report, I want to
introduce a
page break when I find 'break' value in 'nombre' node, but omits this
break in the last node.
I think I have test:
<xsl:if test="ancestor::detalle [position() != last()]">
but it always evaluate to true.
any ideas?
Thank you
Sergio Roldan Castillo
--+------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--