Anidar un for-each dentro de otro
Publicado por Nicolas (1 intervención) el 25/04/2018 14:55:15
Estimados
Junto con saludarlos, deseo poder mostrar por medio de un XSLT mi XML, el cual tiene nodos repetitivos y dentro de ese nodo hay otro nodo repetitivo, lo cual no he podido resolverlo a desconocimiento del lenguaje XSL. Tanto Equipo como MantencionPreventivaPerdiodo son nodos repetibles, dentro de mi XSLT pude repetir Equipo pero no MantencionPreventivaPerioro, no se si es posible realizar tal funcionamiento
File: Data.xml
File: Transform.xslt
Junto con saludarlos, deseo poder mostrar por medio de un XSLT mi XML, el cual tiene nodos repetitivos y dentro de ese nodo hay otro nodo repetitivo, lo cual no he podido resolverlo a desconocimiento del lenguaje XSL. Tanto Equipo como MantencionPreventivaPerdiodo son nodos repetibles, dentro de mi XSLT pude repetir Equipo pero no MantencionPreventivaPerioro, no se si es posible realizar tal funcionamiento
File: Data.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0"?>
<Producto>
<Equipo Id="0">
<EquipoMarca Id="0">Epson</EquipoMarca>
<EquipoModelo Id="0">i940</EquipoModelo>
<EquipoSerie Id="0">789456123</EquipoSerie>
<EquipoMantencionPreventiva Id="0">
<MantencionPreventivaTope Id="0">4</MantencionPreventivaTope>
<MantencionPreventivaPeriodo Id="0">
<Fecha Id="0">2018/05</Fecha>
</MantencionPreventivaPeriodo>
<MantencionPreventivaPeriodo Id="0">
<Fecha Id="0">2018/06</Fecha>
</MantencionPreventivaPeriodo>
<MantencionPreventivaPeriodo Id="0">
<Fecha Id="0">2018/07</Fecha>
</MantencionPreventivaPeriodo>
<MantencionPreventivaPeriodo Id="0">
<Fecha Id="0">2018/08</Fecha>
</MantencionPreventivaPeriodo>
</EquipoMantencionPreventiva>
</Equipo>
</Producto>
File: Transform.xslt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<html xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0">
<head>
<title>Lista de productos</title>
</head>
<body>
<table>
<tr>
<th>Marca equipo</th>
<th>Modelo equipo</th>
<th>Serie equipo</th>
<th>Tope mantencion preventiva</th>
<th>Periodo</th>
</tr>
<xsl:for-each select="Producto/Equipo">
<tr>
<td><xsl:value-of select="EquipoMarca"/></td>
<td><xsl:value-of select="EquipoModelo"/></td>
<td><xsl:value-of select="EquipoSerie"/></td>
<td><xsl:value-of select="EquipoMantencionPreventiva/MantencionPreventivaTope"/></td>
<td><xsl:value-of select="EquipoMantencionPreventiva/MantencionPreventivaTope/Fecha"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
Valora esta pregunta
0