XSL - Includes dinámicos XSL.

 
Vista:
sin imagen de perfil

Includes dinámicos XSL.

Publicado por Joaquin (1 intervención) el 23/09/2014 08:21:36
Hola.

Me ha surgido una duda a la hora de incluir includes.
Tengo un include que puede variar la carpeta a la que apunte y que depende de una variable que determina el país.
la ruta puede ser src/es_javascript/js, src/us_javascript/js , src/fr_javascript/js la cadena del país la tengo que coger de una variable que la recupera de un xml, mi código es el siguiente:
......

<script>
var pais={$LOCALE}
alert("Locale");
var ruta= "src/+pais+"_javascript/js/prueba.js"

</script>
<script type="text/javascript" src="{$ruta}"></script>

....


La ventana se me queda en blanco.
¿Me podéis ayudar?
Muchas gracias de antemano
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

Solución para la inclusión dinámica de JavaScript basado en la variable del país

Publicado por Alejandro (227 intervenciones) el 07/07/2023 16:30:25
Para resolver tu problema de inclusión dinámica de archivos JavaScript basado en una variable de país, puedes utilizar XSLT (Extensible Stylesheet Language Transformations) en combinación con JavaScript. Aquí tienes un ejemplo de cómo puedes lograrlo:

1. Primero, crea un archivo XSLT con el siguiente contenido (llamémoslo "incluir-js.xsl"):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
 
  <xsl:template match="/">
    <html>
      <head>
        <title>Include JavaScript</title>
        <script type="text/javascript">
          var pais = "<xsl:value-of select="$LOCALE"/>"; // Obtener el valor de la variable del país
          var ruta = "src/" + pais + "_javascript/js/prueba.js"; // Construir la ruta del archivo JavaScript
          document.write('<script type="text/javascript" src="' + ruta + '"></script>'); // Incluir el archivo JavaScript
        </script>
      </head>
      <body>
        <h1>Include JavaScript Example</h1>
        <p>JavaScript incluido dinámicamente basado en la variable del país.</p>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

2. En tu archivo XML original, incluye una referencia al archivo XSLT y establece el valor de la variable `$LOCALE` con el país correspondiente. Aquí hay un ejemplo:

1
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="incluir-js.xsl"?>
<root>
  <LOCALE>es</LOCALE> <!-- Cambia el valor de LOCALE según el país deseado -->
</root>

3. Cuando abres el archivo XML en un navegador, se aplicará la transformación XSLT y se generará un HTML resultante que incluirá el archivo JavaScript correspondiente al país seleccionado.

Espero que esta solución te sea útil.
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