procesar tags HTML dentro de XML

danielpoza
04 de Diciembre del 2004
Hola, tengo el siguiente problema: He generado un fichero XML en el que tengo tags de este tipo:

<description><![CDATA[Parameter for the <code>checkOut</code> method.]]></description>

lo que quiero es visualizar el contenido de <description> con la palabra "CheckOut" con fuente de tipo "code". Esto es, en el HTML final, no quiero que se vean los tags <code> sino quiero que se procesen. Alguna sugerencia? Puedo cambiar tanto el XML como la hoja de estilos XSL.

Jes?eyes
04 de Diciembre del 2004
Para que puedas usar a los elementos <code> como verdaderos elementos debes primero sacarlos de la sección CDATA, o no serán contados dentro del marcado sino como texto. Una vez que lo hayas hecho, prueba con esta hoja de estilos:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="description">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="code">
<span style="font-family: monospace;"><xsl:value-of select="."/></span>
</xsl:template>
</xsl:stylesheet>

De forma similar, puedes crear plantillas para otros elementos. Ojalá y esto te sea de alguna ayuda.

Jesús