← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/ordpath-bitlength-assert into lp:zorba

 

Ghislain Fourny has proposed merging lp:~zorba-coders/zorba/ordpath-bitlength-assert into lp:zorba.

Requested reviews:
  Markos Zaharioudakis (markos-za)
  David Graf (davidagraf)
Related bugs:
  Bug #922504 in Zorba: "Endless Loop in Ordpath generation - Assertion?"
  https://bugs.launchpad.net/zorba/+bug/922504

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/ordpath-bitlength-assert/+merge/111413

Adding asserts in OrdPath::getLocalBitLength to prevent endless loops and possibly reproduce such a potential endless loop with more information.
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/ordpath-bitlength-assert/+merge/111413
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'doc/cxx/examples/jsoniq.cpp'
--- doc/cxx/examples/jsoniq.cpp	2012-04-24 11:17:31 +0000
+++ doc/cxx/examples/jsoniq.cpp	2012-06-21 14:35:34 +0000
@@ -33,7 +33,7 @@
 bool
 example_1(Zorba* aZorba)
 {
-  Iterator_t lIterator, lMembers;
+  Iterator_t lIterator;
   XQuery_t lQuery = aZorba->compileQuery("[ 1, 2, 3 ]");
   lIterator = lQuery->iterator();
   lIterator->open();
@@ -48,20 +48,17 @@
   }
 
   // Ensure array has 3 integer members
-  lMembers = lItem.getArrayMembers();
-  lMembers->open();
-  Item lMember;
-  int count = 0;
-  while (lMembers->next(lMember)) {
+  int lSize = lItem.getArraySize();
+  if (lSize != 3) {
+    std::cerr << lSize << " array members returned, expecting 3" << std::endl;
+    return false;
+  }
+  for(int i = 1; i <= lSize; ++i)
+  {
+    Item lMember = lItem.getArrayValue(i);
     // This will throw an exception if the item isn't an integer
     std::cout << lMember.getLongValue() << std::endl;
-    count++;
-  }
-  if (count != 3) {
-    std::cerr << count << " array members returned, expecting 3" << std::endl;
-    return false;
-  }
-  lMembers->close();
+  }
   lIterator->close();
 
   return true;
@@ -83,7 +80,7 @@
 
   Item lMember;
   for (int i = 1; i <= 3; i++) {
-    lMember = lItem.getArrayMember(i);
+    lMember = lItem.getArrayValue(i);
     std::cout << lMember.getLongValue() << std::endl;
   }
 
@@ -130,7 +127,7 @@
   Item lItem;
   lIterator->next(lItem);
 
-  Item lNonMember = lItem.getArrayMember(4);
+  Item lNonMember = lItem.getArrayValue(4);
   lIterator->close();
 
   if (!lNonMember.isNull()) {

=== modified file 'include/zorba/identtypes.h'
--- include/zorba/identtypes.h	2012-06-15 21:31:03 +0000
+++ include/zorba/identtypes.h	2012-06-21 14:35:34 +0000
@@ -40,7 +40,6 @@
     JSON_ITEM_TYPE,
     JSON_OBJECT_TYPE,
     JSON_ARRAY_TYPE,
-    JSON_PAIR_TYPE,
 #endif
     ITEM_TYPE,     // item()
     EMPTY_TYPE,    // empty-sequence()

=== modified file 'include/zorba/item.h'
--- include/zorba/item.h	2012-06-15 21:31:03 +0000
+++ include/zorba/item.h	2012-06-21 14:35:34 +0000
@@ -379,15 +379,36 @@
   store::StoreConsts::JSONItemKind
   getJSONItemKind() const;
 
-  /** \brief Get the members of a JSON Array.
-   *
-   * Note that this function is only available for JSON Arrays.
-   *
-   * @return Iterator over the members of this array.
-   * @throw ZorbaException if an error occure (e.g. the Item is not of type JSON Array).
+  /** \brief Get the size of a JSON Array.
+   *
+   * Note that this function is only available for JSON Arrays.
+   *
+   * @return Item the size of the array.
+   * @throw ZorbaException if an error occured (e.g. the Item is not of type JSON Array).
+   */
+  uint64_t
+  getArraySize() const;
+
+  /** \brief Returns the item in the JSON array at the specified index.
+   *
+   * Note that this function is only available for JSON Arrays.
+   *
+   * @param aIndex the index in the array.
+   * @return Item the indexed Item.
+   * @throw ZorbaException if an error occured (e.g. the Item is not of type JSON Array).
+   */
+  Item
+  getArrayValue(uint32_t aIndex) const;
+
+  /** \brief Get the keys of a JSON Object.
+   *
+   * Note that this function is only available for JSON Objects.
+   *
+   * @return Iterator_t an iterator on the keys of the object.
+   * @throw ZorbaException if an error occured (e.g. the Item is not of type JSON Object).
    */
   Iterator_t
-  getArrayMembers() const;
+  getObjectKeys() const;
 
   /** \brief Returns the value with the given name from a JSON Object.
    *
@@ -400,17 +421,6 @@
   Item
   getObjectValue(String aName) const;
 
-  /** \brief Returns the item in the JSON array at the specified index.
-   *
-   * Note that this function is only available for JSON Arrays.
-   *
-   * @param aIndex the index in the array.
-   * @return Item the indexed Item.
-   * @throw ZorbaException if an error occured (e.g. the Item is not of type JSON Array).
-   */
-  Item
-  getArrayMember(uint32_t aIndex) const;
-
 #endif /* ZORBA_WITH_JSON */
 
   /**

=== modified file 'include/zorba/options.h'
--- include/zorba/options.h	2012-06-15 21:31:03 +0000
+++ include/zorba/options.h	2012-06-21 14:35:34 +0000
@@ -155,15 +155,21 @@
 } Zorba_save_plan_options_t;
 
 typedef enum {
-  CLOUDSCRIPT_EXTENSIONS_YES,
-  CLOUDSCRIPT_EXTENSIONS_NO
-} Zorba_cloudscript_extensions_t;
-
-typedef enum {
-  CLOUDSCRIPT_MULTIPLE_ITEMS_NO,
-  CLOUDSCRIPT_MULTIPLE_ITEMS_ARRAY,
-  CLOUDSCRIPT_MULTIPLE_ITEMS_APPENDED
-} Zorba_cloudscript_multiple_items_t;
+  JSONIQ_EXTENSIONS_YES,
+  JSONIQ_EXTENSIONS_NO
+} Zorba_jsoniq_extensions_t;
+
+typedef enum {
+  JSONIQ_MULTIPLE_ITEMS_NO,
+  JSONIQ_MULTIPLE_ITEMS_ARRAY,
+  JSONIQ_MULTIPLE_ITEMS_APPENDED
+} Zorba_jsoniq_multiple_items_t;
+
+typedef enum {
+  JSONIQ_ALLOW_MIXED_XDM_JDM_YES,
+  JSONIQ_ALLOW_MIXED_XDM_JDM_NO
+} Zorba_jsoniq_allow_mixed_xdm_jdm_t;
+
 
 /** \brief Options that configure the serialization process of a query result.
 *         See http://www.w3.org/TR/2005/CR-xslt-xquery-serialization-20051103/.
@@ -195,9 +201,10 @@
   zorba::String                 version;
 
 #ifdef ZORBA_WITH_JSON
-  Zorba_cloudscript_extensions_t cloudscript_extensions;
-  Zorba_cloudscript_multiple_items_t cloudscript_multiple_items;
-  Zorba_serialization_method_t   cloudscript_xdm_method;
+  Zorba_jsoniq_extensions_t jsoniq_extensions;
+  Zorba_jsoniq_multiple_items_t jsoniq_multiple_items;
+  Zorba_serialization_method_t   jsoniq_xdm_method;
+  Zorba_jsoniq_allow_mixed_xdm_jdm_t jsoniq_allow_mixed_xdm_jdm;
 #endif /* ZORBA_WITH_JSON */
 
   /** \brief Default constructor for SerializerOptions which assigns default values to all

=== modified file 'include/zorba/pregenerated/diagnostic_list.h'
--- include/zorba/pregenerated/diagnostic_list.h	2012-06-15 21:31:03 +0000
+++ include/zorba/pregenerated/diagnostic_list.h	2012-06-21 14:35:34 +0000
@@ -809,26 +809,14 @@
 namespace jerr {
 
 #if defined(ZORBA_WITH_JSON)
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0012;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0013;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0014;
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0001;
 
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0002;
 
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0003;
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNDY0003;
 
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0004;
 
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0007;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0011;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNDY0003;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JSDY0040;
-
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0005;
 
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0006;
@@ -841,17 +829,21 @@
 
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0010;
 
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0011;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0012;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0018;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0020;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0021;
-
-extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0022;
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0011;
+
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0012;
+
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0013;
+
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0014;
+
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0016;
+
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNUP0017;
+
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0003;
+
+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JSDY0040;
 #endif
 
 } // namespace jerr

=== modified file 'include/zorba/store_consts.h'
--- include/zorba/store_consts.h	2012-06-15 21:31:03 +0000
+++ include/zorba/store_consts.h	2012-06-21 14:35:34 +0000
@@ -177,8 +177,7 @@
   {
     jsonItem       = 0,
     jsonObject     = 1,
-    jsonArray      = 2,
-    jsonPair       = 3
+    jsonArray      = 2
   };
 
 
@@ -195,9 +194,6 @@
       case jsonArray:
         return "array";
 
-      case jsonPair:
-        return "pair";
-
       default:
         return "<unknown JSONItemKind>";
     }

=== modified file 'include/zorba/typeident.h'
--- include/zorba/typeident.h	2012-06-15 21:31:03 +0000
+++ include/zorba/typeident.h	2012-06-21 14:35:34 +0000
@@ -105,10 +105,6 @@
     static
     TypeIdentifier_t
     createJSONArrayType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE);
-
-    static
-    TypeIdentifier_t
-    createJSONPairType(IdentTypes::quantifier_t q = IdentTypes::QUANT_ONE);
 #endif
 
     static

=== modified file 'modules/org/jsoniq/www/functions.xq'
--- modules/org/jsoniq/www/functions.xq	2012-04-27 13:16:53 +0000
+++ modules/org/jsoniq/www/functions.xq	2012-06-21 14:35:34 +0000
@@ -29,7 +29,7 @@
  : This module depends on having the JSONiq feature enabled in Zorba,
  : i.e., Zorba must be compiled with ZORBA_WITH_JSON.
  :
- : @author Markos Zaharioudakis, Matthias Brantner
+ : @author Markos Zaharioudakis, Matthias Brantner, Ghislain Fourny
  :)
 module namespace jn = "http://www.jsoniq.org/functions";;
 
@@ -55,7 +55,7 @@
 
 
 (:~
- : Returns the names used in the Pairs of the object. 
+ : Returns the names used in the object. 
  : The names will be returned in an implementation-defined order
  :
  : @param $o A JSON Object.
@@ -65,15 +65,6 @@
 
 
 (:~
- : Returns the values of the pairs within a given JSON object.
- :
- : @param $o A JSON Object.
- : @return the value of each pair within the given object.
- :)
-declare function jn:values($o as object()) as item()* external;
-
-
-(:~
  : Returns the value of a JSON Pair with a given name within a given JSON object.
  : If no such pair exists in the object, returns the empty sequence.
  :
@@ -81,10 +72,33 @@
  : @param $name The name of the pair whose value is to be retrieved
  : @return the value of specified pair within the given object, or the empty sequence.
  :)
+(: obsolete - use $o($name) instead :)
 declare function jn:value($o as object(), $name as xs:string) as item()? external;
 
 
 (:~
+ : Returns the size of a JSON Array. The size of an Array is
+ : the number of members contained within it.
+ :
+ : @param $j A JSON Array.
+ : @return The number of items in $j.
+ :)
+declare function jn:size($j as array()) as xs:integer external;
+
+
+(:~
+ : Returns the member of an Array at the specified position (starting from 1).
+ : If the position is out of bounds of the array, returns the empty sequence.
+ :
+ : @param $a A JSON Array.
+ : @param $p The position in the array.
+ : @return The member at the specified position, or empty sequence.
+ :)
+(: obsolete - use $a($p) instead :)
+declare function jn:member($a as array(), $p as xs:integer) as item()? external;
+
+
+(:~
  : Creates an object from the specified pairs of another given object. 
  : Specifically, for each name in $names, if the object $o has a pair with
  : that name, then a copy of that pair is included in the new object.
@@ -96,29 +110,6 @@
 declare function jn:project($o as object(), $names as xs:string*) as object() external;
 
 (:~
- : Returns the size of a JSON Object or JSON Array. The size of an Object
- : is the number of Pairs contained within it; the size of an Array is
- : the number of members contained within it.
- :
- : @param $j A JSON Object or JSON Array.
- : @return The number of items in $j.
- : @error jn:JUDY0060 if $j is a JSON Pair.
- :)
-declare function jn:size($j as json-item()) as xs:integer external;
-
-
-(:~
- : Returns the member of an Array at the specified position (starting from 1).
- : If the position is out of bounds of the array, returns the empty sequence.
- :
- : @param $a A JSON Array.
- : @param $p The position in the array.
- : @return The member at the specified position, or empty sequence.
- :)
-declare function jn:member($o as array(), $p as xs:integer) as item()? external;
-
-
-(:~
  : Returns the members of an Array.
  :
  : @param $a A JSON Array.

=== modified file 'modules/org/jsoniq/www/pregenerated/errors.xq'
--- modules/org/jsoniq/www/pregenerated/errors.xq	2012-04-27 13:16:53 +0000
+++ modules/org/jsoniq/www/pregenerated/errors.xq	2012-06-21 14:35:34 +0000
@@ -38,9 +38,62 @@
 declare variable $jerr:NS := 'http://www.jsoniq.org/errors';
 
 (:~
+ :It is a type error if the left-hand-side expression of a pair constructor cannot be atomized and cast to a string.
+:)
+declare variable $jerr:JNTY0001 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0001");
+
+(:~
+ :It is a type error if the right-hand-side expression of a pair constructor does not return exactly one item.
+:)
+declare variable $jerr:JNTY0002 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0002");
+
+(:~
+ :It is a dynamic error if two pairs in an object constructor or in a simple object union have the same name.
+:)
+declare variable $jerr:JNDY0003 as xs:QName := fn:QName($jerr:NS, "jerr:JNDY0003");
+
+(:~
+ :It is a type error to call fn:data on a sequence containing an array or an object.
+:)
+declare variable $jerr:JNTY0004 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0004");
+
+(:~
+ :It is a dynamic error if a pending update list contains two inserting update primitives on the same object and pair name.
+:)
+declare variable $jerr:JNUP0005 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0005");
+
+(:~
+ :It is a dynamic error if upd:applyUpdates causes an object to contain two pairs with the same name.
+:)
+declare variable $jerr:JNUP0006 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0006");
+
+(:~
+ :It is a type error if, in an updating expression, an array selector cannot be cast to xs:integer or if an object selector cannot be cast to xs:string.
+:)
+declare variable $jerr:JNUP0007 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0007");
+
+
+declare variable $jerr:JNUP0008 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0008");
+
+(:~
+ :It is a dynamic error if a pending update list contains two replacing update primitives on the same object or array, and with the same selector.
+:)
+declare variable $jerr:JNUP0009 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0009");
+
+(:~
+ :It is a dynamic error if a pending update list contains two renaming update primitives on the same object and with the same selector.
+:)
+declare variable $jerr:JNUP0010 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0010");
+
+(:~
+ :It is a type error if the content sequence in a node constructor or in an XQUF insert or replace update expression contains an object or an array.
+:)
+declare variable $jerr:JNTY0011 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0011");
+
+(:~
  :It is a dynamic error to serialize a sequence of less
  : or more than one item with the JSON output method if the
- : cloudscript-serialization-multiple-items is set to no.
+ : jsoniq-serialization-multiple-items is set to no.
  : 
 :)
 declare variable $jerr:JNSE0012 as xs:QName := fn:QName($jerr:NS, "jerr:JNSE0012");
@@ -48,7 +101,7 @@
 (:~
  :It is a dynamic error to serialize an atomic value not
  : supported by JSON or a node with the JSON output method and with
- : the cloudscript-serialization-extensions serialization parameter
+ : the jsoniq-serialization-extensions serialization parameter
  : set to false.
 :)
 declare variable $jerr:JNSE0013 as xs:QName := fn:QName($jerr:NS, "jerr:JNSE0013");
@@ -59,11 +112,13 @@
 :)
 declare variable $jerr:JNSE0014 as xs:QName := fn:QName($jerr:NS, "jerr:JNSE0014");
 
+
+declare variable $jerr:JNUP0016 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0016");
+
 (:~
- :Expression computing the value of a pair does not return exactly
- : one item.
+ : It is a dynamic error if the value in a replace expression is not exactly a single item.
 :)
-declare variable $jerr:JNTY0002 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0002");
+declare variable $jerr:JNUP0017 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0017");
 
 (:~
  :objects or arrays don't have a string value
@@ -71,86 +126,6 @@
 declare variable $jerr:JNTY0003 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0003");
 
 (:~
- :objects or arrays don't have a typed value
-:)
-declare variable $jerr:JNTY0004 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0004");
-
-(:~
- :wrong type for object/array selector in update expr
-:)
-declare variable $jerr:JNTY0007 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0007");
-
-(:~
- :error raised by node constructor or updating expression indicating that a JSON item cannot appear in the corresponding content sequence
-:)
-declare variable $jerr:JNTY0011 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0011");
-
-(:~
- :error raised by object constructor
-:)
-declare variable $jerr:JNDY0003 as xs:QName := fn:QName($jerr:NS, "jerr:JNDY0003");
-
-(:~
  :parser errors raised by the JSONIQLoader
 :)
-declare variable $jerr:JSDY0040 as xs:QName := fn:QName($jerr:NS, "jerr:JSDY0040");
-
-(:~
- :duplicate pair to insert
-:)
-declare variable $jerr:JNUP0005 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0005");
-
-(:~
- :pair to insert already in object
-:)
-declare variable $jerr:JNUP0006 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0006");
-
-(:~
- :pair to delete not in object
-:)
-declare variable $jerr:JNUP0007 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0007");
-
-(:~
- :duplicate pair to replace
-:)
-declare variable $jerr:JNUP0008 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0008");
-
-(:~
- :pair to replace not in object
-:)
-declare variable $jerr:JNUP0009 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0009");
-
-(:~
- :duplicate pair to rename
-:)
-declare variable $jerr:JNUP0010 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0010");
-
-(:~
- :pair to rename not in object
-:)
-declare variable $jerr:JNUP0011 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0011");
-
-(:~
- :pair to rename already in object
-:)
-declare variable $jerr:JNUP0012 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0012");
-
-(:~
- :position to insert not in array
-:)
-declare variable $jerr:JNUP0018 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0018");
-
-(:~
- :position to delete not in array
-:)
-declare variable $jerr:JNUP0020 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0020");
-
-(:~
- :position to replace not in array
-:)
-declare variable $jerr:JNUP0021 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0021");
-
-(:~
- :duplicate position to replace
-:)
-declare variable $jerr:JNUP0022 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0022");
\ No newline at end of file
+declare variable $jerr:JSDY0040 as xs:QName := fn:QName($jerr:NS, "jerr:JSDY0040");
\ No newline at end of file

=== modified file 'src/api/item.cpp'
--- src/api/item.cpp	2012-06-15 21:31:03 +0000
+++ src/api/item.cpp	2012-06-21 14:35:34 +0000
@@ -37,6 +37,7 @@
 #include "store/api/iterator.h"
 #include "store/api/collection.h"
 
+#include <zorbatypes/numconversions.h>
 
 namespace zorba {
 
@@ -485,14 +486,36 @@
   return store::StoreConsts::jsonItem;
 }
 
+uint64_t
+Item::getArraySize() const
+{
+  ITEM_TRY
+    SYNC_CODE(AutoLock lock(GENV_STORE.getGlobalLock(), Lock::READ);)
+
+    return to_xs_long(m_item->getArraySize());
+  ITEM_CATCH
+  return NULL;
+}
+
+Item
+Item::getArrayValue(uint32_t aIndex) const
+{
+  ITEM_TRY
+    SYNC_CODE(AutoLock lock(GENV_STORE.getGlobalLock(), Lock::READ);)
+    xs_integer lIndex(aIndex);
+    return &*m_item->getArrayValue(lIndex);
+  ITEM_CATCH
+  return Item();
+}
+
 Iterator_t
-Item::getArrayMembers() const
+Item::getObjectKeys() const
 {
   ITEM_TRY
     SYNC_CODE(AutoLock lock(GENV_STORE.getGlobalLock(), Lock::READ);)
 
     // TODO, we should have an error handler here
-    return new StoreIteratorImpl(m_item->getMembers(), nullptr);
+    return new StoreIteratorImpl(m_item->getObjectKeys(), nullptr);
 
   ITEM_CATCH
   return NULL;
@@ -501,34 +524,13 @@
 Item
 Item::getObjectValue(String aName) const
 {
-  zstring& lName = Unmarshaller::getInternalString(aName);
-  store::Item_t lIndex;
-  if (!GENV_ITEMFACTORY->createString(lIndex, lName)) {
-    // QQQ probably should throw exception here
-    return Item();
-  }
-  ITEM_TRY
-    SYNC_CODE(AutoLock lock(GENV_STORE.getGlobalLock(), Lock::READ););
-  store::Item_t lPair = m_item->getPair(lIndex);
-  if (lPair.isNull()) {
-    return Item();
-  }
-  return &*lPair->getValue();
-  ITEM_CATCH
-  return Item();
-}
-
-Item
-Item::getArrayMember(uint32_t aIndex) const
-{
-  store::Item_t lIndex;
-  if (!GENV_ITEMFACTORY->createInteger(lIndex, Integer(aIndex))) {
-    // QQQ probably should throw exception here
-    return Item();
-  }
   ITEM_TRY
     SYNC_CODE(AutoLock lock(GENV_STORE.getGlobalLock(), Lock::READ);)
-      return &*m_item->getMember(lIndex);
+    zstring& lName = Unmarshaller::getInternalString(aName);
+  
+    // TODO, we should have an error handler here
+    return m_item->getObjectValue(lName).getp();
+
   ITEM_CATCH
   return Item();
 }

=== modified file 'src/api/options.cpp'
--- src/api/options.cpp	2012-06-15 21:31:03 +0000
+++ src/api/options.cpp	2012-06-21 14:35:34 +0000
@@ -53,9 +53,10 @@
   encoding(ZORBA_ENCODING_UTF8)
 #ifdef ZORBA_WITH_JSON
   ,
-    cloudscript_extensions(CLOUDSCRIPT_EXTENSIONS_NO),
-    cloudscript_multiple_items(CLOUDSCRIPT_MULTIPLE_ITEMS_NO),
-    cloudscript_xdm_method(ZORBA_SERIALIZATION_METHOD_XML)
+    jsoniq_extensions(JSONIQ_EXTENSIONS_NO),
+    jsoniq_multiple_items(JSONIQ_MULTIPLE_ITEMS_NO),
+    jsoniq_xdm_method(ZORBA_SERIALIZATION_METHOD_XML),
+    jsoniq_allow_mixed_xdm_jdm(JSONIQ_ALLOW_MIXED_XDM_JDM_NO)
 #endif /* ZORBA_WITH_JSON */
 {
 }
@@ -148,23 +149,28 @@
     version = value;
   }
 #ifdef ZORBA_WITH_JSON
-  else if (strcmp(parameter, "cloudscript-extensions") == 0)
+  else if (strcmp(parameter, "jsoniq-extensions") == 0)
   {
-    if (strcmp(value, "yes") == 0) cloudscript_extensions = CLOUDSCRIPT_EXTENSIONS_YES;
-    else if (strcmp(value, "no") == 0) cloudscript_extensions = CLOUDSCRIPT_EXTENSIONS_NO;
+    if (strcmp(value, "yes") == 0) jsoniq_extensions = JSONIQ_EXTENSIONS_YES;
+    else if (strcmp(value, "no") == 0) jsoniq_extensions = JSONIQ_EXTENSIONS_NO;
   }
-  else if (strcmp(parameter, "cloudscript-multiple-items") == 0)
+  else if (strcmp(parameter, "jsoniq-multiple-items") == 0)
   {
     if (strcmp(value, "no") == 0)
-      cloudscript_multiple_items = CLOUDSCRIPT_MULTIPLE_ITEMS_NO;
+      jsoniq_multiple_items = JSONIQ_MULTIPLE_ITEMS_NO;
     else if (strcmp(value, "array") == 0)
-      cloudscript_multiple_items = CLOUDSCRIPT_MULTIPLE_ITEMS_ARRAY;
+      jsoniq_multiple_items = JSONIQ_MULTIPLE_ITEMS_ARRAY;
     else if (strcmp(value, "appended") == 0)
-      cloudscript_multiple_items = CLOUDSCRIPT_MULTIPLE_ITEMS_APPENDED;
-  }
-  else if (strcmp(parameter, "cloudscript-xdm-node-output-method") == 0)
-  {
-    cloudscript_xdm_method = convertMethodString(value, parameter);
+      jsoniq_multiple_items = JSONIQ_MULTIPLE_ITEMS_APPENDED;
+  }
+  else if (strcmp(parameter, "jsoniq-xdm-node-output-method") == 0)
+  {
+    jsoniq_xdm_method = convertMethodString(value, parameter);
+  }
+  else if (strcmp(parameter, "jsoniq-allow-mixed-xdm-jdm") == 0)
+  {
+    if (strcmp(value, "yes") == 0) jsoniq_allow_mixed_xdm_jdm = JSONIQ_ALLOW_MIXED_XDM_JDM_YES;
+    else if (strcmp(value, "no") == 0) jsoniq_allow_mixed_xdm_jdm = JSONIQ_ALLOW_MIXED_XDM_JDM_NO;
   }
 #endif /* ZORBA_WITH_JSON */
 }

