Ejemplo: Hacer una consulta de los libros almacenados y su primer autor. En caso de que haya más de un autor para un libro se añade un segundo autor con cadena “abc”
for $b in doc(“libros.xml”)//libro
return <libro>{ $b/titulo }
{ for $a at $i in $b/autor
where $i <= 1
return <autor>{string($a/nombre), “, “,
string($a/apellido)} </autor> }
{if (count($b/autor) > 1)
then<autor>abc.</autor>
else () }
<libro>
Xquery también permite crear nuestras proprias funciones:
<pre>
declare function precioMinimo($p as xs:decimal?, $d as:decimal?)
as :xs:decimal?
{ let $disc := ($p * $d) div 100
return($p - $disc) }
</pre>
Para invocar la función se utilizariá
<precioMinimo>{precioMinimo($libros/precio, $libros/descuento)}</precioMinimo>
Xquery dispone de operadores para hacer comparaciones.
eq = igual
en = no igual
le = menor que
le= menor o igual que
gt = mayor que
ge = mayor o igual que