XML - XSL

 
Vista:

XSL

Publicado por andres (1 intervención) el 29/11/2006 21:05:12
Muchachos necesito una ayuda, tengo un problema el cual tiene que ver con hiperbinculos, lo que pasa es que tengo varios for-each, los cuales estan divididos para cada paquete como sigue en el siguiente segmento:

>Paquete1
>modulo1
>modulo2
>modulo3
hasta aqui bien pero cuando quiero quiero hacer otro paquete, los hiperbinculos de los modulos del paquete2 se direccionan a los modulos del paquete 1, que debo hacer para controlar esto.... aqui les paso el codigo:

<td width="12%" class="campoMenu">
<a class="cgr_link">
<xsl:attribute name="href">
<xsl:value-of select="concat('#filtros',position())"/>
</xsl:attribute>
Filtros
</a>
</td>
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

Solucionar enlaces incorrectos entre paquetes y módulos

Publicado por Alejandro (258 intervenciones) el 14/07/2023 00:19:58
El problema que estás enfrentando se debe a que estás generando enlaces utilizando la posición del elemento actual en el bucle, pero no estás teniendo en cuenta la estructura de paquetes y módulos. Para solucionar esto, necesitarás generar enlaces que estén basados en la estructura de paquetes y módulos.

Aquí hay un ejemplo de cómo podrías modificar tu código para generar enlaces correctamente teniendo en cuenta la estructura de paquetes y módulos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<td width="12%" class="campoMenu">
  <a class="cgr_link">
    <xsl:attribute name="href">
      <!-- Obtener el nombre del paquete actual -->
      <xsl:variable name="paquete" select="nombreDelPaquete" />
      <!-- Obtener el nombre del módulo actual -->
      <xsl:variable name="modulo" select="nombreDelModulo" />
      <!-- Generar el ID único para el enlace utilizando el nombre del paquete y módulo -->
      <xsl:variable name="enlaceId" select="concat($paquete, '_', $modulo)" />
      <!-- Utilizar el ID único para generar el enlace -->
      <xsl:value-of select="concat('#', $enlaceId)" />
    </xsl:attribute>
    Filtros
  </a>
</td>

En este ejemplo, asumo que tienes variables `nombreDelPaquete` y `nombreDelModulo` que contienen los nombres respectivos del paquete y módulo actual en tu código real. Puedes reemplazar esas variables con las adecuadas en tu contexto.

Lo que hacemos aquí es generar un ID único para cada enlace utilizando el nombre del paquete y el nombre del módulo. Esto asegurará que los enlaces apunten correctamente a los módulos dentro de su respectivo paquete. Asegúrate de ajustar el código de acuerdo a tu estructura y nombres de elementos reales.
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