=== modified file 'src/api/serialization/serializer.cpp'
--- src/api/serialization/serializer.cpp	2012-06-15 21:31:03 +0000
+++ src/api/serialization/serializer.cpp	2012-06-21 14:35:34 +0000
@@ -933,7 +933,7 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 //                                                                            //
-//  JSON emitter - as defined by CloudScript spec                             //
+//  JSON emitter - as defined by JSONiq spec                             //
 //                                                                            //
 ////////////////////////////////////////////////////////////////////////////////
 
@@ -955,7 +955,7 @@
 {
   // This is called by serializer for each top-level item. Therefore it's the
   // right place to check for multiple items in the sequence.
-  if (theMultipleItems && ser->cloudscript_multiple_items == PARAMETER_VALUE_NO)
+  if (theMultipleItems && ser->jsoniq_multiple_items == PARAMETER_VALUE_NO)
   {
     throw XQUERY_EXCEPTION(jerr::JNSE0012);
   }
@@ -981,9 +981,6 @@
   else if (item->isJSONArray()) {
     emit_json_array(item, depth);
   }
-  else if (item->isJSONPair()) {
-    emit_json_pair(item, depth);
-  }
   else if (item->isAtomic()) {
     store::SchemaTypeCode type = item->getTypeCode();
     switch (type) {
@@ -994,15 +991,15 @@
     case store::XS_DOUBLE:
     case store::XS_FLOAT:
       if (item->isNaN()) {
-        emit_cloudscript_value(type == store::XS_DOUBLE ? "double" : "float",
+        emit_jsoniq_value(type == store::XS_DOUBLE ? "double" : "float",
                                "NaN", depth);
         break;
       }
       else if (item->isPosOrNegInf()) {
         // QQQ with Cloudscript, this is supposed to be INF or -INF - how can
         // I tell which I have?
-        emit_cloudscript_value(type == store::XS_DOUBLE ? "double" : "float",
-                               "Infinity", depth);
+        emit_jsoniq_value(type == store::XS_DOUBLE ? "double" : "float",
+                               "INF", depth);
         break;
       }
       // else fall through
@@ -1033,14 +1030,14 @@
       break;
 
     default: {
-      emit_cloudscript_value(item->getType()->getStringValue(),
+      emit_jsoniq_value(item->getType()->getStringValue(),
                         item->getStringValue(), depth);
       break;
     }
     }
   }
   else {
-    emit_cloudscript_xdm_node(item, depth);
+    emit_jsoniq_xdm_node(item, depth);
   }
 }
 
@@ -1049,8 +1046,8 @@
 ********************************************************************************/
 void serializer::json_emitter::emit_json_object(store::Item* obj, int depth)
 {
-  store::Item_t pair;
-  store::Iterator_t it = obj->getPairs();
+  store::Item_t key;
+  store::Iterator_t it = obj->getObjectKeys();
   it->open();
   bool first = true;
   if (ser->indent) {
@@ -1060,7 +1057,7 @@
     tr << "{ ";
   }
   depth++;
-  while (it->next(pair)) {
+  while (it->next(key)) {
     if (first) {
       first = false;
     }
@@ -1073,7 +1070,9 @@
     if (ser->indent) {
       emit_indentation(depth);
     }
-    emit_json_pair(pair, depth);
+    emit_json_item(key, depth);
+    tr << " : ";
+    emit_json_item(obj->getObjectValue(key->getStringValue()).getp(), depth);
   }
   if (ser->indent) {
     tr << ser->END_OF_LINE;
@@ -1091,18 +1090,15 @@
 void serializer::json_emitter::emit_json_array(store::Item* array, int depth)
 {
   store::Item_t member;
-  store::Iterator_t it = array->getMembers();
-  it->open();
-  bool first = true;
+  xs_integer size = array->getArraySize();
   tr << "[ ";
-  while (it->next(member)) {
-    if (first) {
-      first = false;
-    }
-    else {
+  for (xs_integer i = xs_integer(1); i <= size; ++i) {
+    if (i != 1) {
       tr << ", ";
     }
-    emit_json_item(member, depth);
+    store::Item_t position;
+    GENV_ITEMFACTORY->createInteger(position, i);
+    emit_json_item(array->getArrayValue(position->getIntegerValue()).getp(), depth);
   }
   tr << " ]";
 }
@@ -1110,34 +1106,23 @@
 /*******************************************************************************
 
 ********************************************************************************/
-void serializer::json_emitter::emit_json_pair(store::Item* pair, int depth)
-{
-  emit_json_item(pair->getName(), depth);
-  tr << " : ";
-  emit_json_item(pair->getValue(), depth);
-}
-
-
-/*******************************************************************************
-
-********************************************************************************/
-void serializer::json_emitter::emit_cloudscript_value(
+void serializer::json_emitter::emit_jsoniq_value(
     zstring type,
     zstring value,
     int depth)
 {
   // First make sure we should be doing these extended values
-  if (ser->cloudscript_extensions == PARAMETER_VALUE_NO) {
+  if (ser->jsoniq_extensions == PARAMETER_VALUE_NO) {
     throw XQUERY_EXCEPTION(jerr::JNSE0013, ERROR_PARAMS(value));
   }
 
   // Create items for constant strings, if not already done
-  if (!theCloudScriptValueName)
+  if (!theJSONiqValueName)
   {
-    zstring cloudscriptvaluestring("CloudScript value");
+    zstring jsoniqvaluestring("JSONiq value");
     zstring typestring("type");
     zstring valuestring("value");
-    GENV_ITEMFACTORY->createString(theCloudScriptValueName, cloudscriptvaluestring);
+    GENV_ITEMFACTORY->createString(theJSONiqValueName, jsoniqvaluestring);
     GENV_ITEMFACTORY->createString(theTypeName, typestring);
     GENV_ITEMFACTORY->createString(theValueName, valuestring);
   }
@@ -1158,7 +1143,7 @@
   // Create the outer JSON object with one pair
   names.resize(1);
   values.resize(1);
-  names[0] = theCloudScriptValueName;
+  names[0] = theJSONiqValueName;
   values[0] = inner;
 
   store::Item_t outer;
@@ -1167,18 +1152,18 @@
   emit_json_object(outer, depth);
 }
 
-void serializer::json_emitter::emit_cloudscript_xdm_node(
+void serializer::json_emitter::emit_jsoniq_xdm_node(
     store::Item* item,
     int depth)
 {
   // First make sure we should be doing these extended values
-  if (ser->cloudscript_extensions == PARAMETER_VALUE_NO) {
+  if (ser->jsoniq_extensions == PARAMETER_VALUE_NO) {
     // QQQ probably should put "XML node" in diagnostics_en.xml
     throw XQUERY_EXCEPTION(jerr::JNSE0013, ERROR_PARAMS("XML node"));
   }
 
   // OK, we've got a non-atomic non-JDM Item here, so serialize it as XML
-  // and output it as a "CloudScript XDM node".
+  // and output it as a "JSONiq XDM node".
   if (!theXMLEmitter) {
     theXMLStringStream = new std::stringstream();
     theXMLTranscoder = ser->create_transcoder(*theXMLStringStream);
@@ -1189,17 +1174,17 @@
   theXMLStringStream->str("");
 
   // Create item for constant string, if not already done
-  if (!theCloudScriptValueName)
+  if (!theJSONiqValueName)
   {
-    zstring xdmnodestring("CloudScript XDM node");
-    GENV_ITEMFACTORY->createString(theCloudScriptXDMNodeName, xdmnodestring);
+    zstring xdmnodestring("JSONiq XDM node");
+    GENV_ITEMFACTORY->createString(theJSONiqXDMNodeName, xdmnodestring);
   }
 
   // Create the JSON object, which contains one pair
   std::vector<store::Item_t> names(1);
   std::vector<store::Item_t> values(1);
 
-  names[0] = theCloudScriptXDMNodeName;
+  names[0] = theJSONiqXDMNodeName;
   GENV_ITEMFACTORY->createString(values[0], xml);
 
   store::Item_t object;
@@ -1252,58 +1237,60 @@
   :
     emitter(the_serializer, the_transcoder),
     theEmitterState(JESTATE_UNDETERMINED),
-    theEmitter(nullptr)
+    theXMLEmitter(new xml_emitter(the_serializer, the_transcoder)),
+    theJSONEmitter(new json_emitter(the_serializer, the_transcoder))
 {
 }
 
 serializer::jsoniq_emitter::~jsoniq_emitter()
 {
-  delete theEmitter;
+  delete theXMLEmitter;
+  delete theJSONEmitter;
 }
 
 void serializer::jsoniq_emitter::emit_declaration()
 {
-  // Probably I should set a flag here to note whether emit_declaration() has
-  // been called or not. However, I know that all serializer::serialize()
-  // methods DO call emit_declaration() and call it first, so there's no need.
 }
 
 void serializer::jsoniq_emitter::emit_item(store::Item *item)
 {
+  
   bool isJson = item->isJSONItem();
-
-  if (theEmitterState == JESTATE_UNDETERMINED) {
-    // Initialize theEmitter based on item type, passing through our serializer
-    // and transcoder.
-    if (isJson) {
-      theEmitterState = JESTATE_JDM;
-      theEmitter = new json_emitter(ser, tr);
-    }
-    else {
-      theEmitterState = JESTATE_XDM;
-      theEmitter = new xml_emitter(ser, tr);
-    }
-    // Since this was the first item, call emit_declaration().
-    theEmitter->emit_declaration();
-  }
-  else {
-    // Error checking
-    if ( (isJson && theEmitterState == JESTATE_XDM) ||
-         (!isJson && theEmitterState == JESTATE_JDM) ) {
+  
+  if (ser->jsoniq_allow_mixed_xdm_jdm == PARAMETER_VALUE_NO)
+  {
+    if ((isJson && theEmitterState == JESTATE_XDM) ||
+        (!isJson && theEmitterState == JESTATE_JDM))
+    {
       throw XQUERY_EXCEPTION(zerr::ZAPI0045_CANNOT_SERIALIZE_MIXED_XDM_JDM);
     }
   }
 
-  // Pass through
-  theEmitter->emit_item(item);
+  if (isJson) {
+    theEmitterState = JESTATE_JDM;
+    theJSONEmitter->emit_item(item);
+  }
+  else {
+    if (theEmitterState == JESTATE_UNDETERMINED &&
+        ser->jsoniq_allow_mixed_xdm_jdm == PARAMETER_VALUE_NO)
+    {
+      theXMLEmitter->emit_declaration();
+    }
+    theEmitterState = JESTATE_XDM;
+    theXMLEmitter->emit_item(item);
+  }
 }
 
 void serializer::jsoniq_emitter::emit_end()
 {
-  // Not really clear what to do if we serialized no items and hence have
-  // no emitter yet, but doing nothing at all seems reasonable.
-  if (theEmitter) {
-    theEmitter->emit_end();
+  switch(theEmitterState)
+  {
+    case JESTATE_JDM:
+      theJSONEmitter->emit_end();
+      return;
+    case JESTATE_XDM:
+    default:
+      theXMLEmitter->emit_end();
   }
 }
 
@@ -2389,9 +2376,10 @@
   // This default should match the default for ser_method in Zorba_SerializerOptions
 #ifdef ZORBA_WITH_JSON
   method = PARAMETER_VALUE_JSONIQ;
-  cloudscript_multiple_items = PARAMETER_VALUE_NO;
-  cloudscript_extensions = PARAMETER_VALUE_NO;
-  cloudscript_xdm_method = PARAMETER_VALUE_XML;
+  jsoniq_multiple_items = PARAMETER_VALUE_NO;
+  jsoniq_extensions = PARAMETER_VALUE_NO;
+  jsoniq_xdm_method = PARAMETER_VALUE_XML;
+  jsoniq_allow_mixed_xdm_jdm = PARAMETER_VALUE_NO;
 #else
   method = PARAMETER_VALUE_XML;
 #endif
@@ -2557,33 +2545,44 @@
     cdata_section_elements = aValue;
   }
 #ifdef ZORBA_WITH_JSON
-  else if (!strcmp(aName, "cloudscript-extensions"))
+  else if (!strcmp(aName, "jsoniq-extensions"))
   {
     if (!strcmp(aValue, "yes"))
-      cloudscript_extensions = PARAMETER_VALUE_YES;
+      jsoniq_extensions = PARAMETER_VALUE_YES;
     else if (!strcmp(aValue, "no"))
-      cloudscript_extensions = PARAMETER_VALUE_NO;
+      jsoniq_extensions = PARAMETER_VALUE_NO;
     else
       throw XQUERY_EXCEPTION(
         err::SEPM0016, ERROR_PARAMS( aValue, aName, ZED( GoodValuesAreYesNo ) )
       );
   }
-  else if (!strcmp(aName, "cloudscript-multiple-items"))
+  else if (!strcmp(aName, "jsoniq-multiple-items"))
   {
     if (!strcmp(aValue, "no"))
-      cloudscript_multiple_items = PARAMETER_VALUE_NO;
+      jsoniq_multiple_items = PARAMETER_VALUE_NO;
     else if (!strcmp(aValue, "array"))
-      cloudscript_multiple_items = PARAMETER_VALUE_ARRAY;
+      jsoniq_multiple_items = PARAMETER_VALUE_ARRAY;
     else if (!strcmp(aValue, "appended"))
-      cloudscript_multiple_items = PARAMETER_VALUE_APPENDED;
-    else
-      throw XQUERY_EXCEPTION(
-        err::SEPM0016, ERROR_PARAMS( aValue, aName, ZED( GoodValuesAreYesNo ) )
-      );
-  }
-  else if (!strcmp(aName, "cloudscript-xdm-node-output-method"))
-  {
-    cloudscript_xdm_method = convertMethodString(aValue, aName);
+      jsoniq_multiple_items = PARAMETER_VALUE_APPENDED;
+    else
+      throw XQUERY_EXCEPTION(
+        err::SEPM0016, ERROR_PARAMS( aValue, aName, ZED( GoodValuesAreYesNo ) )
+      );
+  }
+  else if (!strcmp(aName, "jsoniq-xdm-node-output-method"))
+  {
+    jsoniq_xdm_method = convertMethodString(aValue, aName);
+  }
+  else if (!strcmp(aName, "jsoniq-allow-mixed-xdm-jdm"))
+  {
+    if (!strcmp(aValue, "yes"))
+      jsoniq_allow_mixed_xdm_jdm = PARAMETER_VALUE_YES;
+    else if (!strcmp(aValue, "no"))
+      jsoniq_allow_mixed_xdm_jdm = PARAMETER_VALUE_NO;
+    else
+      throw XQUERY_EXCEPTION(
+        err::SEPM0016, ERROR_PARAMS( aValue, aName, ZED( GoodValuesAreYesNo ) )
+      );
   }
 #endif /* ZORBA_WITH_JSON */
   else

=== modified file 'src/api/serialization/serializer.h'
--- src/api/serialization/serializer.h	2012-06-15 21:31:03 +0000
+++ src/api/serialization/serializer.h	2012-06-21 14:35:34 +0000
@@ -116,9 +116,10 @@
   zstring version_string;          // this the version as a string
   short int indent;                // "yes" or "no", implemented
 #ifdef ZORBA_WITH_JSON
-  short int cloudscript_multiple_items;  // "no", "array", "appended", implemented
-  short int cloudscript_extensions;      // implemented
-  short int cloudscript_xdm_method;  // A legal value for "method", implemented
+  short int jsoniq_multiple_items;  // "no", "array", "appended", implemented
+  short int jsoniq_extensions;      // implemented
+  short int jsoniq_xdm_method;      // A legal value for "method", implemented
+  short int jsoniq_allow_mixed_xdm_jdm; // "yes" or "no", implemented
 #endif /* ZORBA_WITH_JSON */
   bool version_has_default_value;  // Used during validation to set version to
                                    // "4.0" when output method is "html"
@@ -377,20 +378,18 @@
 
     void emit_json_array(store::Item* array, int depth);
 
-    void emit_json_pair(store::Item* pair, int depth);
-
     void emit_json_value(store::Item* value, int depth);
 
-    void emit_cloudscript_value(zstring type, zstring value, int depth);
+    void emit_jsoniq_value(zstring type, zstring value, int depth);
 
-    void emit_cloudscript_xdm_node(store::Item *item, int depth);
+    void emit_jsoniq_xdm_node(store::Item *item, int depth);
 
     void emit_json_string(zstring string);
 
-    store::Item_t theCloudScriptValueName;
+    store::Item_t theJSONiqValueName;
     store::Item_t theTypeName;
     store::Item_t theValueName;
-    store::Item_t theCloudScriptXDMNodeName;
+    store::Item_t theJSONiqXDMNodeName;
 
     rchandle<emitter> theXMLEmitter;
     rchandle<transcoder> theXMLTranscoder;
@@ -425,7 +424,8 @@
       JESTATE_XDM
     }                           theEmitterState;
 
-    serializer::emitter*        theEmitter;
+    serializer::xml_emitter*        theXMLEmitter;
+    serializer::json_emitter*       theJSONEmitter;
   };
 
 #endif /* ZORBA_WITH_JSON */

=== modified file 'src/api/serializerimpl.cpp'
--- src/api/serializerimpl.cpp	2012-06-15 21:31:03 +0000
+++ src/api/serializerimpl.cpp	2012-06-21 14:35:34 +0000
@@ -219,32 +219,42 @@
     aInternalSerializer.setParameter("version", aSerializerOptions.version.c_str());
 
 #ifdef ZORBA_WITH_JSON
-  switch (aSerializerOptions.cloudscript_extensions)
-  {
-    case CLOUDSCRIPT_EXTENSIONS_YES:
-      aInternalSerializer.setParameter("cloudscript-extensions", "yes");
-      break;
-    case CLOUDSCRIPT_EXTENSIONS_NO:
-      aInternalSerializer.setParameter("cloudscript-extensions", "no");
-      break;
-  }
-
-  switch (aSerializerOptions.cloudscript_multiple_items)
-  {
-    case CLOUDSCRIPT_MULTIPLE_ITEMS_NO:
-      aInternalSerializer.setParameter("cloudscript-multiple-items", "no");
-      break;
-    case CLOUDSCRIPT_MULTIPLE_ITEMS_ARRAY:
-      aInternalSerializer.setParameter("cloudscript-multiple-items", "array");
-      break;
-    case CLOUDSCRIPT_MULTIPLE_ITEMS_APPENDED:
-      aInternalSerializer.setParameter("cloudscript-multiple-items", "appended");
+  switch (aSerializerOptions.jsoniq_extensions)
+  {
+    case JSONIQ_EXTENSIONS_YES:
+      aInternalSerializer.setParameter("jsoniq-extensions", "yes");
+      break;
+    case JSONIQ_EXTENSIONS_NO:
+      aInternalSerializer.setParameter("jsoniq-extensions", "no");
+      break;
+  }
+
+  switch (aSerializerOptions.jsoniq_multiple_items)
+  {
+    case JSONIQ_MULTIPLE_ITEMS_NO:
+      aInternalSerializer.setParameter("jsoniq-multiple-items", "no");
+      break;
+    case JSONIQ_MULTIPLE_ITEMS_ARRAY:
+      aInternalSerializer.setParameter("jsoniq-multiple-items", "array");
+      break;
+    case JSONIQ_MULTIPLE_ITEMS_APPENDED:
+      aInternalSerializer.setParameter("jsoniq-multiple-items", "appended");
+      break;
+  }
+
+  switch (aSerializerOptions.jsoniq_allow_mixed_xdm_jdm)
+  {
+    case JSONIQ_ALLOW_MIXED_XDM_JDM_NO:
+      aInternalSerializer.setParameter("jsoniq-allow-mixed-xdm-jdm", "no");
+      break;
+    case JSONIQ_ALLOW_MIXED_XDM_JDM_YES:
+      aInternalSerializer.setParameter("jsoniq-allow-mixed-xdm-jdm", "yes");
       break;
   }
 
   convertSerializationMethod(aInternalSerializer,
-                             "cloudscript-xdm-node-output-method",
-                             aSerializerOptions.cloudscript_xdm_method);
+                             "jsoniq-xdm-node-output-method",
+                             aSerializerOptions.jsoniq_xdm_method);
 
 #endif /* ZORBA_WITH_JSON */
 }

=== modified file 'src/api/typeidentimpl.cpp'
--- src/api/typeidentimpl.cpp	2012-06-15 21:31:03 +0000
+++ src/api/typeidentimpl.cpp	2012-06-21 14:35:34 +0000
@@ -241,14 +241,6 @@
 }
 
 
-TypeIdentifier_t TypeIdentifier::createJSONPairType(IdentTypes::quantifier_t q)
-{
-  TypeIdentifier_t ti(new TypeIdentifier());
-  ti->m_kind = IdentTypes::JSON_PAIR_TYPE;
-  ti->m_quantifier = q;
-
-  return ti;
-}
 #endif
 
 

=== modified file 'src/compiler/expression/abstract_expr_visitor.h'
--- src/compiler/expression/abstract_expr_visitor.h	2012-06-15 21:31:03 +0000
+++ src/compiler/expression/abstract_expr_visitor.h	2012-06-21 14:35:34 +0000
@@ -53,7 +53,6 @@
   EXPR_VISITOR_METHODS (pi_expr);
   EXPR_VISITOR_METHODS (text_expr);
 #ifdef ZORBA_WITH_JSON
-  EXPR_VISITOR_METHODS (json_pair_expr);
   EXPR_VISITOR_METHODS (json_object_expr);
   EXPR_VISITOR_METHODS (json_array_expr);
 #endif

=== modified file 'src/compiler/parser/xquery_parser.cpp'
--- src/compiler/parser/xquery_parser.cpp	2012-06-15 21:31:03 +0000
+++ src/compiler/parser/xquery_parser.cpp	2012-06-21 14:35:34 +0000
@@ -1,10 +1,8 @@
-
-/* A Bison parser, made by GNU Bison 2.4.1.  */
+/* A Bison parser, made by GNU Bison 2.5.  */
 
 /* Skeleton implementation for Bison LALR(1) parsers in C++
    
-      Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
-   Foundation, Inc.
+      Copyright (C) 2002-2011 Free Software Foundation, Inc.
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -37,8 +35,8 @@
 
 /* First part of user declarations.  */
 
-/* Line 311 of lalr1.cc  */
-#line 87 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 293 of lalr1.cc  */
+#line 87 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 
 
 #include "common/common.h"
@@ -74,16 +72,16 @@
 
 
 
-/* Line 311 of lalr1.cc  */
-#line 79 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 293 of lalr1.cc  */
+#line 77 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 
 
 #include "xquery_parser.hpp"
 
 /* User implementation prologue.  */
 
-/* Line 317 of lalr1.cc  */
-#line 902 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 299 of lalr1.cc  */
+#line 902 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 
 // HACK to trigger rchandle release: rchandles are freed when refcount == 0
 // (not <= 0); but Bison never increments the refcount, so we do it manually...
@@ -94,8 +92,8 @@
     }
 }
 
-/* Line 317 of lalr1.cc  */
-#line 1018 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 299 of lalr1.cc  */
+#line 1018 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 
 #include "compiler/parser/xquery_scanner.h"
 
@@ -104,11 +102,11 @@
 
 
 
-/* Line 317 of lalr1.cc  */
-#line 109 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 299 of lalr1.cc  */
+#line 107 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 
 #ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* FIXME: INFRINGES ON USER NAME SPACE */
 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -119,6 +117,26 @@
 # endif
 #endif
 
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)                               \
+ do                                                                    \
+   if (N)                                                              \
+     {                                                                 \
+       (Current).begin = YYRHSLOC (Rhs, 1).begin;                      \
+       (Current).end   = YYRHSLOC (Rhs, N).end;                        \
+     }                                                                 \
+   else                                                                \
+     {                                                                 \
+       (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end;        \
+     }                                                                 \
+ while (false)
+#endif
+
 /* Suppress unused-variable warnings by "using" E.  */
 #define YYUSE(e) ((void) (e))
 
@@ -168,14 +186,10 @@
 #define YYRECOVERING()  (!!yyerrstatus_)
 
 
-/* Line 380 of lalr1.cc  */
-#line 1 "[Bison:b4_percent_define_default]"
-
 namespace zorba {
 
-/* Line 380 of lalr1.cc  */
-#line 178 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
-#if YYERROR_VERBOSE
+/* Line 382 of lalr1.cc  */
+#line 193 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 
   /* Return YYSTR after stripping away unnecessary quotes and
      backslashes, so that it's suitable for yyerror.  The heuristic is
@@ -214,7 +228,6 @@
     return yystr;
   }
 
-#endif
 
   /// Build a parser object.
   xquery_parser::xquery_parser (xquery_driver& driver_yyarg)
@@ -277,2513 +290,2513 @@
         case 110: /* "\"'DECIMAL'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 900 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 900 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->decval); };
 
 /* Line 480 of lalr1.cc  */
-#line 285 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 298 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 124: /* "\"'DOUBLE'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 899 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 899 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->dval); };
 
 /* Line 480 of lalr1.cc  */
-#line 294 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 307 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 149: /* "\"'INTEGER'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 898 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 898 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->ival); };
 
 /* Line 480 of lalr1.cc  */
-#line 303 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 316 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 335: /* "VersionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 312 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 325 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 336: /* "MainModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 321 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 334 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 337: /* "LibraryModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 330 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 343 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 338: /* "ModuleDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 339 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 352 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 339: /* "SIND_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 348 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 361 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 340: /* "SIND_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 357 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 370 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 341: /* "Setter" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 366 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 379 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 342: /* "BoundarySpaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 375 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 388 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 343: /* "DefaultCollationDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 384 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 397 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 344: /* "BaseURIDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 393 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 406 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 345: /* "ConstructionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 402 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 415 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 346: /* "OrderingModeDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 411 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 424 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 347: /* "EmptyOrderDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 420 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 433 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 348: /* "CopyNamespacesDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 429 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 442 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 349: /* "Import" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 438 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 451 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 350: /* "SchemaImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 447 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 460 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 351: /* "URILiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 456 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 469 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 352: /* "SchemaPrefix" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 465 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 478 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 353: /* "ModuleImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 474 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 487 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 354: /* "NamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 483 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 496 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 355: /* "DefaultNamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 492 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 505 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 356: /* "VFO_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 501 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 514 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 357: /* "VFO_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 510 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 523 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 358: /* "DecimalFormatDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 519 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 532 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 359: /* "DecimalFormatParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 926 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->vstrpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 528 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 541 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 360: /* "DecimalFormatParam" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 926 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->strpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 537 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 550 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 362: /* "OptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 546 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 559 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 363: /* "FTOptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 555 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 568 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 364: /* "CtxItemDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 564 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 577 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 365: /* "CtxItemDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 573 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 586 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 366: /* "CtxItemDecl3" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 582 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 595 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 367: /* "CtxItemDecl4" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 591 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 604 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 368: /* "VarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 600 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 613 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 369: /* "VarNameAndType" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 926 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->varnametype); };
 
 /* Line 480 of lalr1.cc  */
-#line 609 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 622 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 370: /* "AnnotationList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 618 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 631 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 371: /* "Annotation" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 627 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 640 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 372: /* "AnnotationLiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 636 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 649 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 373: /* "FunctionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 645 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 658 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 374: /* "FunctionDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 654 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 667 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 375: /* "FunctionDeclSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 663 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 676 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 376: /* "FunctionDeclUpdating" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 672 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 685 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 377: /* "FunctionSig" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 926 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->fnsig); };
 
 /* Line 480 of lalr1.cc  */
-#line 681 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 694 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 378: /* "ParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 690 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 703 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 379: /* "Param" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 699 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 712 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 380: /* "CollectionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 708 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 721 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 382: /* "IndexDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 717 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 730 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 383: /* "IndexKeyList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 726 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 739 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 384: /* "IndexKeySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 735 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 748 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 385: /* "IntegrityConstraintDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 744 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 757 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 386: /* "QueryBody" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 753 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 766 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 387: /* "StatementsAndOptionalExprTop" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 762 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 775 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 388: /* "StatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 771 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 784 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 389: /* "StatementsAndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 780 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 793 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 390: /* "Statements" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 789 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 802 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 391: /* "Statement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 798 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 811 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 392: /* "BlockStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 820 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 393: /* "BlockExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 829 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 394: /* "EnclosedStatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 825 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 838 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 395: /* "VarDeclStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 834 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 847 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 398: /* "AssignStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 843 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 856 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 399: /* "ApplyStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 852 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 865 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 400: /* "ExitStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 861 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 874 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 401: /* "WhileStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 870 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 883 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 402: /* "FlowCtlStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 879 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 892 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 403: /* "FLWORStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 888 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 901 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 404: /* "ReturnStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 897 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 910 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 405: /* "IfStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 906 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 919 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 406: /* "TryStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 915 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 928 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 407: /* "CatchListStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 937 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 408: /* "CatchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 933 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 946 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 409: /* "Expr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 942 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 955 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 410: /* "ExprSingle" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 951 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 964 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 411: /* "ExprSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 960 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 973 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 412: /* "FLWORExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 969 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 982 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 413: /* "ReturnExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 978 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 991 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 416: /* "FLWORWinCond" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 987 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1000 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 417: /* "WindowClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 996 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1009 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 418: /* "CountClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1005 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1018 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 419: /* "ForLetWinClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1014 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1027 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 421: /* "FLWORClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1023 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1036 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 422: /* "ForClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1032 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1045 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 423: /* "VarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1041 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1054 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 424: /* "VarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1050 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1063 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 425: /* "PositionalVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1059 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1072 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 426: /* "FTScoreVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1068 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1081 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 427: /* "LetClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1077 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1090 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 428: /* "VarGetsDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1086 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1099 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 429: /* "VarGetsDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1095 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1108 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 430: /* "WindowVarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1104 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1117 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 431: /* "WindowVars" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1113 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1126 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 432: /* "WindowVars3" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1122 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1135 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 433: /* "WindowVars2" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1131 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1144 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 434: /* "WhereClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1140 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1153 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 435: /* "GroupByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1149 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1162 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 436: /* "GroupSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1158 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1171 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 437: /* "GroupSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1167 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1180 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 438: /* "GroupCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1176 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1189 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 439: /* "OrderByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1185 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1198 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 440: /* "OrderSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1194 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1207 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 441: /* "OrderSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1203 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1216 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 442: /* "OrderModifier" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1212 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1225 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 443: /* "OrderDirSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1221 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1234 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 444: /* "OrderEmptySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1230 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1243 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 445: /* "OrderCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1239 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1252 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 446: /* "QuantifiedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1248 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1261 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 447: /* "QVarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1257 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1270 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 448: /* "QVarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1266 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1279 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 449: /* "SwitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1275 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1288 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 450: /* "SwitchCaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1284 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1297 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 451: /* "SwitchCaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1293 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1306 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 452: /* "SwitchCaseOperandList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1302 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1315 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 453: /* "SwitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1311 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1324 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 456: /* "TypeswitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1320 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1333 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 457: /* "TypeswitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1329 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1342 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 458: /* "CaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1338 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1351 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 459: /* "CaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1347 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1360 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 462: /* "IfExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1356 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1369 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 463: /* "OrExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1365 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1378 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 464: /* "AndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1374 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1387 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 465: /* "ComparisonExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1383 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1396 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 467: /* "FTContainsExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1392 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1405 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 468: /* "StringConcatExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1401 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1414 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 469: /* "opt_FTIgnoreOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1410 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1423 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 470: /* "RangeExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1419 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1432 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 471: /* "AdditiveExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1428 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1441 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 472: /* "MultiplicativeExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1437 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1450 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 473: /* "UnionExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1446 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1459 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 474: /* "IntersectExceptExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1455 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1468 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 475: /* "InstanceofExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1464 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1477 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 476: /* "TreatExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1473 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1486 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 477: /* "CastableExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1482 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1495 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 478: /* "CastExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1491 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1504 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 479: /* "UnaryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1500 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1513 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 480: /* "SignList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1509 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1522 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 481: /* "ValueExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1518 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1531 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 482: /* "ValueComp" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1527 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1540 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 483: /* "NodeComp" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1536 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1549 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 484: /* "ValidateExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1545 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1558 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 485: /* "ExtensionExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1554 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1567 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 486: /* "Pragma_list" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1563 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1576 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 487: /* "Pragma" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1572 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1585 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 488: /* "PathExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1581 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1594 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 490: /* "RelativePathExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1590 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1603 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 491: /* "StepExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1599 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1612 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 492: /* "AxisStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1608 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1621 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 493: /* "ForwardStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1617 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1630 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 494: /* "ForwardAxis" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1626 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1639 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 495: /* "AbbrevForwardStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1635 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1648 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 496: /* "ReverseStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1644 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1657 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 497: /* "ReverseAxis" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1653 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1666 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 498: /* "NodeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1662 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1675 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 499: /* "NameTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1671 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1684 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 500: /* "Wildcard" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1680 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1693 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 501: /* "FilterExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1689 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1702 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 502: /* "PredicateList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1698 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1711 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 503: /* "Predicate" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1707 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1720 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 504: /* "PrimaryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1716 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1729 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 505: /* "Literal" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1725 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1738 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 506: /* "NumericLiteral" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1734 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1747 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 507: /* "VarRef" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1743 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1756 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 508: /* "ParenthesizedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1752 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1765 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 509: /* "ContextItemExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1761 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1774 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 510: /* "OrderedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1770 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1783 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 511: /* "UnorderedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1779 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1792 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 512: /* "FunctionCall" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1788 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1801 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 513: /* "ArgList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1797 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1810 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 514: /* "Constructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1806 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1819 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 515: /* "DirectConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1815 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1828 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 516: /* "DirElemConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1824 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1837 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 517: /* "DirElemContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1833 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1846 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 518: /* "DirAttributeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1842 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1855 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 519: /* "DirAttr" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1851 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1864 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 521: /* "DirAttributeValue" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1860 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1873 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 522: /* "opt_QuoteAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1869 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1882 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 523: /* "QuoteAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1878 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1891 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 524: /* "opt_AposAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1887 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1900 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 525: /* "AposAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1896 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1909 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 526: /* "QuoteAttrValueContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1905 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1918 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 527: /* "AposAttrValueContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1914 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1927 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 528: /* "DirElemContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1923 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1936 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 529: /* "CommonContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1932 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1945 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 530: /* "DirCommentConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1941 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1954 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 531: /* "DirPIConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1950 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1963 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 532: /* "CDataSection" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1959 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1972 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 533: /* "ComputedConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1968 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1981 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 534: /* "CompDocConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1977 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1990 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 535: /* "CompElemConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1986 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 1999 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 536: /* "CompAttrConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1995 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2008 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 537: /* "CompTextConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2004 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2017 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 538: /* "CompCommentConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2013 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2026 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 539: /* "CompPIConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2022 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2035 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 540: /* "SingleType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2031 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2044 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 541: /* "TypeDeclaration" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2040 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2053 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 542: /* "SequenceType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2049 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2062 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 543: /* "OccurrenceIndicator" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2058 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2071 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 544: /* "ItemType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2067 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2080 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 545: /* "TypeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2076 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2089 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 546: /* "AtomicType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2085 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2098 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 547: /* "KindTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2094 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2107 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 548: /* "AnyKindTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2103 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2116 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 549: /* "DocumentTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2112 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2125 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 550: /* "TextTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2121 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2134 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 551: /* "CommentTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2130 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2143 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 552: /* "PITest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2139 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2152 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 553: /* "AttributeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2148 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2161 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 554: /* "SchemaAttributeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2157 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2170 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 555: /* "ElementTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2166 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2179 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 556: /* "SchemaElementTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2175 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2188 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 557: /* "TypeName" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2184 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2197 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 558: /* "TypeName_WITH_HOOK" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2193 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2206 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 559: /* "StringLiteral" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2202 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2215 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 564: /* "AnyFunctionTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2211 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2224 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 565: /* "TypedFunctionTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2220 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2233 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 568: /* "InsertExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2229 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2242 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 569: /* "DeleteExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2238 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2251 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 570: /* "ReplaceExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2247 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2260 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 571: /* "RenameExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2256 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2269 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 572: /* "TransformExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2265 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2278 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 573: /* "VarNameList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2274 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2287 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 574: /* "VarNameDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2283 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2296 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 575: /* "TryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2292 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2305 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 576: /* "CatchListExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2301 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2314 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 577: /* "CatchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2310 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2323 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 578: /* "BracedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2319 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2332 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 579: /* "NameTestList" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 926 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->name_test_list); };
 
 /* Line 480 of lalr1.cc  */
-#line 2328 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2341 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 580: /* "FTSelection" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2337 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2350 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 583: /* "FTOr" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2346 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2359 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 584: /* "FTAnd" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2355 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2368 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 585: /* "FTMildNot" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2364 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2377 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 586: /* "FTUnaryNot" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2373 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2386 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 587: /* "FTPrimaryWithOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2382 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2395 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 588: /* "opt_FTMatchOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2391 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2404 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 590: /* "FTWeight" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2400 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2413 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 591: /* "FTPrimary" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2409 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2422 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 592: /* "opt_FTTimes" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2418 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2431 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 593: /* "FTExtensionSelection" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2427 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2440 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 595: /* "FTWords" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2436 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2449 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 596: /* "FTWordsValue" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2445 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2458 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 598: /* "FTAnyallOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2454 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2467 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 601: /* "FTPosFilter" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2463 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2476 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 602: /* "FTOrder" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2472 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2485 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 603: /* "FTWindow" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2481 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2494 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 604: /* "FTDistance" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2490 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2503 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 605: /* "FTUnit" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2499 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2512 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 606: /* "FTMatchOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2508 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2521 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 607: /* "FTMatchOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2517 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2530 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 608: /* "FTCaseOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2526 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2539 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 609: /* "FTDiacriticsOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2535 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2548 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 610: /* "FTExtensionOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2544 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2557 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 611: /* "FTStemOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2553 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2566 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 612: /* "FTThesaurusOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2562 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2575 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 616: /* "FTThesaurusID" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2571 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2584 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 619: /* "FTStopWordOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2580 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2593 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 620: /* "FTStopWords" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2589 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2602 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 624: /* "FTStopWordsInclExcl" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2598 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2611 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 625: /* "FTLanguageOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2607 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2620 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 626: /* "FTWildCardOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2616 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2629 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 627: /* "FTContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2625 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2638 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 628: /* "FTTimes" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2634 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2647 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 629: /* "FTRange" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2643 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2656 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 630: /* "FTScope" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2652 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2665 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 631: /* "FTBigUnit" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2661 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2674 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 632: /* "FTIgnoreOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2670 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2683 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 633: /* "JSONArrayConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2679 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2692 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 634: /* "JSONSimpleObjectUnion" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2688 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2701 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 635: /* "JSONAccumulatorObjectUnion" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2697 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2710 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 636: /* "JSONObjectConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2706 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2719 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 637: /* "JSONPairList" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2715 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2728 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 638: /* "JSONInsertExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2724 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2737 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 639: /* "JSONAppendExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2733 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2746 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 640: /* "JSONDeleteExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2742 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2755 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 641: /* "JSONRenameExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2751 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2764 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 642: /* "JSONReplaceExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2760 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2773 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 649: /* "QNAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2769 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2782 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 650: /* "FUNCTION_NAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2778 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2791 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 651: /* "EQNAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+#line 923 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2787 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+#line 2800 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 	break;
 
 	default:
@@ -2826,6 +2839,18 @@
   }
 #endif
 
+  inline bool
+  xquery_parser::yy_pact_value_is_default_ (int yyvalue)
+  {
+    return yyvalue == yypact_ninf_;
+  }
+
+  inline bool
+  xquery_parser::yy_table_value_is_error_ (int yyvalue)
+  {
+    return yyvalue == yytable_ninf_;
+  }
+
   int
   xquery_parser::parse ()
   {
@@ -2847,7 +2872,7 @@
     /// Location of the lookahead.
     location_type yylloc;
     /// The locations where the error started and ended.
-    location_type yyerror_range[2];
+    location_type yyerror_range[3];
 
     /// $$.
     semantic_type yyval;
@@ -2861,14 +2886,14 @@
 
     /* User initialization code.  */
     
-/* Line 553 of lalr1.cc  */
-#line 140 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 565 of lalr1.cc  */
+#line 140 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 {
     yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
 }
 
-/* Line 553 of lalr1.cc  */
-#line 2872 "/home/markos/zorba/repo/jsoniq-deactivated/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 565 of lalr1.cc  */
+#line 2897 "/Users/zorba/Code/zorba/debug/src/compiler/parser/xquery_parser.cpp"
 
     /* Initialize the stacks.  The initial state will be pushed in
        yynewstate, since the latter expects the semantical and the
@@ -2896,7 +2921,7 @@
 
     /* Try to take a decision without lookahead.  */
     yyn = yypact_[yystate];
-    if (yyn == yypact_ninf_)
+    if (yy_pact_value_is_default_ (yyn))
       goto yydefault;
 
     /* Read a lookahead token.  */
@@ -2929,8 +2954,8 @@
     yyn = yytable_[yyn];
     if (yyn <= 0)
       {
-	if (yyn == 0 || yyn == yytable_ninf_)
-	goto yyerrlab;
+	if (yy_table_value_is_error_ (yyn))
+	  goto yyerrlab;
 	yyn = -yyn;
 	goto yyreduce;
       }
@@ -2986,8 +3011,8 @@
       {
 	  case 3:
 
-/* Line 678 of lalr1.cc  */
-#line 1036 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1036 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -2995,8 +3020,8 @@
 
   case 4:
 
-/* Line 678 of lalr1.cc  */
-#line 1045 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1045 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3004,8 +3029,8 @@
 
   case 5:
 
-/* Line 678 of lalr1.cc  */
-#line 1054 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1054 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3014,8 +3039,8 @@
 
   case 6:
 
-/* Line 678 of lalr1.cc  */
-#line 1060 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1060 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       MainModule* mm = dynamic_cast<MainModule*>((yysemantic_stack_[(2) - (2)].node));
       mm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3026,8 +3051,8 @@
 
   case 7:
 
-/* Line 678 of lalr1.cc  */
-#line 1068 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1068 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3036,8 +3061,8 @@
 
   case 8:
 
-/* Line 678 of lalr1.cc  */
-#line 1074 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1074 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       LibraryModule* lm = dynamic_cast<LibraryModule*>((yysemantic_stack_[(2) - (2)].node));
       lm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3048,8 +3073,8 @@
 
   case 9:
 
-/* Line 678 of lalr1.cc  */
-#line 1085 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1085 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8" );
     }
@@ -3057,8 +3082,8 @@
 
   case 10:
 
-/* Line 678 of lalr1.cc  */
-#line 1090 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1090 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
     }
@@ -3066,8 +3091,8 @@
 
   case 11:
 
-/* Line 678 of lalr1.cc  */
-#line 1098 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1098 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
 
@@ -3077,8 +3102,8 @@
 
   case 12:
 
-/* Line 678 of lalr1.cc  */
-#line 1105 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1105 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
 
@@ -3088,8 +3113,8 @@
 
   case 13:
 
-/* Line 678 of lalr1.cc  */
-#line 1112 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1112 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
@@ -3101,8 +3126,8 @@
 
   case 14:
 
-/* Line 678 of lalr1.cc  */
-#line 1121 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1121 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
@@ -3110,8 +3135,8 @@
 
   case 15:
 
-/* Line 678 of lalr1.cc  */
-#line 1128 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1128 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3122,8 +3147,8 @@
 
   case 16:
 
-/* Line 678 of lalr1.cc  */
-#line 1136 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1136 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3134,8 +3159,8 @@
 
   case 17:
 
-/* Line 678 of lalr1.cc  */
-#line 1144 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1144 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr); // to prevent the Bison warning
       (yylocation_stack_[(5) - (3)]).step();
@@ -3146,8 +3171,8 @@
 
   case 18:
 
-/* Line 678 of lalr1.cc  */
-#line 1152 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1152 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr); // to prevent the Bison warning
       (yylocation_stack_[(5) - (1)]).step();
@@ -3158,8 +3183,8 @@
 
   case 19:
 
-/* Line 678 of lalr1.cc  */
-#line 1163 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1163 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
@@ -3167,8 +3192,8 @@
 
   case 20:
 
-/* Line 678 of lalr1.cc  */
-#line 1168 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1168 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (2)].node)), NULL);
 
@@ -3178,8 +3203,8 @@
 
   case 21:
 
-/* Line 678 of lalr1.cc  */
-#line 1175 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1175 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (2)].node)));
 
@@ -3189,8 +3214,8 @@
 
   case 22:
 
-/* Line 678 of lalr1.cc  */
-#line 1182 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1182 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (2)].node)),
@@ -3202,8 +3227,8 @@
 
   case 23:
 
-/* Line 678 of lalr1.cc  */
-#line 1194 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1194 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
 
@@ -3213,8 +3238,8 @@
 
   case 24:
 
-/* Line 678 of lalr1.cc  */
-#line 1204 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1204 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3224,8 +3249,8 @@
 
   case 25:
 
-/* Line 678 of lalr1.cc  */
-#line 1211 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1211 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ((SIND_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3234,8 +3259,8 @@
 
   case 26:
 
-/* Line 678 of lalr1.cc  */
-#line 1218 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1218 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       // error
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
@@ -3247,8 +3272,8 @@
 
   case 40:
 
-/* Line 678 of lalr1.cc  */
-#line 1253 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1253 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
@@ -3256,8 +3281,8 @@
 
   case 41:
 
-/* Line 678 of lalr1.cc  */
-#line 1258 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1258 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
@@ -3265,8 +3290,8 @@
 
   case 42:
 
-/* Line 678 of lalr1.cc  */
-#line 1266 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1266 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
@@ -3274,8 +3299,8 @@
 
   case 43:
 
-/* Line 678 of lalr1.cc  */
-#line 1274 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1274 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -3283,8 +3308,8 @@
 
   case 44:
 
-/* Line 678 of lalr1.cc  */
-#line 1282 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1282 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
@@ -3292,8 +3317,8 @@
 
   case 45:
 
-/* Line 678 of lalr1.cc  */
-#line 1287 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1287 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
@@ -3301,8 +3326,8 @@
 
   case 46:
 
-/* Line 678 of lalr1.cc  */
-#line 1295 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1295 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
@@ -3310,8 +3335,8 @@
 
   case 47:
 
-/* Line 678 of lalr1.cc  */
-#line 1300 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1300 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
@@ -3319,8 +3344,8 @@
 
   case 48:
 
-/* Line 678 of lalr1.cc  */
-#line 1308 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1308 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
@@ -3328,8 +3353,8 @@
 
   case 49:
 
-/* Line 678 of lalr1.cc  */
-#line 1313 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1313 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
@@ -3337,8 +3362,8 @@
 
   case 50:
 
-/* Line 678 of lalr1.cc  */
-#line 1321 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1321 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::preserve_ns,
@@ -3348,8 +3373,8 @@
 
   case 51:
 
-/* Line 678 of lalr1.cc  */
-#line 1328 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1328 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::preserve_ns,
@@ -3359,8 +3384,8 @@
 
   case 52:
 
-/* Line 678 of lalr1.cc  */
-#line 1335 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1335 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::no_preserve_ns,
@@ -3370,8 +3395,8 @@
 
   case 53:
 
-/* Line 678 of lalr1.cc  */
-#line 1342 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1342 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::no_preserve_ns,
@@ -3381,8 +3406,8 @@
 
   case 56:
 
-/* Line 678 of lalr1.cc  */
-#line 1357 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1357 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yyval.node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (2)]), "syntax error, \"import\" should be followed by either \"schema\" or \"module\".");
@@ -3392,8 +3417,8 @@
 
   case 57:
 
-/* Line 678 of lalr1.cc  */
-#line 1367 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1367 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
@@ -3401,8 +3426,8 @@
 
   case 58:
 
-/* Line 678 of lalr1.cc  */
-#line 1372 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1372 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3413,8 +3438,8 @@
 
   case 59:
 
-/* Line 678 of lalr1.cc  */
-#line 1380 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1380 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3425,8 +3450,8 @@
 
   case 60:
 
-/* Line 678 of lalr1.cc  */
-#line 1388 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1388 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3437,8 +3462,8 @@
 
   case 61:
 
-/* Line 678 of lalr1.cc  */
-#line 1399 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1399 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3448,8 +3473,8 @@
 
   case 62:
 
-/* Line 678 of lalr1.cc  */
-#line 1406 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1406 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if ( URILiteralList *ull = dynamic_cast<URILiteralList*>((yysemantic_stack_[(3) - (1)].node)) )
         ull->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
@@ -3460,8 +3485,8 @@
 
   case 63:
 
-/* Line 678 of lalr1.cc  */
-#line 1417 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1417 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -3469,8 +3494,8 @@
 
   case 64:
 
-/* Line 678 of lalr1.cc  */
-#line 1422 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1422 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
@@ -3478,8 +3503,8 @@
 
   case 65:
 
-/* Line 678 of lalr1.cc  */
-#line 1430 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1430 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL);
 
@@ -3489,8 +3514,8 @@
 
   case 66:
 
-/* Line 678 of lalr1.cc  */
-#line 1437 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1437 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (4)].sval)), SYMTAB((yysemantic_stack_[(6) - (6)].sval)), NULL);
 
@@ -3500,8 +3525,8 @@
 
   case 67:
 
-/* Line 678 of lalr1.cc  */
-#line 1444 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1444 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(5) - (3)].sval)),
@@ -3513,8 +3538,8 @@
 
   case 68:
 
-/* Line 678 of lalr1.cc  */
-#line 1453 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1453 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(8) - (4)].sval)),
@@ -3527,8 +3552,8 @@
 
   case 69:
 
-/* Line 678 of lalr1.cc  */
-#line 1466 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1466 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new NamespaceDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(5) - (3)].sval)), SYMTAB((yysemantic_stack_[(5) - (5)].sval)) );
     }
@@ -3536,8 +3561,8 @@
 
   case 70:
 
-/* Line 678 of lalr1.cc  */
-#line 1474 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1474 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3547,8 +3572,8 @@
 
   case 71:
 
-/* Line 678 of lalr1.cc  */
-#line 1481 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1481 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3558,8 +3583,8 @@
 
   case 72:
 
-/* Line 678 of lalr1.cc  */
-#line 1491 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1491 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3569,8 +3594,8 @@
 
   case 73:
 
-/* Line 678 of lalr1.cc  */
-#line 1498 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1498 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ((VFO_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3579,8 +3604,8 @@
 
   case 74:
 
-/* Line 678 of lalr1.cc  */
-#line 1505 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1505 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3591,8 +3616,8 @@
 
   case 83:
 
-/* Line 678 of lalr1.cc  */
-#line 1528 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1528 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3601,8 +3626,8 @@
 
   case 84:
 
-/* Line 678 of lalr1.cc  */
-#line 1534 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1534 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3611,8 +3636,8 @@
 
   case 85:
 
-/* Line 678 of lalr1.cc  */
-#line 1543 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1543 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3622,8 +3647,8 @@
 
   case 86:
 
-/* Line 678 of lalr1.cc  */
-#line 1550 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1550 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3633,8 +3658,8 @@
 
   case 87:
 
-/* Line 678 of lalr1.cc  */
-#line 1560 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1560 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       StringLiteral *sl = static_cast<StringLiteral*>((yysemantic_stack_[(3) - (3)].expr));
       (yyval.strpair) = new string_pair_t( (yysemantic_stack_[(3) - (1)].strval), sl->get_strval().str() );
@@ -3644,78 +3669,78 @@
 
   case 88:
 
-/* Line 678 of lalr1.cc  */
-#line 1569 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1569 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 89:
 
-/* Line 678 of lalr1.cc  */
-#line 1570 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1570 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 90:
 
-/* Line 678 of lalr1.cc  */
-#line 1571 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1571 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 91:
 
-/* Line 678 of lalr1.cc  */
-#line 1572 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1572 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "infinty"; }
     break;
 
   case 92:
 
-/* Line 678 of lalr1.cc  */
-#line 1573 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1573 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 93:
 
-/* Line 678 of lalr1.cc  */
-#line 1574 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1574 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 94:
 
-/* Line 678 of lalr1.cc  */
-#line 1575 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1575 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 95:
 
-/* Line 678 of lalr1.cc  */
-#line 1576 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1576 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 96:
 
-/* Line 678 of lalr1.cc  */
-#line 1577 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1577 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 97:
 
-/* Line 678 of lalr1.cc  */
-#line 1578 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1578 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 98:
 
-/* Line 678 of lalr1.cc  */
-#line 1584 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1584 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OptionDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)));
     }
@@ -3723,8 +3748,8 @@
 
   case 99:
 
-/* Line 678 of lalr1.cc  */
-#line 1592 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1592 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
@@ -3732,8 +3757,8 @@
 
   case 100:
 
-/* Line 678 of lalr1.cc  */
-#line 1600 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1600 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
@@ -3741,8 +3766,8 @@
 
   case 101:
 
-/* Line 678 of lalr1.cc  */
-#line 1608 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1608 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3752,8 +3777,8 @@
 
   case 102:
 
-/* Line 678 of lalr1.cc  */
-#line 1615 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1615 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -3761,8 +3786,8 @@
 
   case 103:
 
-/* Line 678 of lalr1.cc  */
-#line 1623 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1623 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3772,8 +3797,8 @@
 
   case 104:
 
-/* Line 678 of lalr1.cc  */
-#line 1630 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1630 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
@@ -3781,8 +3806,8 @@
 
   case 105:
 
-/* Line 678 of lalr1.cc  */
-#line 1635 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1635 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -3790,8 +3815,8 @@
 
   case 106:
 
-/* Line 678 of lalr1.cc  */
-#line 1643 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1643 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -3799,8 +3824,8 @@
 
   case 107:
 
-/* Line 678 of lalr1.cc  */
-#line 1651 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1651 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(4) - (2)].varnametype)));
 
@@ -3818,8 +3843,8 @@
 
   case 108:
 
-/* Line 678 of lalr1.cc  */
-#line 1666 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1666 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
 
@@ -3837,8 +3862,8 @@
 
   case 109:
 
-/* Line 678 of lalr1.cc  */
-#line 1681 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1681 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(5) - (2)].varnametype)));
 
@@ -3856,8 +3881,8 @@
 
   case 110:
 
-/* Line 678 of lalr1.cc  */
-#line 1699 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1699 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
@@ -3865,8 +3890,8 @@
 
   case 111:
 
-/* Line 678 of lalr1.cc  */
-#line 1704 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1704 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -3877,8 +3902,8 @@
 
   case 112:
 
-/* Line 678 of lalr1.cc  */
-#line 1712 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1712 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -3889,8 +3914,8 @@
 
   case 113:
 
-/* Line 678 of lalr1.cc  */
-#line 1720 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1720 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -3901,8 +3926,8 @@
 
   case 114:
 
-/* Line 678 of lalr1.cc  */
-#line 1731 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1731 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
@@ -3910,8 +3935,8 @@
 
   case 115:
 
-/* Line 678 of lalr1.cc  */
-#line 1736 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1736 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       static_cast<AnnotationListParsenode*>((yysemantic_stack_[(2) - (1)].node))->push_back(static_cast<AnnotationParsenode*>((yysemantic_stack_[(2) - (2)].node)));
       (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
@@ -3920,8 +3945,8 @@
 
   case 116:
 
-/* Line 678 of lalr1.cc  */
-#line 1745 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1745 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
@@ -3929,8 +3954,8 @@
 
   case 117:
 
-/* Line 678 of lalr1.cc  */
-#line 1750 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1750 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -3940,8 +3965,8 @@
 
   case 118:
 
-/* Line 678 of lalr1.cc  */
-#line 1757 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1757 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
@@ -3949,8 +3974,8 @@
 
   case 119:
 
-/* Line 678 of lalr1.cc  */
-#line 1762 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1762 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -3960,8 +3985,8 @@
 
   case 120:
 
-/* Line 678 of lalr1.cc  */
-#line 1772 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1772 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
@@ -3969,8 +3994,8 @@
 
   case 121:
 
-/* Line 678 of lalr1.cc  */
-#line 1777 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1777 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       static_cast<AnnotationLiteralListParsenode*>((yysemantic_stack_[(3) - (1)].node))->push_back((yysemantic_stack_[(3) - (3)].expr));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3979,8 +4004,8 @@
 
   case 122:
 
-/* Line 678 of lalr1.cc  */
-#line 1786 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1786 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       static_cast<FunctionDecl*>((yysemantic_stack_[(2) - (2)].node))->setComment( SYMTAB((yysemantic_stack_[(2) - (1)].sval)) );
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
@@ -3989,8 +4014,8 @@
 
   case 123:
 
-/* Line 678 of lalr1.cc  */
-#line 1792 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1792 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       FunctionDecl* fdecl = static_cast<FunctionDecl*>((yysemantic_stack_[(3) - (3)].node));
 
@@ -4003,8 +4028,8 @@
 
   case 124:
 
-/* Line 678 of lalr1.cc  */
-#line 1805 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1805 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4012,8 +4037,8 @@
 
   case 125:
 
-/* Line 678 of lalr1.cc  */
-#line 1810 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1810 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4021,8 +4046,8 @@
 
   case 126:
 
-/* Line 678 of lalr1.cc  */
-#line 1818 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1818 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4037,8 +4062,8 @@
 
   case 127:
 
-/* Line 678 of lalr1.cc  */
-#line 1829 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1829 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4053,8 +4078,8 @@
 
   case 128:
 
-/* Line 678 of lalr1.cc  */
-#line 1844 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1844 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4069,8 +4094,8 @@
 
   case 129:
 
-/* Line 678 of lalr1.cc  */
-#line 1856 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1856 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4085,8 +4110,8 @@
 
   case 130:
 
-/* Line 678 of lalr1.cc  */
-#line 1871 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1871 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
@@ -4094,8 +4119,8 @@
 
   case 131:
 
-/* Line 678 of lalr1.cc  */
-#line 1876 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1876 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
@@ -4103,8 +4128,8 @@
 
   case 132:
 
-/* Line 678 of lalr1.cc  */
-#line 1881 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1881 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node)));
     }
@@ -4112,8 +4137,8 @@
 
   case 133:
 
-/* Line 678 of lalr1.cc  */
-#line 1886 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1886 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(5) - (2)].node)), dynamic_cast<SequenceType*>((yysemantic_stack_[(5) - (5)].node)));
     }
@@ -4121,8 +4146,8 @@
 
   case 134:
 
-/* Line 678 of lalr1.cc  */
-#line 1894 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1894 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4132,8 +4157,8 @@
 
   case 135:
 
-/* Line 678 of lalr1.cc  */
-#line 1901 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1901 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if ( ParamList *pl = dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (1)].node)) )
         pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -4144,8 +4169,8 @@
 
   case 136:
 
-/* Line 678 of lalr1.cc  */
-#line 1912 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1912 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -4153,8 +4178,8 @@
 
   case 137:
 
-/* Line 678 of lalr1.cc  */
-#line 1917 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1917 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4164,8 +4189,8 @@
 
   case 138:
 
-/* Line 678 of lalr1.cc  */
-#line 1927 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1927 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)),
@@ -4176,8 +4201,8 @@
 
   case 139:
 
-/* Line 678 of lalr1.cc  */
-#line 1934 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1934 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4188,8 +4213,8 @@
 
   case 140:
 
-/* Line 678 of lalr1.cc  */
-#line 1941 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1941 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4200,8 +4225,8 @@
 
   case 141:
 
-/* Line 678 of lalr1.cc  */
-#line 1948 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1948 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)),
@@ -4212,8 +4237,8 @@
 
   case 142:
 
-/* Line 678 of lalr1.cc  */
-#line 1958 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1958 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4221,8 +4246,8 @@
 
   case 143:
 
-/* Line 678 of lalr1.cc  */
-#line 1962 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1962 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4232,8 +4257,29 @@
 
   case 144:
 
-/* Line 678 of lalr1.cc  */
-#line 1972 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1968 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
+    }
+    break;
+
+  case 145:
+
+/* Line 690 of lalr1.cc  */
+#line 1972 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
+                                                    (yysemantic_stack_[(2) - (1)].node),
+                                                    dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node))));
+
+    }
+    break;
+
+  case 146:
+
+/* Line 690 of lalr1.cc  */
+#line 1982 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(8) - (3)].expr)),
@@ -4243,10 +4289,10 @@
     }
     break;
 
