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:
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.