Foros del Web » Programación para mayores de 30 ;) » Programación General »

Transformacion XML a XML con XSL

Estas en el tema de Transformacion XML a XML con XSL en el foro de Programación General en Foros del Web. Hola a todos, tenemos una practica y debemos transformar una factura modelada en XML usando XSL para para adaptarla a una nueva estructura xml que ...
  #1 (permalink)  
Antiguo 05/12/2008, 10:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 29
Antigüedad: 16 años, 3 meses
Puntos: 0
Transformacion XML a XML con XSL

Hola a todos, tenemos una practica y debemos transformar una factura modelada en XML usando XSL para para adaptarla a una nueva estructura xml que ya nos han dado, es decir, debemos recorrer el arbol de la primera e ir creando los nodos de la segunda y metiendo los datos. No sabemos como crear la jerarquia de nodos de la salida, hacemos esto:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="UTF-16" method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:element name="nuevocod">
<xsl:value-of select ="/factura/albaran/item/codigo"> </xsl:value-of>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

Con esto creamos un nodo nuevo codigo y metemos el valor de codigo, ahora queremos crear un hijo de nuevo codigo para meterle otro valor y no sabemos como hacerlo.
  #2 (permalink)  
Antiguo 05/12/2008, 22:24
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 meses
Puntos: 90
Respuesta: Transformacion XML a XML con XSL

En vez de colocar

<xsl:element name="nuevocod">
<xsl:value-of select ="/factura/albaran/item/codigo"> </xsl:value-of>
</xsl:element>

podrías hacer

<nuevocod>
<xsl:value-of select ="/factura/albaran/item/codigo" />
<mastags>
...
</mastags>
</nuevocod>

Como verás, la libertad es infinita en este caso...puedes hacerlo bien fácil...Espero que te sirva

__________________
Esteban Quintana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:33.