-  case 145:
+  case 147:
 
-/* Line 678 of lalr1.cc  */
-#line 1980 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1990 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(9) - (4)].expr)),
@@ -4256,10 +4302,10 @@
     }
     break;
 
-  case 146:
+  case 148:
 
-/* Line 678 of lalr1.cc  */
-#line 1991 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2001 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4267,29 +4313,29 @@
     }
     break;
 
-  case 147:
+  case 149:
 
-/* Line 678 of lalr1.cc  */
-#line 1997 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2007 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       dynamic_cast<IndexKeyList*>((yysemantic_stack_[(3) - (1)].node))->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(3) - (3)].node)));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
     }
     break;
 
-  case 148:
+  case 150:
 
-/* Line 678 of lalr1.cc  */
-#line 2006 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2016 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL, NULL);
     }
     break;
 
-  case 149:
+  case 151:
 
-/* Line 678 of lalr1.cc  */
-#line 2011 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2021 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4298,10 +4344,10 @@
     }
     break;
 
-  case 150:
+  case 152:
 
-/* Line 678 of lalr1.cc  */
-#line 2018 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2028 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4310,10 +4356,10 @@
     }
     break;
 
-  case 151:
+  case 153:
 
-/* Line 678 of lalr1.cc  */
-#line 2025 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2035 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4322,10 +4368,10 @@
     }
     break;
 
