XSL - Trasnformación de dos XML

 
Vista:

Trasnformación de dos XML

Publicado por Marian (1 intervención) el 02/01/2006 11:57:40
Hola a todos.

Bueno ante todo muchas gracias de antemano. Mi pregunta es la siguiente:

Necesito hacer una transformación de DOS ficheros xml mediante un único fichero xsl. Es posible hacer esta transformación ? Y si es así, cómo debo hacerla ? O alguien me podría indicar algún sitio donde haya ejemplos de esto ?

Pues lo dicho, gracias de antemano y 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

Transformación de dos archivos XML utilizando un único archivo XSL

Publicado por Alejandro (227 intervenciones) el 05/07/2023 19:27:23
¡Hola, Marian!

Sí, es posible hacer una transformación de dos archivos XML mediante un único archivo XSL. La forma de lograrlo es utilizando parámetros en la hoja de estilo XSLT y pasando los nombres de los archivos XML como argumentos al aplicar la transformación.

Aquí tienes un ejemplo de cómo puedes hacerlo:

Supongamos que tienes dos archivos XML, "archivo1.xml" y "archivo2.xml", y deseas aplicar una hoja de estilo XSLT para transformar ambos archivos. Aquí está el contenido de la hoja de estilo "estilo.xsl" que realiza la transformación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <!-- Define los parámetros -->
  <xsl:param name="xml1" select="'archivo1.xml'"/>
  <xsl:param name="xml2" select="'archivo2.xml'"/>
 
  <xsl:template match="/">
    <!-- Aplica la transformación a cada archivo XML -->
    <xsl:apply-templates select="document($xml1)"/>
    <xsl:apply-templates select="document($xml2)"/>
  </xsl:template>
 
  <!-- Define los templates para transformar cada archivo XML -->
  <!-- Template para archivo1.xml -->
  <xsl:template match="archivo1">
    <!-- Transforma archivo1.xml según tus necesidades -->
    <!-- ... -->
  </xsl:template>
 
  <!-- Template para archivo2.xml -->
  <xsl:template match="archivo2">
    <!-- Transforma archivo2.xml según tus necesidades -->
    <!-- ... -->
  </xsl:template>
</xsl:stylesheet>

En este ejemplo, hemos definido dos parámetros, "xml1" y "xml2", con los nombres de los archivos XML. Luego, en el elemento raíz de la hoja de estilo, aplicamos las transformaciones a cada archivo XML utilizando la función `document()` y pasando los nombres de archivo como argumentos.

Puedes ajustar los templates y las transformaciones según tus necesidades.

Para aplicar la transformación con los archivos XML mencionados, puedes utilizar un procesador XSLT, como se muestra en el ejemplo anterior. Solo necesitarás modificar el código Java para cargar y aplicar la hoja de estilo "estilo.xsl".

Si estás buscando más ejemplos y recursos relacionados con XSLT, te recomendaría consultar la documentación oficial de W3C sobre XSLT (https://www.w3.org/TR/xslt/) y buscar tutoriales en línea que cubran casos de uso similares al tuyo. También puedes explorar sitios como Stack Overflow, donde encontrarás preguntas y respuestas relacionadas con XSLT.

Espero que esta información te sea útil. ¡Buena suerte con tus transformaciones XSLT!
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