XQuery

XQueryは、静的型付け機能を（実装依存の機能として）持つXMLデータ問合せの為の問い合わせ言語であり、チューリング完全な関数型言語でもある。
XPathの目的が木の節点を指し示す（アドレッシング）ことであるのに対して、XQueryの目的はXMLデータソースのための照会機能を提供することである。

関係モデル （関係データベース） における関係問合せが、数学的背景を有する関係代数演算ないし関係論理演算に基づくように、XQuery問合せには形式意味論が与えられている。

XQueryはQuiltと呼ばれる言語をベースに設計されているが、他にもXPath 1.0, SQL、XQL、OQL、XML-QL、MLといった言語の影響を受けている。
2007年1月23日にXQuery 1.0のW3Cでの標準化作業が終了し、勧告（）となった。その後はXQuery 3.0が2014年4月8日、XQuery 3.1が2017年3月21日に勧告された。

 XPath 1.0とXQuery 1.0 (XPath 2.0) 
XQuery 1.0はXPath 2.0の拡張である。XPath 2.0でもXQuery 1.0でも構文的に正しく、かつ正常に実行される式は、いずれの言語でも同じ結果を返す。
一方で、XPath 1.0とXQueryのサブセットであるXPath 2.0とは、基本的性質に違いがある。
XPath 1.0では問合せ結果が重複のないノード集合と定義される一方で、XPath 2.0での問合せ結果は順序を持ち、値の重複を許すシーケンスである。
ただし、XPath 2.0にはXPath 1.0に対する後方互換性モードがオプションとして存在し、このオプションを利用することができる環境においては
XPath 2.0でもXPath 1.0と同じ結果を得ることができる。

 関連項目 
 XML
 XPath
 XSLT
 OQL (オブジェクト問い合わせ言語)
 SQL
 XMLデータベース
 ネイティブXMLデータベース
コンピュータ言語
プログラミング言語
宣言型言語
関数型言語
問い合わせ言語

 外部リンク 
 Don ChamberlinによるXQueryの解説記事(Web Archive)
 XQueryチュートリアル(@IT)
 XQuery from the Experts: Influences on the design of XQuery

 関連リソース 
 xquery cover page
 XQuery 1.0: An XML Query Language (Second Edition) - W3C勧告
 XQuery 3.0: An XML Query Language - W3C勧告
 XQuery 3.1: An XML Query Language - W3C勧告
 XQuery 1.0 and XPath 2.0 Formal Semantics
 XQuery 1.0 and XPath 2.0 Data Model (XDM)
 XQuery 1.0 and XPath 2.0 Functions and Operators
 XSLT 2.0 and XQuery 1.0 Serialization
 Building a Tokenizer for XPath or XQuery
 XML Query Use Cases
 XML Query Test Suite
 XQuery Update Facility
 XQuery 1.0 and XPath 2.0 Full-Text
 XQuery 1.0 and XPath 2.0 Functions and Operators Error Codes Namespace
 XQuery 1.0 Grammar Test Page
 XQuery implementations
 JSR 225: XQuery API for JavaTM (XQJ)

Category:W3C勧告
Category:XML
Category:関数型プログラミング言語
Category:問い合わせ言語