Tu solución
Publicado por
ohre (1 intervención) el 17/03/2006 13:16:30
EL XML
Que sepas que esto funciona, aunque hay que tener cuidado de como se escribe el xsl pq los tabuladores y saltos de linea funcionan un poco raros.
El salto de linea lo hace donde pongo "@" pero puedes poner cualquier otra cosa,
por ejemplo ".", ya que hace el salto de linea al encontrar un caracter.
Espero que te sirva.
<definiciones>
<informacionCabecera>
<idLinea>0000</idLinea>
<cabLinea>I</cabLinea>
<fecGe>14042006</fecGe>
<horGe>163030</horGe>
<relleno>_________</relleno>
</informacionCabecera>
<aplicaciones>
<aplicacion>
<idLinea>1</idLinea>
<cabLinea>A</cabLinea>
<codSS>A1</codSS>
<codUA>A2</codUA>
<denSS>Sistema BBVA1</denSS>
<denUA>Programa1</denUA>
<codSA>A3</codSA>
<denSA>Sistema BBVA1.1</denSA>
<desSA>Se trata de controlar el acceso de los usuarios</desSA>
<codAP>A400</codAP>
<clavA>A5</clavA>
<codRef>A600</codRef>
<equEj>A700</equEj>
<monEj>A8000000</monEj>
<gesBD>SQL</gesBD>
<entHS>S</entHS>
<desMA>S</desMA>
<desNC>S</desNC>
<entor>R</entor>
<desEx>S</desEx>
<desVA>S</desVA>
<desFU>Evitar que el usuario deba registrarse cada vez que accede a una pagina web</desFU>
<obser>Se debe ganar en velocidad y el numero de errores debe disminuir</obser>
<personas>
<persona>
<idLinea>1</idLinea>
<cabLinea>P</cabLinea>
<codSS>A1</codSS>
<codUA>A2</codUA>
<rolPE>RDYD</rolPE>
<uidPE>A115511</uidPE>
<nomPE>Jose Luis Martinez Martinez</nomPE>
<telPE>915552525,689552103</telPE>
<relleno>_________</relleno>
</persona>
<persona>
<idLinea>1</idLinea>
<cabLinea>P</cabLinea>
<codSS>A1</codSS>
<codUA>A2</codUA>
<rolPE>REXP</rolPE>
<uidPE>A551155</uidPE>
<nomPE>Pedro Gonzalez Gonzalez</nomPE>
<telPE>936665522,623457584</telPE>
<relleno>_________</relleno>
</persona>
<persona>
<idLinea>1</idLinea>
<cabLinea>P</cabLinea>
<codSS>A1</codSS>
<codUA>A2</codUA>
<rolPE>PDYD</rolPE>
<uidPE>A155115</uidPE>
<nomPE>Luis Navarro Navarro</nomPE>
<telPE>652553344</telPE>
<relleno>_________</relleno>
</persona>
</personas>
</aplicacion>
<aplicacion>
<idLinea>2</idLinea>
<cabLinea>B</cabLinea>
<codSS>B1</codSS>
<codUA>B2</codUA>
<denSS>Sistema BBVA2</denSS>
<denUA>Programa2</denUA>
<codSA>B3</codSA>
<denSA>Sistema BBVA2.1</denSA>
<desSA>Numeramos la cantidad de procesos que realiza un departamento</desSA>
<codAP>B400</codAP>
<clavA>B5</clavA>
<codRef>B600</codRef>
<equEj>B700</equEj>
<monEj>B8000000</monEj>
<gesBD>PL-SQL</gesBD>
<entHS>N</entHS>
<desMA>N</desMA>
<desNC>N</desNC>
<entor>L</entor>
<desEx>N</desEx>
<desVA>N</desVA>
<desFU>Se contbilizan todos los procesos que realiza cada departamento</desFU>
<obser>Dentro de cada departamento hay que ver cada aplicacion para saber el numero de procesos</obser>
<personas>
<persona>
<idLinea>2</idLinea>
<cabLinea>B</cabLinea>
<codSS>B1</codSS>
<codUA>B2</codUA>
<rolPE>PEXP</rolPE>
<uidPE>C225533</uidPE>
<nomPE>Ana Alonso Alonso</nomPE>
<telPE>91558855,656569575,918980526</telPE>
<relleno>_________</relleno>
</persona>
<persona>
<idLinea>2</idLinea>
<cabLinea>B</cabLinea>
<codSS>B1</codSS>
<codUA>B2</codUA>
<rolPE>RDYD</rolPE>
<uidPE>F556655</uidPE>
<nomPE>Carmen Ruiz Ruiz</nomPE>
<telPE>918546235,954455445</telPE>
<relleno>_________</relleno>
</persona>
<persona>
<idLinea>2</idLinea>
<cabLinea>B</cabLinea>
<codSS>B1</codSS>
<codUA>B2</codUA>
<rolPE>PDYD</rolPE>
<uidPE>C225533</uidPE>
<nomPE>Maria Losada Losada</nomPE>
<telPE>93558855,656569575,918980526</telPE>
<relleno>_________</relleno>
</persona>
</personas>
</aplicacion>
<aplicacion>
<idLinea>2</idLinea>
<cabLinea>B</cabLinea>
<codSS>B1</codSS>
<codUA>B2</codUA>
<denSS>Sistema BBVA2</denSS>
<denUA>Programa2</denUA>
<codSA>B3</codSA>
<denSA>Sistema BBVA2.1</denSA>
<desSA>Numeramos la cantidad de procesos que realiza un departamento</desSA>
<codAP>B400</codAP>
<clavA>B5</clavA>
<codRef>B600</codRef>
<equEj>B700</equEj>
<monEj>B8000000</monEj>
<gesBD>PL-SQL</gesBD>
<entHS>N</entHS>
<desMA>N</desMA>
<desNC>N</desNC>
<entor>L</entor>
<desEx>N</desEx>
<desVA>N</desVA>
<desFU>Se contbilizan todos los procesos que realiza cada departamento</desFU>
<obser>Dentro de cada departamento hay que ver cada aplicacion para saber el numero de procesos</obser>
<personas>
<persona>
<idLinea>2</idLinea>
<cabLinea>B</cabLinea>
<codSS>B1</codSS>
<codUA>B2</codUA>
<rolPE>PEXP</rolPE>
<uidPE>C225533</uidPE>
<nomPE>Ana Alonso Alonso</nomPE>
<telPE>91558855,656569575,918980526</telPE>
<relleno>_________</relleno>
</persona>
<persona>
<idLinea>2</idLinea>
<cabLinea>B</cabLinea>
<codSS>B1</codSS>
<codUA>B2</codUA>
<rolPE>RDYD</rolPE>
<uidPE>F556655</uidPE>
<nomPE>Carmen Ruiz Ruiz</nomPE>
<telPE>918546235,954455445</telPE>
<relleno>_________</relleno>
</persona>
<persona>
<idLinea>2</idLinea>
<cabLinea>B</cabLinea>
<codSS>B1</codSS>
<codUA>B2</codUA>
<rolPE>PDYD</rolPE>
<uidPE>C225533</uidPE>
<nomPE>Maria Losada Losada</nomPE>
<telPE>93558855,656569575,918980526</telPE>
<relleno>_________</relleno>
</persona>
</personas>
</aplicacion>
</aplicaciones>
<informacionPie>
<idLinea>9999</idLinea>
<cabLinea>F</cabLinea>
<numUA>25</numUA>
<numRE>25</numRE>
<numRq>25</numRq>
<relleno>_________</relleno>
</informacionPie>
</definiciones>
---------------------------------------------------------------------------------------------------------------
EL XSL
<?xml version="1.0" encoding="ISO-8859-15" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="iso-8859-15" />
<xsl:template match="definiciones">
<xsl:apply-templates select="informacionCabecera"/>
<xsl:apply-templates select="aplicaciones/aplicacion"/>
<xsl:apply-templates select="informacionPie"/>
</xsl:template>
<xsl:template match="informacionCabecera">
<xsl:value-of select="idLinea"/>
<xsl:value-of select="cabLinea"/>
<xsl:value-of select="fecGe"/>
<xsl:value-of select="horGe"/>
<xsl:value-of select="relleno"/>@
</xsl:template><xsl:template match="*">
<xsl:value-of select="idLinea"/>
<xsl:value-of select="cabLinea"/>
<xsl:value-of select="codSS"/>
<xsl:value-of select="codUA"/>
<xsl:value-of select="denSS"/>
<xsl:value-of select="denUA"/>
<xsl:value-of select="codSA"/>
<xsl:value-of select="denSA"/>
<xsl:value-of select="desSA"/>
<xsl:value-of select="codAP"/>
<xsl:value-of select="clavA"/>
<xsl:value-of select="codRef"/>
<xsl:value-of select="equEj"/>
<xsl:value-of select="monEj"/>
<xsl:value-of select="gesBD"/>
<xsl:value-of select="entHS"/>
<xsl:value-of select="desMA"/>
<xsl:value-of select="desNC"/>
<xsl:value-of select="entor"/>
<xsl:value-of select="desEx"/>
<xsl:value-of select="desVA"/>
<xsl:value-of select="desFU"/>
<xsl:value-of select="obser"/>@
<xsl:for-each select="personas/persona">
<xsl:value-of select="idLinea"/>
<xsl:value-of select="cabLinea"/>
<xsl:value-of select="codSS"/>
<xsl:value-of select="codUA"/>
<xsl:value-of select="rolPE"/>
<xsl:value-of select="uidPE"/>
<xsl:value-of select="nomPE"/>
<xsl:value-of select="telPE"/>
<xsl:value-of select="relleno"/>@
</xsl:for-each></xsl:template>
<xsl:template match="informacionPie">
<xsl:value-of select="idLinea"/>
<xsl:value-of select="cabLinea"/>
<xsl:value-of select="numUA"/>
<xsl:value-of select="numRE"/>
<xsl:value-of select="numRq"/>@
</xsl:template>
</xsl:stylesheet>