Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/05/2005, 03:27
Avatar de Helbira
Helbira
 
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
Hola deZtino,

yo casi que me encuentro con el problema contrario al que expones aqui.

Mi transformada XSLT en vez de devolver HTML quiero que devuelva texto plano cuyo contenido lo saco tanto de los datos que contienen las etiquetas de mi XML como de secciones CDATA con texto plano que meto entre la lectura de mis etiquetas XML.

Te pongo un ejemplo:

archivo.xml

<root>
<etq1>Texto etq1</etq1>
<etq2>Texto etq2</etq2>
</root>

archivo.xsl

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:template match="/root">
<xsl:value-of select="etq1" />
<xsl:text disable-output-escaping="yes"><![CDATA[[Texto plano dentro de un CDATA]]></xsl:text>
<xsl:value-of select="etq2" />

</xsl:template>
</xsl:stylesheet>


Utilizo la Xalan-C para aplicar mi XSL a mi XML. El resultado de realizar esta transformada la vuelco en un archivo de texto y al editar dicho archivo me encuentro que me conserva los retornos de carro que existen entre <xsl:value-of select="etq1" />, la sección CDATA y <xsl:value-of select="etq2" /> pero yo quiero que me aparezca en una sola linea.

Supongo que si lo escribo todo seguido en el XSLT me construirá lo que yo quiero pero es bastante más largo que el ejemplo que pongo aqui, y a la hora de modificar en un futuro el XSL será más engorroso.

Las secciones CDATA no puedo quitarlas porque el texto plano que puede ir entre ellas puede contener caracteres especiales que quiero que me escriba tal cual de ahí que haya añadido <xsl:text disable-output-escaping="yes">.

Qué se me está escapando?

Besos
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...