Tengo el siguiente xml.
<?xml version="1.0"?>
<cargas>
<carga numero="101" fecha="19/04/2004"/>
<carga numero="102" fecha="21/04/2004"/>
<carga numero="103" fecha="26/04/2004"/>
</cargas>
Desde <xsl:template match="/"> llamo al template
<xsl:apply-templates select="/cargas/carga"/>, en la cual tengo como el que sigue
<xsl:template match="carga">
<xsl:variable name="FechaCarga" select="21/04/2004"/>
<xsl:if test="@fecha[.=$FechaCarga]">
<xsl:call-template name="BuscaCargaAnterior">
<xsl:with-param name="NumOrd" select="number(@numero)-1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="BuscaCargaAnterior">
<xsl:param name="NumOrd"/>
<xsl:for-each select="*/cargas/carga/@numero[.=string($NumOrd)]">
<xsl:value-of select="*/cargas/carga/@fecha"/>
</xsl:for-each>
</xsl:template>
Lo que se quiere en este código es buscar en un nodo con una fecha de entrada que es "21/04/2004"
y obtengo el número, luego resto menos 1 a éste número y nuevamente quiero encontrar la fecha "19/04/2004"
en el nodo buscado con parámetro de entrada número, pero no me resulta, alguna idea para solucionar este tema?
Esto está pensado para hacer la navegación de los dopcumentos xml tanto para ir al anterior y siguiente
de los documentos xml.