XSL - Xsl y Webconfig-AppSettings

 
Vista:
sin imagen de perfil

Xsl y Webconfig-AppSettings

Publicado por Alejandro (1 intervención) el 20/04/2014 02:15:36
Chicos me encuentro en la siguiente situacion:

tengo un archivo .xsl en el cual tengo el siguiente codigo

<xsl:template name="direccionurl">
<div class="url">
<a href="http://direccion:10000">Inicio</a>
</div>
</xsl:template>


lo que debo lograr es obtener esa url mediante el key de appsettings

<appSettings>
<add key="obtenerurl" value="http://direccion:10000/"/>
</appSettings>


la solucion que encontre para esto funciona para asp:

<a id="lnk" runat="server" href="<%$ AppSettings:obtenerurl%>">Inicio</a>


y para ascx:

<a href="<%= System.Configuration.ConfigurationManager.AppSettings["obtenerurl"] %>">

sin embargo xsl no puede leer esto <% %>

si alguien sabe usar la correcta sintaxis o algun otro metodo por favor ayuda :D

Saludos!!
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

Obtención de URL a partir de appSettings

Publicado por Alejandro (227 intervenciones) el 07/07/2023 16:18:37
En XSLT, no puedes acceder directamente a las appSettings de la misma manera que lo haces en ASP o ASCX. Sin embargo, puedes lograr tu objetivo utilizando una técnica alternativa.

A continuación, te presento una solución utilizando la función `document()` de XSLT para cargar los datos del archivo de configuración XML y obtener el valor de la appSetting correspondiente:

1. Asegúrate de que tu archivo de configuración XML (donde se encuentra la appSetting) sea accesible y esté disponible en la misma ruta que el archivo XSL.

2. En tu archivo XSL, utiliza la función `document()` para cargar el archivo de configuración XML:

1
<xsl:variable name="config" select="document('config.xml')" />

Asegúrate de reemplazar `'config.xml'` con la ruta y nombre de archivo correctos para tu archivo de configuración.

3. Luego, puedes utilizar la variable `$config` para acceder al valor de la appSetting correspondiente:

1
<xsl:variable name="obtenerurl" select="$config/appSettings/add[@key='obtenerurl']/@value" />

Aquí, `$config/appSettings/add[@key='obtenerurl']/@value` es una expresión XPath que selecciona el atributo `value` de la appSetting con el atributo `key` igual a 'obtenerurl'.

4. Finalmente, puedes utilizar el valor obtenido para generar el enlace en tu plantilla XSL:

1
<a href="{$obtenerurl}">Inicio</a>

Aquí, `{$obtenerurl}` es una interpolación de variables en XSLT que inserta el valor de la variable `$obtenerurl` en el atributo `href`.

Ten en cuenta que necesitarás ajustar la ruta y el nombre del archivo de configuración XML en la función `document()` según tu caso.

Esta solución te permitirá obtener la URL deseada a partir de las appSettings en XSLT. Recuerda que la función `document()` puede tener limitaciones dependiendo de la implementación de XSLT que estés utilizando, por lo que es recomendable verificar la documentación específica de tu procesador XSLT para asegurarte de su compatibilidad y ajustes necesarios.

¡Espero que esto te ayude a resolver tu problema!
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