Thanks for your answer.
I'm using regex because this is only a particular use case. Usually I set the value to just one name (because I want to get only strings matching that name).
here a piece of code which should be more explanatory:
<xsl:for-each select="[...]/function[matches(@name, document($config-file)/[...]/funcname)]">
<xsl:variable name="currNode" select="position()"/>
<xsl:variable name="uri" select= "[...]"/>
<xsl:with-param name="counter" select="$currNode"/>
where $configfile is a variable pointing to a file containing the regex. I believe I cannot use the solution you proposed because the file pointed by $configfile is meant to change, i.e. one can change the regex in order to change the result of the script, while the script must be general to address all cases and remain the same (selecting a particular function or all functions except some as in the example above).
I really hope this is possible. Otherwise I would like to know if there is another way to use the $configfile in order to be able to do the trick