Foros del Web » Programación para mayores de 30 ;) » Programación General »

transformación de XSL con DOCTYPE Entity's

Estas en el tema de transformación de XSL con DOCTYPE Entity's en el foro de Programación General en Foros del Web. A ver si alguien me puede echar un cable ...! Tengo un códgigo XSL parecido a esto: " --- ejemplo.xsl --- <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE ...
  #1 (permalink)  
Antiguo 18/07/2003, 05:04
 
Fecha de Ingreso: julio-2003
Mensajes: 2
Antigüedad: 20 años, 9 meses
Puntos: 0
transformación de XSL con DOCTYPE Entity's

A ver si alguien me puede echar un cable ...!

Tengo un códgigo XSL parecido a esto:

"
--- ejemplo.xsl ---
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
<!ENTITY amp "&">
<!ENTITY NL "<xsl:text>&#xa;</xsl:text>">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="text" media-type="text" encoding="ISO-8859-1"/>

<xsl:template match="root">

...etc ...

</xsl:template>

</xsl:stylesheet>
"

Utilizo las librerías de MSXML2 para la transformación de un
código XML a través de éste XSL de la siguiente forma :

"
Set xmlOrigen = New MSXML2.DOMDocument40
xmlOrigen.async = False
xmlOrigen.Load ("c:\ejemplo.xml")

Set xslPlantilla = New MSXML2.FreeThreadedDOMDocument40
xslPlantilla.async = False
xslPlantilla.Load ("c:\ejemplo.xsl")

Set xslTemplate.stylesheet = xslPlantilla
Set xslProcessor = xslTemplate.createProcessor

xslProcessor.input = xmlOrigen
xslProcessor.Transform
"

Hasta aquí ... de puta madre (acepta parámetros y todo) excepto por el sistema de definir
los ENTITY's que tengamos ... por la causa que sea, parece que para los XSL "normales" no hay
ningún problema, pero parece que no trague cuando éstos llevan definidos unos ENTITY's.

El error que pone es "The stylesheet does not contain a document element.
The stylesheet may be empty, or it may not be a well-formed XML document."

Pero este XSL es correcto, de hecho no hay ningún problema al hacer las transformaciones
a través del cygwin !!!

Si a alguien le suena de qué puede ir esto ... !¿?!¿!?
  #2 (permalink)  
Antiguo 18/07/2003, 11:59
Avatar de Zokor  
Fecha de Ingreso: julio-2002
Mensajes: 167
Antigüedad: 21 años, 9 meses
Puntos: 1
Así a primera vista me resulta raro ver como tienes definida la entidad <!ENTITY NL "<xsl:text> </xsl:text>">

Quizá el procesador lo esté interpretando como etiquetas anidadas, y por eso te dé error ya que no están permitidas. Prueba a quitar esa definición de entidad a ver que tal. No estoy seguro de que así te vaya porque nunca había visto este tipo de definición de entidad y no sé si funciona. Ya nos dices algo.

Saludos
  #3 (permalink)  
Antiguo 21/07/2003, 01:42
 
Fecha de Ingreso: julio-2003
Mensajes: 2
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola Zokor ! Gracias por contestar ...! ;)

El código no se ha "copy-pasteado" bien ... es asÍ :

<!ENTITY NL "<xsl:text>& # x a;</xsl:text>">

La cuestión es que he quitado todos los Entity uno a uno y tampoco funciona, únicamente cuando quito todo el DOCTYPE entero, funciona ... y claro ! no es cuestión ... ;P

Hasta Ahora !
  #4 (permalink)  
Antiguo 23/07/2003, 00:47
Avatar de Zokor  
Fecha de Ingreso: julio-2002
Mensajes: 167
Antigüedad: 21 años, 9 meses
Puntos: 1
Pues ni idea, pero la XSL parece estar bien. Debe ser tema del procesador. Quizá haga falta establecer alguna propiedad o algo para que interprete las entidades. Si después de todo te sigue sin salir, quizá deberías probar con otra librería.

Suerte
  #5 (permalink)  
Antiguo 16/05/2005, 02:57
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
Coloca las entidades en un DTD

Has probado a definir las entidades en un fichero aparte?

Creo recordar que las entidades las puedes meter en un DTD y luego linkas este DTD en tu XSLT.

Besos
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #6 (permalink)  
Antiguo 16/05/2005, 02:58
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
Oops!... veo que este post es un poco antiguo... es que llegué hasta él a través de Google... ;P
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:38.