-  case 152:
+  case 154:
 
-/* Line 678 of lalr1.cc  */
-#line 2037 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2047 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4335,10 +4381,10 @@
     }
     break;
 
-  case 153:
+  case 155:
 
-/* Line 678 of lalr1.cc  */
-#line 2047 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2057 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4348,10 +4394,10 @@
     }
     break;
 
-  case 154:
+  case 156:
 
-/* Line 678 of lalr1.cc  */
-#line 2057 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2067 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4361,10 +4407,10 @@
     }
     break;
 
-  case 155:
+  case 157:
 
-/* Line 678 of lalr1.cc  */
-#line 2068 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2078 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4377,10 +4423,10 @@
     }
     break;
 
-  case 156:
+  case 158:
 
-/* Line 678 of lalr1.cc  */
-#line 2084 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2094 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if ((yysemantic_stack_[(1) - (1)].expr) == NULL)
       {
@@ -4398,37 +4444,19 @@
     }
     break;
 
-  case 157:
-
-/* Line 678 of lalr1.cc  */
-#line 2104 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 158:
-
-/* Line 678 of lalr1.cc  */
-#line 2108 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 159:
 
-/* Line 678 of lalr1.cc  */
-#line 2112 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2114 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) =  NULL;
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 160:
 
-/* Line 678 of lalr1.cc  */
-#line 2120 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2118 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4436,26 +4464,26 @@
 
   case 161:
 
-/* Line 678 of lalr1.cc  */
-#line 2124 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2122 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+      (yyval.expr) =  NULL;
     }
     break;
 
   case 162:
 
-/* Line 678 of lalr1.cc  */
-#line 2128 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2130 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) =  new BlockBody(LOC((yyloc)));
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 163:
 
-/* Line 678 of lalr1.cc  */
-#line 2136 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2134 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4463,21 +4491,39 @@
 
   case 164:
 
-/* Line 678 of lalr1.cc  */
-#line 2141 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2138 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
-
-      blk->add((yysemantic_stack_[(2) - (2)].expr));
-
-      (yyval.expr) = blk;
+      (yyval.expr) =  new BlockBody(LOC((yyloc)));
     }
     break;
 
   case 165:
 
-/* Line 678 of lalr1.cc  */
-#line 2153 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2146 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 166:
+
+/* Line 690 of lalr1.cc  */
+#line 2151 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
+
+      blk->add((yysemantic_stack_[(2) - (2)].expr));
+
+      (yyval.expr) = blk;
+    }
+    break;
+
+  case 167:
+
+/* Line 690 of lalr1.cc  */
+#line 2163 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4485,10 +4531,10 @@
     }
     break;
 
-  case 166:
+  case 168:
 
-/* Line 678 of lalr1.cc  */
-#line 2160 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2170 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4498,28 +4544,28 @@
     }
     break;
 
-  case 179:
+  case 181:
 
-/* Line 678 of lalr1.cc  */
-#line 2189 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2199 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
     break;
 
-  case 180:
+  case 182:
 
-/* Line 678 of lalr1.cc  */
-#line 2194 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2204 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
     break;
 
-  case 181:
+  case 183:
 
-/* Line 678 of lalr1.cc  */
-#line 2202 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2212 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if (dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr)) == NULL)
       {
@@ -4534,28 +4580,28 @@
     }
     break;
 
-  case 182:
-
-/* Line 678 of lalr1.cc  */
-#line 2219 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
-    }
-    break;
-
-  case 183:
-
-/* Line 678 of lalr1.cc  */
-#line 2227 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
-    }
-    break;
-
   case 184:
 
-/* Line 678 of lalr1.cc  */
-#line 2235 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2229 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
+    }
+    break;
+
+  case 185:
+
+/* Line 690 of lalr1.cc  */
+#line 2237 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
+    }
+    break;
+
+  case 186:
+
+/* Line 690 of lalr1.cc  */
+#line 2245 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4563,10 +4609,10 @@
     }
     break;
 
-  case 185:
+  case 187:
 
-/* Line 678 of lalr1.cc  */
-#line 2242 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2252 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4574,10 +4620,10 @@
     }
     break;
 
-  case 186:
+  case 188:
 
-/* Line 678 of lalr1.cc  */
-#line 2249 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2259 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (1)].node)));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4585,10 +4631,10 @@
     }
     break;
 
-  case 187:
+  case 189:
 
-/* Line 678 of lalr1.cc  */
-#line 2259 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2269 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
@@ -4602,10 +4648,10 @@
     }
     break;
 
-  case 188:
+  case 190:
 
-/* Line 678 of lalr1.cc  */
-#line 2271 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2281 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4620,10 +4666,10 @@
     }
     break;
 
-  case 189:
+  case 191:
 
-/* Line 678 of lalr1.cc  */
-#line 2284 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2294 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4637,10 +4683,10 @@
     }
     break;
 
-  case 190:
+  case 192:
 
-/* Line 678 of lalr1.cc  */
-#line 2296 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2306 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -4654,37 +4700,37 @@
     }
     break;
 
-  case 191:
+  case 193:
 
-/* Line 678 of lalr1.cc  */
-#line 2312 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2322 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new AssignExpr(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)), (yysemantic_stack_[(5) - (4)].expr));
     }
     break;
 
-  case 192:
+  case 194:
 
-/* Line 678 of lalr1.cc  */
-#line 2320 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2330 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
     break;
 
-  case 193:
+  case 195:
 
-/* Line 678 of lalr1.cc  */
-#line 2328 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2338 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
     break;
 
-  case 194:
+  case 196:
 
-/* Line 678 of lalr1.cc  */
-#line 2336 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2346 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4697,28 +4743,28 @@
     }
     break;
 
-  case 195:
+  case 197:
 
-/* Line 678 of lalr1.cc  */
-#line 2351 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2361 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
     break;
 
-  case 196:
+  case 198:
 
-/* Line 678 of lalr1.cc  */
-#line 2356 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2366 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
     break;
 
-  case 197:
+  case 199:
 
-/* Line 678 of lalr1.cc  */
-#line 2364 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2374 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4730,10 +4776,10 @@
     }
     break;
 
-  case 198:
+  case 200:
 
-/* Line 678 of lalr1.cc  */
-#line 2378 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2388 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       exprnode* retExpr = (yysemantic_stack_[(2) - (2)].expr);
 
@@ -4748,10 +4794,10 @@
     }
     break;
 
-  case 199:
+  case 201:
 
-/* Line 678 of lalr1.cc  */
-#line 2395 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2405 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       exprnode* thenExpr = (yysemantic_stack_[(8) - (6)].expr);
       exprnode* elseExpr = (yysemantic_stack_[(8) - (8)].expr);
@@ -4774,19 +4820,19 @@
     }
     break;
 
-  case 200:
+  case 202:
 
-/* Line 678 of lalr1.cc  */
-#line 2420 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2430 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TryExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), (yysemantic_stack_[(3) - (3)].expr));
     }
     break;
 
-  case 201:
+  case 203:
 
-/* Line 678 of lalr1.cc  */
-#line 2428 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2438 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -4794,10 +4840,10 @@
     }
     break;
 
-  case 202:
+  case 204:
 
-/* Line 678 of lalr1.cc  */
-#line 2435 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2445 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -4806,29 +4852,29 @@
     }
     break;
 
-  case 203:
-
-/* Line 678 of lalr1.cc  */
-#line 2446 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-       (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
-       delete (yysemantic_stack_[(3) - (2)].name_test_list);
-    }
-    break;
-
-  case 204:
-
-/* Line 678 of lalr1.cc  */
-#line 2456 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 205:
 
-/* Line 678 of lalr1.cc  */
-#line 2461 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2456 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+       (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
+       delete (yysemantic_stack_[(3) - (2)].name_test_list);
+    }
+    break;
+
+  case 206:
+
+/* Line 690 of lalr1.cc  */
+#line 2466 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 207:
+
+/* Line 690 of lalr1.cc  */
+#line 2471 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -4841,10 +4887,10 @@
     }
     break;
 
-  case 224:
+  case 226:
 
-/* Line 678 of lalr1.cc  */
-#line 2506 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2516 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4856,64 +4902,64 @@
     }
     break;
 
-  case 225:
+  case 227:
 
-/* Line 678 of lalr1.cc  */
-#line 2520 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2530 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
     break;
 
-  case 226:
+  case 228:
 
-/* Line 678 of lalr1.cc  */
-#line 2528 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2538 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
     break;
 
-  case 227:
+  case 229:
 
-/* Line 678 of lalr1.cc  */
-#line 2533 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2543 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
     break;
 
-  case 228:
+  case 230:
 
-/* Line 678 of lalr1.cc  */
-#line 2541 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2551 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
     break;
 
-  case 229:
+  case 231:
 
-/* Line 678 of lalr1.cc  */
-#line 2546 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2556 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
     break;
 
-  case 230:
+  case 232:
 
-/* Line 678 of lalr1.cc  */
-#line 2551 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2561 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
     break;
 
-  case 231:
+  case 233:
 
-/* Line 678 of lalr1.cc  */
-#line 2559 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2569 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -4923,10 +4969,10 @@
     }
     break;
 
-  case 232:
+  case 234:
 
-/* Line 678 of lalr1.cc  */
-#line 2568 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2578 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -4936,10 +4982,10 @@
     }
     break;
 
-  case 233:
+  case 235:
 
-/* Line 678 of lalr1.cc  */
-#line 2580 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2590 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -4951,10 +4997,10 @@
     }
     break;
 
-  case 234:
+  case 236:
 
-/* Line 678 of lalr1.cc  */
-#line 2590 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2600 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -4965,19 +5011,19 @@
     }
     break;
 
-  case 235:
+  case 237:
 
-/* Line 678 of lalr1.cc  */
-#line 2603 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2613 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CountClause(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
-  case 244:
+  case 246:
 
-/* Line 678 of lalr1.cc  */
-#line 2627 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2637 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4985,10 +5031,10 @@
     }
     break;
 
-  case 245:
+  case 247:
 
-/* Line 678 of lalr1.cc  */
-#line 2634 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2644 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       FLWORClauseList *fcl = dynamic_cast<FLWORClauseList*>((yysemantic_stack_[(2) - (1)].node));
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -4996,19 +5042,19 @@
     }
     break;
 
-  case 246:
+  case 248:
 
-/* Line 678 of lalr1.cc  */
-#line 2644 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2654 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ForClause(LOC((yyloc)), dynamic_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node)));
     }
     break;
 
-  case 247:
+  case 249:
 
-/* Line 678 of lalr1.cc  */
-#line 2652 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2662 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarInDeclList *vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5016,10 +5062,10 @@
     }
     break;
 
-  case 248:
+  case 250:
 
-/* Line 678 of lalr1.cc  */
-#line 2659 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2669 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if ( VarInDeclList *vdl = dynamic_cast<VarInDeclList*>((yysemantic_stack_[(4) - (1)].node)) )
         vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5027,10 +5073,10 @@
     }
     break;
 
-  case 249:
+  case 251:
 
-/* Line 678 of lalr1.cc  */
-#line 2669 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2679 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5042,55 +5088,55 @@
     }
     break;
 
-  case 250:
-
-/* Line 678 of lalr1.cc  */
-#line 2679 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = new VarInDecl(LOC((yyloc)),
-                         static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
-                         NULL,
-                         NULL,
-                         NULL,
-                         (yysemantic_stack_[(5) - (5)].expr),
-                         true);
-    }
-    break;
-
-  case 251:
-
-/* Line 678 of lalr1.cc  */
-#line 2689 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = new VarInDecl(LOC((yyloc)),
-                         static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
-                         dynamic_cast<SequenceType *>((yysemantic_stack_[(4) - (2)].node)),
-                         NULL,
-                         NULL,
-                         (yysemantic_stack_[(4) - (4)].expr),
-                         false);
-    }
-    break;
-
   case 252:
 
-/* Line 678 of lalr1.cc  */
-#line 2699 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2689 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
-                         static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
-                         dynamic_cast<SequenceType *>((yysemantic_stack_[(6) - (2)].node)),
-                         NULL,
-                         NULL,
-                         (yysemantic_stack_[(6) - (6)].expr),
+                         static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
+                         NULL,
+                         NULL,
+                         NULL,
+                         (yysemantic_stack_[(5) - (5)].expr),
                          true);
     }
     break;
 
   case 253:
 
-/* Line 678 of lalr1.cc  */
-#line 2709 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2699 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = new VarInDecl(LOC((yyloc)),
+                         static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
+                         dynamic_cast<SequenceType *>((yysemantic_stack_[(4) - (2)].node)),
+                         NULL,
+                         NULL,
+                         (yysemantic_stack_[(4) - (4)].expr),
+                         false);
+    }
+    break;
+
+  case 254:
+
+/* Line 690 of lalr1.cc  */
+#line 2709 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = new VarInDecl(LOC((yyloc)),
+                         static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
+                         dynamic_cast<SequenceType *>((yysemantic_stack_[(6) - (2)].node)),
+                         NULL,
+                         NULL,
+                         (yysemantic_stack_[(6) - (6)].expr),
+                         true);
+    }
+    break;
+
+  case 255:
+
+/* Line 690 of lalr1.cc  */
+#line 2719 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5102,10 +5148,10 @@
     }
     break;
 
-  case 254:
+  case 256:
 
-/* Line 678 of lalr1.cc  */
-#line 2719 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2729 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5117,10 +5163,10 @@
     }
     break;
 
-  case 255:
+  case 257:
 
-/* Line 678 of lalr1.cc  */
-#line 2729 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2739 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5132,10 +5178,10 @@
     }
     break;
 
-  case 256:
+  case 258:
 
-/* Line 678 of lalr1.cc  */
-#line 2739 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2749 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5147,10 +5193,10 @@
     }
     break;
 
-  case 257:
+  case 259:
 
-/* Line 678 of lalr1.cc  */
-#line 2750 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2760 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5161,10 +5207,10 @@
     }
     break;
 
-  case 258:
+  case 260:
 
-/* Line 678 of lalr1.cc  */
-#line 2759 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2769 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5176,10 +5222,10 @@
     }
     break;
 
-  case 259:
+  case 261:
 
-/* Line 678 of lalr1.cc  */
-#line 2769 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2779 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5191,10 +5237,10 @@
     }
     break;
 
-  case 260:
+  case 262:
 
-/* Line 678 of lalr1.cc  */
-#line 2779 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2789 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5206,37 +5252,37 @@
     }
     break;
 
-  case 261:
+  case 263:
 
-/* Line 678 of lalr1.cc  */
-#line 2795 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2805 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
-  case 262:
+  case 264:
 
-/* Line 678 of lalr1.cc  */
-#line 2804 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2814 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
-  case 263:
+  case 265:
 
-/* Line 678 of lalr1.cc  */
-#line 2813 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2823 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
     break;
 
-  case 264:
+  case 266:
 
-/* Line 678 of lalr1.cc  */
-#line 2821 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2831 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5244,10 +5290,10 @@
         }
     break;
 
-  case 265:
+  case 267:
 
-/* Line 678 of lalr1.cc  */
-#line 2827 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2837 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if( VarGetsDeclList *vgdl = dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(3) - (1)].node)) )
                 vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5255,10 +5301,10 @@
         }
     break;
 
-  case 266:
+  case 268:
 
-/* Line 678 of lalr1.cc  */
-#line 2839 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2849 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5268,10 +5314,10 @@
     }
     break;
 
-  case 267:
+  case 269:
 
-/* Line 678 of lalr1.cc  */
-#line 2847 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2857 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5281,10 +5327,10 @@
     }
     break;
 
-  case 268:
+  case 270:
 
-/* Line 678 of lalr1.cc  */
-#line 2857 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2867 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5294,10 +5340,10 @@
      }
     break;
 
-  case 269:
+  case 271:
 
-/* Line 678 of lalr1.cc  */
-#line 2865 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2875 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5307,10 +5353,10 @@
     }
     break;
 
-  case 270:
+  case 272:
 
-/* Line 678 of lalr1.cc  */
-#line 2877 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2887 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5318,10 +5364,10 @@
     }
     break;
 
-  case 271:
+  case 273:
 
-/* Line 678 of lalr1.cc  */
-#line 2883 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2893 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5330,93 +5376,93 @@
     }
     break;
 
-  case 273:
+  case 275:
 
-/* Line 678 of lalr1.cc  */
-#line 2896 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2906 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL);
     }
     break;
 
-  case 274:
+  case 276:
 
-/* Line 678 of lalr1.cc  */
-#line 2900 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2910 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_curr(static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)));
     }
     break;
 
-  case 275:
+  case 277:
 
-/* Line 678 of lalr1.cc  */
-#line 2908 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2918 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), dynamic_cast<PositionalVar*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL, NULL);
     }
     break;
 
-  case 276:
+  case 278:
 
-/* Line 678 of lalr1.cc  */
-#line 2912 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2922 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_posvar(dynamic_cast<PositionalVar*>((yysemantic_stack_[(2) - (1)].node)));
     }
     break;
 
-  case 278:
+  case 280:
 
-/* Line 678 of lalr1.cc  */
-#line 2921 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2931 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), static_cast<QName*>((yysemantic_stack_[(6) - (6)].expr)));
     }
     break;
 
-  case 279:
+  case 281:
 
-/* Line 678 of lalr1.cc  */
-#line 2925 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2935 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
-  case 280:
+  case 282:
 
-/* Line 678 of lalr1.cc  */
-#line 2929 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2939 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL);
     }
     break;
 
-  case 281:
+  case 283:
 
-/* Line 678 of lalr1.cc  */
-#line 2939 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2949 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
     break;
 
-  case 282:
+  case 284:
 
-/* Line 678 of lalr1.cc  */
-#line 2947 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2957 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
     break;
 
-  case 283:
+  case 285:
 
-/* Line 678 of lalr1.cc  */
-#line 2954 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2964 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       GroupSpecList* gsl = new GroupSpecList(LOC((yyloc)));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5424,10 +5470,10 @@
     }
     break;
 
-  case 284:
+  case 286:
 
-/* Line 678 of lalr1.cc  */
-#line 2960 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2970 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       GroupSpecList* gsl = static_cast<GroupSpecList*>((yysemantic_stack_[(3) - (1)].node));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(3) - (3)].node)));
@@ -5435,28 +5481,28 @@
     }
     break;
 
-  case 285:
+  case 287:
 
-/* Line 678 of lalr1.cc  */
-#line 2970 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2980 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL, NULL);
     }
     break;
 
-  case 286:
+  case 288:
 
-/* Line 678 of lalr1.cc  */
-#line 2974 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2984 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)), NULL, (yysemantic_stack_[(4) - (4)].expr), NULL);
     }
     break;
 
-  case 287:
+  case 289:
 
-/* Line 678 of lalr1.cc  */
-#line 2978 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2988 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5466,10 +5512,10 @@
     }
     break;
 
-  case 288:
+  case 290:
 
-/* Line 678 of lalr1.cc  */
-#line 2986 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2996 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5479,10 +5525,10 @@
     }
     break;
 
-  case 289:
+  case 291:
 
-/* Line 678 of lalr1.cc  */
-#line 2994 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3004 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5492,10 +5538,10 @@
     }
     break;
 
-  case 290:
+  case 292:
 
-/* Line 678 of lalr1.cc  */
-#line 3002 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3012 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -5505,19 +5551,19 @@
     }
     break;
 
-  case 291:
+  case 293:
 
-/* Line 678 of lalr1.cc  */
-#line 3014 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3024 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
-  case 292:
+  case 294:
 
-/* Line 678 of lalr1.cc  */
-#line 3022 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3032 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5525,10 +5571,10 @@
         }
     break;
 
-  case 293:
+  case 295:
 
-/* Line 678 of lalr1.cc  */
-#line 3028 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3038 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5536,10 +5582,10 @@
         }
     break;
 
-  case 294:
+  case 296:
 
-/* Line 678 of lalr1.cc  */
-#line 3038 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3048 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5547,10 +5593,10 @@
         }
     break;
 
-  case 295:
+  case 297:
 
-/* Line 678 of lalr1.cc  */
-#line 3044 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3054 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( OrderSpecList* osl = dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (1)].node)) )
                 osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5558,19 +5604,19 @@
         }
     break;
 
-  case 296:
+  case 298:
 
-/* Line 678 of lalr1.cc  */
-#line 3054 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3064 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
     break;
 
-  case 297:
+  case 299:
 
-/* Line 678 of lalr1.cc  */
-#line 3058 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3068 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderSpec(
                 LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<OrderModifierPN*>((yysemantic_stack_[(2) - (2)].node))
@@ -5578,10 +5624,10 @@
         }
     break;
 
-  case 298:
+  case 300:
 
-/* Line 678 of lalr1.cc  */
-#line 3068 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3078 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5589,10 +5635,10 @@
         }
     break;
 
-  case 299:
+  case 301:
 
-/* Line 678 of lalr1.cc  */
-#line 3074 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3084 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5600,10 +5646,10 @@
         }
     break;
 
-  case 300:
+  case 302:
 
-/* Line 678 of lalr1.cc  */
-#line 3080 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3090 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5611,10 +5657,10 @@
         }
     break;
 
-  case 301:
+  case 303:
 
-/* Line 678 of lalr1.cc  */
-#line 3086 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3096 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5625,10 +5671,10 @@
         }
     break;
 
-  case 302:
+  case 304:
 
-/* Line 678 of lalr1.cc  */
-#line 3095 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3105 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5639,10 +5685,10 @@
         }
     break;
 
-  case 303:
+  case 305:
 
-/* Line 678 of lalr1.cc  */
-#line 3104 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3114 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5653,10 +5699,10 @@
         }
     break;
 
-  case 304:
+  case 306:
 
-/* Line 678 of lalr1.cc  */
-#line 3113 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3123 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5667,28 +5713,28 @@
         }
     break;
 
-  case 305:
+  case 307:
 
-/* Line 678 of lalr1.cc  */
-#line 3126 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3136 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
     break;
 
-  case 306:
+  case 308:
 
-/* Line 678 of lalr1.cc  */
-#line 3130 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3140 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
     break;
 
-  case 307:
+  case 309:
 
-/* Line 678 of lalr1.cc  */
-#line 3138 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3148 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -5696,10 +5742,10 @@
         }
     break;
 
-  case 308:
+  case 310:
 
-/* Line 678 of lalr1.cc  */
-#line 3144 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3154 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -5707,19 +5753,19 @@
         }
     break;
 
-  case 309:
+  case 311:
 
-/* Line 678 of lalr1.cc  */
-#line 3154 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3164 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
-  case 310:
+  case 312:
 
-/* Line 678 of lalr1.cc  */
-#line 3162 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3172 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5730,10 +5776,10 @@
         }
     break;
 
-  case 311:
+  case 313:
 
-/* Line 678 of lalr1.cc  */
-#line 3171 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3181 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5744,10 +5790,10 @@
         }
     break;
 
-  case 312:
+  case 314:
 
-/* Line 678 of lalr1.cc  */
-#line 3184 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3194 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       QVarInDeclList *qvidl = new QVarInDeclList( LOC((yyloc)) );
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5756,10 +5802,10 @@
     }
     break;
 
-  case 313:
+  case 315:
 
-/* Line 678 of lalr1.cc  */
-#line 3191 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3201 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       QVarInDeclList *qvidl = dynamic_cast<QVarInDeclList*>((yysemantic_stack_[(4) - (1)].node));
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5767,19 +5813,19 @@
     }
     break;
 
-  case 314:
+  case 316:
 
-/* Line 678 of lalr1.cc  */
-#line 3203 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3213 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
     break;
 
-  case 315:
+  case 317:
 
-/* Line 678 of lalr1.cc  */
-#line 3207 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3217 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5788,50 +5834,50 @@
     }
     break;
 
-  case 316:
-
-/* Line 678 of lalr1.cc  */
-#line 3219 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
-    }
-    break;
-
-  case 317:
-
-/* Line 678 of lalr1.cc  */
-#line 3226 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
-      scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
-      (yyval.node) = scc_list_p;
-    }
-    break;
-
   case 318:
 
-/* Line 678 of lalr1.cc  */
-#line 3232 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3229 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
-      scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
-      (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+      (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
     }
     break;
 
   case 319:
 
-/* Line 678 of lalr1.cc  */
-#line 3241 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3236 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
+      SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
+      scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
+      (yyval.node) = scc_list_p;
     }
     break;
 
   case 320:
 
-/* Line 678 of lalr1.cc  */
-#line 3248 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3242 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
+      scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
+      (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+    }
+    break;
+
+  case 321:
+
+/* Line 690 of lalr1.cc  */
+#line 3251 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
+    }
+    break;
+
+  case 322:
+
+/* Line 690 of lalr1.cc  */
+#line 3258 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -5839,10 +5885,10 @@
     }
     break;
 
-  case 321:
+  case 323:
 
-/* Line 678 of lalr1.cc  */
-#line 3254 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3264 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = static_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node));
       sco_list_p->push_back((yysemantic_stack_[(3) - (3)].expr));
@@ -5850,75 +5896,50 @@
     }
     break;
 
-  case 322:
-
-/* Line 678 of lalr1.cc  */
-#line 3265 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
-    }
-    break;
-
-  case 323:
-
-/* Line 678 of lalr1.cc  */
-#line 3272 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
-      scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
-      (yyval.node) = scc_list_p;
-    }
-    break;
-
   case 324:
 
-/* Line 678 of lalr1.cc  */
-#line 3278 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3275 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
-      scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
-      (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+      (yyval.expr) = new SwitchExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(8) - (5)].node)), (yysemantic_stack_[(8) - (8)].expr));
     }
     break;
 
   case 325:
 
-/* Line 678 of lalr1.cc  */
-#line 3287 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3282 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
+      SwitchCaseClauseList* scc_list_p = new SwitchCaseClauseList(LOC((yyloc)));
+      scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(1) - (1)].node)));
+      (yyval.node) = scc_list_p;
     }
     break;
 
   case 326:
 
-/* Line 678 of lalr1.cc  */
-#line 3296 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3288 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
-                              (yysemantic_stack_[(8) - (3)].expr),
-                              dynamic_cast<CaseClauseList*>((yysemantic_stack_[(8) - (5)].node)),
-                              (yysemantic_stack_[(8) - (8)].expr));
+      SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
+      scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
+      (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
     }
     break;
 
   case 327:
 
-/* Line 678 of lalr1.cc  */
-#line 3303 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3297 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
-                              (yysemantic_stack_[(10) - (3)].expr),
-                              dynamic_cast<CaseClauseList*>((yysemantic_stack_[(10) - (5)].node)),
-                              static_cast<QName*>((yysemantic_stack_[(10) - (8)].expr)),
-                              (yysemantic_stack_[(10) - (10)].expr));
+      (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
     }
     break;
 
   case 328:
 
-/* Line 678 of lalr1.cc  */
-#line 3314 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3306 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -5929,8 +5950,8 @@
 
   case 329:
 
-/* Line 678 of lalr1.cc  */
-#line 3321 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3313 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -5942,143 +5963,150 @@
 
   case 330:
 
-/* Line 678 of lalr1.cc  */
-#line 3333 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3324 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
-      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
-      (yyval.node) = cc_list_p;
+      (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
+                              (yysemantic_stack_[(8) - (3)].expr),
+                              dynamic_cast<CaseClauseList*>((yysemantic_stack_[(8) - (5)].node)),
+                              (yysemantic_stack_[(8) - (8)].expr));
     }
     break;
 
   case 331:
 
-/* Line 678 of lalr1.cc  */
-#line 3339 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3331 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
-      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
-      (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+      (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
+                              (yysemantic_stack_[(10) - (3)].expr),
+                              dynamic_cast<CaseClauseList*>((yysemantic_stack_[(10) - (5)].node)),
+                              static_cast<QName*>((yysemantic_stack_[(10) - (8)].expr)),
+                              (yysemantic_stack_[(10) - (10)].expr));
     }
     break;
 
   case 332:
 
-/* Line 678 of lalr1.cc  */
-#line 3351 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3343 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.node) = new CaseClause(LOC ((yyloc)),
-                          dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
-                          (yysemantic_stack_[(4) - (4)].expr));
+      CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
+      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
+      (yyval.node) = cc_list_p;
     }
     break;
 
   case 333:
 
-/* Line 678 of lalr1.cc  */
-#line 3357 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3349 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.node) = new CaseClause(LOC ((yyloc)),
-                          static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
-                          dynamic_cast<SequenceType*>((yysemantic_stack_[(7) - (5)].node)),
-                          (yysemantic_stack_[(7) - (7)].expr));
-     }
+      CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
+      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
+      (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+    }
     break;
 
   case 334:
 
-/* Line 678 of lalr1.cc  */
-#line 3368 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3361 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
-      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
-      (yyval.node) = cc_list_p;
+      (yyval.node) = new CaseClause(LOC ((yyloc)),
+                          dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
+                          (yysemantic_stack_[(4) - (4)].expr));
     }
     break;
 
   case 335:
 
-/* Line 678 of lalr1.cc  */
-#line 3374 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3367 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
-      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
-      (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
-    }
+      (yyval.node) = new CaseClause(LOC ((yyloc)),
+                          static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
+                          dynamic_cast<SequenceType*>((yysemantic_stack_[(7) - (5)].node)),
+                          (yysemantic_stack_[(7) - (7)].expr));
+     }
     break;
 
   case 336:
 
-/* Line 678 of lalr1.cc  */
-#line 3385 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3378 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.node) = new CaseClause(LOC ((yyloc)),
-                          dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
-                          (yysemantic_stack_[(4) - (4)].expr));
+      CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
+      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
+      (yyval.node) = cc_list_p;
     }
     break;
 
   case 337:
 
-/* Line 678 of lalr1.cc  */
-#line 3391 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3384 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.node) = new CaseClause(LOC ((yyloc)),
-                          static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
-                          dynamic_cast<SequenceType*>((yysemantic_stack_[(7) - (5)].node)),
-                          (yysemantic_stack_[(7) - (7)].expr));
-     }
+      CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
+      cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
+      (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+    }
     break;
 
   case 338:
 
-/* Line 678 of lalr1.cc  */
-#line 3402 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3395 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = new IfExpr(LOC ((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (6)].expr), (yysemantic_stack_[(8) - (8)].expr));
+      (yyval.node) = new CaseClause(LOC ((yyloc)),
+                          dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
+                          (yysemantic_stack_[(4) - (4)].expr));
     }
     break;
 
   case 339:
 
-/* Line 678 of lalr1.cc  */
-#line 3411 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3401 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
+      (yyval.node) = new CaseClause(LOC ((yyloc)),
+                          static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
+                          dynamic_cast<SequenceType*>((yysemantic_stack_[(7) - (5)].node)),
+                          (yysemantic_stack_[(7) - (7)].expr));
+     }
     break;
 
   case 340:
 
-/* Line 678 of lalr1.cc  */
-#line 3415 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3412 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+      (yyval.expr) = new IfExpr(LOC ((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (6)].expr), (yysemantic_stack_[(8) - (8)].expr));
     }
     break;
 
   case 341:
 
-/* Line 678 of lalr1.cc  */
-#line 3424 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3421 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
     break;
 
   case 342:
 
-/* Line 678 of lalr1.cc  */
-#line 3428 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3425 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
-        }
+      (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+    }
     break;
 
   case 343:
 
-/* Line 678 of lalr1.cc  */
-#line 3436 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3434 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6086,8 +6114,26 @@
 
   case 344:
 
-/* Line 678 of lalr1.cc  */
-#line 3440 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3438 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 345:
+
+/* Line 690 of lalr1.cc  */
+#line 3446 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 346:
+
+/* Line 690 of lalr1.cc  */
+#line 3450 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "eq" | "ne" | "lt" | "le" | "gt" | "ge" */
             (yyval.expr) = new ComparisonExpr(
@@ -6099,10 +6145,10 @@
         }
     break;
 
-  case 345:
+  case 347:
 
-/* Line 678 of lalr1.cc  */
-#line 3450 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3460 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "is" | "<<" | ">>" */
             (yyval.expr) = new ComparisonExpr(
@@ -6111,10 +6157,10 @@
         }
     break;
 
-  case 346:
+  case 348:
 
-/* Line 678 of lalr1.cc  */
-#line 3457 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3467 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6125,10 +6171,10 @@
         }
     break;
 
-  case 347:
+  case 349:
 
-/* Line 678 of lalr1.cc  */
-#line 3466 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3476 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6139,20 +6185,20 @@
         }
     break;
 
-  case 348:
+  case 350:
 
-/* Line 678 of lalr1.cc  */
-#line 3475 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3485 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             /* this call is needed */
             driver.lexer->interpretAsLessThan();
         }
     break;
 
-  case 349:
+  case 351:
 
-/* Line 678 of lalr1.cc  */
-#line 3480 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3490 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6163,10 +6209,10 @@
         }
     break;
 
-  case 350:
+  case 352:
 
-/* Line 678 of lalr1.cc  */
-#line 3489 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3499 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6177,10 +6223,10 @@
         }
     break;
 
-  case 351:
+  case 353:
 
-/* Line 678 of lalr1.cc  */
-#line 3498 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3508 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6191,10 +6237,10 @@
         }
     break;
 
-  case 352:
+  case 354:
 
-/* Line 678 of lalr1.cc  */
-#line 3507 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3517 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6205,19 +6251,19 @@
         }
     break;
 
-  case 353:
+  case 355:
 
-/* Line 678 of lalr1.cc  */
-#line 3520 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3530 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
-  case 354:
+  case 356:
 
-/* Line 678 of lalr1.cc  */
-#line 3524 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3534 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FTContainsExpr(
                 LOC((yyloc)),
@@ -6228,64 +6274,46 @@
         }
     break;
 
-  case 355:
-
-/* Line 678 of lalr1.cc  */
-#line 3536 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 356:
-
-/* Line 678 of lalr1.cc  */
-#line 3540 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
-        }
-    break;
-
   case 357:
 
-/* Line 678 of lalr1.cc  */
-#line 3547 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3546 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = NULL;
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 358:
 
-/* Line 678 of lalr1.cc  */
-#line 3551 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3550 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+          (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
         }
     break;
 
   case 359:
 
-/* Line 678 of lalr1.cc  */
-#line 3558 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3557 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.node) = NULL;
         }
     break;
 
   case 360:
 
-/* Line 678 of lalr1.cc  */
-#line 3562 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3561 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 361:
 
-/* Line 678 of lalr1.cc  */
-#line 3571 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3568 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6293,157 +6321,155 @@
 
   case 362:
 
-/* Line 678 of lalr1.cc  */
-#line 3575 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3572 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_plus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 363:
 
-/* Line 678 of lalr1.cc  */
-#line 3579 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3581 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_minus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 364:
 
-/* Line 678 of lalr1.cc  */
-#line 3587 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3585 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_plus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 365:
 
-/* Line 678 of lalr1.cc  */
-#line 3591 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3589 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_mul, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_minus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 366:
 
-/* Line 678 of lalr1.cc  */
-#line 3597 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3597 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_div, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 367:
 
-/* Line 678 of lalr1.cc  */
-#line 3603 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3601 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_idiv, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+                LOC((yyloc)), ParseConstants::op_mul, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
 
   case 368:
 
-/* Line 678 of lalr1.cc  */
-#line 3609 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3607 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
-                LOC((yyloc)), ParseConstants::op_mod, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+                LOC((yyloc)), ParseConstants::op_div, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
 
   case 369:
 
-/* Line 678 of lalr1.cc  */
-#line 3619 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3613 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new MultiplicativeExpr(
+                LOC((yyloc)), ParseConstants::op_idiv, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 370:
 
-/* Line 678 of lalr1.cc  */
-#line 3623 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3619 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new MultiplicativeExpr(
+                LOC((yyloc)), ParseConstants::op_mod, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 371:
 
-/* Line 678 of lalr1.cc  */
-#line 3627 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3629 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 372:
 
-/* Line 678 of lalr1.cc  */
-#line 3635 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3633 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 373:
 
-/* Line 678 of lalr1.cc  */
-#line 3639 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3637 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new IntersectExceptExpr(
-                LOC((yyloc)), ParseConstants::op_intersect, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
   case 374:
 
-/* Line 678 of lalr1.cc  */
-#line 3645 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3645 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new IntersectExceptExpr(
-                LOC((yyloc)), ParseConstants::op_except, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
-            );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 375:
 
-/* Line 678 of lalr1.cc  */
-#line 3655 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3649 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.expr) = new IntersectExceptExpr(
+                LOC((yyloc)), ParseConstants::op_intersect, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
+            );
         }
     break;
 
   case 376:
 
-/* Line 678 of lalr1.cc  */
-#line 3659 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3655 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InstanceofExpr(
-                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
+            (yyval.expr) = new IntersectExceptExpr(
+                LOC((yyloc)), ParseConstants::op_except, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
             );
         }
     break;
 
   case 377:
 
-/* Line 678 of lalr1.cc  */
-#line 3669 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3665 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6451,10 +6477,10 @@
 
   case 378:
 
-/* Line 678 of lalr1.cc  */
-#line 3673 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3669 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new TreatExpr(
+            (yyval.expr) = new InstanceofExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
             );
         }
@@ -6462,8 +6488,8 @@
 
   case 379:
 
-/* Line 678 of lalr1.cc  */
-#line 3683 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3679 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6471,19 +6497,19 @@
 
   case 380:
 
-/* Line 678 of lalr1.cc  */
-#line 3687 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3683 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CastableExpr(
-                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
+            (yyval.expr) = new TreatExpr(
+                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
             );
         }
     break;
 
   case 381:
 
-/* Line 678 of lalr1.cc  */
-#line 3697 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3693 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6491,10 +6517,10 @@
 
   case 382:
 
-/* Line 678 of lalr1.cc  */
-#line 3701 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3697 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CastExpr(
+            (yyval.expr) = new CastableExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
             );
         }
@@ -6502,8 +6528,8 @@
 
   case 383:
 
-/* Line 678 of lalr1.cc  */
-#line 3711 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3707 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6511,44 +6537,64 @@
 
   case 384:
 
-/* Line 678 of lalr1.cc  */
-#line 3715 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3711 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new UnaryExpr( LOC((yyloc)), dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].expr) );
+            (yyval.expr) = new CastExpr(
+                LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
+            );
         }
     break;
 
   case 385:
 
-/* Line 678 of lalr1.cc  */
-#line 3723 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3721 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SignList( LOC((yyloc)), true );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 386:
 
-/* Line 678 of lalr1.cc  */
-#line 3727 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3725 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SignList( LOC((yyloc)), false );
+            (yyval.expr) = new UnaryExpr( LOC((yyloc)), dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].expr) );
         }
     break;
 
   case 387:
 
-/* Line 678 of lalr1.cc  */
-#line 3731 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3733 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            (yyval.node) = new SignList( LOC((yyloc)), true );
         }
     break;
 
   case 388:
 
-/* Line 678 of lalr1.cc  */
-#line 3735 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3737 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new SignList( LOC((yyloc)), false );
+        }
+    break;
+
+  case 389:
+
+/* Line 690 of lalr1.cc  */
+#line 3741 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 390:
+
+/* Line 690 of lalr1.cc  */
+#line 3745 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
@@ -6556,28 +6602,10 @@
         }
     break;
 
-  case 389:
-
-/* Line 678 of lalr1.cc  */
-#line 3745 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 390:
-
-/* Line 678 of lalr1.cc  */
-#line 3749 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 391:
 
-/* Line 678 of lalr1.cc  */
-#line 3753 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3755 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6585,116 +6613,134 @@
 
   case 392:
 
-/* Line 678 of lalr1.cc  */
-#line 3761 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3759 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 393:
+
+/* Line 690 of lalr1.cc  */
+#line 3763 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 394:
+
+/* Line 690 of lalr1.cc  */
+#line 3771 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
     break;
 
-  case 393:
+  case 395:
 
-/* Line 678 of lalr1.cc  */
-#line 3765 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3775 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
     break;
 
-  case 394:
+  case 396:
 
-/* Line 678 of lalr1.cc  */
-#line 3769 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3779 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
     break;
 
-  case 395:
+  case 397:
 
-/* Line 678 of lalr1.cc  */
-#line 3773 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3783 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
     break;
 
-  case 396:
+  case 398:
 
-/* Line 678 of lalr1.cc  */
-#line 3777 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3787 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
     break;
 
-  case 397:
+  case 399:
 
-/* Line 678 of lalr1.cc  */
-#line 3781 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3791 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
     break;
 
-  case 398:
+  case 400:
 
-/* Line 678 of lalr1.cc  */
-#line 3789 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3799 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_is );
         }
     break;
 
-  case 399:
+  case 401:
 
-/* Line 678 of lalr1.cc  */
-#line 3793 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3803 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_precedes );
         }
     break;
 
-  case 400:
+  case 402:
 
-/* Line 678 of lalr1.cc  */
-#line 3797 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3807 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_follows );
         }
     break;
 
-  case 401:
+  case 403:
 
-/* Line 678 of lalr1.cc  */
-#line 3805 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3815 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 402:
+  case 404:
 
-/* Line 678 of lalr1.cc  */
-#line 3809 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3819 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 403:
+  case 405:
 
-/* Line 678 of lalr1.cc  */
-#line 3813 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3823 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 404:
+  case 406:
 
-/* Line 678 of lalr1.cc  */
-#line 3817 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3827 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr(
                 LOC((yyloc)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (3)].node))->get_name(), (yysemantic_stack_[(6) - (5)].expr)
@@ -6703,10 +6749,10 @@
         }
     break;
 
-  case 405:
+  case 407:
 
-/* Line 678 of lalr1.cc  */
-#line 3828 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3838 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(3) - (1)].node)), NULL
@@ -6714,10 +6760,10 @@
         }
     break;
 
-  case 406:
+  case 408:
 
-/* Line 678 of lalr1.cc  */
-#line 3834 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3844 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(4) - (1)].node)), (yysemantic_stack_[(4) - (3)].expr)
@@ -6725,10 +6771,10 @@
         }
     break;
 
-  case 407:
+  case 409:
 
-/* Line 678 of lalr1.cc  */
-#line 3844 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3854 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             PragmaList *pl = new PragmaList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -6736,10 +6782,10 @@
         }
     break;
 
-  case 408:
+  case 410:
 
-/* Line 678 of lalr1.cc  */
-#line 3850 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3860 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( PragmaList *pl = dynamic_cast<PragmaList*>((yysemantic_stack_[(2) - (1)].node)) )
                 pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -6747,46 +6793,46 @@
         }
     break;
 
-  case 409:
+  case 411:
 
-/* Line 678 of lalr1.cc  */
-#line 3860 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3870 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
         }
     break;
 
-  case 410:
+  case 412:
 
-/* Line 678 of lalr1.cc  */
-#line 3864 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3874 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) ), "" );
         }
     break;
 
-  case 411:
+  case 413:
 
-/* Line 678 of lalr1.cc  */
-#line 3868 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3878 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), true ), "" );
         }
     break;
 
-  case 412:
+  case 414:
 
-/* Line 678 of lalr1.cc  */
-#line 3906 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3916 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new PathExpr(LOC((yyloc)), ParseConstants::path_leading_lone_slash, NULL);
     }
     break;
 
-  case 413:
+  case 415:
 
-/* Line 678 of lalr1.cc  */
-#line 3910 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3920 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -6798,10 +6844,10 @@
     }
     break;
 
-  case 414:
+  case 416:
 
-/* Line 678 of lalr1.cc  */
-#line 3920 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3930 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -6813,10 +6859,10 @@
     }
     break;
 
-  case 415:
+  case 417:
 
-/* Line 678 of lalr1.cc  */
-#line 3930 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3940 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe = dynamic_cast<RelativePathExpr*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (!rpe ?
@@ -6825,19 +6871,19 @@
     }
     break;
 
-  case 416:
+  case 418:
 
-/* Line 678 of lalr1.cc  */
-#line 3943 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3953 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = NULL;
     }
     break;
 
-  case 417:
+  case 419:
 
-/* Line 678 of lalr1.cc  */
-#line 3952 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3962 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       AxisStep* as = dynamic_cast<AxisStep*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (as ?
@@ -6849,46 +6895,46 @@
     }
     break;
 
-  case 418:
+  case 420:
 
-/* Line 678 of lalr1.cc  */
-#line 3962 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3972 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slash, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr), false);
     }
     break;
 
-  case 419:
+  case 421:
 
-/* Line 678 of lalr1.cc  */
-#line 3966 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3976 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slashslash, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr), false);
     }
     break;
 
-  case 420:
-
-/* Line 678 of lalr1.cc  */
-#line 3975 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 421:
-
-/* Line 678 of lalr1.cc  */
-#line 3979 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 422:
 
-/* Line 678 of lalr1.cc  */
-#line 3988 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3985 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 423:
+
+/* Line 690 of lalr1.cc  */
+#line 3989 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 424:
+
+/* Line 690 of lalr1.cc  */
+#line 3998 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ForwardStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -6896,10 +6942,10 @@
         }
     break;
 
-  case 423:
+  case 425:
 
-/* Line 678 of lalr1.cc  */
-#line 3994 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4004 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -6909,10 +6955,10 @@
         }
     break;
 
-  case 424:
+  case 426:
 
-/* Line 678 of lalr1.cc  */
-#line 4002 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4012 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ReverseStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -6920,10 +6966,10 @@
         }
     break;
 
-  case 425:
+  case 427:
 
-/* Line 678 of lalr1.cc  */
-#line 4008 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4018 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -6933,10 +6979,10 @@
         }
     break;
 
-  case 426:
+  case 428:
 
-/* Line 678 of lalr1.cc  */
-#line 4020 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4030 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<ForwardAxis*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].node)
@@ -6944,10 +6990,10 @@
         }
     break;
 
-  case 427:
+  case 429:
 
-/* Line 678 of lalr1.cc  */
-#line 4026 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4036 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<AbbrevForwardStep*>((yysemantic_stack_[(1) - (1)].node))
@@ -6955,46 +7001,46 @@
         }
     break;
 
-  case 428:
+  case 430:
 
-/* Line 678 of lalr1.cc  */
-#line 4036 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4046 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_child );
         }
     break;
 
-  case 429:
+  case 431:
 
-/* Line 678 of lalr1.cc  */
-#line 4040 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4050 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_descendant);
         }
     break;
 
-  case 430:
+  case 432:
 
-/* Line 678 of lalr1.cc  */
-#line 4044 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4054 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_attribute );
         }
     break;
 
-  case 431:
+  case 433:
 
-/* Line 678 of lalr1.cc  */
-#line 4048 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4058 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_self );
         }
     break;
 
-  case 432:
+  case 434:
 
-/* Line 678 of lalr1.cc  */
-#line 4052 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4062 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_descendant_or_self
@@ -7002,10 +7048,10 @@
         }
     break;
 
-  case 433:
+  case 435:
 
-/* Line 678 of lalr1.cc  */
-#line 4058 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4068 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_following_sibling
@@ -7013,46 +7059,46 @@
         }
     break;
 
-  case 434:
+  case 436:
 
-/* Line 678 of lalr1.cc  */
-#line 4064 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4074 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_following );
         }
     break;
 
-  case 435:
+  case 437:
 
-/* Line 678 of lalr1.cc  */
-#line 4072 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4082 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), false );
         }
     break;
 
-  case 436:
+  case 438:
 
-/* Line 678 of lalr1.cc  */
-#line 4076 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4086 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].node), true );
         }
     break;
 
-  case 437:
+  case 439:
 
-/* Line 678 of lalr1.cc  */
-#line 4084 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4094 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseStep( LOC((yyloc)), dynamic_cast<ReverseAxis*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].node) );
         }
     break;
 
-  case 438:
+  case 440:
 
-/* Line 678 of lalr1.cc  */
-#line 4088 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4098 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             ReverseAxis *ra = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_parent
@@ -7061,28 +7107,28 @@
         }
     break;
 
-  case 439:
+  case 441:
 
-/* Line 678 of lalr1.cc  */
-#line 4099 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4109 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_parent );
         }
     break;
 
-  case 440:
+  case 442:
 
-/* Line 678 of lalr1.cc  */
-#line 4103 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4113 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_ancestor );
         }
     break;
 
-  case 441:
+  case 443:
 
-/* Line 678 of lalr1.cc  */
-#line 4107 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4117 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_preceding_sibling
@@ -7090,19 +7136,19 @@
         }
     break;
 
-  case 442:
+  case 444:
 
-/* Line 678 of lalr1.cc  */
-#line 4113 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4123 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_preceding );
         }
     break;
 
-  case 443:
+  case 445:
 
-/* Line 678 of lalr1.cc  */
-#line 4117 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4127 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_ancestor_or_self
@@ -7110,118 +7156,118 @@
         }
     break;
 
-  case 444:
-
-/* Line 678 of lalr1.cc  */
-#line 4131 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 445:
-
-/* Line 678 of lalr1.cc  */
-#line 4135 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 446:
 
-/* Line 678 of lalr1.cc  */
-#line 4143 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4141 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 447:
+
+/* Line 690 of lalr1.cc  */
+#line 4145 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 448:
+
+/* Line 690 of lalr1.cc  */
+#line 4153 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
-  case 447:
+  case 449:
 
-/* Line 678 of lalr1.cc  */
-#line 4147 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4157 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), dynamic_cast<Wildcard*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 448:
+  case 450:
 
-/* Line 678 of lalr1.cc  */
-#line 4157 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4167 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", "", ParseConstants::wild_all, false);
     }
     break;
 
-  case 449:
+  case 451:
 
-/* Line 678 of lalr1.cc  */
-#line 4161 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4171 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, false);
     }
     break;
 
-  case 450:
+  case 452:
 
-/* Line 678 of lalr1.cc  */
-#line 4165 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4175 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, true);
     }
     break;
 
-  case 451:
+  case 453:
 
-/* Line 678 of lalr1.cc  */
-#line 4169 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4179 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", SYMTAB((yysemantic_stack_[(1) - (1)].sval)), ParseConstants::wild_prefix, false);
     }
     break;
 
-  case 452:
+  case 454:
 
-/* Line 678 of lalr1.cc  */
-#line 4178 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4188 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
      }
     break;
 
-  case 453:
+  case 455:
 
-/* Line 678 of lalr1.cc  */
-#line 4182 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4192 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new FilterExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (2)].node)));
      }
     break;
 
-  case 454:
+  case 456:
 
-/* Line 678 of lalr1.cc  */
-#line 4186 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4196 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(3) - (1)].expr));
      }
     break;
 
-  case 455:
+  case 457:
 
-/* Line 678 of lalr1.cc  */
-#line 4190 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4200 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node)));
      }
     break;
 
-  case 456:
+  case 458:
 
-/* Line 678 of lalr1.cc  */
-#line 4198 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4208 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             PredicateList *pl = new PredicateList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7229,10 +7275,10 @@
         }
     break;
 
-  case 457:
+  case 459:
 
-/* Line 678 of lalr1.cc  */
-#line 4204 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4214 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( PredicateList *pl = dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (1)].node)) )
                 pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(2) - (2)].expr)) );
@@ -7240,37 +7286,19 @@
         }
     break;
 
-  case 458:
+  case 460:
 
-/* Line 678 of lalr1.cc  */
-#line 4214 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4224 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
         }
     break;
 
-  case 459:
-
-/* Line 678 of lalr1.cc  */
-#line 4222 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 460:
-
-/* Line 678 of lalr1.cc  */
-#line 4226 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 461:
 
-/* Line 678 of lalr1.cc  */
-#line 4230 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4232 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7278,8 +7306,8 @@
 
   case 462:
 
-/* Line 678 of lalr1.cc  */
-#line 4234 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4236 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7287,8 +7315,8 @@
 
   case 463:
 
-/* Line 678 of lalr1.cc  */
-#line 4238 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4240 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7296,8 +7324,8 @@
 
   case 464:
 
-/* Line 678 of lalr1.cc  */
-#line 4242 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4244 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7305,8 +7333,8 @@
 
   case 465:
 
-/* Line 678 of lalr1.cc  */
-#line 4246 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4248 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7314,8 +7342,8 @@
 
   case 466:
 
-/* Line 678 of lalr1.cc  */
-#line 4250 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4252 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7323,8 +7351,8 @@
 
   case 467:
 
-/* Line 678 of lalr1.cc  */
-#line 4254 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4256 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7332,8 +7360,8 @@
 
   case 468:
 
-/* Line 678 of lalr1.cc  */
-#line 4258 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4260 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7341,8 +7369,8 @@
 
   case 469:
 
-/* Line 678 of lalr1.cc  */
-#line 4263 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4264 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7350,8 +7378,8 @@
 
   case 470:
 
-/* Line 678 of lalr1.cc  */
-#line 4267 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4268 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7359,8 +7387,8 @@
 
   case 471:
 
-/* Line 678 of lalr1.cc  */
-#line 4271 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4273 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7368,8 +7396,8 @@
 
   case 472:
 
-/* Line 678 of lalr1.cc  */
-#line 4275 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4277 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7377,26 +7405,44 @@
 
   case 473:
 
-/* Line 678 of lalr1.cc  */
-#line 4283 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4281 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 474:
 
-/* Line 678 of lalr1.cc  */
-#line 4287 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4285 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 475:
 
-/* Line 678 of lalr1.cc  */
-#line 4295 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4293 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 476:
+
+/* Line 690 of lalr1.cc  */
+#line 4297 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 477:
+
+/* Line 690 of lalr1.cc  */
+#line 4305 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_decimal, *(yysemantic_stack_[(1) - (1)].decval)
@@ -7405,10 +7451,10 @@
         }
     break;
 
-  case 476:
+  case 478:
 
-/* Line 678 of lalr1.cc  */
-#line 4302 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4312 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_integer, *(yysemantic_stack_[(1) - (1)].ival)
@@ -7417,10 +7463,10 @@
         }
     break;
 
-  case 477:
+  case 479:
 
-/* Line 678 of lalr1.cc  */
-#line 4309 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4319 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_double, *(yysemantic_stack_[(1) - (1)].dval)
@@ -7429,73 +7475,73 @@
         }
     break;
 
-  case 478:
+  case 480:
 
-/* Line 678 of lalr1.cc  */
-#line 4320 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4330 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new VarRef(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)));
         }
     break;
 
-  case 479:
+  case 481:
 
-/* Line 678 of lalr1.cc  */
-#line 4328 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4338 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), NULL);
         }
     break;
 
-  case 480:
+  case 482:
 
-/* Line 678 of lalr1.cc  */
-#line 4332 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4342 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 481:
+  case 483:
 
-/* Line 678 of lalr1.cc  */
-#line 4340 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4350 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
         }
     break;
 
-  case 482:
+  case 484:
 
-/* Line 678 of lalr1.cc  */
-#line 4348 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4358 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new OrderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 483:
+  case 485:
 
-/* Line 678 of lalr1.cc  */
-#line 4356 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4366 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnorderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 484:
+  case 486:
 
-/* Line 678 of lalr1.cc  */
-#line 4410 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4420 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FunctionCall( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), NULL );
         }
     break;
 
-  case 485:
+  case 487:
 
-/* Line 678 of lalr1.cc  */
-#line 4414 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4424 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FunctionCall(
                 LOC((yyloc)),
@@ -7505,10 +7551,10 @@
         }
     break;
 
-  case 486:
+  case 488:
 
-/* Line 678 of lalr1.cc  */
-#line 4427 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4437 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             ArgList *al = new ArgList( LOC((yyloc)) );
             al->push_back( (yysemantic_stack_[(1) - (1)].expr) );
@@ -7516,10 +7562,10 @@
         }
     break;
 
-  case 487:
+  case 489:
 
-/* Line 678 of lalr1.cc  */
-#line 4433 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4443 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( ArgList *al = dynamic_cast<ArgList*>((yysemantic_stack_[(3) - (1)].node)) )
                 al->push_back( (yysemantic_stack_[(3) - (3)].expr) );
@@ -7527,28 +7573,10 @@
         }
     break;
 
-  case 488:
-
-/* Line 678 of lalr1.cc  */
-#line 4443 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 489:
-
-/* Line 678 of lalr1.cc  */
-#line 4447 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 490:
 
-/* Line 678 of lalr1.cc  */
-#line 4455 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4453 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7556,8 +7584,8 @@
 
   case 491:
 
-/* Line 678 of lalr1.cc  */
-#line 4459 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4457 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7565,8 +7593,8 @@
 
   case 492:
 
-/* Line 678 of lalr1.cc  */
-#line 4463 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4465 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7574,8 +7602,26 @@
 
   case 493:
 
-/* Line 678 of lalr1.cc  */
-#line 4471 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4469 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 494:
+
+/* Line 690 of lalr1.cc  */
+#line 4473 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 495:
+
+/* Line 690 of lalr1.cc  */
+#line 4481 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7587,10 +7633,10 @@
         }
     break;
 
-  case 494:
+  case 496:
 
-/* Line 678 of lalr1.cc  */
-#line 4481 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4491 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7602,10 +7648,10 @@
         }
     break;
 
-  case 495:
+  case 497:
 
-/* Line 678 of lalr1.cc  */
-#line 4491 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4501 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7617,10 +7663,10 @@
         }
     break;
 
-  case 496:
+  case 498:
 
-/* Line 678 of lalr1.cc  */
-#line 4501 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4511 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7632,10 +7678,10 @@
         }
     break;
 
-  case 497:
+  case 499:
 
-/* Line 678 of lalr1.cc  */
-#line 4511 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4521 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7647,10 +7693,10 @@
         }
     break;
 
-  case 498:
+  case 500:
 
-/* Line 678 of lalr1.cc  */
-#line 4521 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4531 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7662,10 +7708,10 @@
         }
     break;
 
-  case 499:
+  case 501:
 
-/* Line 678 of lalr1.cc  */
-#line 4536 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4546 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = new DirElemContentList( LOC((yyloc)) );
             decl->push_back( dynamic_cast<DirElemContent*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7673,10 +7719,10 @@
         }
     break;
 
-  case 500:
+  case 502:
 
-/* Line 678 of lalr1.cc  */
-#line 4542 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4552 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = dynamic_cast<DirElemContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( decl )
@@ -7685,10 +7731,10 @@
         }
     break;
 
-  case 501:
+  case 503:
 
-/* Line 678 of lalr1.cc  */
-#line 4553 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4563 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = new DirAttributeList( LOC((yyloc)) );
             dal->push_back( dynamic_cast<DirAttr*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7696,10 +7742,10 @@
         }
     break;
 
-  case 502:
+  case 504:
 
-/* Line 678 of lalr1.cc  */
-#line 4559 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4569 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = dynamic_cast<DirAttributeList*>((yysemantic_stack_[(2) - (1)].node));
             if ( dal )
@@ -7708,10 +7754,10 @@
         }
     break;
 
-  case 503:
+  case 505:
 
-/* Line 678 of lalr1.cc  */
-#line 4570 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4580 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttr(
                 LOC((yyloc)),
@@ -7721,114 +7767,114 @@
         }
     break;
 
-  case 506:
+  case 508:
 
-/* Line 678 of lalr1.cc  */
-#line 4587 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4597 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 507:
+  case 509:
 
-/* Line 678 of lalr1.cc  */
-#line 4592 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4602 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 508:
+  case 510:
 
-/* Line 678 of lalr1.cc  */
-#line 4601 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4611 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrContentList( LOC((yyloc)) );
         }
     break;
 
-  case 509:
-
-/* Line 678 of lalr1.cc  */
-#line 4605 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 510:
-
-/* Line 678 of lalr1.cc  */
-#line 4612 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
-            qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
-            (yyval.node) = qacl;
-        }
-    break;
-
   case 511:
 
-/* Line 678 of lalr1.cc  */
-#line 4618 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4615 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
-            qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
-            (yyval.node) = qacl;
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 512:
 
-/* Line 678 of lalr1.cc  */
-#line 4624 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4622 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            QuoteAttrContentList *qacl =
-                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
-            if ( qacl )
-                qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
+            qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
+            (yyval.node) = qacl;
         }
     break;
 
   case 513:
 
-/* Line 678 of lalr1.cc  */
-#line 4632 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4628 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            QuoteAttrContentList *qacl =
-                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
-            if ( qacl )
-                qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(2) - (2)].node)) );
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
+            qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
+            (yyval.node) = qacl;
         }
     break;
 
   case 514:
 
-/* Line 678 of lalr1.cc  */
-#line 4644 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4634 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
+            QuoteAttrContentList *qacl =
+                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
+            if ( qacl )
+                qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
     break;
 
   case 515:
 
-/* Line 678 of lalr1.cc  */
-#line 4648 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4642 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            QuoteAttrContentList *qacl =
+                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
+            if ( qacl )
+                qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(2) - (2)].node)) );
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
     break;
 
   case 516:
 
-/* Line 678 of lalr1.cc  */
-#line 4655 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4654 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
+        }
+    break;
+
+  case 517:
+
+/* Line 690 of lalr1.cc  */
+#line 4658 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 518:
+
+/* Line 690 of lalr1.cc  */
+#line 4665 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( new AposAttrValueContent( LOC((yyloc)),"'") );
@@ -7836,10 +7882,10 @@
         }
     break;
 
-  case 517:
+  case 519:
 
-/* Line 678 of lalr1.cc  */
-#line 4661 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4671 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( dynamic_cast<AposAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7847,10 +7893,10 @@
         }
     break;
 
-  case 518:
+  case 520:
 
-/* Line 678 of lalr1.cc  */
-#line 4667 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4677 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if (aacl)
@@ -7859,10 +7905,10 @@
         }
     break;
 
-  case 519:
+  case 521:
 
-/* Line 678 of lalr1.cc  */
-#line 4674 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4684 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( aacl )
@@ -7871,19 +7917,19 @@
         }
     break;
 
-  case 520:
+  case 522:
 
-/* Line 678 of lalr1.cc  */
-#line 4685 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4695 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 521:
+  case 523:
 
-/* Line 678 of lalr1.cc  */
-#line 4689 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4699 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -7891,19 +7937,19 @@
         }
     break;
 
-  case 522:
+  case 524:
 
-/* Line 678 of lalr1.cc  */
-#line 4699 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4709 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 523:
+  case 525:
 
-/* Line 678 of lalr1.cc  */
-#line 4703 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4713 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -7911,48 +7957,48 @@
         }
     break;
 
-  case 524:
+  case 526:
 
-/* Line 678 of lalr1.cc  */
-#line 4713 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4723 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr) );
         }
     break;
 
-  case 525:
+  case 527:
 
-/* Line 678 of lalr1.cc  */
-#line 4717 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4727 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 526:
+  case 528:
 
-/* Line 678 of lalr1.cc  */
-#line 4721 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4731 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             rchandle<CDataSection> cdata_h = dynamic_cast<CDataSection*>((yysemantic_stack_[(1) - (1)].expr));
             (yyval.expr) = new DirElemContent( LOC((yyloc)), cdata_h );
         }
     break;
 
-  case 527:
+  case 529:
 
-/* Line 678 of lalr1.cc  */
-#line 4726 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4736 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             rchandle<CommonContent> cont_h = dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr));
             (yyval.expr) = new DirElemContent( LOC((yyloc)), cont_h );
         }
     break;
 
-  case 528:
+  case 530:
 
-/* Line 678 of lalr1.cc  */
-#line 4735 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4745 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_charref, SYMTAB((yysemantic_stack_[(1) - (1)].sval))
@@ -7960,10 +8006,10 @@
         }
     break;
 
-  case 529:
+  case 531:
 
-/* Line 678 of lalr1.cc  */
-#line 4741 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4751 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_lbrace
@@ -7971,10 +8017,10 @@
         }
     break;
 
-  case 530:
+  case 532:
 
-/* Line 678 of lalr1.cc  */
-#line 4747 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4757 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_rbrace
@@ -7982,82 +8028,64 @@
         }
     break;
 
-  case 531:
+  case 533:
 
-/* Line 678 of lalr1.cc  */
-#line 4753 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4763 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(LOC((yyloc)), new EnclosedExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr)));
         }
     break;
 
-  case 532:
+  case 534:
 
-/* Line 678 of lalr1.cc  */
-#line 4761 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4771 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 533:
+  case 535:
 
-/* Line 678 of lalr1.cc  */
-#line 4766 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4776 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), "" );
     }
     break;
 
-  case 534:
+  case 536:
 
-/* Line 678 of lalr1.cc  */
-#line 4774 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4784 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 535:
+  case 537:
 
-/* Line 678 of lalr1.cc  */
-#line 4779 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4789 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
     break;
 
-  case 536:
+  case 538:
 
-/* Line 678 of lalr1.cc  */
-#line 4787 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4797 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new CDataSection( LOC((yyloc)),SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
-  case 537:
-
-/* Line 678 of lalr1.cc  */
-#line 4795 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 538:
-
-/* Line 678 of lalr1.cc  */
-#line 4800 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 539:
 
-/* Line 678 of lalr1.cc  */
-#line 4805 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4805 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8065,8 +8093,8 @@
 
   case 540:
 
-/* Line 678 of lalr1.cc  */
-#line 4810 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4810 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8074,8 +8102,8 @@
 
   case 541:
 
-/* Line 678 of lalr1.cc  */
-#line 4815 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4815 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8083,8 +8111,8 @@
 
   case 542:
 
-/* Line 678 of lalr1.cc  */
-#line 4820 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4820 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8092,234 +8120,234 @@
 
   case 543:
 
-/* Line 678 of lalr1.cc  */
-#line 4829 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4825 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
-        }
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
     break;
 
   case 544:
 
-/* Line 678 of lalr1.cc  */
-#line 4837 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4830 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompElemConstructor(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr));
-        }
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
     break;
 
   case 545:
 
-/* Line 678 of lalr1.cc  */
-#line 4841 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4839 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+            (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 546:
 
-/* Line 678 of lalr1.cc  */
-#line 4858 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4847 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-          (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr) );
+            (yyval.expr) = new CompElemConstructor(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr));
         }
     break;
 
   case 547:
 
-/* Line 678 of lalr1.cc  */
-#line 4862 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4851 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+            (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
         }
     break;
 
   case 548:
 
-/* Line 678 of lalr1.cc  */
-#line 4870 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4868 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+          (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
   case 549:
 
-/* Line 678 of lalr1.cc  */
-#line 4878 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4872 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+            (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
         }
     break;
 
   case 550:
 
-/* Line 678 of lalr1.cc  */
-#line 4886 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4880 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr) );
+            (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 551:
 
-/* Line 678 of lalr1.cc  */
-#line 4890 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4888 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+            (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 552:
 
-/* Line 678 of lalr1.cc  */
-#line 4898 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4896 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SingleType(
-                LOC((yyloc)), dynamic_cast<AtomicType*>((yysemantic_stack_[(1) - (1)].node)), false
-            );
+            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
   case 553:
 
-/* Line 678 of lalr1.cc  */
-#line 4904 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4900 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SingleType(
-                LOC((yyloc)), dynamic_cast<AtomicType*>((yysemantic_stack_[(2) - (1)].node)), true
-            );
+            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
         }
     break;
 
   case 554:
 
-/* Line 678 of lalr1.cc  */
-#line 4914 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4908 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
+            (yyval.node) = new SingleType(
+                LOC((yyloc)), dynamic_cast<AtomicType*>((yysemantic_stack_[(1) - (1)].node)), false
+            );
         }
     break;
 
   case 555:
 
-/* Line 678 of lalr1.cc  */
-#line 4922 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4914 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SequenceType( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
+            (yyval.node) = new SingleType(
+                LOC((yyloc)), dynamic_cast<AtomicType*>((yysemantic_stack_[(2) - (1)].node)), true
+            );
         }
     break;
 
   case 556:
 
-/* Line 678 of lalr1.cc  */
-#line 4926 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4924 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SequenceType(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
+            (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
         }
     break;
 
   case 557:
 
-/* Line 678 of lalr1.cc  */
-#line 4930 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4932 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
+            (yyval.node) = new SequenceType( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
         }
     break;
 
   case 558:
 
-/* Line 678 of lalr1.cc  */
-#line 4965 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4936 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_optionally
-            );
+            (yyval.node) = new SequenceType(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
         }
     break;
 
   case 559:
 
-/* Line 678 of lalr1.cc  */
-#line 4971 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4940 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_zero_or_more
-            );
+            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 560:
 
-/* Line 678 of lalr1.cc  */
-#line 4977 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4975 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_one_or_more
+                LOC((yyloc)), ParseConstants::occurs_optionally
             );
         }
     break;
 
   case 561:
 
-/* Line 678 of lalr1.cc  */
-#line 4987 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4981 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new OccurrenceIndicator(
+                LOC((yyloc)), ParseConstants::occurs_zero_or_more
+            );
         }
     break;
 
   case 562:
 
-/* Line 678 of lalr1.cc  */
-#line 4991 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4987 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new OccurrenceIndicator(
+                LOC((yyloc)), ParseConstants::occurs_one_or_more
+            );
         }
     break;
 
   case 563:
 
-/* Line 678 of lalr1.cc  */
-#line 4995 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4997 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ItemType( LOC((yyloc)), true );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 564:
 
-/* Line 678 of lalr1.cc  */
-#line 4999 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5001 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new StructuredItemType(LOC((yyloc)));
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 565:
 
-/* Line 678 of lalr1.cc  */
-#line 5003 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5005 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new ItemType( LOC((yyloc)), true );
         }
     break;
 
   case 566:
 
-/* Line 678 of lalr1.cc  */
-#line 5007 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5009 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new StructuredItemType(LOC((yyloc)));
         }
     break;
 
   case 567:
 
-/* Line 678 of lalr1.cc  */
-#line 5011 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5013 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8327,8 +8355,26 @@
 
   case 568:
 
-/* Line 678 of lalr1.cc  */
-#line 5018 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5017 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 569:
+
+/* Line 690 of lalr1.cc  */
+#line 5021 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 570:
+
+/* Line 690 of lalr1.cc  */
+#line 5028 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           TypeList* aTypeList = new TypeList(LOC ((yyloc)));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(1) - (1)].node)));
@@ -8336,10 +8382,10 @@
         }
     break;
 
-  case 569:
+  case 571:
 
-/* Line 678 of lalr1.cc  */
-#line 5024 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5034 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           TypeList* aTypeList = dynamic_cast<TypeList *>((yysemantic_stack_[(3) - (1)].node));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(3) - (3)].node)));
@@ -8347,37 +8393,19 @@
         }
     break;
 
-  case 570:
+  case 572:
 
-/* Line 678 of lalr1.cc  */
-#line 5034 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5044 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
-  case 571:
-
-/* Line 678 of lalr1.cc  */
-#line 5042 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 572:
-
-/* Line 678 of lalr1.cc  */
-#line 5046 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 573:
 
-/* Line 678 of lalr1.cc  */
-#line 5050 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5052 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8385,8 +8413,8 @@
 
   case 574:
 
-/* Line 678 of lalr1.cc  */
-#line 5054 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5056 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8394,8 +8422,8 @@
 
   case 575:
 
-/* Line 678 of lalr1.cc  */
-#line 5058 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5060 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8403,8 +8431,8 @@
 
   case 576:
 
-/* Line 678 of lalr1.cc  */
-#line 5062 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5064 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8412,8 +8440,8 @@
 
   case 577:
 
-/* Line 678 of lalr1.cc  */
-#line 5066 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5068 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8421,8 +8449,8 @@
 
   case 578:
 
-/* Line 678 of lalr1.cc  */
-#line 5070 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5072 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8430,8 +8458,8 @@
 
   case 579:
 
-/* Line 678 of lalr1.cc  */
-#line 5074 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5076 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8439,35 +8467,53 @@
 
   case 580:
 
-/* Line 678 of lalr1.cc  */
-#line 5082 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5080 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 581:
+
+/* Line 690 of lalr1.cc  */
+#line 5084 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 582:
+
+/* Line 690 of lalr1.cc  */
+#line 5092 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AnyKindTest( LOC((yyloc)) );
         }
     break;
 
-  case 581:
+  case 583:
 
-/* Line 678 of lalr1.cc  */
-#line 5090 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5100 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)) );
         }
     break;
 
-  case 582:
+  case 584:
 
-/* Line 678 of lalr1.cc  */
-#line 5094 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5104 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)), dynamic_cast<ElementTest*>((yysemantic_stack_[(4) - (3)].node)) );
         }
     break;
 
-  case 583:
+  case 585:
 
-/* Line 678 of lalr1.cc  */
-#line 5098 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5108 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest(
                 LOC((yyloc)), dynamic_cast<SchemaElementTest*>((yysemantic_stack_[(4) - (3)].node))
@@ -8475,259 +8521,259 @@
         }
     break;
 
-  case 584:
+  case 586:
 
-/* Line 678 of lalr1.cc  */
-#line 5108 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5118 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new TextTest( LOC((yyloc)) );
         }
     break;
 
-  case 585:
+  case 587:
 
-/* Line 678 of lalr1.cc  */
-#line 5116 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5126 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new CommentTest( LOC((yyloc)));
         }
     break;
 
-  case 586:
+  case 588:
 
-/* Line 678 of lalr1.cc  */
-#line 5124 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5134 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), "" );
         }
     break;
 
-  case 587:
-
-/* Line 678 of lalr1.cc  */
-#line 5128 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
-  case 588:
-
-/* Line 678 of lalr1.cc  */
-#line 5132 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
   case 589:
 
-/* Line 678 of lalr1.cc  */
-#line 5140 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5138 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
+            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
     break;
 
   case 590:
 
-/* Line 678 of lalr1.cc  */
-#line 5144 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5142 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
-            );
+            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
     break;
 
   case 591:
 
-/* Line 678 of lalr1.cc  */
-#line 5150 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5150 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
-            );
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 592:
 
-/* Line 678 of lalr1.cc  */
-#line 5156 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5154 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
+            (yyval.node) = new AttributeTest(
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
+            );
         }
     break;
 
   case 593:
 
-/* Line 678 of lalr1.cc  */
-#line 5160 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5160 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AttributeTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
             );
         }
     break;
 
   case 594:
 
-/* Line 678 of lalr1.cc  */
-#line 5170 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5166 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 595:
 
-/* Line 678 of lalr1.cc  */
-#line 5178 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5170 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
+            (yyval.node) = new AttributeTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
+            );
         }
     break;
 
   case 596:
 
-/* Line 678 of lalr1.cc  */
-#line 5182 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5180 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
-            );
+            (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
   case 597:
 
-/* Line 678 of lalr1.cc  */
-#line 5188 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5188 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)),
-                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
-                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
-                false
-            );
+            (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
         }
     break;
 
   case 598:
 
-/* Line 678 of lalr1.cc  */
-#line 5197 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5192 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)),
-                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
-                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
-                true
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
             );
         }
     break;
 
   case 599:
 
-/* Line 678 of lalr1.cc  */
-#line 5206 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5198 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, NULL, true
+                LOC((yyloc)),
+                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
+                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
+                false
             );
         }
     break;
 
   case 600:
 
-/* Line 678 of lalr1.cc  */
-#line 5212 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5207 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
+                LOC((yyloc)),
+                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
+                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
+                true
             );
         }
     break;
 
   case 601:
 
-/* Line 678 of lalr1.cc  */
-#line 5218 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5216 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
+                LOC((yyloc)), NULL, NULL, true
             );
         }
     break;
 
   case 602:
 
-/* Line 678 of lalr1.cc  */
-#line 5228 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5222 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
+            );
         }
     break;
 
   case 603:
 
-/* Line 678 of lalr1.cc  */
-#line 5245 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5228 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
+            );
         }
     break;
 
   case 604:
 
-/* Line 678 of lalr1.cc  */
-#line 5252 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5238 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
+            (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
   case 605:
 
-/* Line 678 of lalr1.cc  */
-#line 5267 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5255 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
+            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
   case 606:
 
-/* Line 678 of lalr1.cc  */
-#line 5303 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5262 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
+            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
+        }
     break;
 
   case 607:
 
-/* Line 678 of lalr1.cc  */
-#line 5307 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5277 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
+            (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
+        }
     break;
 
   case 608:
 
-/* Line 678 of lalr1.cc  */
-#line 5315 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5313 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 609:
+
+/* Line 690 of lalr1.cc  */
+#line 5317 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 610:
+
+/* Line 690 of lalr1.cc  */
+#line 5325 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new LiteralFunctionItem(LOC ((yyloc)), dynamic_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].ival));
     }
     break;
 
-  case 609:
+  case 611:
 
-/* Line 678 of lalr1.cc  */
-#line 5323 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5333 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new InlineFunction(LOC((yyloc)),
                               &*(yysemantic_stack_[(3) - (2)].fnsig)->theParams,
@@ -8737,46 +8783,46 @@
     }
     break;
 
-  case 610:
-
-/* Line 678 of lalr1.cc  */
-#line 5335 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
-  case 611:
-
-/* Line 678 of lalr1.cc  */
-#line 5339 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
   case 612:
 
-/* Line 678 of lalr1.cc  */
-#line 5347 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5345 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 613:
+
+/* Line 690 of lalr1.cc  */
+#line 5349 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 614:
+
+/* Line 690 of lalr1.cc  */
+#line 5357 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnyFunctionTest(LOC((yyloc)));
     }
     break;
 
-  case 613:
+  case 615:
 
-/* Line 678 of lalr1.cc  */
-#line 5355 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5365 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)), dynamic_cast<SequenceType *>((yysemantic_stack_[(5) - (5)].node)));
         }
     break;
 
-  case 614:
+  case 616:
 
-/* Line 678 of lalr1.cc  */
-#line 5359 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5369 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)),
               dynamic_cast<TypeList *>((yysemantic_stack_[(6) - (3)].node)),
@@ -8784,19 +8830,19 @@
         }
     break;
 
-  case 615:
+  case 617:
 
-/* Line 678 of lalr1.cc  */
-#line 5370 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5380 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
            (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 616:
+  case 618:
 
-/* Line 678 of lalr1.cc  */
-#line 5387 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5397 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::strict_validation
@@ -8804,10 +8850,10 @@
         }
     break;
 
-  case 617:
+  case 619:
 
-/* Line 678 of lalr1.cc  */
-#line 5393 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5403 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::lax_validation
@@ -8815,10 +8861,10 @@
         }
     break;
 
-  case 618:
+  case 620:
 
-/* Line 678 of lalr1.cc  */
-#line 5399 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5409 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::skip_validation
@@ -8826,81 +8872,81 @@
         }
     break;
 
-  case 619:
-
-/* Line 678 of lalr1.cc  */
-#line 5409 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
-        }
-    break;
-
-  case 620:
-
-/* Line 678 of lalr1.cc  */
-#line 5413 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
-            );
-        }
-    break;
-
   case 621:
 
-/* Line 678 of lalr1.cc  */
-#line 5419 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5419 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
-            );
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 622:
 
-/* Line 678 of lalr1.cc  */
-#line 5425 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5423 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+            (yyval.expr) = new InsertExpr(
+                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            );
         }
     break;
 
   case 623:
 
-/* Line 678 of lalr1.cc  */
-#line 5429 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5429 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
-                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+                LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
             );
         }
     break;
 
   case 624:
 
-/* Line 678 of lalr1.cc  */
-#line 5435 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5435 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 625:
 
-/* Line 678 of lalr1.cc  */
-#line 5439 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5439 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
             );
         }
     break;
 
   case 626:
 
-/* Line 678 of lalr1.cc  */
-#line 5445 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5445 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+        }
+    break;
+
+  case 627:
+
+/* Line 690 of lalr1.cc  */
+#line 5449 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new InsertExpr(
+                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            );
+        }
+    break;
+
+  case 628:
+
+/* Line 690 of lalr1.cc  */
+#line 5455 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                   LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -8908,10 +8954,10 @@
         }
     break;
 
-  case 627:
+  case 629:
 
-/* Line 678 of lalr1.cc  */
-#line 5451 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5461 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC ((yyloc)),
@@ -8920,39 +8966,39 @@
         }
     break;
 
-  case 628:
-
-/* Line 678 of lalr1.cc  */
-#line 5458 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new InsertExpr(
-                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
-            );
-        }
-    break;
-
-  case 629:
-
-/* Line 678 of lalr1.cc  */
-#line 5468 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
-        }
-    break;
-
   case 630:
 
-/* Line 678 of lalr1.cc  */
-#line 5473 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5468 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new InsertExpr(
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+            );
         }
     break;
 
   case 631:
 
-/* Line 678 of lalr1.cc  */
-#line 5481 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5478 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 632:
+
+/* Line 690 of lalr1.cc  */
+#line 5483 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 633:
+
+/* Line 690 of lalr1.cc  */
+#line 5491 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::NODE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
@@ -8960,10 +9006,10 @@
         }
     break;
 
-  case 632:
+  case 634:
 
-/* Line 678 of lalr1.cc  */
-#line 5487 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5497 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::VALUE_OF_NODE, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -8971,29 +9017,29 @@
         }
     break;
 
-  case 633:
+  case 635:
 
-/* Line 678 of lalr1.cc  */
-#line 5497 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5507 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new RenameExpr( LOC ((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 634:
+  case 636:
 
-/* Line 678 of lalr1.cc  */
-#line 5519 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5529 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList *cvl = dynamic_cast<CopyVarList*>((yysemantic_stack_[(7) - (3)].expr));
       (yyval.expr) = new TransformExpr( LOC((yyloc)), cvl, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr) );
     }
     break;
 
-  case 635:
+  case 637:
 
-/* Line 678 of lalr1.cc  */
-#line 5528 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5538 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList* lList = new CopyVarList(LOC((yyloc)));
       lList->push_back (dynamic_cast<VarBinding*> ((yysemantic_stack_[(1) - (1)].expr)));
@@ -9001,10 +9047,10 @@
     }
     break;
 
-  case 636:
+  case 638:
 
-/* Line 678 of lalr1.cc  */
-#line 5534 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5544 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList* lList = dynamic_cast<CopyVarList*>((yysemantic_stack_[(4) - (1)].expr));
       VarBinding* lBinding = dynamic_cast<VarBinding*>((yysemantic_stack_[(4) - (4)].expr));
@@ -9013,28 +9059,28 @@
     }
     break;
 
-  case 637:
+  case 639:
 
-/* Line 678 of lalr1.cc  */
-#line 5547 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5557 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new VarBinding(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
     break;
 
-  case 638:
+  case 640:
 
-/* Line 678 of lalr1.cc  */
-#line 5561 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5571 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new TryExpr( LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 639:
+  case 641:
 
-/* Line 678 of lalr1.cc  */
-#line 5568 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5578 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = new CatchListExpr( LOC((yyloc)) );
             cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -9042,10 +9088,10 @@
         }
     break;
 
-  case 640:
+  case 642:
 
-/* Line 678 of lalr1.cc  */
-#line 5574 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5584 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
             if ( cle )
@@ -9054,29 +9100,29 @@
         }
     break;
 
-  case 641:
-
-/* Line 678 of lalr1.cc  */
-#line 5584 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-       (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
-       delete (yysemantic_stack_[(3) - (2)].name_test_list);
-    }
-    break;
-
-  case 642:
-
-/* Line 678 of lalr1.cc  */
-#line 5593 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
-    }
-    break;
-
   case 643:
 
-/* Line 678 of lalr1.cc  */
-#line 5601 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5594 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+       (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
+       delete (yysemantic_stack_[(3) - (2)].name_test_list);
+    }
+    break;
+
+  case 644:
+
+/* Line 690 of lalr1.cc  */
+#line 5603 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
+    }
+    break;
+
+  case 645:
+
+/* Line 690 of lalr1.cc  */
+#line 5611 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl = new CatchExpr::NameTestList;
             ntl->push_back( static_cast<NameTest*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9084,10 +9130,10 @@
         }
     break;
 
-  case 644:
+  case 646:
 
-/* Line 678 of lalr1.cc  */
-#line 5607 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5617 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl =
                 static_cast<CatchExpr::NameTestList*>((yysemantic_stack_[(3) - (1)].name_test_list));
@@ -9096,76 +9142,58 @@
         }
     break;
 
-  case 645:
+  case 647:
 
-/* Line 678 of lalr1.cc  */
-#line 5625 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5635 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTSelection( LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), (yysemantic_stack_[(2) - (2)].pos_filter_list) );
             delete (yysemantic_stack_[(2) - (2)].pos_filter_list);
         }
     break;
 
-  case 646:
+  case 648:
 
-/* Line 678 of lalr1.cc  */
-#line 5633 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5643 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = NULL;
         }
     break;
 
-  case 647:
+  case 649:
 
-/* Line 678 of lalr1.cc  */
-#line 5637 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5647 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = (yysemantic_stack_[(1) - (1)].pos_filter_list);
         }
     break;
 
-  case 648:
+  case 650:
 
-/* Line 678 of lalr1.cc  */
-#line 5644 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5654 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = new FTSelection::pos_filter_list_t;
             (yyval.pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 649:
+  case 651:
 
-/* Line 678 of lalr1.cc  */
-#line 5649 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5659 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yysemantic_stack_[(2) - (1)].pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(2) - (2)].node)) );
             (yyval.pos_filter_list) = (yysemantic_stack_[(2) - (1)].pos_filter_list);
         }
     break;
 
-  case 650:
-
-/* Line 678 of lalr1.cc  */
-#line 5657 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 651:
-
-/* Line 678 of lalr1.cc  */
-#line 5661 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
-        }
-    break;
-
   case 652:
 
-/* Line 678 of lalr1.cc  */
-#line 5668 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5667 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9173,17 +9201,17 @@
 
   case 653:
 
-/* Line 678 of lalr1.cc  */
-#line 5672 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5671 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTAnd( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
+            (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
   case 654:
 
-/* Line 678 of lalr1.cc  */
-#line 5679 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5678 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9191,17 +9219,17 @@
 
   case 655:
 
-/* Line 678 of lalr1.cc  */
-#line 5683 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5682 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
+            (yyval.node) = new FTAnd( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
   case 656:
 
-/* Line 678 of lalr1.cc  */
-#line 5690 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5689 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9209,8 +9237,26 @@
 
   case 657:
 
-/* Line 678 of lalr1.cc  */
-#line 5694 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5693 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
+        }
+    break;
+
+  case 658:
+
+/* Line 690 of lalr1.cc  */
+#line 5700 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 659:
+
+/* Line 690 of lalr1.cc  */
+#line 5704 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnaryNot(
                 LOC((yyloc)), dynamic_cast<FTPrimaryWithOptions*>((yysemantic_stack_[(2) - (2)].node))
@@ -9218,10 +9264,10 @@
         }
     break;
 
-  case 658:
+  case 660:
 
-/* Line 678 of lalr1.cc  */
-#line 5703 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5713 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTPrimaryWithOptions(
                 LOC((yyloc)),
@@ -9232,28 +9278,10 @@
         }
     break;
 
-  case 659:
-
-/* Line 678 of lalr1.cc  */
-#line 5715 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 660:
-
-/* Line 678 of lalr1.cc  */
-#line 5719 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 661:
 
-/* Line 678 of lalr1.cc  */
-#line 5726 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5725 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9261,8 +9289,8 @@
 
   case 662:
 
-/* Line 678 of lalr1.cc  */
-#line 5730 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5729 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9270,17 +9298,35 @@
 
   case 663:
 
-/* Line 678 of lalr1.cc  */
-#line 5738 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5736 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 664:
+
+/* Line 690 of lalr1.cc  */
+#line 5740 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 665:
+
+/* Line 690 of lalr1.cc  */
+#line 5748 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWeight( LOC((yyloc)), dynamic_cast<exprnode*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
-  case 664:
+  case 666:
 
-/* Line 678 of lalr1.cc  */
-#line 5746 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5756 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsTimes(
                 LOC((yyloc)),
@@ -9290,37 +9336,19 @@
         }
     break;
 
-  case 665:
+  case 667:
 
-/* Line 678 of lalr1.cc  */
-#line 5754 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5764 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 666:
-
-/* Line 678 of lalr1.cc  */
-#line 5758 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 667:
-
-/* Line 678 of lalr1.cc  */
-#line 5765 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 668:
 
-/* Line 678 of lalr1.cc  */
-#line 5769 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5768 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9328,8 +9356,26 @@
 
   case 669:
 
-/* Line 678 of lalr1.cc  */
-#line 5777 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5775 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 670:
+
+/* Line 690 of lalr1.cc  */
+#line 5779 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 671:
+
+/* Line 690 of lalr1.cc  */
+#line 5787 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTExtensionSelection(
                 LOC((yyloc)),
@@ -9339,28 +9385,28 @@
         }
     break;
 
-  case 670:
-
-/* Line 678 of lalr1.cc  */
-#line 5788 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 671:
-
-/* Line 678 of lalr1.cc  */
-#line 5792 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 672:
 
-/* Line 678 of lalr1.cc  */
-#line 5800 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5798 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 673:
+
+/* Line 690 of lalr1.cc  */
+#line 5802 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 674:
+
+/* Line 690 of lalr1.cc  */
+#line 5810 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWords(
                 LOC((yyloc)),
@@ -9370,10 +9416,10 @@
         }
     break;
 
-  case 673:
+  case 675:
 
-/* Line 678 of lalr1.cc  */
-#line 5812 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5822 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), static_cast<StringLiteral*>((yysemantic_stack_[(1) - (1)].expr)), NULL
@@ -9381,10 +9427,10 @@
         }
     break;
 
-  case 674:
+  case 676:
 
-/* Line 678 of lalr1.cc  */
-#line 5818 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5828 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), NULL, dynamic_cast<exprnode*>((yysemantic_stack_[(3) - (2)].expr))
@@ -9392,109 +9438,91 @@
         }
     break;
 
-  case 675:
+  case 677:
 
-/* Line 678 of lalr1.cc  */
-#line 5827 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5837 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::any );
         }
     break;
 
-  case 676:
-
-/* Line 678 of lalr1.cc  */
-#line 5831 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 677:
-
-/* Line 678 of lalr1.cc  */
-#line 5839 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
-        }
-    break;
-
   case 678:
 
-/* Line 678 of lalr1.cc  */
-#line 5843 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5841 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 679:
 
-/* Line 678 of lalr1.cc  */
-#line 5847 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5849 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
     break;
 
   case 680:
 
-/* Line 678 of lalr1.cc  */
-#line 5854 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5853 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::any;
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
     break;
 
   case 681:
 
-/* Line 678 of lalr1.cc  */
-#line 5858 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5857 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
         }
     break;
 
   case 682:
 
-/* Line 678 of lalr1.cc  */
-#line 5865 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5864 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all;
+            (yyval.ft_anyall_value) = ft_anyall_mode::any;
         }
     break;
 
   case 683:
 
-/* Line 678 of lalr1.cc  */
-#line 5869 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5868 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
+            (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
         }
     break;
 
   case 684:
 
-/* Line 678 of lalr1.cc  */
-#line 5877 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5875 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all;
         }
     break;
 
   case 685:
 
-/* Line 678 of lalr1.cc  */
-#line 5881 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5879 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
         }
     break;
 
   case 686:
 
-/* Line 678 of lalr1.cc  */
-#line 5885 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5887 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9502,8 +9530,8 @@
 
   case 687:
 
-/* Line 678 of lalr1.cc  */
-#line 5889 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5891 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9511,8 +9539,8 @@
 
   case 688:
 
-/* Line 678 of lalr1.cc  */
-#line 5893 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5895 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9520,17 +9548,35 @@
 
   case 689:
 
-/* Line 678 of lalr1.cc  */
-#line 5901 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5899 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 690:
+
+/* Line 690 of lalr1.cc  */
+#line 5903 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 691:
+
+/* Line 690 of lalr1.cc  */
+#line 5911 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTOrder( LOC((yyloc)) );
         }
     break;
 
-  case 690:
+  case 692:
 
-/* Line 678 of lalr1.cc  */
-#line 5909 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5919 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWindow(
                 LOC((yyloc)),
@@ -9540,10 +9586,10 @@
         }
     break;
 
-  case 691:
+  case 693:
 
-/* Line 678 of lalr1.cc  */
-#line 5921 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5931 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDistance(
                 LOC((yyloc)),
@@ -9553,37 +9599,37 @@
         }
     break;
 
