4.2  Abfragen mit XQuery

Xquery Programmiersprachen XQuery führt im Publishing-Bereich ein Schattendasein. In meiner Zeit als XSL Programmierer für zwei Publishing Firmen hatte ich damit nie zu tun. Erst als ich näher an den eigentlichen Daten war und mit XML Datenbanken zu tun hatte, kam ich mit XQuery in Berührung.

Während relationale Datenbanken mit SQL abgefragt werden, verwendet man bei XML Datenbanken, wie eXist oder Marklogic, XQuery als Abfragesprache.

Aber auch einzelne XML Dokumente können z.B. in Oxygen XML Editor Tools oXygen XML Editor mit dem XQuery Builder Tool oder auch per Saxon Kommandozeile abgefragt werden:

java -cp usr/lib/saxon/saxon.jar net.sf.saxon.Query 
     -s:"schulen.xml" 
     -qs:"/schulen/schule[id='6']" 
     -o:"/Users/Alex/Desktop/schule_6.xml"
Plain Text

Mit der Option -qs kann hier der Querystring angebenen werden.

Wie man an dem einfachen Beispiel schon sieht, ist XQuery mit XPath verwandt. XQuery umfasst den Sprachumfang von XPath bietet aber zusätzlich die FLOWR Syntax um mächtigere Abfragen stellen zu können. Mittels weiterer Extensions können aber auch ganze Programme erstellt werden, die weit über die Funktionalität einer "Abfragesprache" hinausgehen.