XML - Como Trozar Una Unica Etiqueta XML Usando XSLT

 
Vista:

Como Trozar Una Unica Etiqueta XML Usando XSLT

Publicado por Ernesto (1 intervención) el 14/06/2006 02:33:43
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 = "/" >

<ID><xsl:value-of select="substring(TRAMA,1,3)" /><ID>
<NOMBRE><xsl:value-of select="substring(TRAMA,4,18)" /><NOMBRE>
<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!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como Trozar Una Unica Etiqueta XML Usando XSLT

Publicado por Leo (2 intervenciones) el 28/07/2006 14:03:30
Puedes generar una funcion recursiva en donde te vaya cortando cadenas de 23 en 23, esn este momento no tengo la llave del editor XSL que uso, pero si aun te interesa, escribeme a mi correo y tratare de hacerte llegar la funcion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar