← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/matthias-disallow-mixed-tests into lp:zorba

 

Ghislain Fourny has proposed merging lp:~zorba-coders/zorba/matthias-disallow-mixed-tests into lp:zorba.

Requested reviews:
  Till Westmann (tillw)
  Matthias Brantner (matthias-brantner)

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/matthias-disallow-mixed-tests/+merge/113994

Adding two tests.
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/matthias-disallow-mixed-tests/+merge/113994
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-07-09 16:04:28 +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-28 04:14:03 +0000
+++ include/zorba/identtypes.h	2012-07-09 16:04:28 +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-29 03:06:08 +0000
+++ include/zorba/item.h	2012-07-09 16:04:28 +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-28 04:14:03 +0000
+++ include/zorba/options.h	2012-07-09 16:04:28 +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-28 04:14:03 +0000
+++ include/zorba/pregenerated/diagnostic_list.h	2012-07-09 16:04:28 +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-28 04:14:03 +0000
+++ include/zorba/store_consts.h	2012-07-09 16:04:28 +0000
@@ -178,8 +178,7 @@
   {
     jsonItem       = 0,
     jsonObject     = 1,
-    jsonArray      = 2,
-    jsonPair       = 3
+    jsonArray      = 2
   };
 
 
@@ -196,9 +195,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-28 04:14:03 +0000
+++ include/zorba/typeident.h	2012-07-09 16:04:28 +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-07-09 16:04:28 +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-07-09 16:04:28 +0000
@@ -38,9 +38,68 @@
 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");
+
+(:~
+ :It is a dynamic error if the target of a deleting or replacing expression is not an array or an object.
+ : It is a dynamic error if the target of a renaming expression is not an object.
+ : It is a dynamic error if the target of an appending expression is not an array.
+ : It is a dynamic error if the target of a position-inserting expression is not an array.
+ : It is a dynamic error if the target of a non-position-inserting expression is not an object.
+:)
+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 +107,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");
@@ -60,10 +119,14 @@
 declare variable $jerr:JNSE0014 as xs:QName := fn:QName($jerr:NS, "jerr:JNSE0014");
 
 (:~
- :Expression computing the value of a pair 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 it is attempted to create a replace, delete or rename update primitive with a selector that cannot be resolved against the target array or object.
+:)
+declare variable $jerr:JNUP0016 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0016");
+
+(:~
+ : It is a dynamic error if the value in a replace expression is not exactly a single item.
+:)
+declare variable $jerr:JNUP0017 as xs:QName := fn:QName($jerr:NS, "jerr:JNUP0017");
 
 (:~
  :objects or arrays don't have a string value
@@ -71,86 +134,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-28 22:07:25 +0000
+++ src/api/item.cpp	2012-07-09 16:04:28 +0000
@@ -37,6 +37,7 @@
 #include "store/api/iterator.h"
 #include "store/api/collection.h"
 
+#include <zorbatypes/numconversions.h>
 
 namespace zorba {
 
@@ -485,14 +486,35 @@
   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 +523,15 @@
 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);
+    
+    store::Item_t lStringItem;
+    GENV_ITEMFACTORY->createString(lStringItem, lName);
+  
+    return m_item->getObjectValue(lStringItem).getp();
+
   ITEM_CATCH
   return Item();
 }

=== modified file 'src/api/options.cpp'
--- src/api/options.cpp	2012-06-28 04:14:03 +0000
+++ src/api/options.cpp	2012-07-09 16:04:28 +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-28 04:14:03 +0000
+++ src/api/serialization/serializer.cpp	2012-07-09 16:04:28 +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).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();
   }
 }
 
@@ -2391,9 +2378,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
@@ -2559,33 +2547,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-28 04:14:03 +0000
+++ src/api/serialization/serializer.h	2012-07-09 16:04:28 +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-28 04:14:03 +0000
+++ src/api/serializerimpl.cpp	2012-07-09 16:04:28 +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-28 04:14:03 +0000
+++ src/api/typeidentimpl.cpp	2012-07-09 16:04:28 +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-28 04:14:03 +0000
+++ src/compiler/expression/abstract_expr_visitor.h	2012-07-09 16:04:28 +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/expression/json_exprs.cpp'
--- src/compiler/expression/json_exprs.cpp	2012-04-12 09:18:43 +0000
+++ src/compiler/expression/json_exprs.cpp	2012-07-09 16:04:28 +0000
@@ -17,20 +17,11 @@
 #include "compiler/expression/json_exprs.h"
 #include "compiler/expression/expr_visitor.h"
 
-#include "zorbaserialization/serialize_template_types.h"
-#include "zorbaserialization/serialize_zorba_types.h"
-
 #ifdef ZORBA_WITH_JSON
 
 namespace zorba 
 {
 
-SERIALIZABLE_CLASS_VERSIONS(json_array_expr)
-
-SERIALIZABLE_CLASS_VERSIONS(json_object_expr)
-
-SERIALIZABLE_CLASS_VERSIONS(json_direct_object_expr)
-
 DEF_EXPR_ACCEPT(json_array_expr)
 DEF_EXPR_ACCEPT(json_object_expr)
 DEF_EXPR_ACCEPT(json_direct_object_expr)
@@ -50,13 +41,6 @@
 }
 
 
-void json_array_expr::serialize(::zorba::serialization::Archiver& ar)
-{
-  serialize_baseclass(ar, (expr*)this);
-  ar & theContentExpr;
-}
-
-
 void json_array_expr::compute_scripting_kind() 
 {
   if (theContentExpr)
@@ -103,14 +87,6 @@
 }
 
 
-void json_object_expr::serialize(::zorba::serialization::Archiver& ar)
-{
-  serialize_baseclass(ar, (expr*)this);
-  ar & theContentExpr;
-  ar & theAccumulate;
-}
-
-
 void json_object_expr::compute_scripting_kind() 
 {
   if (theContentExpr)
@@ -164,14 +140,6 @@
 }
 
 
