XSL - Parametros de Oracle a XSL

 
Vista:

Parametros de Oracle a XSL

Publicado por toñy (2 intervenciones) el 08/02/2006 18:41:11
Hola, tengo un problema al pasar parametros a XSl y es el siguiente, desde oracle Forms hago una consulta con cursores que luego paso como parametro a XSL pero no se exactamente como tengo que nombrar para que se recuperen los datos en la siguiente instruccion: <for -each select=""> no se que tengo que poner se que es algo de DATOS_ROW o asi pero no se donde se define, sabe alguien como funciona esto?
MUCHAS 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

Acceder a los datos pasados como parámetros en un bucle utilizando Oracle Forms

Publicado por Alejandro (227 intervenciones) el 05/07/2023 20:19:00
En XSLT, para acceder a los datos que se pasan como parámetros desde una instrucción `<xsl:for-each>`, debes utilizar la función `exslt:node-set()` para convertir el parámetro en un nodo XML. A continuación, puedes utilizar la ruta adecuada para acceder a los datos dentro del `<xsl:for-each>`. A continuación te muestro un ejemplo de cómo puedes hacerlo:

Supongamos que estás pasando un parámetro llamado "datos" desde Oracle Forms a tu hoja de estilo XSLT. Aquí está el código XSLT para acceder a esos datos dentro de un `<xsl:for-each>`:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common">
  <xsl:param name="datos"/>
 
  <xsl:template match="/">
    <xsl:variable name="datosXml" select="exslt:node-set($datos)"/>
 
    <xsl:for-each select="$datosXml/datos_row">
      <!-- Acceso a los datos del cursor -->
      <xsl:value-of select="campo1"/>
      <xsl:value-of select="campo2"/>
      <!-- ... -->
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

En este ejemplo, hemos declarado un parámetro llamado "datos" utilizando `<xsl:param name="datos"/>`. Luego, utilizamos la función `exslt:node-set()` para convertir el parámetro en un nodo XML, que almacenamos en la variable `$datosXml`. A continuación, utilizamos el `<xsl:for-each>` para iterar sobre los elementos `<datos_row>` dentro de los datos y acceder a los campos dentro de cada elemento.

Es importante tener en cuenta que la disponibilidad de la función `exslt:node-set()` depende del procesador XSLT que estés utilizando. La mayoría de los procesadores XSLT modernos admiten esta función, pero algunos más antiguos pueden no hacerlo. Asegúrate de verificar la documentación de tu procesador XSLT para confirmar su compatibilidad.

Espero que esta solución te sea útil para acceder a los datos pasados como parámetros desde Oracle Forms dentro de un `<xsl:for-each>` en tu hoja de estilo XSLT. ¡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