You are right. I was just investigating on this problem.
Though: for $n score $s in $doc//*[text() contains text {'gauguin','pissarro','monet'}all ]
gives no text from the documents!?

And:  
for $n score $s in $doc//*[text() contains text {'gauguin','pissarro','monet'} ]
gives all the documents containing 'gauguin'.

I have tried this one: for $n score $s in $doc//*[text() contains text {'gauguin',and,'pissarro',and,'cezanne'} all]
Doesn't work properly, either.

Maybe you see a solution?

2011/5/20 Christian Grün <christian.gruen@gmail.com>
> This is the one which works:
> for $n score $s in $doc//*[text() contains text {'pissarro', 'gauguin'} ]

Please note that the quoted query will either choose Pissarro or
Gaugin; see e.g.:

 "A" contains text { "A", "B" }

You'll have to append the "all" modifier to get sure that all artist
names will be returned.

Christian