-void json_direct_object_expr::serialize(::zorba::serialization::Archiver& ar)
-{
-  serialize_baseclass(ar, (expr*)this);
-  ar & theNames;
-  ar & theValues;
-}
-
-
 void json_direct_object_expr::compute_scripting_kind() 
 {
   theScriptingKind = SIMPLE_EXPR;

=== modified file 'src/compiler/expression/json_exprs.h'
--- src/compiler/expression/json_exprs.h	2012-03-12 15:43:16 +0000
+++ src/compiler/expression/json_exprs.h	2012-07-09 16:04:28 +0000
@@ -41,11 +41,6 @@
   expr_t  theContentExpr;
 
 public:
-  SERIALIZABLE_CLASS(json_array_expr)
-  SERIALIZABLE_CLASS_CONSTRUCTOR2(json_array_expr, expr)
-  void serialize(::zorba::serialization::Archiver& ar);
-
-public:
   json_array_expr(
       static_context* sctx,
       const QueryLoc& loc,
@@ -79,11 +74,6 @@
   bool    theAccumulate;
 
 public:
-  SERIALIZABLE_CLASS(json_object_expr)
-  SERIALIZABLE_CLASS_CONSTRUCTOR2(json_object_expr, expr)
-  void serialize(::zorba::serialization::Archiver& ar);
-
-public:
   json_object_expr(
       static_context* sctx,
       const QueryLoc& loc,
@@ -121,11 +111,6 @@
   std::vector<expr_t>  theValues;
 
 public:
-  SERIALIZABLE_CLASS(json_direct_object_expr)
-  SERIALIZABLE_CLASS_CONSTRUCTOR2(json_direct_object_expr, expr)
-  void serialize(::zorba::serialization::Archiver& ar);
-
-public:
   json_direct_object_expr(
       static_context* sctx,
       const QueryLoc& loc,

=== modified file 'src/compiler/parser/xquery_parser.cpp'
--- src/compiler/parser/xquery_parser.cpp	2012-06-28 04:14:03 +0000
+++ src/compiler/parser/xquery_parser.cpp	2012-07-09 16:04:28 +0000
@@ -1,8 +1,10 @@
-/* A Bison parser, made by GNU Bison 2.5.  */
+
+/* A Bison parser, made by GNU Bison 2.4.1.  */
 
 /* Skeleton implementation for Bison LALR(1) parsers in C++
    
-      Copyright (C) 2002-2011 Free Software Foundation, Inc.
+      Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 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
@@ -35,8 +37,8 @@
 
 /* First part of user declarations.  */
 
-/* Line 293 of lalr1.cc  */
-#line 87 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 311 of lalr1.cc  */
+#line 87 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 
 
 #include "common/common.h"
@@ -72,16 +74,16 @@
 
 
 
-/* Line 293 of lalr1.cc  */
-#line 77 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 311 of lalr1.cc  */
+#line 79 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 
 
 #include "xquery_parser.hpp"
 
 /* User implementation prologue.  */
 
-/* Line 299 of lalr1.cc  */
-#line 902 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 317 of lalr1.cc  */
+#line 902 "/home/markos/zorba/repo/jsoniq/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...
@@ -92,8 +94,8 @@
     }
 }
 
-/* Line 299 of lalr1.cc  */
-#line 1018 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 317 of lalr1.cc  */
+#line 1018 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 
 #include "compiler/parser/xquery_scanner.h"
 
@@ -102,11 +104,11 @@
 
 
 
-/* Line 299 of lalr1.cc  */
-#line 107 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 317 of lalr1.cc  */
+#line 109 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 
 #ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
+# if YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* FIXME: INFRINGES ON USER NAME SPACE */
 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -117,26 +119,6 @@
 # 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))
 
@@ -186,10 +168,14 @@
 #define YYRECOVERING()  (!!yyerrstatus_)
 
 
+/* Line 380 of lalr1.cc  */
+#line 1 "[Bison:b4_percent_define_default]"
+
 namespace zorba {
 
-/* Line 382 of lalr1.cc  */
-#line 193 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 380 of lalr1.cc  */
+#line 178 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#if YYERROR_VERBOSE
 
   /* Return YYSTR after stripping away unnecessary quotes and
      backslashes, so that it's suitable for yyerror.  The heuristic is
@@ -228,6 +214,7 @@
     return yystr;
   }
 
+#endif
 
   /// Build a parser object.
   xquery_parser::xquery_parser (xquery_driver& driver_yyarg)
@@ -290,2513 +277,2513 @@
         case 110: /* "\"'DECIMAL'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 900 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 900 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->decval); };
 
 /* Line 480 of lalr1.cc  */
-#line 298 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 285 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 124: /* "\"'DOUBLE'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 899 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 899 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->dval); };
 
 /* Line 480 of lalr1.cc  */
-#line 307 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 294 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 149: /* "\"'INTEGER'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 898 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 898 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->ival); };
 
 /* Line 480 of lalr1.cc  */
-#line 316 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 303 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 335: /* "VersionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 325 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 312 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 336: /* "MainModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 334 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 321 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 337: /* "LibraryModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 343 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 330 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 338: /* "ModuleDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 352 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 339 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 339: /* "SIND_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 361 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 348 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 340: /* "SIND_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 370 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 357 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 341: /* "Setter" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 379 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 366 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 342: /* "BoundarySpaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 388 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 375 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 343: /* "DefaultCollationDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 397 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 384 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 344: /* "BaseURIDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 406 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 393 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 345: /* "ConstructionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 415 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 402 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 346: /* "OrderingModeDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 424 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 411 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 347: /* "EmptyOrderDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 433 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 420 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 348: /* "CopyNamespacesDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 442 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 429 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 349: /* "Import" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 451 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 438 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 350: /* "SchemaImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 460 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 447 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 351: /* "URILiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 469 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 456 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 352: /* "SchemaPrefix" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 478 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 465 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 353: /* "ModuleImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 487 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 474 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 354: /* "NamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 496 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 483 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 355: /* "DefaultNamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 505 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 492 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 356: /* "VFO_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 514 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 501 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 357: /* "VFO_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 523 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 510 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 358: /* "DecimalFormatDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 532 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 519 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 359: /* "DecimalFormatParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->vstrpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 541 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 528 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 360: /* "DecimalFormatParam" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->strpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 550 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 537 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 362: /* "OptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 559 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 546 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 363: /* "FTOptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 568 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 555 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 364: /* "CtxItemDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 577 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 564 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 365: /* "CtxItemDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 586 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 573 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 366: /* "CtxItemDecl3" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 595 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 582 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 367: /* "CtxItemDecl4" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 604 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 591 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 368: /* "VarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 613 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 600 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 369: /* "VarNameAndType" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->varnametype); };
 
 /* Line 480 of lalr1.cc  */
-#line 622 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 609 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 370: /* "AnnotationList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 631 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 618 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 371: /* "Annotation" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 640 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 627 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 372: /* "AnnotationLiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 649 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 636 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 373: /* "FunctionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 658 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 645 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 374: /* "FunctionDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 667 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 654 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 375: /* "FunctionDeclSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 676 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 663 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 376: /* "FunctionDeclUpdating" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 685 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 672 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 377: /* "FunctionSig" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->fnsig); };
 
 /* Line 480 of lalr1.cc  */
-#line 694 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 681 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 378: /* "ParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 703 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 690 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 379: /* "Param" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 712 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 699 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 380: /* "CollectionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 721 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 708 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 382: /* "IndexDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 730 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 717 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 383: /* "IndexKeyList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 739 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 726 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 384: /* "IndexKeySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 748 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 735 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 385: /* "IntegrityConstraintDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 757 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 744 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 386: /* "QueryBody" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 766 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 753 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 387: /* "StatementsAndOptionalExprTop" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 775 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 762 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 388: /* "StatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 784 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 771 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 389: /* "StatementsAndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 793 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 780 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 390: /* "Statements" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 802 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 789 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 391: /* "Statement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 811 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 798 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 392: /* "BlockStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 820 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 807 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 393: /* "BlockExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 829 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 816 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 394: /* "EnclosedStatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 838 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 825 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 395: /* "VarDeclStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 847 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 834 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 398: /* "AssignStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 856 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 843 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 399: /* "ApplyStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 865 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 852 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 400: /* "ExitStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 874 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 861 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 401: /* "WhileStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 883 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 870 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 402: /* "FlowCtlStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 892 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 879 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 403: /* "FLWORStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 901 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 888 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 404: /* "ReturnStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 910 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 897 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 405: /* "IfStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 919 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 906 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 406: /* "TryStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 928 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 915 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 407: /* "CatchListStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 937 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 924 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 408: /* "CatchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 946 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 933 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 409: /* "Expr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 955 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 942 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 410: /* "ExprSingle" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 964 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 951 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 411: /* "ExprSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 973 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 960 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 412: /* "FLWORExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 982 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 969 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 413: /* "ReturnExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 991 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 978 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 416: /* "FLWORWinCond" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1000 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 987 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 417: /* "WindowClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1009 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 996 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 418: /* "CountClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1018 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1005 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 419: /* "ForLetWinClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1027 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1014 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 421: /* "FLWORClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1036 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1023 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 422: /* "ForClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1045 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1032 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 423: /* "VarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1054 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1041 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 424: /* "VarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1063 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1050 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 425: /* "PositionalVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1072 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1059 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 426: /* "FTScoreVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1081 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1068 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 427: /* "LetClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1090 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1077 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 428: /* "VarGetsDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1099 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1086 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 429: /* "VarGetsDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1108 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1095 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 430: /* "WindowVarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1117 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1104 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 431: /* "WindowVars" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1126 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1113 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 432: /* "WindowVars3" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1135 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1122 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 433: /* "WindowVars2" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1144 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1131 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 434: /* "WhereClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1153 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1140 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 435: /* "GroupByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1162 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1149 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 436: /* "GroupSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1171 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1158 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 437: /* "GroupSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1180 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1167 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 438: /* "GroupCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1189 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1176 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 439: /* "OrderByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1198 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1185 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 440: /* "OrderSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1207 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1194 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 441: /* "OrderSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1216 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1203 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 442: /* "OrderModifier" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1225 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1212 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 443: /* "OrderDirSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1234 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1221 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 444: /* "OrderEmptySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1243 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1230 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 445: /* "OrderCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1252 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1239 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 446: /* "QuantifiedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1261 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1248 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 447: /* "QVarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1270 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1257 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 448: /* "QVarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1279 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1266 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 449: /* "SwitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1288 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1275 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 450: /* "SwitchCaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1297 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1284 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 451: /* "SwitchCaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1306 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1293 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 452: /* "SwitchCaseOperandList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1315 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1302 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 453: /* "SwitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1324 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1311 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 456: /* "TypeswitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1333 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1320 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 457: /* "TypeswitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1342 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1329 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 458: /* "CaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1351 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1338 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 459: /* "CaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1360 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1347 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 462: /* "IfExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1369 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1356 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 463: /* "OrExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1378 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1365 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 464: /* "AndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1387 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1374 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 465: /* "ComparisonExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1396 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1383 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 467: /* "FTContainsExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1405 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1392 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 468: /* "StringConcatExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1414 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1401 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 469: /* "opt_FTIgnoreOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1423 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1410 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 470: /* "RangeExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1432 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1419 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 471: /* "AdditiveExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1441 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1428 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 472: /* "MultiplicativeExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1450 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1437 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 473: /* "UnionExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1459 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1446 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 474: /* "IntersectExceptExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1468 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1455 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 475: /* "InstanceofExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1477 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1464 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 476: /* "TreatExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1486 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1473 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 477: /* "CastableExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1495 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1482 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 478: /* "CastExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1504 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1491 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 479: /* "UnaryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1513 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1500 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 480: /* "SignList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1522 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1509 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 481: /* "ValueExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1531 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1518 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 482: /* "ValueComp" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1540 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1527 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 483: /* "NodeComp" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1549 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1536 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 484: /* "ValidateExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1558 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1545 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 485: /* "ExtensionExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1567 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1554 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 486: /* "Pragma_list" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1576 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1563 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 487: /* "Pragma" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1585 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1572 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 488: /* "PathExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1594 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1581 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 490: /* "RelativePathExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1603 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1590 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 491: /* "StepExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1612 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1599 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 492: /* "AxisStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1621 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1608 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 493: /* "ForwardStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1630 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1617 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 494: /* "ForwardAxis" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1639 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1626 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 495: /* "AbbrevForwardStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1648 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1635 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 496: /* "ReverseStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1657 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1644 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 497: /* "ReverseAxis" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1666 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1653 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 498: /* "NodeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1675 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1662 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 499: /* "NameTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1684 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1671 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 500: /* "Wildcard" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1693 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1680 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 501: /* "FilterExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1702 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1689 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 502: /* "PredicateList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1711 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1698 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 503: /* "Predicate" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1720 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1707 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 504: /* "PrimaryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1729 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1716 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 505: /* "Literal" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1738 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1725 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 506: /* "NumericLiteral" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1747 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1734 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 507: /* "VarRef" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1756 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1743 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 508: /* "ParenthesizedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1765 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1752 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 509: /* "ContextItemExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1774 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1761 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 510: /* "OrderedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1783 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1770 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 511: /* "UnorderedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1792 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1779 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 512: /* "FunctionCall" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1801 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1788 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 513: /* "ArgList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1810 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1797 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 514: /* "Constructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1819 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1806 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 515: /* "DirectConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1828 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1815 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 516: /* "DirElemConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1837 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1824 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 517: /* "DirElemContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1846 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1833 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 518: /* "DirAttributeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1855 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1842 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 519: /* "DirAttr" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1864 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1851 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 521: /* "DirAttributeValue" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1873 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1860 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 522: /* "opt_QuoteAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1882 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1869 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 523: /* "QuoteAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1891 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1878 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 524: /* "opt_AposAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1900 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1887 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 525: /* "AposAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1909 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1896 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 526: /* "QuoteAttrValueContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1918 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1905 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 527: /* "AposAttrValueContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1927 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1914 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 528: /* "DirElemContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1936 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1923 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 529: /* "CommonContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1945 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1932 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 530: /* "DirCommentConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1954 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1941 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 531: /* "DirPIConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1963 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1950 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 532: /* "CDataSection" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1972 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1959 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 533: /* "ComputedConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1981 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1968 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 534: /* "CompDocConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1990 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1977 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 535: /* "CompElemConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1999 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1986 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 536: /* "CompAttrConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2008 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 1995 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 537: /* "CompTextConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2017 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2004 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 538: /* "CompCommentConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2026 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2013 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 539: /* "CompPIConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2035 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2022 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 540: /* "SingleType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2044 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2031 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 541: /* "TypeDeclaration" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2053 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2040 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 542: /* "SequenceType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2062 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2049 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 543: /* "OccurrenceIndicator" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2071 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2058 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 544: /* "ItemType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2080 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2067 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 545: /* "TypeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2089 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2076 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 546: /* "AtomicType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2098 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2085 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 547: /* "KindTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2107 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2094 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 548: /* "AnyKindTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2116 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2103 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 549: /* "DocumentTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2125 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2112 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 550: /* "TextTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2134 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2121 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 551: /* "CommentTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2143 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2130 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 552: /* "PITest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2152 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2139 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 553: /* "AttributeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2161 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2148 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 554: /* "SchemaAttributeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2170 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2157 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 555: /* "ElementTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2179 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2166 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 556: /* "SchemaElementTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2188 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2175 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 557: /* "TypeName" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2197 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2184 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 558: /* "TypeName_WITH_HOOK" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2206 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2193 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 559: /* "StringLiteral" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2215 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2202 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 564: /* "AnyFunctionTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2224 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2211 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 565: /* "TypedFunctionTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2233 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2220 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 568: /* "InsertExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2242 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2229 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 569: /* "DeleteExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2251 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2238 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 570: /* "ReplaceExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2260 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2247 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 571: /* "RenameExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2269 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2256 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 572: /* "TransformExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2278 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2265 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 573: /* "VarNameList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2287 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2274 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 574: /* "VarNameDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2296 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2283 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 575: /* "TryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2305 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2292 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 576: /* "CatchListExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2314 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2301 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 577: /* "CatchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2323 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2310 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 578: /* "BracedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2332 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2319 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 579: /* "NameTestList" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->name_test_list); };
 
 /* Line 480 of lalr1.cc  */
-#line 2341 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2328 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 580: /* "FTSelection" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2350 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2337 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 583: /* "FTOr" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2359 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2346 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 584: /* "FTAnd" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2368 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2355 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 585: /* "FTMildNot" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2377 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2364 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 586: /* "FTUnaryNot" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2386 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2373 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 587: /* "FTPrimaryWithOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2395 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2382 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 588: /* "opt_FTMatchOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2404 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2391 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 590: /* "FTWeight" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2413 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2400 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 591: /* "FTPrimary" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2422 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2409 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 592: /* "opt_FTTimes" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2431 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2418 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 593: /* "FTExtensionSelection" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2440 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2427 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 595: /* "FTWords" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2449 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2436 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 596: /* "FTWordsValue" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2458 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2445 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 598: /* "FTAnyallOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2467 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2454 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 601: /* "FTPosFilter" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2476 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2463 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 602: /* "FTOrder" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2485 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2472 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 603: /* "FTWindow" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2494 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2481 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 604: /* "FTDistance" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2503 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2490 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 605: /* "FTUnit" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2512 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2499 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 606: /* "FTMatchOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2521 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2508 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 607: /* "FTMatchOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2530 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2517 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 608: /* "FTCaseOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2539 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2526 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 609: /* "FTDiacriticsOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2548 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2535 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 610: /* "FTExtensionOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2557 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2544 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 611: /* "FTStemOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2566 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2553 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 612: /* "FTThesaurusOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2575 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2562 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 616: /* "FTThesaurusID" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2584 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2571 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 619: /* "FTStopWordOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2593 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2580 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 620: /* "FTStopWords" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2602 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2589 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 624: /* "FTStopWordsInclExcl" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2611 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2598 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 625: /* "FTLanguageOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2620 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2607 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 626: /* "FTWildCardOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2629 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2616 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 627: /* "FTContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2638 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2625 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 628: /* "FTTimes" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2647 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2634 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 629: /* "FTRange" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2656 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2643 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 630: /* "FTScope" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2665 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2652 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 631: /* "FTBigUnit" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2674 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2661 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 632: /* "FTIgnoreOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2683 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2670 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 633: /* "JSONArrayConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2692 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2679 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 634: /* "JSONSimpleObjectUnion" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2701 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2688 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 635: /* "JSONAccumulatorObjectUnion" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2710 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2697 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 636: /* "JSONObjectConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2719 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2706 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 637: /* "JSONPairList" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2728 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2715 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 638: /* "JSONInsertExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2737 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2724 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 639: /* "JSONAppendExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2746 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2733 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 640: /* "JSONDeleteExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2755 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2742 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 641: /* "JSONRenameExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2764 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2751 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 642: /* "JSONReplaceExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2773 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2760 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 649: /* "QNAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2782 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2769 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 650: /* "FUNCTION_NAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2791 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2778 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 651: /* "EQNAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2800 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+#line 2787 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
 	break;
 
 	default:
@@ -2839,18 +2826,6 @@
   }
 #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 ()
   {
@@ -2872,7 +2847,7 @@
     /// Location of the lookahead.
     location_type yylloc;
     /// The locations where the error started and ended.
-    location_type yyerror_range[3];
+    location_type yyerror_range[2];
 
     /// $$.
     semantic_type yyval;
@@ -2886,14 +2861,14 @@
 
     /* User initialization code.  */
     
-/* Line 565 of lalr1.cc  */
-#line 140 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 553 of lalr1.cc  */
+#line 140 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
 {
     yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
 }
 
-/* Line 565 of lalr1.cc  */
-#line 2897 "/home/colea/xquery_bzr/error-messages/build/src/compiler/parser/xquery_parser.cpp"
+/* Line 553 of lalr1.cc  */
+#line 2872 "/home/markos/zorba/repo/jsoniq/build/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
@@ -2921,7 +2896,7 @@
 
     /* Try to take a decision without lookahead.  */
     yyn = yypact_[yystate];
-    if (yy_pact_value_is_default_ (yyn))
+    if (yyn == yypact_ninf_)
       goto yydefault;
 
     /* Read a lookahead token.  */
@@ -2954,8 +2929,8 @@
     yyn = yytable_[yyn];
     if (yyn <= 0)
       {
-	if (yy_table_value_is_error_ (yyn))
-	  goto yyerrlab;
+	if (yyn == 0 || yyn == yytable_ninf_)
+	goto yyerrlab;
 	yyn = -yyn;
 	goto yyreduce;
       }
@@ -3011,8 +2986,8 @@
       {
 	  case 3:
 
-/* Line 690 of lalr1.cc  */
-#line 1036 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1036 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3020,8 +2995,8 @@
 
   case 4:
 
-/* Line 690 of lalr1.cc  */
-#line 1045 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1045 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3029,8 +3004,8 @@
 
   case 5:
 
-/* Line 690 of lalr1.cc  */
-#line 1054 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1054 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3039,8 +3014,8 @@
 
   case 6:
 
-/* Line 690 of lalr1.cc  */
-#line 1060 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1060 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -3051,8 +3026,8 @@
 
   case 7:
 
-/* Line 690 of lalr1.cc  */
-#line 1068 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1068 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3061,8 +3036,8 @@
 
   case 8:
 
-/* Line 690 of lalr1.cc  */
-#line 1074 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1074 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -3073,8 +3048,8 @@
 
   case 9:
 
-/* Line 690 of lalr1.cc  */
-#line 1085 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1085 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8" );
     }
@@ -3082,8 +3057,8 @@
 
   case 10:
 
-/* Line 690 of lalr1.cc  */
-#line 1090 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1090 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
     }
@@ -3091,8 +3066,8 @@
 
   case 11:
 
-/* Line 690 of lalr1.cc  */
-#line 1098 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1098 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
 
@@ -3102,8 +3077,8 @@
 
   case 12:
 
-/* Line 690 of lalr1.cc  */
-#line 1105 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1105 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
 
@@ -3113,8 +3088,8 @@
 
   case 13:
 
-/* Line 690 of lalr1.cc  */
-#line 1112 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1112 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
@@ -3126,8 +3101,8 @@
 
   case 14:
 
-/* Line 690 of lalr1.cc  */
-#line 1121 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1121 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
@@ -3135,8 +3110,8 @@
 
   case 15:
 
-/* Line 690 of lalr1.cc  */
-#line 1128 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1128 "/home/markos/zorba/repo/jsoniq/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();
@@ -3147,8 +3122,8 @@
 
   case 16:
 
-/* Line 690 of lalr1.cc  */
-#line 1136 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1136 "/home/markos/zorba/repo/jsoniq/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();
@@ -3159,8 +3134,8 @@
 
   case 17:
 
-/* Line 690 of lalr1.cc  */
-#line 1144 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1144 "/home/markos/zorba/repo/jsoniq/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();
@@ -3171,8 +3146,8 @@
 
   case 18:
 
-/* Line 690 of lalr1.cc  */
-#line 1152 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1152 "/home/markos/zorba/repo/jsoniq/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();
@@ -3183,8 +3158,8 @@
 
   case 19:
 
-/* Line 690 of lalr1.cc  */
-#line 1163 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1163 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
@@ -3192,8 +3167,8 @@
 
   case 20:
 
-/* Line 690 of lalr1.cc  */
-#line 1168 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1168 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (2)].node)), NULL);
 
@@ -3203,8 +3178,8 @@
 
   case 21:
 
-/* Line 690 of lalr1.cc  */
-#line 1175 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1175 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (2)].node)));
 
@@ -3214,8 +3189,8 @@
 
   case 22:
 
-/* Line 690 of lalr1.cc  */
-#line 1182 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1182 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (2)].node)),
@@ -3227,8 +3202,8 @@
 
   case 23:
 
-/* Line 690 of lalr1.cc  */
-#line 1194 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1194 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
 
@@ -3238,8 +3213,8 @@
 
   case 24:
 
-/* Line 690 of lalr1.cc  */
-#line 1204 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1204 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3249,8 +3224,8 @@
 
   case 25:
 
-/* Line 690 of lalr1.cc  */
-#line 1211 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1211 "/home/markos/zorba/repo/jsoniq/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);
@@ -3259,8 +3234,8 @@
 
   case 26:
 
-/* Line 690 of lalr1.cc  */
-#line 1218 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1218 "/home/markos/zorba/repo/jsoniq/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
@@ -3272,8 +3247,8 @@
 
   case 40:
 
-/* Line 690 of lalr1.cc  */
-#line 1253 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1253 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
@@ -3281,8 +3256,8 @@
 
   case 41:
 
-/* Line 690 of lalr1.cc  */
-#line 1258 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1258 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
@@ -3290,8 +3265,8 @@
 
   case 42:
 
-/* Line 690 of lalr1.cc  */
-#line 1266 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1266 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
@@ -3299,8 +3274,8 @@
 
   case 43:
 
-/* Line 690 of lalr1.cc  */
-#line 1274 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1274 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -3308,8 +3283,8 @@
 
   case 44:
 
-/* Line 690 of lalr1.cc  */
-#line 1282 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1282 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
@@ -3317,8 +3292,8 @@
 
   case 45:
 
-/* Line 690 of lalr1.cc  */
-#line 1287 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1287 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
@@ -3326,8 +3301,8 @@
 
   case 46:
 
-/* Line 690 of lalr1.cc  */
-#line 1295 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1295 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
@@ -3335,8 +3310,8 @@
 
   case 47:
 
-/* Line 690 of lalr1.cc  */
-#line 1300 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1300 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
@@ -3344,8 +3319,8 @@
 
   case 48:
 
-/* Line 690 of lalr1.cc  */
-#line 1308 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1308 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
@@ -3353,8 +3328,8 @@
 
   case 49:
 
-/* Line 690 of lalr1.cc  */
-#line 1313 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1313 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
@@ -3362,8 +3337,8 @@
 
   case 50:
 
-/* Line 690 of lalr1.cc  */
-#line 1321 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1321 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::preserve_ns,
@@ -3373,8 +3348,8 @@
 
   case 51:
 
-/* Line 690 of lalr1.cc  */
-#line 1328 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1328 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::preserve_ns,
@@ -3384,8 +3359,8 @@
 
   case 52:
 
-/* Line 690 of lalr1.cc  */
-#line 1335 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1335 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::no_preserve_ns,
@@ -3395,8 +3370,8 @@
 
   case 53:
 
-/* Line 690 of lalr1.cc  */
-#line 1342 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1342 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::no_preserve_ns,
@@ -3406,8 +3381,8 @@
 
   case 56:
 
-/* Line 690 of lalr1.cc  */
-#line 1357 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1357 "/home/markos/zorba/repo/jsoniq/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\".");
@@ -3417,8 +3392,8 @@
 
   case 57:
 
-/* Line 690 of lalr1.cc  */
-#line 1367 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1367 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
@@ -3426,8 +3401,8 @@
 
   case 58:
 
-/* Line 690 of lalr1.cc  */
-#line 1372 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1372 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3438,8 +3413,8 @@
 
   case 59:
 
-/* Line 690 of lalr1.cc  */
-#line 1380 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1380 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3450,8 +3425,8 @@
 
   case 60:
 
-/* Line 690 of lalr1.cc  */
-#line 1388 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1388 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3462,8 +3437,8 @@
 
   case 61:
 
-/* Line 690 of lalr1.cc  */
-#line 1399 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1399 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3473,8 +3448,8 @@
 
   case 62:
 
-/* Line 690 of lalr1.cc  */
-#line 1406 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1406 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -3485,8 +3460,8 @@
 
   case 63:
 
-/* Line 690 of lalr1.cc  */
-#line 1417 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1417 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -3494,8 +3469,8 @@
 
   case 64:
 
-/* Line 690 of lalr1.cc  */
-#line 1422 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1422 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
@@ -3503,8 +3478,8 @@
 
   case 65:
 
-/* Line 690 of lalr1.cc  */
-#line 1430 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1430 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL);
 
@@ -3514,8 +3489,8 @@
 
   case 66:
 
-/* Line 690 of lalr1.cc  */
-#line 1437 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1437 "/home/markos/zorba/repo/jsoniq/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);
 
@@ -3525,8 +3500,8 @@
 
   case 67:
 
-/* Line 690 of lalr1.cc  */
-#line 1444 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1444 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(5) - (3)].sval)),
@@ -3538,8 +3513,8 @@
 
   case 68:
 
-/* Line 690 of lalr1.cc  */
-#line 1453 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1453 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(8) - (4)].sval)),
@@ -3552,8 +3527,8 @@
 
   case 69:
 
-/* Line 690 of lalr1.cc  */
-#line 1466 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1466 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new NamespaceDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(5) - (3)].sval)), SYMTAB((yysemantic_stack_[(5) - (5)].sval)) );
     }
@@ -3561,8 +3536,8 @@
 
   case 70:
 
-/* Line 690 of lalr1.cc  */
-#line 1474 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1474 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3572,8 +3547,8 @@
 
   case 71:
 
-/* Line 690 of lalr1.cc  */
-#line 1481 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1481 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3583,8 +3558,8 @@
 
   case 72:
 
-/* Line 690 of lalr1.cc  */
-#line 1491 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1491 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3594,8 +3569,8 @@
 
   case 73:
 
-/* Line 690 of lalr1.cc  */
-#line 1498 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1498 "/home/markos/zorba/repo/jsoniq/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);
@@ -3604,8 +3579,8 @@
 
   case 74:
 
-/* Line 690 of lalr1.cc  */
-#line 1505 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1505 "/home/markos/zorba/repo/jsoniq/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();
@@ -3616,8 +3591,8 @@
 
   case 83:
 
-/* Line 690 of lalr1.cc  */
-#line 1528 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1528 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3626,8 +3601,8 @@
 
   case 84:
 
-/* Line 690 of lalr1.cc  */
-#line 1534 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1534 "/home/markos/zorba/repo/jsoniq/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);
@@ -3636,8 +3611,8 @@
 
   case 85:
 
-/* Line 690 of lalr1.cc  */
-#line 1543 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1543 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3647,8 +3622,8 @@
 
   case 86:
 
-/* Line 690 of lalr1.cc  */
-#line 1550 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1550 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3658,8 +3633,8 @@
 
   case 87:
 
-/* Line 690 of lalr1.cc  */
-#line 1560 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1560 "/home/markos/zorba/repo/jsoniq/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() );
@@ -3669,78 +3644,78 @@
 
   case 88:
 
-/* Line 690 of lalr1.cc  */
-#line 1569 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1569 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 89:
 
-/* Line 690 of lalr1.cc  */
-#line 1570 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1570 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 90:
 
-/* Line 690 of lalr1.cc  */
-#line 1571 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1571 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 91:
 
-/* Line 690 of lalr1.cc  */
-#line 1572 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1572 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "infinty"; }
     break;
 
   case 92:
 
-/* Line 690 of lalr1.cc  */
-#line 1573 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1573 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 93:
 
-/* Line 690 of lalr1.cc  */
-#line 1574 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1574 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 94:
 
-/* Line 690 of lalr1.cc  */
-#line 1575 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1575 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 95:
 
-/* Line 690 of lalr1.cc  */
-#line 1576 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1576 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 96:
 
-/* Line 690 of lalr1.cc  */
-#line 1577 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1577 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 97:
 
-/* Line 690 of lalr1.cc  */
-#line 1578 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1578 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 98:
 
-/* Line 690 of lalr1.cc  */
-#line 1584 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1584 "/home/markos/zorba/repo/jsoniq/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)));
     }
@@ -3748,8 +3723,8 @@
 
   case 99:
 
-/* Line 690 of lalr1.cc  */
-#line 1592 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1592 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
@@ -3757,8 +3732,8 @@
 
   case 100:
 
-/* Line 690 of lalr1.cc  */
-#line 1600 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1600 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
@@ -3766,8 +3741,8 @@
 
   case 101:
 
-/* Line 690 of lalr1.cc  */
-#line 1608 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1608 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3777,8 +3752,8 @@
 
   case 102:
 
-/* Line 690 of lalr1.cc  */
-#line 1615 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1615 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -3786,8 +3761,8 @@
 
   case 103:
 
-/* Line 690 of lalr1.cc  */
-#line 1623 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1623 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3797,8 +3772,8 @@
 
   case 104:
 
-/* Line 690 of lalr1.cc  */
-#line 1630 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1630 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
@@ -3806,8 +3781,8 @@
 
   case 105:
 
-/* Line 690 of lalr1.cc  */
-#line 1635 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1635 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -3815,8 +3790,8 @@
 
   case 106:
 
-/* Line 690 of lalr1.cc  */
-#line 1643 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1643 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -3824,8 +3799,8 @@
 
   case 107:
 
-/* Line 690 of lalr1.cc  */
-#line 1651 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1651 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(4) - (2)].varnametype)));
 
@@ -3843,8 +3818,8 @@
 
   case 108:
 
-/* Line 690 of lalr1.cc  */
-#line 1666 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1666 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
 
@@ -3862,8 +3837,8 @@
 
   case 109:
 
-/* Line 690 of lalr1.cc  */
-#line 1681 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1681 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(5) - (2)].varnametype)));
 
@@ -3881,8 +3856,8 @@
 
   case 110:
 
-/* Line 690 of lalr1.cc  */
-#line 1699 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1699 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
@@ -3890,8 +3865,8 @@
 
   case 111:
 
-/* Line 690 of lalr1.cc  */
-#line 1704 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1704 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -3902,8 +3877,8 @@
 
   case 112:
 
-/* Line 690 of lalr1.cc  */
-#line 1712 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1712 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -3914,8 +3889,8 @@
 
   case 113:
 
-/* Line 690 of lalr1.cc  */
-#line 1720 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1720 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -3926,8 +3901,8 @@
 
   case 114:
 
-/* Line 690 of lalr1.cc  */
-#line 1731 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1731 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
@@ -3935,8 +3910,8 @@
 
   case 115:
 
-/* Line 690 of lalr1.cc  */
-#line 1736 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1736 "/home/markos/zorba/repo/jsoniq/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);
@@ -3945,8 +3920,8 @@
 
   case 116:
 
-/* Line 690 of lalr1.cc  */
-#line 1745 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1745 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
@@ -3954,8 +3929,8 @@
 
   case 117:
 
-/* Line 690 of lalr1.cc  */
-#line 1750 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1750 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -3965,8 +3940,8 @@
 
   case 118:
 
-/* Line 690 of lalr1.cc  */
-#line 1757 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1757 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
@@ -3974,8 +3949,8 @@
 
   case 119:
 
-/* Line 690 of lalr1.cc  */
-#line 1762 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1762 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -3985,8 +3960,8 @@
 
   case 120:
 
-/* Line 690 of lalr1.cc  */
-#line 1772 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1772 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
@@ -3994,8 +3969,8 @@
 
   case 121:
 
-/* Line 690 of lalr1.cc  */
-#line 1777 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1777 "/home/markos/zorba/repo/jsoniq/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);
@@ -4004,8 +3979,8 @@
 
   case 122:
 
-/* Line 690 of lalr1.cc  */
-#line 1786 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1786 "/home/markos/zorba/repo/jsoniq/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);
@@ -4014,8 +3989,8 @@
 
   case 123:
 
-/* Line 690 of lalr1.cc  */
-#line 1792 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1792 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       FunctionDecl* fdecl = static_cast<FunctionDecl*>((yysemantic_stack_[(3) - (3)].node));
 
@@ -4028,8 +4003,8 @@
 
   case 124:
 
-/* Line 690 of lalr1.cc  */
-#line 1805 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1805 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4037,8 +4012,8 @@
 
   case 125:
 
-/* Line 690 of lalr1.cc  */
-#line 1810 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1810 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4046,8 +4021,8 @@
 
   case 126:
 
-/* Line 690 of lalr1.cc  */
-#line 1818 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1818 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4062,8 +4037,8 @@
 
   case 127:
 
-/* Line 690 of lalr1.cc  */
-#line 1829 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1829 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4078,8 +4053,8 @@
 
   case 128:
 
-/* Line 690 of lalr1.cc  */
-#line 1844 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1844 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4094,8 +4069,8 @@
 
   case 129:
 
-/* Line 690 of lalr1.cc  */
-#line 1856 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1856 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4110,8 +4085,8 @@
 
   case 130:
 
-/* Line 690 of lalr1.cc  */
-#line 1871 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1871 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
@@ -4119,8 +4094,8 @@
 
   case 131:
 
-/* Line 690 of lalr1.cc  */
-#line 1876 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1876 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
@@ -4128,8 +4103,8 @@
 
   case 132:
 
-/* Line 690 of lalr1.cc  */
-#line 1881 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1881 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node)));
     }
@@ -4137,8 +4112,8 @@
 
   case 133:
 
-/* Line 690 of lalr1.cc  */
-#line 1886 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1886 "/home/markos/zorba/repo/jsoniq/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)));
     }
@@ -4146,8 +4121,8 @@
 
   case 134:
 
-/* Line 690 of lalr1.cc  */
-#line 1894 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1894 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4157,8 +4132,8 @@
 
   case 135:
 
-/* Line 690 of lalr1.cc  */
-#line 1901 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1901 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -4169,8 +4144,8 @@
 
   case 136:
 
-/* Line 690 of lalr1.cc  */
-#line 1912 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1912 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -4178,8 +4153,8 @@
 
   case 137:
 
-/* Line 690 of lalr1.cc  */
-#line 1917 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4189,8 +4164,8 @@
 
   case 138:
 
-/* Line 690 of lalr1.cc  */
-#line 1927 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1927 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)),
@@ -4201,8 +4176,8 @@
 
   case 139:
 
-/* Line 690 of lalr1.cc  */
-#line 1934 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1934 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4213,8 +4188,8 @@
 
   case 140:
 
-/* Line 690 of lalr1.cc  */
-#line 1941 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1941 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4225,8 +4200,8 @@
 
   case 141:
 
-/* Line 690 of lalr1.cc  */
-#line 1948 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1948 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)),
@@ -4237,8 +4212,8 @@
 
   case 142:
 
-/* Line 690 of lalr1.cc  */
-#line 1958 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1958 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4246,8 +4221,8 @@
 
   case 143:
 
-/* Line 690 of lalr1.cc  */
-#line 1962 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1962 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4257,8 +4232,29 @@
 
   case 144:
 
-/* Line 690 of lalr1.cc  */
-#line 1972 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1968 "/home/markos/zorba/repo/jsoniq/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 678 of lalr1.cc  */
+#line 1972 "/home/markos/zorba/repo/jsoniq/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 678 of lalr1.cc  */
+#line 1982 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(8) - (3)].expr)),
@@ -4268,10 +4264,10 @@
     }
     break;
 
-  case 145:
+  case 147:
 
-/* Line 690 of lalr1.cc  */
-#line 1980 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 1990 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(9) - (4)].expr)),
@@ -4281,10 +4277,10 @@
     }
     break;
 
-  case 146:
+  case 148:
 
-/* Line 690 of lalr1.cc  */
-#line 1991 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2001 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4292,29 +4288,29 @@
     }
     break;
 
-  case 147:
+  case 149:
 
-/* Line 690 of lalr1.cc  */
-#line 1997 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2007 "/home/markos/zorba/repo/jsoniq/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 690 of lalr1.cc  */
-#line 2006 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2016 "/home/markos/zorba/repo/jsoniq/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 690 of lalr1.cc  */
-#line 2011 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2021 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4323,10 +4319,10 @@
     }
     break;
 
-  case 150:
+  case 152:
 
-/* Line 690 of lalr1.cc  */
-#line 2018 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2028 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4335,10 +4331,10 @@
     }
     break;
 
-  case 151:
+  case 153:
 
-/* Line 690 of lalr1.cc  */
-#line 2025 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2035 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4347,10 +4343,10 @@
     }
     break;
 
-  case 152:
+  case 154:
 
-/* Line 690 of lalr1.cc  */
-#line 2037 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2047 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4360,10 +4356,10 @@
     }
     break;
 
-  case 153:
+  case 155:
 
-/* Line 690 of lalr1.cc  */
-#line 2047 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2057 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4373,10 +4369,10 @@
     }
     break;
 
-  case 154:
+  case 156:
 
-/* Line 690 of lalr1.cc  */
-#line 2057 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2067 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4386,10 +4382,10 @@
     }
     break;
 
-  case 155:
+  case 157:
 
-/* Line 690 of lalr1.cc  */
-#line 2068 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2078 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4402,10 +4398,10 @@
     }
     break;
 
-  case 156:
+  case 158:
 
-/* Line 690 of lalr1.cc  */
-#line 2084 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2094 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       if ((yysemantic_stack_[(1) - (1)].expr) == NULL)
       {
@@ -4423,37 +4419,19 @@
     }
     break;
 
-  case 157:
-
-/* Line 690 of lalr1.cc  */
-#line 2104 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 158:
-
-/* Line 690 of lalr1.cc  */
-#line 2108 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 159:
 
-/* Line 690 of lalr1.cc  */
-#line 2112 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2114 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) =  NULL;
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 160:
 
-/* Line 690 of lalr1.cc  */
-#line 2120 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2118 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4461,26 +4439,26 @@
 
   case 161:
 
-/* Line 690 of lalr1.cc  */
-#line 2124 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2122 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+      (yyval.expr) =  NULL;
     }
     break;
 
   case 162:
 
-/* Line 690 of lalr1.cc  */
-#line 2128 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2130 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) =  new BlockBody(LOC((yyloc)));
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
     break;
 
   case 163:
 
-/* Line 690 of lalr1.cc  */
-#line 2136 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2134 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4488,21 +4466,39 @@
 
   case 164:
 
-/* Line 690 of lalr1.cc  */
-#line 2141 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2138 "/home/markos/zorba/repo/jsoniq/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 690 of lalr1.cc  */
-#line 2153 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2146 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 166:
+
+/* Line 678 of lalr1.cc  */
+#line 2151 "/home/markos/zorba/repo/jsoniq/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 678 of lalr1.cc  */
+#line 2163 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4510,10 +4506,10 @@
     }
     break;
 
-  case 166:
+  case 168:
 
-/* Line 690 of lalr1.cc  */
-#line 2160 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2170 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4523,28 +4519,28 @@
     }
     break;
 
-  case 179:
+  case 181:
 
-/* Line 690 of lalr1.cc  */
-#line 2189 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2199 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
     break;
 
-  case 180:
+  case 182:
 
-/* Line 690 of lalr1.cc  */
-#line 2194 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2204 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
     break;
 
-  case 181:
+  case 183:
 
-/* Line 690 of lalr1.cc  */
-#line 2202 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2212 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       if (dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr)) == NULL)
       {
@@ -4559,28 +4555,28 @@
     }
     break;
 
-  case 182:
-
-/* Line 690 of lalr1.cc  */
-#line 2219 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
-    }
-    break;
-
-  case 183:
-
-/* Line 690 of lalr1.cc  */
-#line 2227 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
-    }
-    break;
-
   case 184:
 
-/* Line 690 of lalr1.cc  */
-#line 2235 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2229 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
+    }
+    break;
+
+  case 185:
+
+/* Line 678 of lalr1.cc  */
+#line 2237 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
+    }
+    break;
+
+  case 186:
+
+/* Line 678 of lalr1.cc  */
+#line 2245 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4588,10 +4584,10 @@
     }
     break;
 
-  case 185:
+  case 187:
 
-/* Line 690 of lalr1.cc  */
-#line 2242 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2252 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4599,10 +4595,10 @@
     }
     break;
 
-  case 186:
+  case 188:
 
-/* Line 690 of lalr1.cc  */
-#line 2249 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2259 "/home/markos/zorba/repo/jsoniq/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));
@@ -4610,10 +4606,10 @@
     }
     break;
 
-  case 187:
+  case 189:
 
-/* Line 690 of lalr1.cc  */
-#line 2259 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2269 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
@@ -4627,10 +4623,10 @@
     }
     break;
 
-  case 188:
+  case 190:
 
-/* Line 690 of lalr1.cc  */
-#line 2271 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2281 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4645,10 +4641,10 @@
     }
     break;
 
-  case 189:
+  case 191:
 
-/* Line 690 of lalr1.cc  */
-#line 2284 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2294 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4662,10 +4658,10 @@
     }
     break;
 
-  case 190:
+  case 192:
 
-/* Line 690 of lalr1.cc  */
-#line 2296 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2306 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -4679,37 +4675,37 @@
     }
     break;
 
-  case 191:
+  case 193:
 
-/* Line 690 of lalr1.cc  */
-#line 2312 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2322 "/home/markos/zorba/repo/jsoniq/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 690 of lalr1.cc  */
-#line 2320 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2330 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
     break;
 
-  case 193:
+  case 195:
 
-/* Line 690 of lalr1.cc  */
-#line 2328 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2338 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
     break;
 
-  case 194:
+  case 196:
 
-/* Line 690 of lalr1.cc  */
-#line 2336 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2346 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4722,28 +4718,28 @@
     }
     break;
 
-  case 195:
+  case 197:
 
-/* Line 690 of lalr1.cc  */
-#line 2351 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2361 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
     break;
 
-  case 196:
+  case 198:
 
-/* Line 690 of lalr1.cc  */
-#line 2356 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2366 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
     break;
 
-  case 197:
+  case 199:
 
-/* Line 690 of lalr1.cc  */
-#line 2364 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2374 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4755,10 +4751,10 @@
     }
     break;
 
-  case 198:
+  case 200:
 
-/* Line 690 of lalr1.cc  */
-#line 2378 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2388 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       exprnode* retExpr = (yysemantic_stack_[(2) - (2)].expr);
 
@@ -4773,10 +4769,10 @@
     }
     break;
 
-  case 199:
+  case 201:
 
-/* Line 690 of lalr1.cc  */
-#line 2395 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2405 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       exprnode* thenExpr = (yysemantic_stack_[(8) - (6)].expr);
       exprnode* elseExpr = (yysemantic_stack_[(8) - (8)].expr);
@@ -4799,19 +4795,19 @@
     }
     break;
 
-  case 200:
+  case 202:
 
-/* Line 690 of lalr1.cc  */
-#line 2420 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2430 "/home/markos/zorba/repo/jsoniq/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 690 of lalr1.cc  */
-#line 2428 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2438 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -4819,10 +4815,10 @@
     }
     break;
 
-  case 202:
+  case 204:
 
-/* Line 690 of lalr1.cc  */
-#line 2435 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2445 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -4831,29 +4827,29 @@
     }
     break;
 
-  case 203:
-
-/* Line 690 of lalr1.cc  */
-#line 2446 "/home/colea/xquery_bzr/error-messages/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 690 of lalr1.cc  */
-#line 2456 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 205:
 
-/* Line 690 of lalr1.cc  */
-#line 2461 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2456 "/home/markos/zorba/repo/jsoniq/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 678 of lalr1.cc  */
+#line 2466 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 207:
+
+/* Line 678 of lalr1.cc  */
+#line 2471 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -4866,10 +4862,10 @@
     }
     break;
 
-  case 224:
+  case 226:
 
-/* Line 690 of lalr1.cc  */
-#line 2506 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2516 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4881,64 +4877,64 @@
     }
     break;
 
-  case 225:
+  case 227:
 
-/* Line 690 of lalr1.cc  */
-#line 2520 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2530 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
     break;
 
-  case 226:
+  case 228:
 
-/* Line 690 of lalr1.cc  */
-#line 2528 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2538 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
     break;
 
-  case 227:
+  case 229:
 
-/* Line 690 of lalr1.cc  */
-#line 2533 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2543 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
     break;
 
-  case 228:
+  case 230:
 
-/* Line 690 of lalr1.cc  */
-#line 2541 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2551 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
     break;
 
-  case 229:
+  case 231:
 
-/* Line 690 of lalr1.cc  */
-#line 2546 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2556 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
     break;
 
-  case 230:
+  case 232:
 
-/* Line 690 of lalr1.cc  */
-#line 2551 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2561 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
     break;
 
-  case 231:
+  case 233:
 
-/* Line 690 of lalr1.cc  */
-#line 2559 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2569 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -4948,10 +4944,10 @@
     }
     break;
 
-  case 232:
+  case 234:
 
-/* Line 690 of lalr1.cc  */
-#line 2568 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2578 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -4961,10 +4957,10 @@
     }
     break;
 
-  case 233:
+  case 235:
 
-/* Line 690 of lalr1.cc  */
-#line 2580 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2590 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -4976,10 +4972,10 @@
     }
     break;
 
-  case 234:
+  case 236:
 
-/* Line 690 of lalr1.cc  */
-#line 2590 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2600 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -4990,19 +4986,19 @@
     }
     break;
 
-  case 235:
+  case 237:
 
-/* Line 690 of lalr1.cc  */
-#line 2603 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2613 "/home/markos/zorba/repo/jsoniq/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 690 of lalr1.cc  */
-#line 2627 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2637 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5010,10 +5006,10 @@
     }
     break;
 
-  case 245:
+  case 247:
 
-/* Line 690 of lalr1.cc  */
-#line 2634 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2644 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -5021,19 +5017,19 @@
     }
     break;
 
-  case 246:
+  case 248:
 
-/* Line 690 of lalr1.cc  */
-#line 2644 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2654 "/home/markos/zorba/repo/jsoniq/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 690 of lalr1.cc  */
-#line 2650 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2660 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (2)]), "syntax error, unexpected QName \""
@@ -5042,10 +5038,10 @@
     }
     break;
 
-  case 248:
+  case 250:
 
-/* Line 690 of lalr1.cc  */
-#line 2658 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2668 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = NULL; // to prevent the Bison warning
       error((yylocation_stack_[(2) - (2)]), ""); // the error message is already set in the driver's parseError member
@@ -5053,10 +5049,10 @@
     }
     break;
 
-  case 249:
+  case 251:
 
-/* Line 690 of lalr1.cc  */
-#line 2668 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2678 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       VarInDeclList *vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5064,10 +5060,10 @@
     }
     break;
 
-  case 250:
+  case 252:
 
-/* Line 690 of lalr1.cc  */
-#line 2675 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2685 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -5075,10 +5071,10 @@
     }
     break;
 
-  case 251:
+  case 253:
 
-/* Line 690 of lalr1.cc  */
-#line 2683 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2693 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (3)]), "syntax error, unexpected QName \""
@@ -5087,10 +5083,10 @@
     }
     break;
 
-  case 252:
+  case 254:
 
-/* Line 690 of lalr1.cc  */
-#line 2694 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2704 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5102,55 +5098,55 @@
     }
     break;
 
-  case 253:
-
-/* Line 690 of lalr1.cc  */
-#line 2704 "/home/colea/xquery_bzr/error-messages/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 254:
-
-/* Line 690 of lalr1.cc  */
-#line 2714 "/home/colea/xquery_bzr/error-messages/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 255:
 
