Estoy atascado con una lógica relacionada con el hermano anterior,xsl - último hermano anterior
Tratando de mantener XML simple.
<order>
<orderList>
<itemid><id>100</id></itemid>
<itemid><id>100</id></itemid>
<itemid><id>111</id></itemid>
<itemid><id>111</id></itemid>
<itemid><id>123</id></itemid>
<itemid><id>324</id></itemid>
<itemid><id>244</id></itemid>
<itemid><id>244</id></itemid>
</orderList>
</order>
Estoy tratando de encontrar el hermano anterior para cada nodo usando debajo de xsl. Tengo que utilizar para cada lazo para adaptarse a esta lógica en un XSL más grande ...
<html>
<body>
<table border="1">
<xsl:for-each select="order/orderList/itemid">
<tr>
<td>itemid</td>
<td><xsl:value-of select="id" /> </td>
<td> <xsl:value-of select="preceding-sibling::node()"/> </td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
I get these Results
itemid 100
itemid 100 100
itemid 111 100
itemid 111 100 - expecting 111
itemid 123 100 - expecting 111 etc
itemid 324 100
itemid 244 100
itemid 244 100
cualquier ayuda por favor?
¡Gracias por la rápida respuesta !, funciona – Sr7
michael, ¿podría explicar qué significa la sintaxis "* [1]"? – appleLover
The :: * significa seleccionar elementos, cualquiera que sea su nombre, y [1] significa seleccionar el primero (en orden de ejes) (que es el último en el orden de los documentos). –