XSL - Alternativa a for-each?

 
Vista:

Alternativa a for-each?

Publicado por Bea (7 intervenciones) el 27/02/2009 09:34:09
Tengo una consulta que al ejecutarla me devuelve todos los registros de dicha consulta, recorriendola asi:

<xsl:for-each select="PARCELAS/PARCELA">

Ahora lo que quiero es que si esa consulta me devuelve 5 registros, yo solo quiero mostrar los 2 primeros, como puedo hacer un bucle en xsl que me vaya de 0 a 2??
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

Mostrar los primeros dos registros de una consulta

Publicado por Alejandro (227 intervenciones) el 06/07/2023 23:00:57
Para mostrar únicamente los dos primeros registros de una consulta en XSL, puedes utilizar la función `position()` junto con una condición en el bucle `xsl:for-each`. A continuación te muestro un ejemplo de cómo lograrlo:

1
2
3
4
5
6
7
8
9
<xsl:for-each select="PARCELAS/PARCELA">
  <xsl:if test="position() &lt;= 2">
    <!-- Aquí puedes incluir el código para mostrar los datos de cada registro -->
    <!-- Por ejemplo: -->
    <p>
      <xsl:value-of select="nombre" />
    </p>
  </xsl:if>
</xsl:for-each>

En este ejemplo, utilizamos la función `position()` para obtener el número de posición actual dentro del bucle `xsl:for-each`. Luego, utilizamos una condición `xsl:if` para verificar si la posición es menor o igual a 2. Solo se mostrarán los registros que cumplan esta condición.

Dentro del bloque `xsl:if`, puedes incluir el código para mostrar los datos de cada registro según tus necesidades. En el ejemplo anterior, utilizamos `<xsl:value-of select="nombre" />` para mostrar el valor del elemento `<nombre>` de cada registro.

Ten en cuenta que la función `position()` devuelve la posición basada en el contexto actual del bucle `xsl:for-each`. Si la consulta devuelve menos de dos registros, solo se mostrarán los disponibles.

Esta solución te permitirá mostrar únicamente los dos primeros registros de una consulta en XSL. Puedes ajustar el número en la condición `xsl:if` según la cantidad de registros que desees mostrar.
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