-/* Line 690 of lalr1.cc  */
-#line 2724 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2714 "/home/markos/zorba/repo/jsoniq/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 256:
 
-/* Line 690 of lalr1.cc  */
-#line 2734 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2724 "/home/markos/zorba/repo/jsoniq/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 257:
+
+/* Line 678 of lalr1.cc  */
+#line 2734 "/home/markos/zorba/repo/jsoniq/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 258:
+
+/* Line 678 of lalr1.cc  */
+#line 2744 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5162,10 +5158,10 @@
     }
     break;
 
-  case 257:
+  case 259:
 
-/* Line 690 of lalr1.cc  */
-#line 2744 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2754 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5177,10 +5173,10 @@
     }
     break;
 
-  case 258:
+  case 260:
 
-/* Line 690 of lalr1.cc  */
-#line 2754 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2764 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5192,10 +5188,10 @@
     }
     break;
 
-  case 259:
+  case 261:
 
-/* Line 690 of lalr1.cc  */
-#line 2764 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2774 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5207,10 +5203,10 @@
     }
     break;
 
-  case 260:
+  case 262:
 
-/* Line 690 of lalr1.cc  */
-#line 2775 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2785 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5221,10 +5217,10 @@
     }
     break;
 
-  case 261:
+  case 263:
 
-/* Line 690 of lalr1.cc  */
-#line 2784 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2794 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5236,10 +5232,10 @@
     }
     break;
 
-  case 262:
+  case 264:
 
-/* Line 690 of lalr1.cc  */
-#line 2794 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2804 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5251,10 +5247,10 @@
     }
     break;
 
-  case 263:
+  case 265:
 
-/* Line 690 of lalr1.cc  */
-#line 2804 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2814 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5266,37 +5262,37 @@
     }
     break;
 
-  case 264:
+  case 266:
 
-/* Line 690 of lalr1.cc  */
-#line 2820 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2830 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
-  case 265:
+  case 267:
 
-/* Line 690 of lalr1.cc  */
-#line 2829 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2839 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
     break;
 
-  case 266:
+  case 268:
 
-/* Line 690 of lalr1.cc  */
-#line 2838 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2848 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
     break;
 
-  case 267:
+  case 269:
 
-/* Line 690 of lalr1.cc  */
-#line 2846 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2856 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5304,10 +5300,10 @@
         }
     break;
 
-  case 268:
+  case 270:
 
-/* Line 690 of lalr1.cc  */
-#line 2852 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2862 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -5315,10 +5311,10 @@
         }
     break;
 
-  case 269:
+  case 271:
 
-/* Line 690 of lalr1.cc  */
-#line 2864 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2874 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5328,10 +5324,10 @@
     }
     break;
 
-  case 270:
+  case 272:
 
-/* Line 690 of lalr1.cc  */
-#line 2872 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2882 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5341,10 +5337,10 @@
     }
     break;
 
-  case 271:
+  case 273:
 
-/* Line 690 of lalr1.cc  */
-#line 2882 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2892 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5354,10 +5350,10 @@
      }
     break;
 
-  case 272:
+  case 274:
 
-/* Line 690 of lalr1.cc  */
-#line 2890 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2900 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5367,10 +5363,10 @@
     }
     break;
 
-  case 273:
+  case 275:
 
-/* Line 690 of lalr1.cc  */
-#line 2902 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2912 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5378,10 +5374,10 @@
     }
     break;
 
-  case 274:
+  case 276:
 
-/* Line 690 of lalr1.cc  */
-#line 2908 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2918 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5390,93 +5386,93 @@
     }
     break;
 
-  case 276:
+  case 278:
 
-/* Line 690 of lalr1.cc  */
-#line 2921 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2931 "/home/markos/zorba/repo/jsoniq/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 277:
+  case 279:
 
-/* Line 690 of lalr1.cc  */
-#line 2925 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2935 "/home/markos/zorba/repo/jsoniq/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 278:
+  case 280:
 
-/* Line 690 of lalr1.cc  */
-#line 2933 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2943 "/home/markos/zorba/repo/jsoniq/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 279:
+  case 281:
 
-/* Line 690 of lalr1.cc  */
-#line 2937 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2947 "/home/markos/zorba/repo/jsoniq/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 281:
+  case 283:
 
-/* Line 690 of lalr1.cc  */
-#line 2946 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2956 "/home/markos/zorba/repo/jsoniq/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 282:
+  case 284:
 
-/* Line 690 of lalr1.cc  */
-#line 2950 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2960 "/home/markos/zorba/repo/jsoniq/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 283:
+  case 285:
 
-/* Line 690 of lalr1.cc  */
-#line 2954 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2964 "/home/markos/zorba/repo/jsoniq/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 284:
+  case 286:
 
-/* Line 690 of lalr1.cc  */
-#line 2964 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2974 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
     break;
 
-  case 285:
+  case 287:
 
-/* Line 690 of lalr1.cc  */
-#line 2972 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2982 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
     break;
 
-  case 286:
+  case 288:
 
-/* Line 690 of lalr1.cc  */
-#line 2979 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2989 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       GroupSpecList* gsl = new GroupSpecList(LOC((yyloc)));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5484,10 +5480,10 @@
     }
     break;
 
-  case 287:
+  case 289:
 
-/* Line 690 of lalr1.cc  */
-#line 2985 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 2995 "/home/markos/zorba/repo/jsoniq/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)));
@@ -5495,28 +5491,28 @@
     }
     break;
 
-  case 288:
+  case 290:
 
-/* Line 690 of lalr1.cc  */
-#line 2995 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3005 "/home/markos/zorba/repo/jsoniq/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 289:
+  case 291:
 
-/* Line 690 of lalr1.cc  */
-#line 2999 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3009 "/home/markos/zorba/repo/jsoniq/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 290:
+  case 292:
 
-/* Line 690 of lalr1.cc  */
-#line 3003 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3013 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5526,10 +5522,10 @@
     }
     break;
 
-  case 291:
+  case 293:
 
-/* Line 690 of lalr1.cc  */
-#line 3011 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3021 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5539,10 +5535,10 @@
     }
     break;
 
-  case 292:
+  case 294:
 
-/* Line 690 of lalr1.cc  */
-#line 3019 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3029 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5552,10 +5548,10 @@
     }
     break;
 
-  case 293:
+  case 295:
 
-/* Line 690 of lalr1.cc  */
-#line 3027 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3037 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -5565,19 +5561,19 @@
     }
     break;
 
-  case 294:
+  case 296:
 
-/* Line 690 of lalr1.cc  */
-#line 3039 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3049 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
-  case 295:
+  case 297:
 
-/* Line 690 of lalr1.cc  */
-#line 3047 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3057 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5585,10 +5581,10 @@
         }
     break;
 
-  case 296:
+  case 298:
 
-/* Line 690 of lalr1.cc  */
-#line 3053 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3063 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5596,10 +5592,10 @@
         }
     break;
 
-  case 297:
+  case 299:
 
-/* Line 690 of lalr1.cc  */
-#line 3063 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3073 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5607,10 +5603,10 @@
         }
     break;
 
-  case 298:
+  case 300:
 
-/* Line 690 of lalr1.cc  */
-#line 3069 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3079 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -5618,19 +5614,19 @@
         }
     break;
 
-  case 299:
+  case 301:
 
-/* Line 690 of lalr1.cc  */
-#line 3079 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3089 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
     break;
 
-  case 300:
+  case 302:
 
-/* Line 690 of lalr1.cc  */
-#line 3083 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3093 "/home/markos/zorba/repo/jsoniq/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))
@@ -5638,10 +5634,10 @@
         }
     break;
 
-  case 301:
+  case 303:
 
-/* Line 690 of lalr1.cc  */
-#line 3093 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3103 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5649,10 +5645,10 @@
         }
     break;
 
-  case 302:
+  case 304:
 
-/* Line 690 of lalr1.cc  */
-#line 3099 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3109 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5660,10 +5656,10 @@
         }
     break;
 
-  case 303:
+  case 305:
 
-/* Line 690 of lalr1.cc  */
-#line 3105 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3115 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5671,10 +5667,10 @@
         }
     break;
 
-  case 304:
+  case 306:
 
-/* Line 690 of lalr1.cc  */
-#line 3111 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3121 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5685,10 +5681,10 @@
         }
     break;
 
-  case 305:
+  case 307:
 
-/* Line 690 of lalr1.cc  */
-#line 3120 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3130 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5699,10 +5695,10 @@
         }
     break;
 
-  case 306:
+  case 308:
 
-/* Line 690 of lalr1.cc  */
-#line 3129 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3139 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5713,10 +5709,10 @@
         }
     break;
 
-  case 307:
+  case 309:
 
-/* Line 690 of lalr1.cc  */
-#line 3138 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3148 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5727,28 +5723,28 @@
         }
     break;
 
-  case 308:
+  case 310:
 
-/* Line 690 of lalr1.cc  */
-#line 3151 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3161 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
     break;
 
-  case 309:
+  case 311:
 
-/* Line 690 of lalr1.cc  */
-#line 3155 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3165 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
     break;
 
-  case 310:
+  case 312:
 
-/* Line 690 of lalr1.cc  */
-#line 3163 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3173 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -5756,10 +5752,10 @@
         }
     break;
 
-  case 311:
+  case 313:
 
-/* Line 690 of lalr1.cc  */
-#line 3169 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3179 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -5767,19 +5763,19 @@
         }
     break;
 
-  case 312:
+  case 314:
 
-/* Line 690 of lalr1.cc  */
-#line 3179 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3189 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
-  case 313:
+  case 315:
 
-/* Line 690 of lalr1.cc  */
-#line 3187 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3197 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5790,10 +5786,10 @@
         }
     break;
 
-  case 314:
+  case 316:
 
-/* Line 690 of lalr1.cc  */
-#line 3196 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3206 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5804,10 +5800,10 @@
         }
     break;
 
-  case 315:
+  case 317:
 
-/* Line 690 of lalr1.cc  */
-#line 3209 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3219 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       QVarInDeclList *qvidl = new QVarInDeclList( LOC((yyloc)) );
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5816,10 +5812,10 @@
     }
     break;
 
-  case 316:
+  case 318:
 
-/* Line 690 of lalr1.cc  */
-#line 3216 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3226 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -5827,19 +5823,19 @@
     }
     break;
 
-  case 317:
+  case 319:
 
-/* Line 690 of lalr1.cc  */
-#line 3228 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3238 "/home/markos/zorba/repo/jsoniq/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 318:
+  case 320:
 
-/* Line 690 of lalr1.cc  */
-#line 3232 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3242 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5848,50 +5844,50 @@
     }
     break;
 
-  case 319:
-
-/* Line 690 of lalr1.cc  */
-#line 3244 "/home/colea/xquery_bzr/error-messages/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 320:
-
-/* Line 690 of lalr1.cc  */
-#line 3251 "/home/colea/xquery_bzr/error-messages/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 321:
 
-/* Line 690 of lalr1.cc  */
-#line 3257 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3254 "/home/markos/zorba/repo/jsoniq/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 322:
 
-/* Line 690 of lalr1.cc  */
-#line 3266 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3261 "/home/markos/zorba/repo/jsoniq/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 323:
 
-/* Line 690 of lalr1.cc  */
-#line 3273 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3267 "/home/markos/zorba/repo/jsoniq/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 324:
+
+/* Line 678 of lalr1.cc  */
+#line 3276 "/home/markos/zorba/repo/jsoniq/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 325:
+
+/* Line 678 of lalr1.cc  */
+#line 3283 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -5899,10 +5895,10 @@
     }
     break;
 
-  case 324:
+  case 326:
 
-/* Line 690 of lalr1.cc  */
-#line 3279 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3289 "/home/markos/zorba/repo/jsoniq/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));
@@ -5910,75 +5906,50 @@
     }
     break;
 
-  case 325:
-
-/* Line 690 of lalr1.cc  */
-#line 3290 "/home/colea/xquery_bzr/error-messages/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 326:
-
-/* Line 690 of lalr1.cc  */
-#line 3297 "/home/colea/xquery_bzr/error-messages/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 327:
 
-/* Line 690 of lalr1.cc  */
-#line 3303 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3300 "/home/markos/zorba/repo/jsoniq/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 328:
 
-/* Line 690 of lalr1.cc  */
-#line 3312 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3307 "/home/markos/zorba/repo/jsoniq/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 329:
 
-/* Line 690 of lalr1.cc  */
-#line 3321 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3313 "/home/markos/zorba/repo/jsoniq/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 330:
 
-/* Line 690 of lalr1.cc  */
-#line 3328 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3322 "/home/markos/zorba/repo/jsoniq/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 331:
 
-/* Line 690 of lalr1.cc  */
-#line 3339 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3331 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -5989,8 +5960,8 @@
 
   case 332:
 
-/* Line 690 of lalr1.cc  */
-#line 3346 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3338 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6002,143 +5973,150 @@
 
   case 333:
 
-/* Line 690 of lalr1.cc  */
-#line 3358 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3349 "/home/markos/zorba/repo/jsoniq/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 334:
 
-/* Line 690 of lalr1.cc  */
-#line 3364 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3356 "/home/markos/zorba/repo/jsoniq/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 335:
 
-/* Line 690 of lalr1.cc  */
-#line 3376 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3368 "/home/markos/zorba/repo/jsoniq/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 336:
 
-/* Line 690 of lalr1.cc  */
-#line 3382 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3374 "/home/markos/zorba/repo/jsoniq/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 337:
 
-/* Line 690 of lalr1.cc  */
-#line 3393 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3386 "/home/markos/zorba/repo/jsoniq/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 338:
 
-/* Line 690 of lalr1.cc  */
-#line 3399 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3392 "/home/markos/zorba/repo/jsoniq/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 339:
 
-/* Line 690 of lalr1.cc  */
-#line 3410 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3403 "/home/markos/zorba/repo/jsoniq/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 340:
 
-/* Line 690 of lalr1.cc  */
-#line 3416 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3409 "/home/markos/zorba/repo/jsoniq/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 341:
 
-/* Line 690 of lalr1.cc  */
-#line 3427 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3420 "/home/markos/zorba/repo/jsoniq/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 342:
 
-/* Line 690 of lalr1.cc  */
-#line 3436 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3426 "/home/markos/zorba/repo/jsoniq/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 343:
 
-/* Line 690 of lalr1.cc  */
-#line 3440 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3437 "/home/markos/zorba/repo/jsoniq/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 344:
 
-/* Line 690 of lalr1.cc  */
-#line 3449 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3446 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
     break;
 
   case 345:
 
-/* Line 690 of lalr1.cc  */
-#line 3453 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3450 "/home/markos/zorba/repo/jsoniq/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 346:
 
-/* Line 690 of lalr1.cc  */
-#line 3461 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3459 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6146,8 +6124,26 @@
 
   case 347:
 
-/* Line 690 of lalr1.cc  */
-#line 3465 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3463 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 348:
+
+/* Line 678 of lalr1.cc  */
+#line 3471 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 349:
+
+/* Line 678 of lalr1.cc  */
+#line 3475 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "eq" | "ne" | "lt" | "le" | "gt" | "ge" */
             (yyval.expr) = new ComparisonExpr(
@@ -6159,10 +6155,10 @@
         }
     break;
 
-  case 348:
+  case 350:
 
-/* Line 690 of lalr1.cc  */
-#line 3475 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3485 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "is" | "<<" | ">>" */
             (yyval.expr) = new ComparisonExpr(
@@ -6171,10 +6167,10 @@
         }
     break;
 
-  case 349:
+  case 351:
 
-/* Line 690 of lalr1.cc  */
-#line 3482 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3492 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6185,10 +6181,10 @@
         }
     break;
 
-  case 350:
+  case 352:
 
-/* Line 690 of lalr1.cc  */
-#line 3491 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3501 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6199,20 +6195,20 @@
         }
     break;
 
-  case 351:
+  case 353:
 
-/* Line 690 of lalr1.cc  */
-#line 3500 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3510 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             /* this call is needed */
             driver.lexer->interpretAsLessThan();
         }
     break;
 
-  case 352:
+  case 354:
 
-/* Line 690 of lalr1.cc  */
-#line 3505 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3515 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6223,10 +6219,10 @@
         }
     break;
 
-  case 353:
+  case 355:
 
-/* Line 690 of lalr1.cc  */
-#line 3514 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3524 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6237,10 +6233,10 @@
         }
     break;
 
-  case 354:
+  case 356:
 
-/* Line 690 of lalr1.cc  */
-#line 3523 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3533 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6251,10 +6247,10 @@
         }
     break;
 
-  case 355:
+  case 357:
 
-/* Line 690 of lalr1.cc  */
-#line 3532 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3542 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6265,19 +6261,19 @@
         }
     break;
 
-  case 356:
+  case 358:
 
-/* Line 690 of lalr1.cc  */
-#line 3545 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3555 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
-  case 357:
+  case 359:
 
-/* Line 690 of lalr1.cc  */
-#line 3549 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3559 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FTContainsExpr(
                 LOC((yyloc)),
@@ -6288,64 +6284,46 @@
         }
     break;
 
-  case 358:
-
-/* Line 690 of lalr1.cc  */
-#line 3561 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 359:
-
-/* Line 690 of lalr1.cc  */
-#line 3565 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
-        }
-    break;
-
   case 360:
 
-/* Line 690 of lalr1.cc  */
-#line 3572 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3571 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = NULL;
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 361:
 
-/* Line 690 of lalr1.cc  */
-#line 3576 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3575 "/home/markos/zorba/repo/jsoniq/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 362:
 
-/* Line 690 of lalr1.cc  */
-#line 3583 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3582 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+            (yyval.node) = NULL;
         }
     break;
 
   case 363:
 
-/* Line 690 of lalr1.cc  */
-#line 3587 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3586 "/home/markos/zorba/repo/jsoniq/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 364:
 
-/* Line 690 of lalr1.cc  */
-#line 3596 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3593 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6353,157 +6331,155 @@
 
   case 365:
 
-/* Line 690 of lalr1.cc  */
-#line 3600 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3597 "/home/markos/zorba/repo/jsoniq/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 366:
 
-/* Line 690 of lalr1.cc  */
-#line 3604 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3606 "/home/markos/zorba/repo/jsoniq/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 367:
 
-/* Line 690 of lalr1.cc  */
-#line 3612 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3610 "/home/markos/zorba/repo/jsoniq/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 368:
 
-/* Line 690 of lalr1.cc  */
-#line 3616 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3614 "/home/markos/zorba/repo/jsoniq/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 369:
 
-/* Line 690 of lalr1.cc  */
-#line 3622 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3622 "/home/markos/zorba/repo/jsoniq/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 370:
 
-/* Line 690 of lalr1.cc  */
-#line 3628 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3626 "/home/markos/zorba/repo/jsoniq/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 371:
 
-/* Line 690 of lalr1.cc  */
-#line 3634 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3632 "/home/markos/zorba/repo/jsoniq/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 372:
 
-/* Line 690 of lalr1.cc  */
-#line 3644 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3638 "/home/markos/zorba/repo/jsoniq/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 373:
 
-/* Line 690 of lalr1.cc  */
-#line 3648 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3644 "/home/markos/zorba/repo/jsoniq/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 374:
 
-/* Line 690 of lalr1.cc  */
-#line 3652 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3654 "/home/markos/zorba/repo/jsoniq/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 375:
 
-/* Line 690 of lalr1.cc  */
-#line 3660 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3658 "/home/markos/zorba/repo/jsoniq/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 376:
 
-/* Line 690 of lalr1.cc  */
-#line 3664 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3662 "/home/markos/zorba/repo/jsoniq/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 377:
 
-/* Line 690 of lalr1.cc  */
-#line 3670 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3670 "/home/markos/zorba/repo/jsoniq/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 378:
 
-/* Line 690 of lalr1.cc  */
-#line 3680 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3674 "/home/markos/zorba/repo/jsoniq/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 379:
 
-/* Line 690 of lalr1.cc  */
-#line 3684 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3680 "/home/markos/zorba/repo/jsoniq/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 380:
 
-/* Line 690 of lalr1.cc  */
-#line 3694 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3690 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6511,10 +6487,10 @@
 
   case 381:
 
-/* Line 690 of lalr1.cc  */
-#line 3698 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3694 "/home/markos/zorba/repo/jsoniq/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))
             );
         }
@@ -6522,8 +6498,8 @@
 
   case 382:
 
-/* Line 690 of lalr1.cc  */
-#line 3708 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3704 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6531,19 +6507,19 @@
 
   case 383:
 
-/* Line 690 of lalr1.cc  */
-#line 3712 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3708 "/home/markos/zorba/repo/jsoniq/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 384:
 
-/* Line 690 of lalr1.cc  */
-#line 3722 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3718 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6551,10 +6527,10 @@
 
   case 385:
 
-/* Line 690 of lalr1.cc  */
-#line 3726 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3722 "/home/markos/zorba/repo/jsoniq/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))
             );
         }
@@ -6562,8 +6538,8 @@
 
   case 386:
 
-/* Line 690 of lalr1.cc  */
-#line 3736 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3732 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6571,44 +6547,64 @@
 
   case 387:
 
-/* Line 690 of lalr1.cc  */
-#line 3740 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3736 "/home/markos/zorba/repo/jsoniq/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 388:
 
-/* Line 690 of lalr1.cc  */
-#line 3748 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3746 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SignList( LOC((yyloc)), true );
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 389:
 
-/* Line 690 of lalr1.cc  */
-#line 3752 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3750 "/home/markos/zorba/repo/jsoniq/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 390:
 
-/* Line 690 of lalr1.cc  */
-#line 3756 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3758 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            (yyval.node) = new SignList( LOC((yyloc)), true );
         }
     break;
 
   case 391:
 
-/* Line 690 of lalr1.cc  */
-#line 3760 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3762 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new SignList( LOC((yyloc)), false );
+        }
+    break;
+
+  case 392:
+
+/* Line 678 of lalr1.cc  */
+#line 3766 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 393:
+
+/* Line 678 of lalr1.cc  */
+#line 3770 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
@@ -6616,28 +6612,10 @@
         }
     break;
 
-  case 392:
-
-/* Line 690 of lalr1.cc  */
-#line 3770 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 393:
-
-/* Line 690 of lalr1.cc  */
-#line 3774 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 394:
 
-/* Line 690 of lalr1.cc  */
-#line 3778 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3780 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6645,116 +6623,134 @@
 
   case 395:
 
-/* Line 690 of lalr1.cc  */
-#line 3786 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3784 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 396:
+
+/* Line 678 of lalr1.cc  */
+#line 3788 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 397:
+
+/* Line 678 of lalr1.cc  */
+#line 3796 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
     break;
 
-  case 396:
+  case 398:
 
-/* Line 690 of lalr1.cc  */
-#line 3790 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3800 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
     break;
 
-  case 397:
+  case 399:
 
-/* Line 690 of lalr1.cc  */
-#line 3794 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3804 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
     break;
 
-  case 398:
+  case 400:
 
-/* Line 690 of lalr1.cc  */
-#line 3798 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3808 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
     break;
 
-  case 399:
+  case 401:
 
-/* Line 690 of lalr1.cc  */
-#line 3802 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3812 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
     break;
 
-  case 400:
+  case 402:
 
-/* Line 690 of lalr1.cc  */
-#line 3806 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3816 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
     break;
 
-  case 401:
+  case 403:
 
-/* Line 690 of lalr1.cc  */
-#line 3814 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3824 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_is );
         }
     break;
 
-  case 402:
+  case 404:
 
-/* Line 690 of lalr1.cc  */
-#line 3818 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3828 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_precedes );
         }
     break;
 
-  case 403:
+  case 405:
 
-/* Line 690 of lalr1.cc  */
-#line 3822 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3832 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_follows );
         }
     break;
 
-  case 404:
+  case 406:
 
-/* Line 690 of lalr1.cc  */
-#line 3830 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3840 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 405:
+  case 407:
 
-/* Line 690 of lalr1.cc  */
-#line 3834 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3844 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 406:
+  case 408:
 
-/* Line 690 of lalr1.cc  */
-#line 3838 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3848 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 407:
+  case 409:
 
-/* Line 690 of lalr1.cc  */
-#line 3842 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3852 "/home/markos/zorba/repo/jsoniq/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)
@@ -6763,10 +6759,10 @@
         }
     break;
 
-  case 408:
+  case 410:
 
-/* Line 690 of lalr1.cc  */
-#line 3853 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3863 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(3) - (1)].node)), NULL
@@ -6774,10 +6770,10 @@
         }
     break;
 
-  case 409:
+  case 411:
 
-/* Line 690 of lalr1.cc  */
-#line 3859 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3869 "/home/markos/zorba/repo/jsoniq/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)
@@ -6785,10 +6781,10 @@
         }
     break;
 
-  case 410:
+  case 412:
 
-/* Line 690 of lalr1.cc  */
-#line 3869 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3879 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             PragmaList *pl = new PragmaList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -6796,10 +6792,10 @@
         }
     break;
 
-  case 411:
+  case 413:
 
-/* Line 690 of lalr1.cc  */
-#line 3875 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3885 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -6807,46 +6803,46 @@
         }
     break;
 
-  case 412:
+  case 414:
 
-/* Line 690 of lalr1.cc  */
-#line 3885 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3895 "/home/markos/zorba/repo/jsoniq/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 413:
+  case 415:
 
-/* Line 690 of lalr1.cc  */
-#line 3889 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3899 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) ), "" );
         }
     break;
 
-  case 414:
+  case 416:
 
-/* Line 690 of lalr1.cc  */
-#line 3893 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3903 "/home/markos/zorba/repo/jsoniq/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 415:
+  case 417:
 
-/* Line 690 of lalr1.cc  */
-#line 3931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3941 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new PathExpr(LOC((yyloc)), ParseConstants::path_leading_lone_slash, NULL);
     }
     break;
 
-  case 416:
+  case 418:
 
-/* Line 690 of lalr1.cc  */
-#line 3935 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3945 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -6858,10 +6854,10 @@
     }
     break;
 
-  case 417:
+  case 419:
 
-/* Line 690 of lalr1.cc  */
-#line 3945 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3955 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -6873,10 +6869,10 @@
     }
     break;
 
-  case 418:
+  case 420:
 
-/* Line 690 of lalr1.cc  */
-#line 3955 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3965 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe = dynamic_cast<RelativePathExpr*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (!rpe ?
@@ -6885,19 +6881,19 @@
     }
     break;
 
-  case 419:
+  case 421:
 
-/* Line 690 of lalr1.cc  */
-#line 3968 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3978 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = NULL;
     }
     break;
 
-  case 420:
+  case 422:
 
-/* Line 690 of lalr1.cc  */
-#line 3977 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3987 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       AxisStep* as = dynamic_cast<AxisStep*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (as ?
@@ -6909,46 +6905,46 @@
     }
     break;
 
-  case 421:
+  case 423:
 
-/* Line 690 of lalr1.cc  */
-#line 3987 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 3997 "/home/markos/zorba/repo/jsoniq/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 422:
+  case 424:
 
-/* Line 690 of lalr1.cc  */
-#line 3991 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4001 "/home/markos/zorba/repo/jsoniq/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 423:
-
-/* Line 690 of lalr1.cc  */
-#line 4000 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 424:
-
-/* Line 690 of lalr1.cc  */
-#line 4004 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 425:
 
-/* Line 690 of lalr1.cc  */
-#line 4013 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4010 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 426:
+
+/* Line 678 of lalr1.cc  */
+#line 4014 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 427:
+
+/* Line 678 of lalr1.cc  */
+#line 4023 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ForwardStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -6956,10 +6952,10 @@
         }
     break;
 
-  case 426:
+  case 428:
 
-/* Line 690 of lalr1.cc  */
-#line 4019 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4029 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -6969,10 +6965,10 @@
         }
     break;
 
-  case 427:
+  case 429:
 
-/* Line 690 of lalr1.cc  */
-#line 4027 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4037 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ReverseStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -6980,10 +6976,10 @@
         }
     break;
 
-  case 428:
+  case 430:
 
-/* Line 690 of lalr1.cc  */
-#line 4033 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4043 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -6993,10 +6989,10 @@
         }
     break;
 
-  case 429:
+  case 431:
 
-/* Line 690 of lalr1.cc  */
-#line 4045 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4055 "/home/markos/zorba/repo/jsoniq/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)
@@ -7004,10 +7000,10 @@
         }
     break;
 
-  case 430:
+  case 432:
 
-/* Line 690 of lalr1.cc  */
-#line 4051 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4061 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<AbbrevForwardStep*>((yysemantic_stack_[(1) - (1)].node))
@@ -7015,46 +7011,46 @@
         }
     break;
 
-  case 431:
+  case 433:
 
-/* Line 690 of lalr1.cc  */
-#line 4061 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4071 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_child );
         }
     break;
 
-  case 432:
+  case 434:
 
-/* Line 690 of lalr1.cc  */
-#line 4065 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4075 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_descendant);
         }
     break;
 
-  case 433:
+  case 435:
 
-/* Line 690 of lalr1.cc  */
-#line 4069 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4079 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_attribute );
         }
     break;
 
-  case 434:
+  case 436:
 
-/* Line 690 of lalr1.cc  */
-#line 4073 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4083 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_self );
         }
     break;
 
-  case 435:
+  case 437:
 
-/* Line 690 of lalr1.cc  */
-#line 4077 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4087 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_descendant_or_self
@@ -7062,10 +7058,10 @@
         }
     break;
 
-  case 436:
+  case 438:
 
-/* Line 690 of lalr1.cc  */
-#line 4083 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4093 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_following_sibling
@@ -7073,46 +7069,46 @@
         }
     break;
 
-  case 437:
+  case 439:
 
-/* Line 690 of lalr1.cc  */
-#line 4089 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4099 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_following );
         }
     break;
 
-  case 438:
+  case 440:
 
-/* Line 690 of lalr1.cc  */
-#line 4097 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4107 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), false );
         }
     break;
 
-  case 439:
+  case 441:
 
-/* Line 690 of lalr1.cc  */
-#line 4101 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4111 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].node), true );
         }
     break;
 
-  case 440:
+  case 442:
 
-/* Line 690 of lalr1.cc  */
-#line 4109 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4119 "/home/markos/zorba/repo/jsoniq/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 441:
+  case 443:
 
-/* Line 690 of lalr1.cc  */
-#line 4113 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4123 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             ReverseAxis *ra = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_parent
@@ -7121,28 +7117,28 @@
         }
     break;
 
-  case 442:
+  case 444:
 
-/* Line 690 of lalr1.cc  */
-#line 4124 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4134 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_parent );
         }
     break;
 
-  case 443:
+  case 445:
 
-/* Line 690 of lalr1.cc  */
-#line 4128 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4138 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_ancestor );
         }
     break;
 
-  case 444:
+  case 446:
 
-/* Line 690 of lalr1.cc  */
-#line 4132 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4142 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_preceding_sibling
@@ -7150,19 +7146,19 @@
         }
     break;
 
-  case 445:
+  case 447:
 
-/* Line 690 of lalr1.cc  */
-#line 4138 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4148 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_preceding );
         }
     break;
 
-  case 446:
+  case 448:
 
-/* Line 690 of lalr1.cc  */
-#line 4142 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4152 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_ancestor_or_self
@@ -7170,118 +7166,118 @@
         }
     break;
 
-  case 447:
-
-/* Line 690 of lalr1.cc  */
-#line 4156 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 448:
-
-/* Line 690 of lalr1.cc  */
-#line 4160 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 449:
 
-/* Line 690 of lalr1.cc  */
-#line 4168 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4166 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 450:
+
+/* Line 678 of lalr1.cc  */
+#line 4170 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 451:
+
+/* Line 678 of lalr1.cc  */
+#line 4178 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
-  case 450:
+  case 452:
 
-/* Line 690 of lalr1.cc  */
-#line 4172 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4182 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), dynamic_cast<Wildcard*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 451:
+  case 453:
 
-/* Line 690 of lalr1.cc  */
-#line 4182 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4192 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", "", ParseConstants::wild_all, false);
     }
     break;
 
-  case 452:
+  case 454:
 
-/* Line 690 of lalr1.cc  */
-#line 4186 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4196 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, false);
     }
     break;
 
-  case 453:
+  case 455:
 
-/* Line 690 of lalr1.cc  */
-#line 4190 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4200 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, true);
     }
     break;
 
-  case 454:
+  case 456:
 
-/* Line 690 of lalr1.cc  */
-#line 4194 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4204 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", SYMTAB((yysemantic_stack_[(1) - (1)].sval)), ParseConstants::wild_prefix, false);
     }
     break;
 
-  case 455:
+  case 457:
 
-/* Line 690 of lalr1.cc  */
-#line 4203 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4213 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
      }
     break;
 
-  case 456:
+  case 458:
 
-/* Line 690 of lalr1.cc  */
-#line 4207 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4217 "/home/markos/zorba/repo/jsoniq/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 457:
+  case 459:
 
-/* Line 690 of lalr1.cc  */
-#line 4211 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4221 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(3) - (1)].expr));
      }
     break;
 
-  case 458:
+  case 460:
 
-/* Line 690 of lalr1.cc  */
-#line 4215 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4225 "/home/markos/zorba/repo/jsoniq/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 459:
+  case 461:
 
-/* Line 690 of lalr1.cc  */
-#line 4223 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4233 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             PredicateList *pl = new PredicateList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7289,10 +7285,10 @@
         }
     break;
 
-  case 460:
+  case 462:
 
-/* Line 690 of lalr1.cc  */
-#line 4229 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4239 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -7300,37 +7296,19 @@
         }
     break;
 
-  case 461:
+  case 463:
 
-/* Line 690 of lalr1.cc  */
-#line 4239 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4249 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
         }
     break;
 
-  case 462:
-
-/* Line 690 of lalr1.cc  */
-#line 4247 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 463:
-
-/* Line 690 of lalr1.cc  */
-#line 4251 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 464:
 
-/* Line 690 of lalr1.cc  */
-#line 4255 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4257 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7338,8 +7316,8 @@
 
   case 465:
 
-/* Line 690 of lalr1.cc  */
-#line 4259 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4261 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7347,8 +7325,8 @@
 
   case 466:
 
-/* Line 690 of lalr1.cc  */
-#line 4263 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4265 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7356,8 +7334,8 @@
 
   case 467:
 
-/* Line 690 of lalr1.cc  */
-#line 4267 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4269 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7365,8 +7343,8 @@
 
   case 468:
 
-/* Line 690 of lalr1.cc  */
-#line 4271 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4273 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7374,8 +7352,8 @@
 
   case 469:
 
-/* Line 690 of lalr1.cc  */
-#line 4275 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4277 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7383,8 +7361,8 @@
 
   case 470:
 
-/* Line 690 of lalr1.cc  */
-#line 4279 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4281 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7392,8 +7370,8 @@
 
   case 471:
 
-/* Line 690 of lalr1.cc  */
-#line 4283 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4285 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7401,8 +7379,8 @@
 
   case 472:
 
-/* Line 690 of lalr1.cc  */
-#line 4288 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4289 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7410,8 +7388,8 @@
 
   case 473:
 
-/* Line 690 of lalr1.cc  */
-#line 4292 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4293 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7419,8 +7397,8 @@
 
   case 474:
 
-/* Line 690 of lalr1.cc  */
-#line 4296 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4298 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7428,8 +7406,8 @@
 
   case 475:
 
-/* Line 690 of lalr1.cc  */
-#line 4300 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4302 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7437,26 +7415,44 @@
 
   case 476:
 
-/* Line 690 of lalr1.cc  */
-#line 4308 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4306 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 477:
 
-/* Line 690 of lalr1.cc  */
-#line 4312 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4310 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 478:
 
-/* Line 690 of lalr1.cc  */
-#line 4320 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4318 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 479:
+
+/* Line 678 of lalr1.cc  */
+#line 4322 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 480:
+
+/* Line 678 of lalr1.cc  */
+#line 4330 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_decimal, *(yysemantic_stack_[(1) - (1)].decval)
@@ -7465,10 +7461,10 @@
         }
     break;
 
-  case 479:
+  case 481:
 
-/* Line 690 of lalr1.cc  */
-#line 4327 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4337 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_integer, *(yysemantic_stack_[(1) - (1)].ival)
@@ -7477,10 +7473,10 @@
         }
     break;
 
-  case 480:
+  case 482:
 
-/* Line 690 of lalr1.cc  */
-#line 4334 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4344 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_double, *(yysemantic_stack_[(1) - (1)].dval)
@@ -7489,73 +7485,73 @@
         }
     break;
 
-  case 481:
+  case 483:
 
-/* Line 690 of lalr1.cc  */
-#line 4345 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4355 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new VarRef(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)));
         }
     break;
 
-  case 482:
+  case 484:
 
-/* Line 690 of lalr1.cc  */
-#line 4353 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4363 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), NULL);
         }
     break;
 
-  case 483:
+  case 485:
 
-/* Line 690 of lalr1.cc  */
-#line 4357 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4367 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 484:
+  case 486:
 
-/* Line 690 of lalr1.cc  */
-#line 4365 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4375 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
         }
     break;
 
-  case 485:
+  case 487:
 
-/* Line 690 of lalr1.cc  */
-#line 4373 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4383 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new OrderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 486:
+  case 488:
 
-/* Line 690 of lalr1.cc  */
-#line 4381 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4391 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnorderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 487:
+  case 489:
 
-/* Line 690 of lalr1.cc  */
-#line 4435 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4445 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FunctionCall( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), NULL );
         }
     break;
 
-  case 488:
+  case 490:
 
-/* Line 690 of lalr1.cc  */
-#line 4439 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4449 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FunctionCall(
                 LOC((yyloc)),
@@ -7565,10 +7561,10 @@
         }
     break;
 
