Retroceder   Foros del Web > Programación para sitios web > XML

Respuesta
 
Herramientas Desplegado
Antiguo 18-jul-2003, 05:04   #1 (permalink)
pepetu está en el buen camino
 
Fecha de Ingreso: julio-2003
Mensajes: 2
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 ... !¿?!¿!?
pepetu está desconectado   Responder Citando
Antiguo 18-jul-2003, 11:59   #2 (permalink)
Zokor está en el buen camino
 
Avatar de Zokor
 
Fecha de Ingreso: noviembre-2002
Mensajes: 167
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
Zokor está desconectado   Responder Citando
Antiguo 21-jul-2003, 01:42   #3 (permalink)
pepetu está en el buen camino
 
Fecha de Ingreso: julio-2003
Mensajes: 2
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 !
pepetu está desconectado   Responder Citando
Antiguo 23-jul-2003, 00:47   #4 (permalink)
Zokor está en el buen camino
 
Avatar de Zokor
 
Fecha de Ingreso: noviembre-2002
Mensajes: 167
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
Zokor está desconectado   Responder Citando
Antiguo 16-may-2005, 02:57   #5 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
Idea 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, ...
Helbira está desconectado   Responder Citando
Antiguo 16-may-2005, 02:58   #6 (permalink)
Helbira está en el buen camino
 
Avatar de Helbira
 
Fecha de Ingreso: noviembre-2002
Ubicación: <?xml version="1.0"?><ubicacion>En todos los lugares y a la vez en ninguno</ubicacion>
Mensajes: 1.207
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, ...
Helbira está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 05:40.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93