XQuery is een querytaal die het mogelijk maakt, informatie uit een of meerdere XML-documenten op te vragen. Qua functionaliteit lijkt de taal op SQL. XQuery of XML Query gebruikt XPath-syntaxis om te verwijzen naar specifieke delen van een XML-document. XQuery 1.0 is ontwikkeld door de XML Query werkgroep van het World Wide Web Consortium (W3C). Sinds 23 januari 2007 is het een webstandaard.
Er zijn twee onderscheiden soorten syntaxis voor XQuery:
- De FLWOR-syntaxis (uitspreken 'flower'), waarvan de naam is afgeleid van de vijf basisinstructies die worden gebruikt: FOR, LET, WHERE, ORDER BY en RETURN.
- De XQueryX-syntaxis (XML-syntaxis voor XML-query's), dat door machines te lezen is, en gebruikt kan worden voor het automatisch genereren van query's en voor het inbedden van query's in XML-documenten.
Een uitgevoerde query van XQuery levert een fragment van het doorzochte XML-document op, het resultaat hiervan is ook een XML-document. In het XQuery-datamodel worden deze XML-documenten overigens gezien als boomstructuren.
Veel van de functionaliteit van een eerder ontwikkelde en populaire querytaal voor XML, XQL, wordt ook door XQuery ondersteund.
Voorbeeld
[bewerken | brontekst bewerken]Het voorbeeld hieronder levert per akte uit hamlet.xml (van Shakespeare) een alfabetische lijst op van alle unieke sprekers in die akte:
<hamlet>
{
for $acte in doc("hamlet.xml")//ACT
let $sprekerslijst := distinct-values($acte//SPEAKER)
return
<acte>
<titel>
{
string($acte/TITLE)
}
</titel>
<sprekerslijst>
{
for $spreker in $sprekerslijst
order by $spreker
return
<spreker>
{
$spreker
}
</spreker>
}
</sprekerslijst>
</acte>
}
</hamlet>
Voorbeeld gebaseerd op Engelstalige artikel XQuery
Externe links
[bewerken | brontekst bewerken]- (en) XQuery 3.1: An XML Query Language, W3C Candidate Recommendation 17 December 2015
- (en) XQuery 1.0: An XML Query Language, W3C Recommendation , 23 januari 2007
- (en) XML Syntax for XQuery 1.0 (XQueryX), W3C Recommendation 23 januari 2007
- (en) XML Query (XQuery) 1.1 Requirements, W3C Working Draft, 23 maart 2007