-  case 489:
+  case 491:
 
-/* Line 690 of lalr1.cc  */
-#line 4452 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4462 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             ArgList *al = new ArgList( LOC((yyloc)) );
             al->push_back( (yysemantic_stack_[(1) - (1)].expr) );
@@ -7576,10 +7572,10 @@
         }
     break;
 
-  case 490:
+  case 492:
 
-/* Line 690 of lalr1.cc  */
-#line 4458 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4468 "/home/markos/zorba/repo/jsoniq/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) );
@@ -7587,28 +7583,10 @@
         }
     break;
 
-  case 491:
-
-/* Line 690 of lalr1.cc  */
-#line 4468 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 492:
-
-/* Line 690 of lalr1.cc  */
-#line 4472 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 493:
 
-/* Line 690 of lalr1.cc  */
-#line 4480 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4478 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7616,8 +7594,8 @@
 
   case 494:
 
-/* Line 690 of lalr1.cc  */
-#line 4484 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4482 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7625,8 +7603,8 @@
 
   case 495:
 
-/* Line 690 of lalr1.cc  */
-#line 4488 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4490 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7634,8 +7612,26 @@
 
   case 496:
 
-/* Line 690 of lalr1.cc  */
-#line 4496 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4494 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 497:
+
+/* Line 678 of lalr1.cc  */
+#line 4498 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 498:
+
+/* Line 678 of lalr1.cc  */
+#line 4506 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7647,10 +7643,10 @@
         }
     break;
 
-  case 497:
+  case 499:
 
-/* Line 690 of lalr1.cc  */
-#line 4506 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4516 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7662,10 +7658,10 @@
         }
     break;
 
-  case 498:
+  case 500:
 
-/* Line 690 of lalr1.cc  */
-#line 4516 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4526 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             if (static_cast<QName*>((yysemantic_stack_[(8) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(8) - (6)].expr))->get_qname())
             {
@@ -7684,10 +7680,10 @@
         }
     break;
 
-  case 499:
+  case 501:
 
-/* Line 690 of lalr1.cc  */
-#line 4533 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4543 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             if (static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr))->get_qname())
             {
@@ -7706,10 +7702,10 @@
         }
     break;
 
-  case 500:
+  case 502:
 
-/* Line 690 of lalr1.cc  */
-#line 4550 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4560 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             if (static_cast<QName*>((yysemantic_stack_[(9) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(9) - (7)].expr))->get_qname())
             {
@@ -7728,10 +7724,10 @@
         }
     break;
 
-  case 501:
+  case 503:
 
-/* Line 690 of lalr1.cc  */
-#line 4567 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4577 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             if (static_cast<QName*>((yysemantic_stack_[(10) - (2)].expr))->get_qname() != static_cast<QName*>((yysemantic_stack_[(10) - (8)].expr))->get_qname())
             {
@@ -7750,10 +7746,10 @@
         }
     break;
 
-  case 502:
+  case 504:
 
-/* Line 690 of lalr1.cc  */
-#line 4589 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4599 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = new DirElemContentList( LOC((yyloc)) );
             decl->push_back( dynamic_cast<DirElemContent*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7761,10 +7757,10 @@
         }
     break;
 
-  case 503:
+  case 505:
 
-/* Line 690 of lalr1.cc  */
-#line 4595 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4605 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = dynamic_cast<DirElemContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( decl )
@@ -7773,10 +7769,10 @@
         }
     break;
 
-  case 504:
+  case 506:
 
-/* Line 690 of lalr1.cc  */
-#line 4606 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4616 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = new DirAttributeList( LOC((yyloc)) );
             dal->push_back( dynamic_cast<DirAttr*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7784,10 +7780,10 @@
         }
     break;
 
-  case 505:
+  case 507:
 
-/* Line 690 of lalr1.cc  */
-#line 4612 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4622 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = dynamic_cast<DirAttributeList*>((yysemantic_stack_[(2) - (1)].node));
             if ( dal )
@@ -7796,10 +7792,10 @@
         }
     break;
 
-  case 506:
+  case 508:
 
-/* Line 690 of lalr1.cc  */
-#line 4623 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4633 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttr(
                 LOC((yyloc)),
@@ -7809,114 +7805,114 @@
         }
     break;
 
-  case 509:
+  case 511:
 
-/* Line 690 of lalr1.cc  */
-#line 4640 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4650 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 510:
+  case 512:
 
-/* Line 690 of lalr1.cc  */
-#line 4645 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4655 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 511:
+  case 513:
 
-/* Line 690 of lalr1.cc  */
-#line 4654 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4664 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrContentList( LOC((yyloc)) );
         }
     break;
 
-  case 512:
-
-/* Line 690 of lalr1.cc  */
-#line 4658 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 513:
-
-/* Line 690 of lalr1.cc  */
-#line 4665 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
-            qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
-            (yyval.node) = qacl;
-        }
-    break;
-
   case 514:
 
-/* Line 690 of lalr1.cc  */
-#line 4671 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4668 "/home/markos/zorba/repo/jsoniq/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 515:
 
-/* Line 690 of lalr1.cc  */
-#line 4677 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4675 "/home/markos/zorba/repo/jsoniq/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 516:
 
-/* Line 690 of lalr1.cc  */
-#line 4685 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4681 "/home/markos/zorba/repo/jsoniq/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 517:
 
-/* Line 690 of lalr1.cc  */
-#line 4697 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4687 "/home/markos/zorba/repo/jsoniq/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 518:
 
-/* Line 690 of lalr1.cc  */
-#line 4701 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4695 "/home/markos/zorba/repo/jsoniq/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 519:
 
-/* Line 690 of lalr1.cc  */
-#line 4708 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4707 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
+        }
+    break;
+
+  case 520:
+
+/* Line 678 of lalr1.cc  */
+#line 4711 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 521:
+
+/* Line 678 of lalr1.cc  */
+#line 4718 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( new AposAttrValueContent( LOC((yyloc)),"'") );
@@ -7924,10 +7920,10 @@
         }
     break;
 
-  case 520:
+  case 522:
 
-/* Line 690 of lalr1.cc  */
-#line 4714 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4724 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( dynamic_cast<AposAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7935,10 +7931,10 @@
         }
     break;
 
-  case 521:
+  case 523:
 
-/* Line 690 of lalr1.cc  */
-#line 4720 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4730 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if (aacl)
@@ -7947,10 +7943,10 @@
         }
     break;
 
-  case 522:
+  case 524:
 
-/* Line 690 of lalr1.cc  */
-#line 4727 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4737 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( aacl )
@@ -7959,19 +7955,19 @@
         }
     break;
 
-  case 523:
+  case 525:
 
-/* Line 690 of lalr1.cc  */
-#line 4738 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4748 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 524:
+  case 526:
 
-/* Line 690 of lalr1.cc  */
-#line 4742 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4752 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -7979,19 +7975,19 @@
         }
     break;
 
-  case 525:
+  case 527:
 
-/* Line 690 of lalr1.cc  */
-#line 4752 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4762 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 526:
+  case 528:
 
-/* Line 690 of lalr1.cc  */
-#line 4756 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4766 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -7999,48 +7995,48 @@
         }
     break;
 
-  case 527:
+  case 529:
 
-/* Line 690 of lalr1.cc  */
-#line 4766 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4776 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr) );
         }
     break;
 
-  case 528:
+  case 530:
 
-/* Line 690 of lalr1.cc  */
-#line 4770 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4780 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 529:
+  case 531:
 
-/* Line 690 of lalr1.cc  */
-#line 4774 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4784 "/home/markos/zorba/repo/jsoniq/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 530:
+  case 532:
 
-/* Line 690 of lalr1.cc  */
-#line 4779 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4789 "/home/markos/zorba/repo/jsoniq/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 531:
+  case 533:
 
-/* Line 690 of lalr1.cc  */
-#line 4788 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4798 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_charref, SYMTAB((yysemantic_stack_[(1) - (1)].sval))
@@ -8048,10 +8044,10 @@
         }
     break;
 
-  case 532:
+  case 534:
 
-/* Line 690 of lalr1.cc  */
-#line 4794 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4804 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_lbrace
@@ -8059,10 +8055,10 @@
         }
     break;
 
-  case 533:
+  case 535:
 
-/* Line 690 of lalr1.cc  */
-#line 4800 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4810 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_rbrace
@@ -8070,82 +8066,64 @@
         }
     break;
 
-  case 534:
+  case 536:
 
-/* Line 690 of lalr1.cc  */
-#line 4806 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4816 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(LOC((yyloc)), new EnclosedExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr)));
         }
     break;
 
-  case 535:
+  case 537:
 
-/* Line 690 of lalr1.cc  */
-#line 4814 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4824 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 536:
+  case 538:
 
-/* Line 690 of lalr1.cc  */
-#line 4819 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4829 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), "" );
     }
     break;
 
-  case 537:
+  case 539:
 
-/* Line 690 of lalr1.cc  */
-#line 4827 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4837 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 538:
+  case 540:
 
-/* Line 690 of lalr1.cc  */
-#line 4832 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4842 "/home/markos/zorba/repo/jsoniq/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 539:
+  case 541:
 
-/* Line 690 of lalr1.cc  */
-#line 4840 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4850 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new CDataSection( LOC((yyloc)),SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
-  case 540:
-
-/* Line 690 of lalr1.cc  */
-#line 4848 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 541:
-
-/* Line 690 of lalr1.cc  */
-#line 4853 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 542:
 
-/* Line 690 of lalr1.cc  */
-#line 4858 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4858 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8153,8 +8131,8 @@
 
   case 543:
 
-/* Line 690 of lalr1.cc  */
-#line 4863 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4863 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8162,8 +8140,8 @@
 
   case 544:
 
-/* Line 690 of lalr1.cc  */
-#line 4868 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4868 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8171,8 +8149,8 @@
 
   case 545:
 
-/* Line 690 of lalr1.cc  */
-#line 4873 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4873 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8180,234 +8158,234 @@
 
   case 546:
 
-/* Line 690 of lalr1.cc  */
-#line 4882 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4878 "/home/markos/zorba/repo/jsoniq/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 547:
 
-/* Line 690 of lalr1.cc  */
-#line 4890 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4883 "/home/markos/zorba/repo/jsoniq/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 548:
 
-/* Line 690 of lalr1.cc  */
-#line 4894 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4892 "/home/markos/zorba/repo/jsoniq/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 549:
 
-/* Line 690 of lalr1.cc  */
-#line 4911 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4900 "/home/markos/zorba/repo/jsoniq/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 550:
 
-/* Line 690 of lalr1.cc  */
-#line 4915 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4904 "/home/markos/zorba/repo/jsoniq/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 551:
 
-/* Line 690 of lalr1.cc  */
-#line 4923 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4921 "/home/markos/zorba/repo/jsoniq/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 552:
 
-/* Line 690 of lalr1.cc  */
-#line 4931 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4925 "/home/markos/zorba/repo/jsoniq/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 553:
 
-/* Line 690 of lalr1.cc  */
-#line 4939 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4933 "/home/markos/zorba/repo/jsoniq/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 554:
 
-/* Line 690 of lalr1.cc  */
-#line 4943 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4941 "/home/markos/zorba/repo/jsoniq/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 555:
 
-/* Line 690 of lalr1.cc  */
-#line 4951 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4949 "/home/markos/zorba/repo/jsoniq/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 556:
 
-/* Line 690 of lalr1.cc  */
-#line 4957 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4953 "/home/markos/zorba/repo/jsoniq/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 557:
 
-/* Line 690 of lalr1.cc  */
-#line 4967 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4961 "/home/markos/zorba/repo/jsoniq/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 558:
 
-/* Line 690 of lalr1.cc  */
-#line 4975 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4967 "/home/markos/zorba/repo/jsoniq/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 559:
 
-/* Line 690 of lalr1.cc  */
-#line 4979 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4977 "/home/markos/zorba/repo/jsoniq/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 560:
 
-/* Line 690 of lalr1.cc  */
-#line 4983 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4985 "/home/markos/zorba/repo/jsoniq/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 561:
 
-/* Line 690 of lalr1.cc  */
-#line 5018 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4989 "/home/markos/zorba/repo/jsoniq/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 562:
 
-/* Line 690 of lalr1.cc  */
-#line 5024 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 4993 "/home/markos/zorba/repo/jsoniq/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 563:
 
-/* Line 690 of lalr1.cc  */
-#line 5030 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5028 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_one_or_more
+                LOC((yyloc)), ParseConstants::occurs_optionally
             );
         }
     break;
 
   case 564:
 
-/* Line 690 of lalr1.cc  */
-#line 5040 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5034 "/home/markos/zorba/repo/jsoniq/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 565:
 
-/* Line 690 of lalr1.cc  */
-#line 5044 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5040 "/home/markos/zorba/repo/jsoniq/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 566:
 
-/* Line 690 of lalr1.cc  */
-#line 5048 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5050 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ItemType( LOC((yyloc)), true );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 567:
 
-/* Line 690 of lalr1.cc  */
-#line 5052 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5054 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new StructuredItemType(LOC((yyloc)));
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 568:
 
-/* Line 690 of lalr1.cc  */
-#line 5056 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5058 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new ItemType( LOC((yyloc)), true );
         }
     break;
 
   case 569:
 
-/* Line 690 of lalr1.cc  */
-#line 5060 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5062 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new StructuredItemType(LOC((yyloc)));
         }
     break;
 
   case 570:
 
-/* Line 690 of lalr1.cc  */
-#line 5064 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5066 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8415,8 +8393,26 @@
 
   case 571:
 
-/* Line 690 of lalr1.cc  */
-#line 5071 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5070 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 572:
+
+/* Line 678 of lalr1.cc  */
+#line 5074 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 573:
+
+/* Line 678 of lalr1.cc  */
+#line 5081 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           TypeList* aTypeList = new TypeList(LOC ((yyloc)));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(1) - (1)].node)));
@@ -8424,10 +8420,10 @@
         }
     break;
 
-  case 572:
+  case 574:
 
-/* Line 690 of lalr1.cc  */
-#line 5077 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5087 "/home/markos/zorba/repo/jsoniq/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)));
@@ -8435,37 +8431,19 @@
         }
     break;
 
-  case 573:
+  case 575:
 
-/* Line 690 of lalr1.cc  */
-#line 5087 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5097 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
-  case 574:
-
-/* Line 690 of lalr1.cc  */
-#line 5095 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 575:
-
-/* Line 690 of lalr1.cc  */
-#line 5099 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 576:
 
-/* Line 690 of lalr1.cc  */
-#line 5103 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5105 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8473,8 +8451,8 @@
 
   case 577:
 
-/* Line 690 of lalr1.cc  */
-#line 5107 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5109 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8482,8 +8460,8 @@
 
   case 578:
 
-/* Line 690 of lalr1.cc  */
-#line 5111 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5113 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8491,8 +8469,8 @@
 
   case 579:
 
-/* Line 690 of lalr1.cc  */
-#line 5115 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5117 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8500,8 +8478,8 @@
 
   case 580:
 
-/* Line 690 of lalr1.cc  */
-#line 5119 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5121 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8509,8 +8487,8 @@
 
   case 581:
 
-/* Line 690 of lalr1.cc  */
-#line 5123 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5125 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8518,8 +8496,8 @@
 
   case 582:
 
-/* Line 690 of lalr1.cc  */
-#line 5127 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5129 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8527,35 +8505,53 @@
 
   case 583:
 
-/* Line 690 of lalr1.cc  */
-#line 5135 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5133 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 584:
+
+/* Line 678 of lalr1.cc  */
+#line 5137 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 585:
+
+/* Line 678 of lalr1.cc  */
+#line 5145 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AnyKindTest( LOC((yyloc)) );
         }
     break;
 
-  case 584:
+  case 586:
 
-/* Line 690 of lalr1.cc  */
-#line 5143 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5153 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)) );
         }
     break;
 
-  case 585:
+  case 587:
 
-/* Line 690 of lalr1.cc  */
-#line 5147 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5157 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)), dynamic_cast<ElementTest*>((yysemantic_stack_[(4) - (3)].node)) );
         }
     break;
 
-  case 586:
+  case 588:
 
-/* Line 690 of lalr1.cc  */
-#line 5151 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5161 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest(
                 LOC((yyloc)), dynamic_cast<SchemaElementTest*>((yysemantic_stack_[(4) - (3)].node))
@@ -8563,259 +8559,259 @@
         }
     break;
 
-  case 587:
+  case 589:
 
-/* Line 690 of lalr1.cc  */
-#line 5161 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5171 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new TextTest( LOC((yyloc)) );
         }
     break;
 
-  case 588:
+  case 590:
 
-/* Line 690 of lalr1.cc  */
-#line 5169 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5179 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new CommentTest( LOC((yyloc)));
         }
     break;
 
-  case 589:
+  case 591:
 
-/* Line 690 of lalr1.cc  */
-#line 5177 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5187 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), "" );
         }
     break;
 
-  case 590:
-
-/* Line 690 of lalr1.cc  */
-#line 5181 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
-  case 591:
-
-/* Line 690 of lalr1.cc  */
-#line 5185 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
   case 592:
 
-/* Line 690 of lalr1.cc  */
-#line 5193 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5191 "/home/markos/zorba/repo/jsoniq/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 593:
 
-/* Line 690 of lalr1.cc  */
-#line 5197 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5195 "/home/markos/zorba/repo/jsoniq/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 594:
 
-/* Line 690 of lalr1.cc  */
-#line 5203 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5203 "/home/markos/zorba/repo/jsoniq/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 595:
 
-/* Line 690 of lalr1.cc  */
-#line 5209 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5207 "/home/markos/zorba/repo/jsoniq/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 596:
 
-/* Line 690 of lalr1.cc  */
-#line 5213 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5213 "/home/markos/zorba/repo/jsoniq/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 597:
 
-/* Line 690 of lalr1.cc  */
-#line 5223 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5219 "/home/markos/zorba/repo/jsoniq/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 598:
 
-/* Line 690 of lalr1.cc  */
-#line 5231 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5223 "/home/markos/zorba/repo/jsoniq/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 599:
 
-/* Line 690 of lalr1.cc  */
-#line 5235 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5233 "/home/markos/zorba/repo/jsoniq/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 600:
 
-/* Line 690 of lalr1.cc  */
-#line 5241 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5241 "/home/markos/zorba/repo/jsoniq/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 601:
 
-/* Line 690 of lalr1.cc  */
-#line 5250 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5245 "/home/markos/zorba/repo/jsoniq/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 602:
 
-/* Line 690 of lalr1.cc  */
-#line 5259 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5251 "/home/markos/zorba/repo/jsoniq/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 603:
 
-/* Line 690 of lalr1.cc  */
-#line 5265 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5260 "/home/markos/zorba/repo/jsoniq/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 604:
 
-/* Line 690 of lalr1.cc  */
-#line 5271 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5269 "/home/markos/zorba/repo/jsoniq/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 605:
 
