> for $id1doc in //text//abstract[contains(.,'Peter')] Do be aware that path expressions involving multiple "//" operators can be very expensive. This depends on the implementation of course, but it's likely to be much better to spell the path out explicitly if you can. Michael Kay http://www.saxonica.com/