xsl-list
[Top] [All Lists]

testing for last node of antecesor

2004-06-11 08:49:12
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









<Prev in Thread] Current Thread [Next in Thread>