Enviado por Ernesto Rondon el día 14 de junio de 2006
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 = \"http://www.w3.org/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.
MIL GRACIAS! espero puedan ayudarme.