Combinar documentos XML y XSL
Publicado por Kaisser (3 intervenciones) el 23/07/2007 09:45:33
Hola a todos.
Quisiera combinar un XML con un XSL y que este al leer el XML y ver que hace referencias a otros XSL´s poder procesarlos con el primer XSL.
Algo así:
............................/ XSL
XML --- > XSL -- XSL
............................\ XSL
El XML necesita de varios XSL y para poder usarlos todos uso un XSL de control.
He logrado avances, ya soy capaz de acceder a varios ficheros XML desde un XSL.
Digamos que tengo un XML que hace referencia a su vez a varios XML. Con el XSL leo y muestro el XML principal y leo y muestro los otros XML. De ahí el intento de esquema del primer post.
Pues bien, accedo a los XML secundarios pero no puedo hacer un bucle para recorrerlos.
Es decir, con este código:
<xsl:for-each select="document($fich)/ELEMENTOS/ELEMENTO/ATRIBUTOS">
<P> <xsl:value-of select="Atributo"/>
</P>
</xsl:for-each>
Sólo obtengo el primer Atributo el resto no. ¿Por qué?
¿Alguna otra manera de hacer esto?
Muchas gracias, un saludo y espero que además esto le sirva a alguien.
PD: Estoy algo desesperado, no he encontrado mucha documentación en internet.
Quisiera combinar un XML con un XSL y que este al leer el XML y ver que hace referencias a otros XSL´s poder procesarlos con el primer XSL.
Algo así:
............................/ XSL
XML --- > XSL -- XSL
............................\ XSL
El XML necesita de varios XSL y para poder usarlos todos uso un XSL de control.
He logrado avances, ya soy capaz de acceder a varios ficheros XML desde un XSL.
Digamos que tengo un XML que hace referencia a su vez a varios XML. Con el XSL leo y muestro el XML principal y leo y muestro los otros XML. De ahí el intento de esquema del primer post.
Pues bien, accedo a los XML secundarios pero no puedo hacer un bucle para recorrerlos.
Es decir, con este código:
<xsl:for-each select="document($fich)/ELEMENTOS/ELEMENTO/ATRIBUTOS">
<P> <xsl:value-of select="Atributo"/>
</P>
</xsl:for-each>
Sólo obtengo el primer Atributo el resto no. ¿Por qué?
¿Alguna otra manera de hacer esto?
Muchas gracias, un saludo y espero que además esto le sirva a alguien.
PD: Estoy algo desesperado, no he encontrado mucha documentación en internet.
Valora esta pregunta


0