-/* Line 690 of lalr1.cc  */
-#line 5281 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5275 "/home/markos/zorba/repo/jsoniq/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 606:
 
-/* Line 690 of lalr1.cc  */
-#line 5298 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5281 "/home/markos/zorba/repo/jsoniq/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 607:
 
-/* Line 690 of lalr1.cc  */
-#line 5305 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5291 "/home/markos/zorba/repo/jsoniq/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 608:
 
-/* Line 690 of lalr1.cc  */
-#line 5320 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5308 "/home/markos/zorba/repo/jsoniq/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 609:
 
-/* Line 690 of lalr1.cc  */
-#line 5356 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5315 "/home/markos/zorba/repo/jsoniq/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 610:
 
-/* Line 690 of lalr1.cc  */
-#line 5360 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5330 "/home/markos/zorba/repo/jsoniq/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 611:
 
-/* Line 690 of lalr1.cc  */
-#line 5368 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5366 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 612:
+
+/* Line 678 of lalr1.cc  */
+#line 5370 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 613:
+
+/* Line 678 of lalr1.cc  */
+#line 5378 "/home/markos/zorba/repo/jsoniq/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 612:
+  case 614:
 
-/* Line 690 of lalr1.cc  */
-#line 5376 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5386 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new InlineFunction(LOC((yyloc)),
                               &*(yysemantic_stack_[(3) - (2)].fnsig)->theParams,
@@ -8825,46 +8821,46 @@
     }
     break;
 
-  case 613:
-
-/* Line 690 of lalr1.cc  */
-#line 5388 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
-  case 614:
-
-/* Line 690 of lalr1.cc  */
-#line 5392 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
   case 615:
 
-/* Line 690 of lalr1.cc  */
-#line 5400 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5398 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 616:
+
+/* Line 678 of lalr1.cc  */
+#line 5402 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 617:
+
+/* Line 678 of lalr1.cc  */
+#line 5410 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnyFunctionTest(LOC((yyloc)));
     }
     break;
 
-  case 616:
+  case 618:
 
-/* Line 690 of lalr1.cc  */
-#line 5408 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5418 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)), dynamic_cast<SequenceType *>((yysemantic_stack_[(5) - (5)].node)));
         }
     break;
 
-  case 617:
+  case 619:
 
-/* Line 690 of lalr1.cc  */
-#line 5412 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5422 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)),
               dynamic_cast<TypeList *>((yysemantic_stack_[(6) - (3)].node)),
@@ -8872,19 +8868,19 @@
         }
     break;
 
-  case 618:
+  case 620:
 
-/* Line 690 of lalr1.cc  */
-#line 5423 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5433 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
            (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 619:
+  case 621:
 
-/* Line 690 of lalr1.cc  */
-#line 5440 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5450 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::strict_validation
@@ -8892,10 +8888,10 @@
         }
     break;
 
-  case 620:
+  case 622:
 
-/* Line 690 of lalr1.cc  */
-#line 5446 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5456 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::lax_validation
@@ -8903,10 +8899,10 @@
         }
     break;
 
-  case 621:
+  case 623:
 
-/* Line 690 of lalr1.cc  */
-#line 5452 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5462 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::skip_validation
@@ -8914,81 +8910,81 @@
         }
     break;
 
-  case 622:
-
-/* Line 690 of lalr1.cc  */
-#line 5462 "/home/colea/xquery_bzr/error-messages/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 623:
-
-/* Line 690 of lalr1.cc  */
-#line 5466 "/home/colea/xquery_bzr/error-messages/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 624:
 
-/* Line 690 of lalr1.cc  */
-#line 5472 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5472 "/home/markos/zorba/repo/jsoniq/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 625:
 
-/* Line 690 of lalr1.cc  */
-#line 5478 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5476 "/home/markos/zorba/repo/jsoniq/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 626:
 
-/* Line 690 of lalr1.cc  */
-#line 5482 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5482 "/home/markos/zorba/repo/jsoniq/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 627:
 
-/* Line 690 of lalr1.cc  */
-#line 5488 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5488 "/home/markos/zorba/repo/jsoniq/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 628:
 
-/* Line 690 of lalr1.cc  */
-#line 5492 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5492 "/home/markos/zorba/repo/jsoniq/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 629:
 
-/* Line 690 of lalr1.cc  */
-#line 5498 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5498 "/home/markos/zorba/repo/jsoniq/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 630:
+
+/* Line 678 of lalr1.cc  */
+#line 5502 "/home/markos/zorba/repo/jsoniq/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 631:
+
+/* Line 678 of lalr1.cc  */
+#line 5508 "/home/markos/zorba/repo/jsoniq/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)
@@ -8996,10 +8992,10 @@
         }
     break;
 
-  case 630:
+  case 632:
 
-/* Line 690 of lalr1.cc  */
-#line 5504 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5514 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC ((yyloc)),
@@ -9008,39 +9004,39 @@
         }
     break;
 
-  case 631:
-
-/* Line 690 of lalr1.cc  */
-#line 5511 "/home/colea/xquery_bzr/error-messages/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 632:
-
-/* Line 690 of lalr1.cc  */
-#line 5521 "/home/colea/xquery_bzr/error-messages/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 5526 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5521 "/home/markos/zorba/repo/jsoniq/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 634:
 
-/* Line 690 of lalr1.cc  */
-#line 5534 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5531 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 635:
+
+/* Line 678 of lalr1.cc  */
+#line 5536 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 636:
+
+/* Line 678 of lalr1.cc  */
+#line 5544 "/home/markos/zorba/repo/jsoniq/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)
@@ -9048,10 +9044,10 @@
         }
     break;
 
-  case 635:
+  case 637:
 
-/* Line 690 of lalr1.cc  */
-#line 5540 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5550 "/home/markos/zorba/repo/jsoniq/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)
@@ -9059,29 +9055,29 @@
         }
     break;
 
-  case 636:
+  case 638:
 
-/* Line 690 of lalr1.cc  */
-#line 5550 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5560 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new RenameExpr( LOC ((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 637:
+  case 639:
 
-/* Line 690 of lalr1.cc  */
-#line 5572 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5582 "/home/markos/zorba/repo/jsoniq/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 638:
+  case 640:
 
-/* Line 690 of lalr1.cc  */
-#line 5581 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5591 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList* lList = new CopyVarList(LOC((yyloc)));
       lList->push_back (dynamic_cast<VarBinding*> ((yysemantic_stack_[(1) - (1)].expr)));
@@ -9089,10 +9085,10 @@
     }
     break;
 
-  case 639:
+  case 641:
 
-/* Line 690 of lalr1.cc  */
-#line 5587 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5597 "/home/markos/zorba/repo/jsoniq/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));
@@ -9101,28 +9097,28 @@
     }
     break;
 
-  case 640:
+  case 642:
 
-/* Line 690 of lalr1.cc  */
-#line 5600 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5610 "/home/markos/zorba/repo/jsoniq/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 641:
+  case 643:
 
-/* Line 690 of lalr1.cc  */
-#line 5614 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5624 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new TryExpr( LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 642:
+  case 644:
 
-/* Line 690 of lalr1.cc  */
-#line 5621 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5631 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = new CatchListExpr( LOC((yyloc)) );
             cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -9130,10 +9126,10 @@
         }
     break;
 
-  case 643:
+  case 645:
 
-/* Line 690 of lalr1.cc  */
-#line 5627 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5637 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
             if ( cle )
@@ -9142,29 +9138,29 @@
         }
     break;
 
-  case 644:
-
-/* Line 690 of lalr1.cc  */
-#line 5637 "/home/colea/xquery_bzr/error-messages/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 645:
-
-/* Line 690 of lalr1.cc  */
-#line 5646 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
-    }
-    break;
-
   case 646:
 
-/* Line 690 of lalr1.cc  */
-#line 5654 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5647 "/home/markos/zorba/repo/jsoniq/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 647:
+
+/* Line 678 of lalr1.cc  */
+#line 5656 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
+    }
+    break;
+
+  case 648:
+
+/* Line 678 of lalr1.cc  */
+#line 5664 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl = new CatchExpr::NameTestList;
             ntl->push_back( static_cast<NameTest*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9172,10 +9168,10 @@
         }
     break;
 
-  case 647:
+  case 649:
 
-/* Line 690 of lalr1.cc  */
-#line 5660 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5670 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl =
                 static_cast<CatchExpr::NameTestList*>((yysemantic_stack_[(3) - (1)].name_test_list));
@@ -9184,76 +9180,58 @@
         }
     break;
 
-  case 648:
+  case 650:
 
-/* Line 690 of lalr1.cc  */
-#line 5678 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5688 "/home/markos/zorba/repo/jsoniq/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 649:
+  case 651:
 
-/* Line 690 of lalr1.cc  */
-#line 5686 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5696 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = NULL;
         }
     break;
 
-  case 650:
+  case 652:
 
-/* Line 690 of lalr1.cc  */
-#line 5690 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5700 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = (yysemantic_stack_[(1) - (1)].pos_filter_list);
         }
     break;
 
-  case 651:
+  case 653:
 
-/* Line 690 of lalr1.cc  */
-#line 5697 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5707 "/home/markos/zorba/repo/jsoniq/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 652:
+  case 654:
 
-/* Line 690 of lalr1.cc  */
-#line 5702 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5712 "/home/markos/zorba/repo/jsoniq/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 653:
-
-/* Line 690 of lalr1.cc  */
-#line 5710 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 654:
-
-/* Line 690 of lalr1.cc  */
-#line 5714 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
-        }
-    break;
-
   case 655:
 
-/* Line 690 of lalr1.cc  */
-#line 5721 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5720 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9261,17 +9239,17 @@
 
   case 656:
 
-/* Line 690 of lalr1.cc  */
-#line 5725 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5724 "/home/markos/zorba/repo/jsoniq/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 657:
 
-/* Line 690 of lalr1.cc  */
-#line 5732 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5731 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9279,17 +9257,17 @@
 
   case 658:
 
-/* Line 690 of lalr1.cc  */
-#line 5736 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5735 "/home/markos/zorba/repo/jsoniq/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 659:
 
-/* Line 690 of lalr1.cc  */
-#line 5743 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5742 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9297,8 +9275,26 @@
 
   case 660:
 
-/* Line 690 of lalr1.cc  */
-#line 5747 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5746 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
+        }
+    break;
+
+  case 661:
+
+/* Line 678 of lalr1.cc  */
+#line 5753 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 662:
+
+/* Line 678 of lalr1.cc  */
+#line 5757 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnaryNot(
                 LOC((yyloc)), dynamic_cast<FTPrimaryWithOptions*>((yysemantic_stack_[(2) - (2)].node))
@@ -9306,10 +9302,10 @@
         }
     break;
 
-  case 661:
+  case 663:
 
-/* Line 690 of lalr1.cc  */
-#line 5756 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5766 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTPrimaryWithOptions(
                 LOC((yyloc)),
@@ -9320,28 +9316,10 @@
         }
     break;
 
-  case 662:
-
-/* Line 690 of lalr1.cc  */
-#line 5768 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 663:
-
-/* Line 690 of lalr1.cc  */
-#line 5772 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 664:
 
-/* Line 690 of lalr1.cc  */
-#line 5779 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5778 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9349,8 +9327,8 @@
 
   case 665:
 
-/* Line 690 of lalr1.cc  */
-#line 5783 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5782 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9358,17 +9336,35 @@
 
   case 666:
 
-/* Line 690 of lalr1.cc  */
-#line 5791 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5789 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 667:
+
+/* Line 678 of lalr1.cc  */
+#line 5793 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 668:
+
+/* Line 678 of lalr1.cc  */
+#line 5801 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWeight( LOC((yyloc)), dynamic_cast<exprnode*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
-  case 667:
+  case 669:
 
-/* Line 690 of lalr1.cc  */
-#line 5799 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5809 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsTimes(
                 LOC((yyloc)),
@@ -9378,37 +9374,19 @@
         }
     break;
 
-  case 668:
+  case 670:
 
-/* Line 690 of lalr1.cc  */
-#line 5807 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5817 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 669:
-
-/* Line 690 of lalr1.cc  */
-#line 5811 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 670:
-
-/* Line 690 of lalr1.cc  */
-#line 5818 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 671:
 
-/* Line 690 of lalr1.cc  */
-#line 5822 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5821 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9416,8 +9394,26 @@
 
   case 672:
 
-/* Line 690 of lalr1.cc  */
-#line 5830 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5828 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 673:
+
+/* Line 678 of lalr1.cc  */
+#line 5832 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 674:
+
+/* Line 678 of lalr1.cc  */
+#line 5840 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTExtensionSelection(
                 LOC((yyloc)),
@@ -9427,28 +9423,28 @@
         }
     break;
 
-  case 673:
-
-/* Line 690 of lalr1.cc  */
-#line 5841 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 674:
-
-/* Line 690 of lalr1.cc  */
-#line 5845 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 675:
 
-/* Line 690 of lalr1.cc  */
-#line 5853 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5851 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 676:
+
+/* Line 678 of lalr1.cc  */
+#line 5855 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 677:
+
+/* Line 678 of lalr1.cc  */
+#line 5863 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWords(
                 LOC((yyloc)),
@@ -9458,10 +9454,10 @@
         }
     break;
 
-  case 676:
+  case 678:
 
-/* Line 690 of lalr1.cc  */
-#line 5865 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5875 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), static_cast<StringLiteral*>((yysemantic_stack_[(1) - (1)].expr)), NULL
@@ -9469,10 +9465,10 @@
         }
     break;
 
-  case 677:
+  case 679:
 
-/* Line 690 of lalr1.cc  */
-#line 5871 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5881 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), NULL, dynamic_cast<exprnode*>((yysemantic_stack_[(3) - (2)].expr))
@@ -9480,109 +9476,91 @@
         }
     break;
 
-  case 678:
+  case 680:
 
-/* Line 690 of lalr1.cc  */
-#line 5880 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5890 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::any );
         }
     break;
 
-  case 679:
-
-/* Line 690 of lalr1.cc  */
-#line 5884 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 680:
-
-/* Line 690 of lalr1.cc  */
-#line 5892 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
-        }
-    break;
-
   case 681:
 
-/* Line 690 of lalr1.cc  */
-#line 5896 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5894 "/home/markos/zorba/repo/jsoniq/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 682:
 
-/* Line 690 of lalr1.cc  */
-#line 5900 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5902 "/home/markos/zorba/repo/jsoniq/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 683:
 
-/* Line 690 of lalr1.cc  */
-#line 5907 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5906 "/home/markos/zorba/repo/jsoniq/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 684:
 
-/* Line 690 of lalr1.cc  */
-#line 5911 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5910 "/home/markos/zorba/repo/jsoniq/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 685:
 
-/* Line 690 of lalr1.cc  */
-#line 5918 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all;
+            (yyval.ft_anyall_value) = ft_anyall_mode::any;
         }
     break;
 
   case 686:
 
-/* Line 690 of lalr1.cc  */
-#line 5922 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5921 "/home/markos/zorba/repo/jsoniq/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 687:
 
-/* Line 690 of lalr1.cc  */
-#line 5930 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5928 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all;
         }
     break;
 
   case 688:
 
-/* Line 690 of lalr1.cc  */
-#line 5934 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5932 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
         }
     break;
 
   case 689:
 
-/* Line 690 of lalr1.cc  */
-#line 5938 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5940 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9590,8 +9568,8 @@
 
   case 690:
 
-/* Line 690 of lalr1.cc  */
-#line 5942 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5944 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9599,8 +9577,8 @@
 
   case 691:
 
-/* Line 690 of lalr1.cc  */
-#line 5946 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5948 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9608,17 +9586,35 @@
 
   case 692:
 
-/* Line 690 of lalr1.cc  */
-#line 5954 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5952 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 693:
+
+/* Line 678 of lalr1.cc  */
+#line 5956 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 694:
+
+/* Line 678 of lalr1.cc  */
+#line 5964 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTOrder( LOC((yyloc)) );
         }
     break;
 
-  case 693:
+  case 695:
 
-/* Line 690 of lalr1.cc  */
-#line 5962 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5972 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWindow(
                 LOC((yyloc)),
@@ -9628,10 +9624,10 @@
         }
     break;
 
-  case 694:
+  case 696:
 
-/* Line 690 of lalr1.cc  */
-#line 5974 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5984 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDistance(
                 LOC((yyloc)),
@@ -9641,37 +9637,37 @@
         }
     break;
 
-  case 695:
+  case 697:
 
-/* Line 690 of lalr1.cc  */
-#line 5986 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 5996 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::words );
         }
     break;
 
-  case 696:
+  case 698:
 
-/* Line 690 of lalr1.cc  */
-#line 5990 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6000 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::sentences );
         }
     break;
 
-  case 697:
+  case 699:
 
-/* Line 690 of lalr1.cc  */
-#line 5994 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6004 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::paragraphs );
         }
     break;
 
-  case 698:
+  case 700:
 
-/* Line 690 of lalr1.cc  */
-#line 6002 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6012 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             FTMatchOptions *mo = new FTMatchOptions( LOC((yyloc)) );
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -9679,10 +9675,10 @@
         }
     break;
 
-  case 699:
+  case 701:
 
-/* Line 690 of lalr1.cc  */
-#line 6008 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6018 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -9690,28 +9686,10 @@
         }
     break;
 
-  case 700:
-
-/* Line 690 of lalr1.cc  */
-#line 6018 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 701:
-
-/* Line 690 of lalr1.cc  */
-#line 6022 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 702:
 
-/* Line 690 of lalr1.cc  */
-#line 6026 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6028 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9719,8 +9697,8 @@
 
   case 703:
 
-/* Line 690 of lalr1.cc  */
-#line 6030 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6032 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9728,8 +9706,8 @@
 
   case 704:
 
-/* Line 690 of lalr1.cc  */
-#line 6034 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6036 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9737,8 +9715,8 @@
 
   case 705:
 
-/* Line 690 of lalr1.cc  */
-#line 6038 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6040 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9746,8 +9724,8 @@
 
   case 706:
 
-/* Line 690 of lalr1.cc  */
-#line 6042 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6044 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9755,8 +9733,8 @@
 
   case 707:
 
-/* Line 690 of lalr1.cc  */
-#line 6046 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6048 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9764,44 +9742,62 @@
 
   case 708:
 
-/* Line 690 of lalr1.cc  */
-#line 6054 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6052 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 709:
+
+/* Line 678 of lalr1.cc  */
+#line 6056 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 710:
+
+/* Line 678 of lalr1.cc  */
+#line 6064 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::sensitive );
         }
     break;
 
-  case 709:
+  case 711:
 
-/* Line 690 of lalr1.cc  */
-#line 6058 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6068 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::insensitive );
         }
     break;
 
-  case 710:
+  case 712:
 
-/* Line 690 of lalr1.cc  */
-#line 6062 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6072 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::lower );
         }
     break;
 
-  case 711:
+  case 713:
 
-/* Line 690 of lalr1.cc  */
-#line 6066 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6076 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::upper );
         }
     break;
 
-  case 712:
+  case 714:
 
