XSL - mismo error

 
Vista:

mismo error

Publicado por mar (1 intervención) el 27/11/2008 01:13:25
hola, me podrias mostrar tu codigo ya que tengo el mismo problema pero no se como incluir la ruta en el xml y llamarlo al xsl-fo
de ante mando 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

Generación de código XSL-FO con ruta de archivo desde XML

Publicado por Alejandro (227 intervenciones) el 06/07/2023 22:13:39
Para resolver tu consulta y todas las consultas relacionadas que puedas tener en el futuro, te proporcionaré un ejemplo de código que te ayudará a incluir la ruta de un archivo en XML y utilizarla en tu transformación XSL-FO.

Supongamos que tienes un archivo XML con la siguiente estructura:

1
2
3
<archivo>
  <ruta>/ruta/al/archivo.pdf</ruta>
</archivo>

Y deseas utilizar la ruta del archivo en un archivo XSL-FO para generar un enlace o realizar alguna operación relacionada con esa ruta.

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

Archivo XSLT:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
  <!-- Template principal -->
  <xsl:template match="/">
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
      <fo:layout-master-set>
        <!-- Definir tus diseños de página aquí -->
      </fo:layout-master-set>
      <fo:page-sequence>
        <!-- Contenido de la página aquí -->
        <fo:block>
          <xsl:apply-templates select="archivo"/>
        </fo:block>
      </fo:page-sequence>
    </fo:root>
  </xsl:template>
 
  <!-- Template para el elemento archivo -->
  <xsl:template match="archivo">
    <!-- Obtener la ruta del archivo -->
    <xsl:variable name="rutaArchivo" select="ruta"/>
 
    <!-- Utilizar la ruta del archivo en tu código XSL-FO -->
    <fo:block>
      El enlace al archivo es:
      <fo:basic-link external-destination="url('<xsl:value-of select="$rutaArchivo"/>')">
        <xsl:value-of select="$rutaArchivo"/>
      </fo:basic-link>
    </fo:block>
  </xsl:template>
 
</xsl:stylesheet>

En este ejemplo, asumimos que estás utilizando XSLT para generar un archivo XSL-FO. La ruta del archivo se encuentra dentro del elemento `<archivo>` en el XML de origen.

En el archivo XSLT, utilizamos el elemento `<xsl:template match="/">` como el template principal para generar el XSL-FO. Dentro de este template, utilizamos el elemento `<xsl:template match="archivo">` para procesar el elemento `<archivo>` en el XML.

Dentro del template `<xsl:template match="archivo">`, guardamos la ruta del archivo en la variable `$rutaArchivo` utilizando la expresión `select="ruta"`. Luego, utilizamos esta variable en tu código XSL-FO para generar un enlace al archivo.

Recuerda ajustar el código según la estructura específica de tu archivo XML y las necesidades de tu archivo XSL-FO. También puedes agregar cualquier otro contenido y estilos adicionales dentro del archivo XSL-FO según tus requisitos.

Esta solución te permitirá incluir la ruta de un archivo desde XML en tu transformación XSL-FO, utilizando la variable correspondiente en tu código XSL-FO para generar enlaces u otras operaciones necesarias.
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