How do they look like?


Quilt:

FOR $b IN document("http://www.biblio.com/books.xml")//book,
       $a IN $b/author
WHERE  $a/firstname = "Crockett" AND  $a/lastname = "Johnson"
RETURN $b
ABQL:
<q:query xmlns:q="http://www.w3.org/Quilt" >
   <q:flwr>
      <q:for>
         <q:forAssignment variable='$b'>
           <q:pathExpr>document("http://www.biblio.com/books.xml")//book</q:pathExpr>   </q:forAssignment>
         <q:forAssignment variable='$a'> 
           <q:pathExpr>$b/author</q:pathExpr>
         </q:forAssignment>
      </q:for>
      <q:where>
         <q:binaryPrefixExpr name='AND'>
             <q:binaryPrefixExpr name='EQUALS'>
               <q:pathExpr>$a/first</q:pathExpr>
               <q:constant datatype='xsd:string'>Crockett</q:constant>
             </q:binaryPrefixExpr>
             <q:binaryPrefixExpr name='EQUALS'>
               <q:pathExpr>$a/last</q:pathExpr>
               <q:constant datatype='xsd:string'>Johnson</q:constant>
             </q:binaryPrefixExpr>
         </q:binaryPrefixExpr> 
      </q:where>
      <q:return>
         <q:variable name = '$b'/>
      </q:return>
   </q:flwr>
</q:query>

bQ:

<title> $t </title>
WHERE
  $b, $t in document("bib.xml")//book{$b}/title{$t},
  $b/publisher = "Morgan Kaufmann",
  $b/[@year = 2000]

XSQL:

AS result 
SELECT ni 
FROM ni IN "input.xml".news_item 
WHERE Contains(ni.title, '"Foobar Corporation"')=1 ;