es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Existe alguna forma posible de verificar si la ruta del documento() existe utilizando XSLT?

Estoy utilizando un XML como una referencia en un archivo de transformación XSLT utilizando la función document() para cargar el XML en una variable XSLT. Ahora, si el XML de referencia falta, el procesador arroja un error.

¿Existe alguna manera de prevenir o verificar si el archivo XML existe o no en la ruta especificada en document() (por ejemplo, document(‘c:\temp\lookup.xml’) antes de asignarlo a una variable para su uso en XSLT?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera de prevenir o verificar si el archivo XML existe o no en la ruta especificada en document() antes de asignarlo a una variable para su uso en XSLT. Un enfoque es utilizar la función document-available() en XSLT para verificar si el archivo XML existe o no en la ruta especificada. Si el archivo XML no se encuentra, se puede asignar un valor predeterminado a la variable en lugar del archivo XML. La sintaxis para usar la función document-available() es la siguiente:

    <xsl:if test="document-available('c:\temp\lookup.xml')">
      <xsl:variable name="xmlFile" select="document('c:\temp\lookup.xml')"></xsl:variable>
      <!-- procesar la variable según sea necesario -->
    </xsl:if>
    

    En el ejemplo anterior, la función document-available() verifica si el archivo XML existe en la ruta especificada. Si existe, el archivo XML se carga en la variable $xmlFile que se puede utilizar para procesamiento adicional en XSLT. Si no existe, el código XSLT continúa ejecutándose sin generar un error, lo que permite obtener o asignar el valor predeterminado.

Comments are closed.