-  case 692:
+  case 694:
 
-/* Line 678 of lalr1.cc  */
-#line 5933 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5943 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::words );
         }
     break;
 
-  case 693:
+  case 695:
 
-/* Line 678 of lalr1.cc  */
-#line 5937 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5947 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::sentences );
         }
     break;
 
-  case 694:
+  case 696:
 
-/* Line 678 of lalr1.cc  */
-#line 5941 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5951 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::paragraphs );
         }
     break;
 
-  case 695:
+  case 697:
 
-/* Line 678 of lalr1.cc  */
-#line 5949 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5959 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTMatchOptions *mo = new FTMatchOptions( LOC((yyloc)) );
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -9591,10 +9637,10 @@
         }
     break;
 
-  case 696:
+  case 698:
 
-/* Line 678 of lalr1.cc  */
-#line 5955 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5965 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTMatchOptions *mo = dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (1)].node));
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -9602,28 +9648,10 @@
         }
     break;
 
-  case 697:
-
-/* Line 678 of lalr1.cc  */
-#line 5965 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 698:
-
-/* Line 678 of lalr1.cc  */
-#line 5969 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 699:
 
-/* Line 678 of lalr1.cc  */
-#line 5973 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5975 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9631,8 +9659,8 @@
 
   case 700:
 
-/* Line 678 of lalr1.cc  */
-#line 5977 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5979 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9640,8 +9668,8 @@
 
   case 701:
 
-/* Line 678 of lalr1.cc  */
-#line 5981 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5983 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9649,8 +9677,8 @@
 
   case 702:
 
-/* Line 678 of lalr1.cc  */
-#line 5985 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5987 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9658,8 +9686,8 @@
 
   case 703:
 
-/* Line 678 of lalr1.cc  */
-#line 5989 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5991 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9667,8 +9695,8 @@
 
   case 704:
 
-/* Line 678 of lalr1.cc  */
-#line 5993 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5995 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9676,44 +9704,62 @@
 
   case 705:
 
-/* Line 678 of lalr1.cc  */
-#line 6001 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5999 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 706:
+
+/* Line 690 of lalr1.cc  */
+#line 6003 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 707:
+
+/* Line 690 of lalr1.cc  */
+#line 6011 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::sensitive );
         }
     break;
 
-  case 706:
+  case 708:
 
-/* Line 678 of lalr1.cc  */
-#line 6005 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6015 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::insensitive );
         }
     break;
 
-  case 707:
+  case 709:
 
-/* Line 678 of lalr1.cc  */
-#line 6009 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6019 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::lower );
         }
     break;
 
-  case 708:
+  case 710:
 
-/* Line 678 of lalr1.cc  */
-#line 6013 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6023 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::upper );
         }
     break;
 
-  case 709:
+  case 711:
 
-/* Line 678 of lalr1.cc  */
-#line 6021 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6031 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::sensitive
@@ -9721,10 +9767,10 @@
         }
     break;
 
-  case 710:
+  case 712:
 
-/* Line 678 of lalr1.cc  */
-#line 6027 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6037 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::insensitive
@@ -9732,10 +9778,10 @@
         }
     break;
 
-  case 711:
+  case 713:
 
-/* Line 678 of lalr1.cc  */
-#line 6037 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6047 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTExtensionOption(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval))
@@ -9743,28 +9789,28 @@
         }
     break;
 
-  case 712:
+  case 714:
 
-/* Line 678 of lalr1.cc  */
-#line 6047 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6057 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::stemming );
         }
     break;
 
-  case 713:
+  case 715:
 
-/* Line 678 of lalr1.cc  */
-#line 6051 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6061 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::no_stemming );
         }
     break;
 
-  case 714:
+  case 716:
 
-/* Line 678 of lalr1.cc  */
-#line 6059 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6069 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = NULL;
             if ( (yysemantic_stack_[(2) - (2)].node) ) {
@@ -9776,10 +9822,10 @@
         }
     break;
 
-  case 715:
+  case 717:
 
-/* Line 678 of lalr1.cc  */
-#line 6069 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6079 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = (yysemantic_stack_[(5) - (4)].thesaurus_id_list);
             if ( (yysemantic_stack_[(5) - (3)].node) ) {
@@ -9792,75 +9838,75 @@
         }
     break;
 
-  case 716:
+  case 718:
 
-/* Line 678 of lalr1.cc  */
-#line 6080 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6090 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTThesaurusOption( LOC((yyloc)), NULL, false, true );
         }
     break;
 
-  case 717:
-
-/* Line 678 of lalr1.cc  */
-#line 6087 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 718:
-
-/* Line 678 of lalr1.cc  */
-#line 6091 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 719:
 
-/* Line 678 of lalr1.cc  */
-#line 6098 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6097 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 720:
+
+/* Line 690 of lalr1.cc  */
+#line 6101 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 721:
+
+/* Line 690 of lalr1.cc  */
+#line 6108 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = NULL;
         }
     break;
 
-  case 720:
+  case 722:
 
-/* Line 678 of lalr1.cc  */
-#line 6102 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6112 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(2) - (2)].thesaurus_id_list);
         }
     break;
 
-  case 721:
+  case 723:
 
-/* Line 678 of lalr1.cc  */
-#line 6109 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6119 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = new FTThesaurusOption::thesaurus_id_list_t;
             (yyval.thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 722:
+  case 724:
 
-/* Line 678 of lalr1.cc  */
-#line 6114 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6124 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yysemantic_stack_[(3) - (1)].thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(3) - (3)].node)) );
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(3) - (1)].thesaurus_id_list);
         }
     break;
 
-  case 723:
+  case 725:
 
-/* Line 678 of lalr1.cc  */
-#line 6123 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6133 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTThesaurusID(
                 LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (2)].sval)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), dynamic_cast<FTRange*>((yysemantic_stack_[(4) - (4)].node))
@@ -9868,46 +9914,46 @@
         }
     break;
 
-  case 724:
+  case 726:
 
-/* Line 678 of lalr1.cc  */
-#line 6132 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6142 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = NULL;
         }
     break;
 
-  case 725:
+  case 727:
 
-/* Line 678 of lalr1.cc  */
-#line 6136 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6146 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = (yysemantic_stack_[(2) - (2)].sval);
         }
     break;
 
-  case 726:
-
-/* Line 678 of lalr1.cc  */
-#line 6143 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 727:
-
-/* Line 678 of lalr1.cc  */
-#line 6147 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
-        }
-    break;
-
   case 728:
 
-/* Line 678 of lalr1.cc  */
-#line 6155 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6153 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 729:
+
+/* Line 690 of lalr1.cc  */
+#line 6157 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 730:
+
+/* Line 690 of lalr1.cc  */
+#line 6165 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)),
@@ -9918,10 +9964,10 @@
         }
     break;
 
-  case 729:
+  case 731:
 
-/* Line 678 of lalr1.cc  */
-#line 6164 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6174 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, (yysemantic_stack_[(4) - (4)].incl_excl_list), ft_stop_words_mode::with_default
@@ -9930,10 +9976,10 @@
         }
     break;
 
-  case 730:
+  case 732:
 
-/* Line 678 of lalr1.cc  */
-#line 6171 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6181 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, NULL, ft_stop_words_mode::without
@@ -9941,28 +9987,28 @@
         }
     break;
 
-  case 731:
+  case 733:
 
-/* Line 678 of lalr1.cc  */
-#line 6181 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6191 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), NULL );
         }
     break;
 
-  case 732:
+  case 734:
 
-/* Line 678 of lalr1.cc  */
-#line 6185 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6195 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), "", (yysemantic_stack_[(3) - (2)].strlist) );
         }
     break;
 
-  case 733:
+  case 735:
 
-/* Line 678 of lalr1.cc  */
-#line 6192 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6202 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             string_list_t *sl = new string_list_t;
             sl->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -9970,10 +10016,10 @@
         }
     break;
 
-  case 734:
+  case 736:
 
-/* Line 678 of lalr1.cc  */
-#line 6198 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6208 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( (yysemantic_stack_[(3) - (1)].strlist) )
                 (yysemantic_stack_[(3) - (1)].strlist)->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
@@ -9981,38 +10027,38 @@
         }
     break;
 
-  case 735:
+  case 737:
 
-/* Line 678 of lalr1.cc  */
-#line 6207 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6217 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = NULL;
         }
     break;
 
-  case 736:
+  case 738:
 
-/* Line 678 of lalr1.cc  */
-#line 6211 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6221 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = (yysemantic_stack_[(1) - (1)].incl_excl_list);
         }
     break;
 
-  case 737:
+  case 739:
 
-/* Line 678 of lalr1.cc  */
-#line 6218 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6228 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = new FTStopWordOption::incl_excl_list_t;
             (yyval.incl_excl_list)->push_back( dynamic_cast<FTStopWordsInclExcl*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 738:
+  case 740:
 
-/* Line 678 of lalr1.cc  */
-#line 6223 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6233 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTStopWordOption::incl_excl_list_t *iel = (yysemantic_stack_[(2) - (1)].incl_excl_list);
             if ( !iel )
@@ -10022,10 +10068,10 @@
         }
     break;
 
-  case 739:
+  case 741:
 
-/* Line 678 of lalr1.cc  */
-#line 6235 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6245 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10035,10 +10081,10 @@
         }
     break;
 
-  case 740:
+  case 742:
 
-/* Line 678 of lalr1.cc  */
-#line 6243 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6253 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10048,109 +10094,109 @@
         }
     break;
 
-  case 741:
+  case 743:
 
-/* Line 678 of lalr1.cc  */
-#line 6255 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6265 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTLanguageOption( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
-  case 742:
+  case 744:
 
-/* Line 678 of lalr1.cc  */
-#line 6263 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6273 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::with );
         }
     break;
 
-  case 743:
+  case 745:
 
-/* Line 678 of lalr1.cc  */
-#line 6267 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6277 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::without );
         }
     break;
 
-  case 744:
+  case 746:
 
-/* Line 678 of lalr1.cc  */
-#line 6275 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6285 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_start );
         }
     break;
 
-  case 745:
+  case 747:
 
-/* Line 678 of lalr1.cc  */
-#line 6279 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6289 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_end );
         }
     break;
 
-  case 746:
+  case 748:
 
-/* Line 678 of lalr1.cc  */
-#line 6283 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6293 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::entire );
         }
     break;
 
-  case 747:
+  case 749:
 
-/* Line 678 of lalr1.cc  */
-#line 6291 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6301 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTTimes( LOC((yyloc)), dynamic_cast<FTRange*>((yysemantic_stack_[(3) - (2)].node)) );
         }
     break;
 
-  case 748:
+  case 750:
 
-/* Line 678 of lalr1.cc  */
-#line 6299 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6309 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::exactly, (yysemantic_stack_[(2) - (2)].expr) );
         }
     break;
 
-  case 749:
+  case 751:
 
-/* Line 678 of lalr1.cc  */
-#line 6303 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6313 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_least, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 750:
+  case 752:
 
-/* Line 678 of lalr1.cc  */
-#line 6307 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6317 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_most, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 751:
+  case 753:
 
-/* Line 678 of lalr1.cc  */
-#line 6311 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6321 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::from_to, (yysemantic_stack_[(4) - (2)].expr), (yysemantic_stack_[(4) - (4)].expr) );
         }
     break;
 
-  case 752:
+  case 754:
 
-/* Line 678 of lalr1.cc  */
-#line 6319 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6329 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10160,10 +10206,10 @@
         }
     break;
 
-  case 753:
+  case 755:
 
-/* Line 678 of lalr1.cc  */
-#line 6327 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6337 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10173,105 +10219,105 @@
         }
     break;
 
-  case 754:
+  case 756:
 
-/* Line 678 of lalr1.cc  */
-#line 6339 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6349 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::sentence );
         }
     break;
 
-  case 755:
+  case 757:
 
-/* Line 678 of lalr1.cc  */
-#line 6343 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6353 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::paragraph );
         }
     break;
 
-  case 756:
+  case 758:
 
-/* Line 678 of lalr1.cc  */
-#line 6351 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6361 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTIgnoreOption( LOC((yyloc)), static_cast<UnionExpr*>((yysemantic_stack_[(3) - (3)].expr)) );
         }
     break;
 
-  case 757:
+  case 759:
 
-/* Line 678 of lalr1.cc  */
-#line 6365 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6375 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), NULL );
         }
     break;
 
-  case 758:
+  case 760:
 
-/* Line 678 of lalr1.cc  */
-#line 6369 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6379 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 759:
+  case 761:
 
-/* Line 678 of lalr1.cc  */
-#line 6376 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6386 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, false);
         }
     break;
 
-  case 760:
+  case 762:
 
-/* Line 678 of lalr1.cc  */
-#line 6381 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6391 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), false);
         }
     break;
 
-  case 761:
+  case 763:
 
-/* Line 678 of lalr1.cc  */
-#line 6389 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6399 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, true);
         }
     break;
 
-  case 762:
+  case 764:
 
-/* Line 678 of lalr1.cc  */
-#line 6394 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6404 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), true);
         }
     break;
 
-  case 763:
+  case 765:
 
-/* Line 678 of lalr1.cc  */
-#line 6403 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6413 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)),
                                                dynamic_cast<JSONPairList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 764:
+  case 766:
 
-/* Line 678 of lalr1.cc  */
-#line 6411 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6421 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = new JSONPairList(LOC((yyloc)));
           jpl->push_back(new JSONPairConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)));
@@ -10279,10 +10325,10 @@
         }
     break;
 
-  case 765:
+  case 767:
 
-/* Line 678 of lalr1.cc  */
-#line 6417 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6427 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10291,84 +10337,132 @@
         }
     break;
 
-  case 766:
+  case 768:
 
-/* Line 678 of lalr1.cc  */
-#line 6427 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6437 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
-                                        static_cast<JSONPairList*>((yysemantic_stack_[(5) - (3)].node)),
-                                        (yysemantic_stack_[(5) - (5)].expr));
+                                        static_cast<JSONPairList*>((yysemantic_stack_[(7) - (4)].node)),
+                                        (yysemantic_stack_[(7) - (7)].expr));
         }
     break;
 
-  case 767:
+  case 769:
 
-/* Line 678 of lalr1.cc  */
-#line 6433 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6443 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayInsertExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (5)].expr), (yysemantic_stack_[(8) - (8)].expr));
         }
     break;
 
-  case 768:
-
-/* Line 678 of lalr1.cc  */
-#line 6440 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr));
-        }
-    break;
-
-  case 769:
-
-/* Line 678 of lalr1.cc  */
-#line 6447 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = new JSONDeleteExpr(LOC((yyloc)), (yysemantic_stack_[(6) - (3)].expr), (yysemantic_stack_[(6) - (5)].expr));
-        }
-    break;
-
   case 770:
 
-/* Line 678 of lalr1.cc  */
-#line 6454 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6450 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-          (yyval.expr) = new JSONRenameExpr(LOC((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (5)].expr), (yysemantic_stack_[(8) - (8)].expr));
+          (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(7) - (4)].expr), (yysemantic_stack_[(7) - (7)].expr));
         }
     break;
 
   case 771:
 
-/* Line 678 of lalr1.cc  */
-#line 6461 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6457 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-          (yyval.expr) = new JSONReplaceExpr(LOC((yyloc)), (yysemantic_stack_[(10) - (5)].expr), (yysemantic_stack_[(10) - (7)].expr), (yysemantic_stack_[(10) - (10)].expr));
+          rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation = 
+          dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(3) - (3)].expr));
+
+          if (lDynamicFunctionInvocation == NULL)
+          {
+            error((yylocation_stack_[(3) - (3)]), "An object invocation is expected. A filter was found instead.");
+            YYERROR;
+          }
+
+          rchandle<exprnode> lPrimaryExpr =
+          lDynamicFunctionInvocation->getPrimaryExpr().release();
+
+          rchandle<ArgList> lArgList =
+          lDynamicFunctionInvocation->getArgList().release();
+
+          if (lArgList->size() != 1)
+          {
+            error((yylocation_stack_[(3) - (3)]), "An object invocation with exactly one argument is expected. Zero or more than one argument were found.");
+            YYERROR;
+          }
+
+          rchandle<exprnode> lKey = (*lArgList)[0].release();
+          (yyval.expr) = new JSONDeleteExpr(LOC((yyloc)), lPrimaryExpr.release(), lKey.release());
         }
     break;
 
   case 772:
 
-/* Line 678 of lalr1.cc  */
-#line 6468 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6486 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+          rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation = 
+          dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(5) - (3)].expr));
+
+          if(lDynamicFunctionInvocation == NULL) 
+          {
+            error((yylocation_stack_[(5) - (3)]), "An object invocation is expected. A filter was found instead.");
+            YYERROR;
+          }
+
+          rchandle<exprnode> lPrimaryExpr =
+          lDynamicFunctionInvocation->getPrimaryExpr().release();
+
+          rchandle<ArgList> lArgList =
+          lDynamicFunctionInvocation->getArgList().release();
+
+          if (lArgList->size() != 1)
+          {
+            error((yylocation_stack_[(5) - (3)]), "An object invocation with exactly one argument is expected. Zero or more than one argument were found.");
+            YYERROR;
+          }
+
+          rchandle<exprnode> lKey = (*lArgList)[0].release();
+          (yyval.expr) = new JSONRenameExpr(LOC((yyloc)), lPrimaryExpr.release(), lKey.release(), (yysemantic_stack_[(5) - (5)].expr));
         }
     break;
 
   case 773:
 
-/* Line 678 of lalr1.cc  */
-#line 6472 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6515 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+          rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation = 
+          dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(7) - (5)].expr));
+
+          if(lDynamicFunctionInvocation == NULL) 
+          {
+            error((yylocation_stack_[(7) - (3)]), "An object invocation is expected. A filter was found instead.");
+            YYERROR;
+          }
+
+          rchandle<exprnode> lPrimaryExpr =
+          lDynamicFunctionInvocation->getPrimaryExpr().release();
+
+          rchandle<ArgList> lArgList =
+          lDynamicFunctionInvocation->getArgList().release();
+
+          if (lArgList->size() != 1)
+          {
+            error((yylocation_stack_[(7) - (3)]), "An object invocation with exactly one argument is expected. Zero or more than one argument were found.");
+            YYERROR;
+          }
+
+          rchandle<exprnode> lKey = (*lArgList)[0].release();
+          (yyval.expr) = new JSONReplaceExpr(LOC((yyloc)), lPrimaryExpr.release(), lKey.release(), (yysemantic_stack_[(7) - (7)].expr));
         }
     break;
 
   case 774:
 
-/* Line 678 of lalr1.cc  */
-#line 6476 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6544 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -10376,35 +10470,53 @@
 
   case 775:
 
-/* Line 678 of lalr1.cc  */
-#line 6483 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6548 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 776:
+
+/* Line 690 of lalr1.cc  */
+#line 6552 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 777:
+
+/* Line 690 of lalr1.cc  */
+#line 6559 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
     break;
 
-  case 776:
+  case 778:
 
-/* Line 678 of lalr1.cc  */
-#line 6490 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6566 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
         }
     break;
 
-  case 777:
+  case 779:
 
-/* Line 678 of lalr1.cc  */
-#line 6497 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6573 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
         }
     break;
 
-  case 780:
+  case 782:
 
-/* Line 678 of lalr1.cc  */
-#line 6514 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6590 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           auto_ptr<QName> lQName( static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
           zstring const &tmp = lQName->get_qname();
@@ -10416,1560 +10528,1571 @@
         }
     break;
 
-  case 782:
+  case 784:
 
-/* Line 678 of lalr1.cc  */
-#line 6527 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6603 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("attribute"))); }
     break;
 
-  case 783:
+  case 785:
 
-/* Line 678 of lalr1.cc  */
-#line 6528 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6604 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("comment"))); }
     break;
 
-  case 784:
+  case 786:
 
-/* Line 678 of lalr1.cc  */
-#line 6529 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6605 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document-node"))); }
     break;
 
-  case 785:
+  case 787:
 
-/* Line 678 of lalr1.cc  */
-#line 6530 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6606 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("element"))); }
     break;
 
-  case 786:
+  case 788:
 
-/* Line 678 of lalr1.cc  */
-#line 6531 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6607 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("item"))); }
     break;
 
-  case 787:
+  case 789:
 
-/* Line 678 of lalr1.cc  */
-#line 6532 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6608 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("if"))); }
     break;
 
-  case 788:
+  case 790:
 
-/* Line 678 of lalr1.cc  */
-#line 6533 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6609 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("node"))); }
     break;
 
-  case 789:
+  case 791:
 
-/* Line 678 of lalr1.cc  */
-#line 6534 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6610 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("processing-instruction"))); }
     break;
 
-  case 790:
+  case 792:
 
-/* Line 678 of lalr1.cc  */
-#line 6535 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6611 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-attribute"))); }
     break;
 
-  case 791:
+  case 793:
 
-/* Line 678 of lalr1.cc  */
-#line 6536 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6612 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-element"))); }
     break;
 
-  case 792:
+  case 794:
 
-/* Line 678 of lalr1.cc  */
-#line 6537 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6613 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("text"))); }
     break;
 
-  case 793:
+  case 795:
 
-/* Line 678 of lalr1.cc  */
-#line 6538 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6614 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("typeswitch"))); }
     break;
 
-  case 794:
+  case 796:
 
-/* Line 678 of lalr1.cc  */
-#line 6539 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6615 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("switch"))); }
     break;
 
-  case 795:
+  case 797:
 
-/* Line 678 of lalr1.cc  */
-#line 6540 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6616 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty-sequence"))); }
     break;
 
-  case 796:
+  case 798:
 
-/* Line 678 of lalr1.cc  */
-#line 6541 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6617 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("while"))); }
     break;
 
-  case 798:
+  case 800:
 
-/* Line 678 of lalr1.cc  */
-#line 6546 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6622 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
     break;
 
-  case 799:
+  case 801:
 
-/* Line 678 of lalr1.cc  */
-#line 6547 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6623 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("xquery"))); }
     break;
 
-  case 800:
+  case 802:
 
-/* Line 678 of lalr1.cc  */
-#line 6548 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6624 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty"))); }
     break;
 
-  case 801:
+  case 803:
 
-/* Line 678 of lalr1.cc  */
-#line 6549 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6625 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("boundary-space"))); }
     break;
 
-  case 802:
+  case 804:
 
-/* Line 678 of lalr1.cc  */
-#line 6550 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6626 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ft-option"))); }
     break;
 
-  case 803:
+  case 805:
 
-/* Line 678 of lalr1.cc  */
-#line 6551 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6627 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("base-uri"))); }
     break;
 
-  case 804:
+  case 806:
 
-/* Line 678 of lalr1.cc  */
-#line 6552 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6628 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lax"))); }
     break;
 
-  case 805:
+  case 807:
 
-/* Line 678 of lalr1.cc  */
-#line 6553 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6629 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strict"))); }
     break;
 
-  case 806:
+  case 808:
 
-/* Line 678 of lalr1.cc  */
-#line 6554 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6630 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("idiv"))); }
     break;
 
-  case 807:
+  case 809:
 
-/* Line 678 of lalr1.cc  */
-#line 6555 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6631 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document"))); }
     break;
 
-  case 808:
+  case 810:
 
-/* Line 678 of lalr1.cc  */
-#line 6556 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6632 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ftnot"))); }
     break;
 
-  case 809:
+  case 811:
 
-/* Line 678 of lalr1.cc  */
-#line 6557 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6633 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("not"))); }
     break;
 
-  case 810:
+  case 812:
 
-/* Line 678 of lalr1.cc  */
-#line 6558 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6634 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sensitive"))); }
     break;
 
-  case 811:
+  case 813:
 
-/* Line 678 of lalr1.cc  */
-#line 6559 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6635 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insensitive"))); }
     break;
 
-  case 812:
+  case 814:
 
-/* Line 678 of lalr1.cc  */
-#line 6560 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6636 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("diacritics"))); }
     break;
 
-  case 813:
+  case 815:
 
-/* Line 678 of lalr1.cc  */
-#line 6561 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6637 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("without"))); }
     break;
 
-  case 814:
+  case 816:
 
-/* Line 678 of lalr1.cc  */
-#line 6562 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6638 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stemming"))); }
     break;
 
-  case 815:
+  case 817:
 
-/* Line 678 of lalr1.cc  */
-#line 6563 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6639 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("thesaurus"))); }
     break;
 
-  case 816:
+  case 818:
 
-/* Line 678 of lalr1.cc  */
-#line 6564 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6640 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stop"))); }
     break;
 
-  case 817:
+  case 819:
 
-/* Line 678 of lalr1.cc  */
-#line 6565 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6641 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("wildcards"))); }
     break;
 
-  case 818:
+  case 820:
 
-/* Line 678 of lalr1.cc  */
-#line 6566 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6642 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("entire"))); }
     break;
 
-  case 819:
+  case 821:
 
-/* Line 678 of lalr1.cc  */
-#line 6567 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6643 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("content"))); }
     break;
 
-  case 820:
+  case 822:
 
-/* Line 678 of lalr1.cc  */
-#line 6568 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6644 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("word"))); }
     break;
 
-  case 821:
+  case 823:
 
-/* Line 678 of lalr1.cc  */
-#line 6569 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6645 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("start"))); }
     break;
 
-  case 822:
+  case 824:
 
-/* Line 678 of lalr1.cc  */
-#line 6570 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6646 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("end"))); }
     break;
 
-  case 823:
+  case 825:
 
-/* Line 678 of lalr1.cc  */
-#line 6571 "/home/markos/zorba/repo/jsoniq-deactivated/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6647 "/Users/zorba/Code/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("most"))); }
     break;
 
-  case 824:
+  case 826:
 
-/* Line 678 of lalr1.cc  */
-#line 6572 "/

Follow ups