XSL - Problemas en el funcionamiento de document con sax

 
Vista:

Problemas en el funcionamiento de document con sax

Publicado por Maria (1 intervención) el 27/09/2005 20:44:43
Hola!!!! estoy tratando de construir un indice a partir de un xml, para llenar los titulos debo hacer una consulta y para los subtitulos otra distinta, esta segunda consulta la guardo dentro de una variable con esta sentencia dentro de mi archivo de transformacion xsl:

<xsl:variable name="XMLTopico" select="document(---la 2da consulta http://...---)"/>

el problema que tengo es que cuando uso el parser saxon la funcion document que realiza la 2da consulta no devuelve el xml esperado de hecho no devuelve nada (estoy casi convencida que no funciona la funcion document con saxon) alguien sabe porque ocurre esto y como puedo solucionarlo o en su defecto de que otra forma puedo hacer una doble consulta en xsl usando un parser?
Gracias!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Consultas múltiples y uso de la función document() con Saxon

Publicado por Alejandro (227 intervenciones) el 05/07/2023 16:43:36
Es posible que estés experimentando un problema con la función `document()` al utilizar Saxon como procesador XSLT. Saxon tiene algunas peculiaridades en relación con la función `document()` y es importante asegurarse de utilizar la sintaxis correcta para su funcionamiento adecuado.

Aquí tienes algunas consideraciones y posibles soluciones:

1. Verifica la sintaxis de la función `document()`: Asegúrate de que estés utilizando la sintaxis correcta para la función `document()`. La función `document()` toma una URL o una ruta de archivo como argumento y devuelve el XML correspondiente. Asegúrate de que la URL esté bien formada y que apunte al recurso correcto.

2. Habilita la resolución de documentos externos: En algunos casos, es posible que debas habilitar explícitamente la resolución de documentos externos en Saxon. Puedes hacerlo agregando opciones de configuración al procesador XSLT. Por ejemplo, si estás utilizando la línea de comandos con Saxon, puedes agregar la opción `-dtd:on` o `-dtd:off` para controlar la resolución de DTD (Document Type Definition).

3. Verifica los permisos de acceso al recurso: Asegúrate de que el recurso al que estás intentando acceder tenga permisos adecuados y esté disponible. Si la URL apunta a un recurso en línea, asegúrate de que no haya restricciones de acceso o bloqueos de firewall que impidan la recuperación del XML.

4. Considera otras opciones de procesador XSLT: Si estás experimentando dificultades persistentes con Saxon y la función `document()`, puedes considerar probar otros procesadores XSLT como Xalan o libxslt. Cada procesador puede tener sus propias implementaciones y comportamientos en relación con la función `document()`.

Recuerda que Saxon es un procesador XSLT altamente utilizado y generalmente admite la función `document()`. Sin embargo, las implementaciones pueden variar, por lo que es importante verificar la sintaxis y las configuraciones específicas para garantizar un funcionamiento correcto.

Si aún tienes problemas con la función `document()` en Saxon, te recomendaría revisar la documentación oficial de Saxon y buscar ejemplos específicos de uso de la función `document()` con ese procesador.

Espero que estas sugerencias te sean útiles y te ayuden a solucionar el problema que estás experimentando. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar