XML変換言語
XDuce を汎用関数型言語に拡張したもの。
名前に "query"(クエリ)とあるが、汎用言語としての機能を持つ。ゼロックスのウェブプログラミングモデルを起源とし、マイクロソフト、オラクル、IBMなどが採用していたデファクトスタンダードだったが、W3C勧告として採用された。XPath 2.0 に基づいている。XQuery のプログラムは XSLT と同様に副作用がなく、機能的にもほぼ同じだが(変数や関数の宣言、W3Cスキーマ型を使った繰り返しなど)、文法は大きく異なる。XQuery はロジック駆動型であり、FOR、WHERE、関数合成(例えば fn:concat("<html>", generate-body(), "</html>"))などを使う。一方、XSLTはデータ駆動型であり、入力文書が条件を満たすとテンプレートが起動される形式であり、コードが書かれている順序に実行されるわけではない。