One of the greatest advantages to using XQuery is that you can pull from multiple documents and execute implicit joins in a single query. But XQuery in NSXMLDocument uses the target (the document itself) as the root of the query, with no way that I can discern of specifying a search outside of the target. Is there just no way to do it? You could build a bunch of temporary collection objects and then try to programmatically combine them but that really takes away from the power of XQuery and it needs to be hard-coded, you can't have the user enter and execute a cross-document query.