On 13/04/2012 12:01, Christophe Marchand wrote:
Hum, for my own knowledge improvment, what means the "?" argument ?

It's called "partial function application". Also known in functional programming as "currying".

For example, contains(?, "e") returns a single-argument function which tests whether a given string contains the letter "e".

So, for example, given a function filter(item()*, function(*)) which returns those items in the supplied sequence that satisfy the supplied function, you can call

filter($strings, contains(?, "e"))

to return those strings in $strings that contain the letter "e".

Michael Kay