XSL - Mostrar el valor cauando empieza por algo

 
Vista:

Mostrar el valor cauando empieza por algo

Publicado por fran (1 intervención) el 22/08/2007 12:48:07
¿Cómo hago para mostrar sólo los elementos cuyo valor de un atributo empiece por algo?
Ejemplo:
<xsl:for-each select="//Datasource[@tag='FQI*']">
Para que muestre los que empiecen por FQI. He usado el asterisco, pero no funciona.
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

Filtrar elementos por el valor inicial de un atributo

Publicado por Alejandro (227 intervenciones) el 06/07/2023 16:45:18
Para filtrar los elementos cuyo valor de un atributo empiece por cierta cadena en XSLT, puedes utilizar la función `starts-with()` en combinación con una expresión XPath. A continuación, te muestro cómo puedes hacerlo:

1
2
3
<xsl:for-each select="//Datasource[starts-with(@tag, 'FQI')]">
  <!-- Código para procesar los elementos seleccionados -->
</xsl:for-each>

En este ejemplo, utilizamos la función `starts-with()` para verificar si el valor del atributo `tag` comienza con la cadena "FQI". El predicado `[@tag='FQI*']` no funcionará porque solo comprueba si el valor del atributo es exactamente igual a "FQI*", sin tener en cuenta el inicio de la cadena.

Asegúrate de ajustar el camino de búsqueda (`//Datasource`) según la estructura de tu documento XML.

Con esto, solo los elementos `Datasource` cuyo atributo `tag` comienza con "FQI" serán seleccionados y procesados dentro del bucle `xsl:for-each`.

Recuerda que esta solución es sensible a mayúsculas y minúsculas, por lo que "FQI" y "fqi" serán tratados como diferentes. Si deseas hacer la comparación insensible a mayúsculas y minúsculas, puedes utilizar la función `starts-with()` junto con la función `translate()` para normalizar los valores antes de compararlos.

Espero que esto resuelva tu pregunta.
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