XQuery
# XQuery

In informatica XQuery (abbreviazione per XML Query Language) è un linguaggio di programmazione funzionale, dichiarativo, a tipizzazione statica e Turing-completo, specificato dal W3C e destinato ad interrogare documenti e basi di dati XML.

Risultato derivato dei linguaggi XQL, XML-QL e Quilt, usa la sintassi delle espressioni di XPath per la selezione di specifiche porzioni di documenti XML, con l'aggiunta delle cosiddette espressioni FLWOR per la formulazione di query complesse.

Oltre alle espressioni XPath, esiste un gran numero di caratteristiche interessanti del linguaggio:

* Costruzione di elementi XML ("direct constructors" e "indirect constructors")
* Funzionalità di ordinamento dei risultati secondo l'ordine del documento originale, o secondo altri ordini indicati dal utente
* Funzioni predefinite per il calcolo di equazioni aritmetiche
* Funzioni definite dall'utente
* Funzioni di aggregazione (come avg o count) del tutto similari a quelle di SQL
* Generazione di documenti HTML

A differenza di SQL, che opera su tabelle relazionali, XQuery usa delle strutture dati disposte nell'ordine in cui appaiono nel documento XML sorgente (document order). Tutte le espressioni XQuery debbono rispettare questo ordine tranne che sia specificato diversamente nella espressione stessa (declare ordering unordered).

