Here is what Michael Kay (XSLT star, developer of Saxon, author of every-XSLT-dev-bible "XSLT Programmer's Reference" and XSLT 2.0 editor) writes about XQuery:
The strength of XQuery is that it is a simpler language than XSLT, which makes it much more feasible to implement efficient searching of very large XML databases.
Its other strength is that for simple problems, the XQuery code is much shorter than the XSLT code.
But for complex manipulation of in-memory XML, I would use XSLT every time, regardless of whether you're dealing with "data" problems or "document" problems.
Do you agree with him?
Opposite side?
Well, being XSLT fan for long time I tend to agree too.
While Mike is right (as usual) in his follow-up that one doesn't choose programming language rationally.
I agree with Mike that I would use XSLT over XQuery -- in fact I'd prefer to use XSLT in *all* cases.
XSLT is a richer language (XQuery does not have a feature equivalent to the template-matching mechanism of XSLT). I find it also more structured, readable and elegant.
--Dimitre