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

Como Trozar Una Unica Etiqueta Xml Usando Xslt Para Generar Otro Xml?

Estas en el tema de Como Trozar Una Unica Etiqueta Xml Usando Xslt Para Generar Otro Xml? en el foro de Programación General en Foros del Web. Buenas mis amigos, tengo una pregunta. tengo un archivo XML que tiene una unica etiqueta que es por ejemplo <TRAMA>001CARLOS PEREZ PERALTA 002JORGE PEREZ PALACIOS ...
  #1 (permalink)  
Antiguo 13/06/2006, 18:29
 
Fecha de Ingreso: junio-2006
Mensajes: 1
Antigüedad: 18 años, 5 meses
Puntos: 0
De acuerdo Como Trozar Una Unica Etiqueta Xml Usando Xslt Para Generar Otro Xml?

Buenas mis amigos, tengo una pregunta.
tengo un archivo XML que tiene una unica etiqueta que es por ejemplo

<TRAMA>001CARLOS PEREZ PERALTA 002JORGE PEREZ PALACIOS 003CARLOS PELAEZ JUAREZ... etc etc etc</TRAMA>

entonces, en base a una unica etiqueta que tiene toda una cadena de valores ID y NOMBRE necesito crear un XSLT que me transforme ese XML en otro XML de esta forma:

<ID>001</ID>
<NOMBRE>CARLOS PEREZ PERALTA</NOMBRE>
<ID>002</ID>
<NOMBRE>JORGE PEREZ PALACIOS</NOMBRE>
<ID>003</ID>
<NOMBRE>CARLOS PELAEZ JUAREZ</NOMBRE>
<ID>... etc</ID>
<NOMBRE>....etc</NOMBRE>
y asi sucesivamente...

entonces como puedo yo realizar eso con un solo XSLT que me transforme un XML en otro archivo XML...????

espero que puedan ayudarme. les voy a agradecer infinitamente.

mi XSLT tiene lo siguiente, no soy muy ducho en XSLT, pero algo hice creo.

<xsl:stylesheet xmlns:xsl = "...1999/XSL/Transform" version = "1.0" >

<xsl:output method = "text" />

<xsl:template match = "/" >

&lt;ID&gt;<xsl:value-of select="substring(TRAMA,1,3)" />&lt;ID&gt;
&lt;NOMBRE&gt;<xsl:value-of select="substring(TRAMA,4,18)" />&lt;NOMBRE&gt;
<xsl:apply-templates />

</xsl:template>

</xsl:stylesheet>

donde TRAMA es todo esto:
<TRAMA>001CARLOS PEREZ PERALTA 002JORGE PEREZ PALACIOS 003CARLOS PELAEZ JUAREZ... etc etc etc</TRAMA>

ojo lo que si se tiene son la cantidad de caracteres por etiqueta. ID tiene 3 caracteres, y nombre tiene 20. son 23 caracteres, es decir, cada 23 caracteres debe volver a generar un <ID>y un <NOMBRE> y asi sucesivamente hasta que acabe toda la trama.

MUCHAS GRACIAS POR LA AYUDA PRESTADA!
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:18.