-/* Line 690 of lalr1.cc  */
-#line 6074 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6084 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::sensitive
@@ -9809,10 +9805,10 @@
         }
     break;
 
-  case 713:
+  case 715:
 
-/* Line 690 of lalr1.cc  */
-#line 6080 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6090 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::insensitive
@@ -9820,10 +9816,10 @@
         }
     break;
 
-  case 714:
+  case 716:
 
-/* Line 690 of lalr1.cc  */
-#line 6090 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6100 "/home/markos/zorba/repo/jsoniq/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))
@@ -9831,28 +9827,28 @@
         }
     break;
 
-  case 715:
+  case 717:
 
-/* Line 690 of lalr1.cc  */
-#line 6100 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6110 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::stemming );
         }
     break;
 
-  case 716:
+  case 718:
 
-/* Line 690 of lalr1.cc  */
-#line 6104 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6114 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::no_stemming );
         }
     break;
 
-  case 717:
+  case 719:
 
-/* Line 690 of lalr1.cc  */
-#line 6112 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6122 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = NULL;
             if ( (yysemantic_stack_[(2) - (2)].node) ) {
@@ -9864,10 +9860,10 @@
         }
     break;
 
-  case 718:
+  case 720:
 
-/* Line 690 of lalr1.cc  */
-#line 6122 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6132 "/home/markos/zorba/repo/jsoniq/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) ) {
@@ -9880,75 +9876,75 @@
         }
     break;
 
-  case 719:
+  case 721:
 
-/* Line 690 of lalr1.cc  */
-#line 6133 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6143 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTThesaurusOption( LOC((yyloc)), NULL, false, true );
         }
     break;
 
-  case 720:
-
-/* Line 690 of lalr1.cc  */
-#line 6140 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 721:
-
-/* Line 690 of lalr1.cc  */
-#line 6144 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 722:
 
-/* Line 690 of lalr1.cc  */
-#line 6151 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6150 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 723:
+
+/* Line 678 of lalr1.cc  */
+#line 6154 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 724:
+
+/* Line 678 of lalr1.cc  */
+#line 6161 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = NULL;
         }
     break;
 
-  case 723:
+  case 725:
 
-/* Line 690 of lalr1.cc  */
-#line 6155 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6165 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(2) - (2)].thesaurus_id_list);
         }
     break;
 
-  case 724:
+  case 726:
 
-/* Line 690 of lalr1.cc  */
-#line 6162 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6172 "/home/markos/zorba/repo/jsoniq/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 725:
+  case 727:
 
-/* Line 690 of lalr1.cc  */
-#line 6167 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6177 "/home/markos/zorba/repo/jsoniq/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 726:
+  case 728:
 
-/* Line 690 of lalr1.cc  */
-#line 6176 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6186 "/home/markos/zorba/repo/jsoniq/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))
@@ -9956,46 +9952,46 @@
         }
     break;
 
-  case 727:
+  case 729:
 
-/* Line 690 of lalr1.cc  */
-#line 6185 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6195 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = 0;
         }
     break;
 
-  case 728:
+  case 730:
 
-/* Line 690 of lalr1.cc  */
-#line 6189 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6199 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = (yysemantic_stack_[(2) - (2)].sval);
         }
     break;
 
-  case 729:
-
-/* Line 690 of lalr1.cc  */
-#line 6196 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 730:
-
-/* Line 690 of lalr1.cc  */
-#line 6200 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
-        }
-    break;
-
   case 731:
 
-/* Line 690 of lalr1.cc  */
-#line 6208 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6206 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 732:
+
+/* Line 678 of lalr1.cc  */
+#line 6210 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 733:
+
+/* Line 678 of lalr1.cc  */
+#line 6218 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)),
@@ -10006,10 +10002,10 @@
         }
     break;
 
-  case 732:
+  case 734:
 
-/* Line 690 of lalr1.cc  */
-#line 6217 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6227 "/home/markos/zorba/repo/jsoniq/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
@@ -10018,10 +10014,10 @@
         }
     break;
 
-  case 733:
+  case 735:
 
-/* Line 690 of lalr1.cc  */
-#line 6224 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6234 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, NULL, ft_stop_words_mode::without
@@ -10029,28 +10025,28 @@
         }
     break;
 
-  case 734:
+  case 736:
 
-/* Line 690 of lalr1.cc  */
-#line 6234 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6244 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), NULL );
         }
     break;
 
-  case 735:
+  case 737:
 
-/* Line 690 of lalr1.cc  */
-#line 6238 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6248 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), "", (yysemantic_stack_[(3) - (2)].strlist) );
         }
     break;
 
-  case 736:
+  case 738:
 
-/* Line 690 of lalr1.cc  */
-#line 6245 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6255 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             string_list_t *sl = new string_list_t;
             sl->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -10058,10 +10054,10 @@
         }
     break;
 
-  case 737:
+  case 739:
 
-/* Line 690 of lalr1.cc  */
-#line 6251 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6261 "/home/markos/zorba/repo/jsoniq/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)) );
@@ -10069,38 +10065,38 @@
         }
     break;
 
-  case 738:
+  case 740:
 
-/* Line 690 of lalr1.cc  */
-#line 6260 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6270 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = NULL;
         }
     break;
 
-  case 739:
+  case 741:
 
-/* Line 690 of lalr1.cc  */
-#line 6264 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6274 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = (yysemantic_stack_[(1) - (1)].incl_excl_list);
         }
     break;
 
-  case 740:
+  case 742:
 
-/* Line 690 of lalr1.cc  */
-#line 6271 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6281 "/home/markos/zorba/repo/jsoniq/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 741:
+  case 743:
 
-/* Line 690 of lalr1.cc  */
-#line 6276 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6286 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             FTStopWordOption::incl_excl_list_t *iel = (yysemantic_stack_[(2) - (1)].incl_excl_list);
             if ( !iel )
@@ -10110,10 +10106,10 @@
         }
     break;
 
-  case 742:
+  case 744:
 
-/* Line 690 of lalr1.cc  */
-#line 6288 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6298 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10123,10 +10119,10 @@
         }
     break;
 
-  case 743:
+  case 745:
 
-/* Line 690 of lalr1.cc  */
-#line 6296 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6306 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10136,109 +10132,109 @@
         }
     break;
 
-  case 744:
+  case 746:
 
-/* Line 690 of lalr1.cc  */
-#line 6308 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6318 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTLanguageOption( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
-  case 745:
+  case 747:
 
-/* Line 690 of lalr1.cc  */
-#line 6316 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6326 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::with );
         }
     break;
 
-  case 746:
+  case 748:
 
-/* Line 690 of lalr1.cc  */
-#line 6320 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6330 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::without );
         }
     break;
 
-  case 747:
+  case 749:
 
-/* Line 690 of lalr1.cc  */
-#line 6328 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6338 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_start );
         }
     break;
 
-  case 748:
+  case 750:
 
-/* Line 690 of lalr1.cc  */
-#line 6332 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6342 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_end );
         }
     break;
 
-  case 749:
+  case 751:
 
-/* Line 690 of lalr1.cc  */
-#line 6336 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6346 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::entire );
         }
     break;
 
-  case 750:
+  case 752:
 
-/* Line 690 of lalr1.cc  */
-#line 6344 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6354 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTTimes( LOC((yyloc)), dynamic_cast<FTRange*>((yysemantic_stack_[(3) - (2)].node)) );
         }
     break;
 
-  case 751:
+  case 753:
 
-/* Line 690 of lalr1.cc  */
-#line 6352 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6362 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::exactly, (yysemantic_stack_[(2) - (2)].expr) );
         }
     break;
 
-  case 752:
+  case 754:
 
-/* Line 690 of lalr1.cc  */
-#line 6356 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6366 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_least, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 753:
+  case 755:
 
-/* Line 690 of lalr1.cc  */
-#line 6360 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6370 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_most, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 754:
+  case 756:
 
-/* Line 690 of lalr1.cc  */
-#line 6364 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6374 "/home/markos/zorba/repo/jsoniq/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 755:
+  case 757:
 
-/* Line 690 of lalr1.cc  */
-#line 6372 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6382 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10248,10 +10244,10 @@
         }
     break;
 
-  case 756:
+  case 758:
 
-/* Line 690 of lalr1.cc  */
-#line 6380 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6390 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10261,105 +10257,105 @@
         }
     break;
 
-  case 757:
+  case 759:
 
-/* Line 690 of lalr1.cc  */
-#line 6392 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6402 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::sentence );
         }
     break;
 
-  case 758:
+  case 760:
 
-/* Line 690 of lalr1.cc  */
-#line 6396 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6406 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::paragraph );
         }
     break;
 
-  case 759:
+  case 761:
 
-/* Line 690 of lalr1.cc  */
-#line 6404 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6414 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTIgnoreOption( LOC((yyloc)), static_cast<UnionExpr*>((yysemantic_stack_[(3) - (3)].expr)) );
         }
     break;
 
-  case 760:
+  case 762:
 
-/* Line 690 of lalr1.cc  */
-#line 6418 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6428 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), NULL );
         }
     break;
 
-  case 761:
+  case 763:
 
-/* Line 690 of lalr1.cc  */
-#line 6422 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6432 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 762:
+  case 764:
 
-/* Line 690 of lalr1.cc  */
-#line 6429 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6439 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, false);
         }
     break;
 
-  case 763:
+  case 765:
 
-/* Line 690 of lalr1.cc  */
-#line 6434 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6444 "/home/markos/zorba/repo/jsoniq/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 764:
+  case 766:
 
-/* Line 690 of lalr1.cc  */
-#line 6442 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6452 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, true);
         }
     break;
 
-  case 765:
+  case 767:
 
-/* Line 690 of lalr1.cc  */
-#line 6447 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6457 "/home/markos/zorba/repo/jsoniq/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 766:
+  case 768:
 
-/* Line 690 of lalr1.cc  */
-#line 6456 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6466 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)),
                                                dynamic_cast<JSONPairList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 767:
+  case 769:
 
-/* Line 690 of lalr1.cc  */
-#line 6464 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6474 "/home/markos/zorba/repo/jsoniq/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)));
@@ -10367,10 +10363,10 @@
         }
     break;
 
-  case 768:
+  case 770:
 
-/* Line 690 of lalr1.cc  */
-#line 6470 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6480 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10379,84 +10375,132 @@
         }
     break;
 
-  case 769:
+  case 771:
 
-/* Line 690 of lalr1.cc  */
-#line 6480 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6490 "/home/markos/zorba/repo/jsoniq/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 770:
+  case 772:
 
-/* Line 690 of lalr1.cc  */
-#line 6486 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6496 "/home/markos/zorba/repo/jsoniq/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 771:
-
-/* Line 690 of lalr1.cc  */
-#line 6493 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr));
-        }
-    break;
-
-  case 772:
-
-/* Line 690 of lalr1.cc  */
-#line 6500 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = new JSONDeleteExpr(LOC((yyloc)), (yysemantic_stack_[(6) - (3)].expr), (yysemantic_stack_[(6) - (5)].expr));
-        }
-    break;
-
   case 773:
 
-/* Line 690 of lalr1.cc  */
-#line 6507 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6503 "/home/markos/zorba/repo/jsoniq/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 774:
 
-/* Line 690 of lalr1.cc  */
-#line 6514 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6510 "/home/markos/zorba/repo/jsoniq/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 775:
 
-/* Line 690 of lalr1.cc  */
-#line 6521 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6539 "/home/markos/zorba/repo/jsoniq/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 776:
 
-/* Line 690 of lalr1.cc  */
-#line 6525 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6568 "/home/markos/zorba/repo/jsoniq/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 777:
 
-/* Line 690 of lalr1.cc  */
-#line 6529 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6597 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -10464,35 +10508,53 @@
 
   case 778:
 
-/* Line 690 of lalr1.cc  */
-#line 6536 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6601 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 779:
+
+/* Line 678 of lalr1.cc  */
+#line 6605 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 780:
+
+/* Line 678 of lalr1.cc  */
+#line 6612 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
     break;
 
-  case 779:
+  case 781:
 
-/* Line 690 of lalr1.cc  */
-#line 6543 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6619 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
         }
     break;
 
-  case 780:
+  case 782:
 
-/* Line 690 of lalr1.cc  */
-#line 6550 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6626 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
         }
     break;
 
-  case 783:
+  case 785:
 
-/* Line 690 of lalr1.cc  */
-#line 6567 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6643 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     {
           auto_ptr<QName> lQName( static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
           zstring const &tmp = lQName->get_qname();
@@ -10504,1571 +10566,1560 @@
         }
     break;
 
-  case 785:
+  case 787:
 
-/* Line 690 of lalr1.cc  */
-#line 6580 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6656 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("attribute"))); }
     break;
 
-  case 786:
+  case 788:
 
-/* Line 690 of lalr1.cc  */
-#line 6581 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6657 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("comment"))); }
     break;
 
-  case 787:
+  case 789:
 
-/* Line 690 of lalr1.cc  */
-#line 6582 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6658 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document-node"))); }
     break;
 
-  case 788:
+  case 790:
 
-/* Line 690 of lalr1.cc  */
-#line 6583 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6659 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("element"))); }
     break;
 
-  case 789:
+  case 791:
 
-/* Line 690 of lalr1.cc  */
-#line 6584 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6660 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("item"))); }
     break;
 
-  case 790:
+  case 792:
 
-/* Line 690 of lalr1.cc  */
-#line 6585 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6661 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("if"))); }
     break;
 
-  case 791:
+  case 793:
 
-/* Line 690 of lalr1.cc  */
-#line 6586 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6662 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("node"))); }
     break;
 
-  case 792:
+  case 794:
 
-/* Line 690 of lalr1.cc  */
-#line 6587 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6663 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("processing-instruction"))); }
     break;
 
-  case 793:
+  case 795:
 
-/* Line 690 of lalr1.cc  */
-#line 6588 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6664 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-attribute"))); }
     break;
 
-  case 794:
+  case 796:
 
-/* Line 690 of lalr1.cc  */
-#line 6589 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6665 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-element"))); }
     break;
 
-  case 795:
+  case 797:
 
-/* Line 690 of lalr1.cc  */
-#line 6590 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6666 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("text"))); }
     break;
 
-  case 796:
+  case 798:
 
-/* Line 690 of lalr1.cc  */
-#line 6591 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6667 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("typeswitch"))); }
     break;
 
-  case 797:
+  case 799:
 
-/* Line 690 of lalr1.cc  */
-#line 6592 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6668 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("switch"))); }
     break;
 
-  case 798:
+  case 800:
 
-/* Line 690 of lalr1.cc  */
-#line 6593 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6669 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty-sequence"))); }
     break;
 
-  case 799:
+  case 801:
 
-/* Line 690 of lalr1.cc  */
-#line 6594 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6670 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("while"))); }
     break;
 
-  case 801:
+  case 803:
 
-/* Line 690 of lalr1.cc  */
-#line 6599 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6675 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
     break;
 
-  case 802:
+  case 804:
 
-/* Line 690 of lalr1.cc  */
-#line 6600 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6676 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("xquery"))); }
     break;
 
-  case 803:
+  case 805:
 
-/* Line 690 of lalr1.cc  */
-#line 6601 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6677 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty"))); }
     break;
 
-  case 804:
+  case 806:
 
-/* Line 690 of lalr1.cc  */
-#line 6602 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6678 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("boundary-space"))); }
     break;
 
-  case 805:
+  case 807:
 
-/* Line 690 of lalr1.cc  */
-#line 6603 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6679 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ft-option"))); }
     break;
 
-  case 806:
+  case 808:
 
-/* Line 690 of lalr1.cc  */
-#line 6604 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6680 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("base-uri"))); }
     break;
 
-  case 807:
+  case 809:
 
-/* Line 690 of lalr1.cc  */
-#line 6605 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6681 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lax"))); }
     break;
 
-  case 808:
+  case 810:
 
-/* Line 690 of lalr1.cc  */
-#line 6606 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6682 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strict"))); }
     break;
 
-  case 809:
+  case 811:
 
-/* Line 690 of lalr1.cc  */
-#line 6607 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6683 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("idiv"))); }
     break;
 
-  case 810:
+  case 812:
 
-/* Line 690 of lalr1.cc  */
-#line 6608 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6684 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document"))); }
     break;
 
-  case 811:
+  case 813:
 
-/* Line 690 of lalr1.cc  */
-#line 6609 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6685 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ftnot"))); }
     break;
 
-  case 812:
+  case 814:
 
-/* Line 690 of lalr1.cc  */
-#line 6610 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6686 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("not"))); }
     break;
 
-  case 813:
+  case 815:
 
-/* Line 690 of lalr1.cc  */
-#line 6611 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6687 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sensitive"))); }
     break;
 
-  case 814:
+  case 816:
 
-/* Line 690 of lalr1.cc  */
-#line 6612 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6688 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insensitive"))); }
     break;
 
-  case 815:
+  case 817:
 
-/* Line 690 of lalr1.cc  */
-#line 6613 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6689 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("diacritics"))); }
     break;
 
-  case 816:
+  case 818:
 
-/* Line 690 of lalr1.cc  */
-#line 6614 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6690 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("without"))); }
     break;
 
-  case 817:
+  case 819:
 
-/* Line 690 of lalr1.cc  */
-#line 6615 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6691 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stemming"))); }
     break;
 
-  case 818:
+  case 820:
 
-/* Line 690 of lalr1.cc  */
-#line 6616 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6692 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("thesaurus"))); }
     break;
 
-  case 819:
+  case 821:
 
-/* Line 690 of lalr1.cc  */
-#line 6617 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6693 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stop"))); }
     break;
 
-  case 820:
+  case 822:
 
-/* Line 690 of lalr1.cc  */
-#line 6618 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6694 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("wildcards"))); }
     break;
 
-  case 821:
+  case 823:
 
-/* Line 690 of lalr1.cc  */
-#line 6619 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6695 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("entire"))); }
     break;
 
-  case 822:
+  case 824:
 
-/* Line 690 of lalr1.cc  */
-#line 6620 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6696 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("content"))); }
     break;
 
-  case 823:
+  case 825:
 
-/* Line 690 of lalr1.cc  */
-#line 6621 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6697 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("word"))); }
     break;
 
-  case 824:
+  case 826:
 
-/* Line 690 of lalr1.cc  */
-#line 6622 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6698 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("start"))); }
     break;
 
-  case 825:
+  case 827:
 
-/* Line 690 of lalr1.cc  */
-#line 6623 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6699 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("end"))); }
     break;
 
-  case 826:
+  case 828:
 
-/* Line 690 of lalr1.cc  */
-#line 6624 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6700 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("most"))); }
     break;
 
-  case 827:
+  case 829:
 
-/* Line 690 of lalr1.cc  */
-#line 6625 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6701 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("skip"))); }
     break;
 
-  case 828:
+  case 830:
 
-/* Line 690 of lalr1.cc  */
-#line 6626 "/home/colea/xquery_bzr/error-messages/src/compiler/parser/xquery_parser.y"
+/* Line 678 of lalr1.cc  */
+#line 6702 "/