Foros de debate
XML
Lista de foros
| Lista de mensajes de este foro
Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Problema con entidades XSL
Enviado por Jose L el día 17 de mayo de 2004
Hola. Tengo una plantilla XSL que contiene entidades del estilo á y demas... y pretendo transformar un documento xml en otro documento xml utilizando esta plantilla. Por ejemplo:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<acentos>
á
é
í
ó
ú
</acentos>
</xsl:template>
</xsl:stylesheet>
e interesa que como salida tenga:
<?xml version="1.0" encoding="iso-8859-1"?>
<acentos>
á
é
í
ó
ú
</acentos>
He probado de todo para intentarlo: declarar las entidades en el XSL y mas perrerias, pero... nada de nada.
Alguien sabe como?????
Muchas gracias...
PD: Ok el ejemplo es tonto, pero es exactamente lo que pretende ser, un ejemplo ilustrativo.. ;-)
Re: Problema con entidades XSL
Enviado por Jose L el día 18 de mayo de 2004
De nuevo el mismo...
Encontre la siguiente solucion, pero... es algo chapuza, creo yo (aunque mas o menos funciona):
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE stylesheet [
<!ENTITY aacute "<xsl:text disable-output-escaping='yes'>&aacute;</xsl:text>">
<!ENTITY eacute "<xsl:text disable-output-escaping='yes'>&eacute;</xsl:text>">
<!ENTITY iacute "<xsl:text disable-output-escaping='yes'>&iacute;</xsl:text>">
<!ENTITY oacute "<xsl:text disable-output-escaping='yes'>&oacute;</xsl:text>">
<!ENTITY uacute "<xsl:text disable-output-escaping='yes'>&uacute;</xsl:text>">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
<xsl:variable name="doc-type"><![CDATA[
<!DOCTYPE article [
<!ENTITY % iso-lat1 SYSTEM "iso-lat1.ent">
%iso-lat1;
]>
]]></xsl:variable>
<xsl:template match="/">
<xsl:value-of select="$doc-type" disable-output-escaping="yes"/>
<acentos>
á
é
í
ó
ú
</acentos>
</xsl:template>
</xsl:stylesheet>
Alguien tiene una mejor idea?????
Muchas gracias.
PD: es mas o menos logica la solucion pero algo liadilla...
Re: Re: Problema con entidades XSL
Enviado por alejandro el día 27 de julio de 2004
esto puede que te sirva, tienes que usar las html 4.01 entities.
http://www.w3schools.com/html/html_entitiesref.asp
Re: Re: Re: Problema con entidades XSL
Enviado por corsario el día 27 de julio de 2004
Si, efectivamente sirve. No queda tan bonito como ó pero se puede poner ó
Ademas solucione el problema de los que no pude hacer funcionar, pero con   funciona perfectamente.
Salu2