← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/bang_operator into lp:zorba

 

William Candillon has proposed merging lp:~zorba-coders/zorba/bang_operator into lp:zorba.

Requested reviews:
  Chris Hillery (ceejatec)
  Matthias Brantner (matthias-brantner)

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/bang_operator/+merge/121347

Add XQuery 3.0 Simple Map Operator.
See:
- http://www.w3.org/TR/xquery-30/#id-map-operator
- https://www.w3.org/Bugs/Public/show_bug.cgi?id=16197
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/bang_operator/+merge/121347
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'ChangeLog'
--- ChangeLog	2012-08-24 23:20:23 +0000
+++ ChangeLog	2012-08-26 20:22:22 +0000
@@ -2,6 +2,9 @@
 
 version 2.7
 
+New Features:
+  * New XQuery 3.0 simple map operator http://www.w3.org/TR/xquery-30/#id-map-operator 
+
 Bug Fixes/Other Changes:
   * Fixed bug #898792 (Dynamically computed strings can now be cast to xs:QName)
   * Fixed bugs #899364 and 899363 (throw XQST0103 in case of non-distinct window

=== modified file 'src/compiler/parser/FlexLexer.h'
--- src/compiler/parser/FlexLexer.h	2012-08-16 18:31:02 +0000
+++ src/compiler/parser/FlexLexer.h	2012-08-26 20:22:22 +0000
@@ -63,7 +63,7 @@
 	virtual ~FlexLexer()	{ }
 
 	const char* YYText() const	{ return yytext; }
-	int YYLeng()	const	{ return yyleng; }
+	size_t YYLeng()	const	{ return yyleng; }
 
 	virtual void
 		yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0;
@@ -93,7 +93,7 @@
 
 protected:
 	char* yytext;
-	int yyleng;
+	size_t yyleng;
 	int yylineno;		// only maintained if you use %option yylineno
 	int yy_flex_debug;	// only has effect with -d or "%option debug"
 };
@@ -130,8 +130,8 @@
 	virtual int yywrap();
 
 protected:
-	virtual int LexerInput( char* buf, int max_size );
-	virtual void LexerOutput( const char* buf, int size );
+	virtual size_t LexerInput( char* buf, size_t max_size );
+	virtual void LexerOutput( const char* buf, size_t size );
 	virtual void LexerError( const char* msg );
 
 	void yyunput( int c, char* buf_ptr );
@@ -160,7 +160,7 @@
 	char yy_hold_char;
 
 	// Number of characters read into yy_ch_buf.
-	int yy_n_chars;
+	size_t yy_n_chars;
 
 	// Points to current character in buffer.
 	char* yy_c_buf_p;

=== modified file 'src/compiler/parser/parse_constants.h'
--- src/compiler/parser/parse_constants.h	2012-08-16 18:31:02 +0000
+++ src/compiler/parser/parse_constants.h	2012-08-26 20:22:22 +0000
@@ -119,7 +119,7 @@
     {
       st_step,
       st_slash,
-      st_slashslash	
+      st_slashslash
     };
 
     enum axis_kind_t

=== modified file 'src/compiler/parser/xquery_parser.cpp'
--- src/compiler/parser/xquery_parser.cpp	2012-08-16 21:45:16 +0000
+++ src/compiler/parser/xquery_parser.cpp	2012-08-26 20:22:22 +0000
@@ -1,10 +1,8 @@
-
-/* A Bison parser, made by GNU Bison 2.4.1.  */
+/* A Bison parser, made by GNU Bison 2.5.  */
 
 /* Skeleton implementation for Bison LALR(1) parsers in C++
    
-      Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
-   Foundation, Inc.
+      Copyright (C) 2002-2011 Free Software Foundation, Inc.
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -37,8 +35,8 @@
 
 /* First part of user declarations.  */
 
-/* Line 311 of lalr1.cc  */
-#line 87 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 293 of lalr1.cc  */
+#line 87 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 
 
 #include "common/common.h"
@@ -74,16 +72,16 @@
 
 
 
-/* Line 311 of lalr1.cc  */
-#line 79 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
+/* Line 293 of lalr1.cc  */
+#line 77 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
 
 
 #include "xquery_parser.hpp"
 
 /* User implementation prologue.  */
 
-/* Line 317 of lalr1.cc  */
-#line 906 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 299 of lalr1.cc  */
+#line 908 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 
 // HACK to trigger rchandle release: rchandles are freed when refcount == 0
 // (not <= 0); but Bison never increments the refcount, so we do it manually...
@@ -94,8 +92,8 @@
     }
 }
 
-/* Line 317 of lalr1.cc  */
-#line 1022 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 299 of lalr1.cc  */
+#line 1032 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 
 #include "compiler/parser/xquery_scanner.h"
 
@@ -104,11 +102,11 @@
 
 
 
-/* Line 317 of lalr1.cc  */
-#line 109 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
+/* Line 299 of lalr1.cc  */
+#line 107 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
 
 #ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* FIXME: INFRINGES ON USER NAME SPACE */
 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -119,6 +117,26 @@
 # endif
 #endif
 
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)                               \
+ do                                                                    \
+   if (N)                                                              \
+     {                                                                 \
+       (Current).begin = YYRHSLOC (Rhs, 1).begin;                      \
+       (Current).end   = YYRHSLOC (Rhs, N).end;                        \
+     }                                                                 \
+   else                                                                \
+     {                                                                 \
+       (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end;        \
+     }                                                                 \
+ while (false)
+#endif
+
 /* Suppress unused-variable warnings by "using" E.  */
 #define YYUSE(e) ((void) (e))
 
@@ -168,14 +186,10 @@
 #define YYRECOVERING()  (!!yyerrstatus_)
 
 
-/* Line 380 of lalr1.cc  */
-#line 1 "[Bison:b4_percent_define_default]"
-
 namespace zorba {
 
-/* Line 380 of lalr1.cc  */
-#line 178 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-#if YYERROR_VERBOSE
+/* Line 382 of lalr1.cc  */
+#line 193 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
 
   /* Return YYSTR after stripping away unnecessary quotes and
      backslashes, so that it's suitable for yyerror.  The heuristic is
@@ -214,7 +228,6 @@
     return yystr;
   }
 
-#endif
 
   /// Build a parser object.
   xquery_parser::xquery_parser (xquery_driver& driver_yyarg)
@@ -277,2513 +290,2522 @@
         case 110: /* "\"'DECIMAL'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 904 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+#line 906 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->decval); };
 
 /* Line 480 of lalr1.cc  */
-#line 285 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 298 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 124: /* "\"'DOUBLE'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 903 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+#line 905 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->dval); };
 
 /* Line 480 of lalr1.cc  */
-#line 294 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 307 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 149: /* "\"'INTEGER'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 902 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+#line 904 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->ival); };
 
 /* Line 480 of lalr1.cc  */
-#line 303 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 336: /* "VersionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 312 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 337: /* "MainModule" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 321 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 338: /* "LibraryModule" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 330 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 339: /* "ModuleDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 339 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 340: /* "SIND_DeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 348 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 341: /* "SIND_Decl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 357 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 342: /* "Setter" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 366 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 343: /* "BoundarySpaceDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 375 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 344: /* "DefaultCollationDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 384 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 345: /* "BaseURIDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 393 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 346: /* "ConstructionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 402 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 347: /* "OrderingModeDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 411 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 348: /* "EmptyOrderDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 420 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 349: /* "CopyNamespacesDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 429 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 350: /* "Import" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 438 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 351: /* "SchemaImport" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 447 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 352: /* "URILiteralList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 456 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 353: /* "SchemaPrefix" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 465 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 354: /* "ModuleImport" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 474 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 355: /* "NamespaceDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 483 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 356: /* "DefaultNamespaceDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 492 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 357: /* "VFO_DeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 501 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 358: /* "VFO_Decl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 510 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 359: /* "DecimalFormatDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 519 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 360: /* "DecimalFormatParamList" */
-
-/* Line 480 of lalr1.cc  */
-#line 930 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+#line 316 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 338: /* "VersionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 325 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 339: /* "MainModule" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 334 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 340: /* "LibraryModule" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 343 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 341: /* "ModuleDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 352 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 342: /* "SIND_DeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 361 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 343: /* "SIND_Decl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 370 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 344: /* "Setter" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 379 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 345: /* "BoundarySpaceDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 388 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 346: /* "DefaultCollationDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 397 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 347: /* "BaseURIDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 406 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 348: /* "ConstructionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 415 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 349: /* "OrderingModeDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 424 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 350: /* "EmptyOrderDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 433 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 351: /* "CopyNamespacesDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 442 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 352: /* "Import" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 451 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 353: /* "SchemaImport" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 460 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 354: /* "URILiteralList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 469 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 355: /* "SchemaPrefix" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 478 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 356: /* "ModuleImport" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 487 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 357: /* "NamespaceDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 496 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 358: /* "DefaultNamespaceDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 505 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 359: /* "VFO_DeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 514 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 360: /* "VFO_Decl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 523 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 361: /* "DecimalFormatDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 532 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 362: /* "DecimalFormatParamList" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->vstrpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 528 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 541 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
 	break;
-      case 361: /* "DecimalFormatParam" */
+      case 363: /* "DecimalFormatParam" */
 
 /* Line 480 of lalr1.cc  */
-#line 930 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+#line 932 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->strpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 537 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 363: /* "OptionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 546 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 364: /* "FTOptionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 555 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 365: /* "CtxItemDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 564 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 366: /* "CtxItemDecl2" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 573 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 367: /* "CtxItemDecl3" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 582 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 368: /* "CtxItemDecl4" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 591 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 369: /* "VarDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 600 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 370: /* "VarNameAndType" */
-
-/* Line 480 of lalr1.cc  */
-#line 930 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+#line 550 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 365: /* "OptionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 559 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 366: /* "FTOptionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 568 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 367: /* "CtxItemDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 577 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 368: /* "CtxItemDecl2" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 586 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 369: /* "CtxItemDecl3" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 595 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 370: /* "CtxItemDecl4" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 604 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 371: /* "VarDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 613 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 372: /* "VarNameAndType" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->varnametype); };
 
 /* Line 480 of lalr1.cc  */
-#line 609 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 371: /* "AnnotationList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 618 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 372: /* "Annotation" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 627 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 373: /* "AnnotationLiteralList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 636 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 374: /* "FunctionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 645 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 375: /* "FunctionDecl2" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 654 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 376: /* "FunctionDeclSimple" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 663 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 377: /* "FunctionDeclUpdating" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 672 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 378: /* "FunctionSig" */
-
-/* Line 480 of lalr1.cc  */
-#line 930 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+#line 622 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 373: /* "AnnotationList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 631 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 374: /* "Annotation" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 640 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 375: /* "AnnotationLiteralList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 649 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 376: /* "FunctionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 658 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 377: /* "FunctionDecl2" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 667 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 378: /* "FunctionDeclSimple" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 676 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 379: /* "FunctionDeclUpdating" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 685 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 380: /* "FunctionSig" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->fnsig); };
 
 /* Line 480 of lalr1.cc  */
-#line 681 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 379: /* "ParamList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 690 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 380: /* "Param" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 699 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 381: /* "CollectionDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 708 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 383: /* "IndexDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 717 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 384: /* "IndexKeyList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 726 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 385: /* "IndexKeySpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 735 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 386: /* "IntegrityConstraintDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 744 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 387: /* "QueryBody" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 753 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 388: /* "StatementsAndOptionalExprTop" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 762 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 389: /* "StatementsAndOptionalExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 771 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 390: /* "StatementsAndExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 780 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 391: /* "Statements" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 789 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 392: /* "Statement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 798 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 393: /* "BlockStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 394: /* "BlockExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 395: /* "EnclosedStatementsAndOptionalExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 825 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 396: /* "VarDeclStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 834 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 399: /* "AssignStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 843 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 400: /* "ApplyStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 852 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 401: /* "ExitStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 861 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 402: /* "WhileStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 870 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 403: /* "FlowCtlStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 879 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 404: /* "FLWORStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 888 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 405: /* "ReturnStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 897 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 406: /* "IfStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 906 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 407: /* "TryStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 915 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 408: /* "CatchListStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 409: /* "CatchStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 933 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 410: /* "Expr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 942 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 411: /* "ExprSingle" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 951 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 412: /* "ExprSimple" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 960 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 413: /* "FLWORExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 969 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 414: /* "ReturnExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 978 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 417: /* "FLWORWinCond" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 987 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 418: /* "WindowClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 996 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 419: /* "CountClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1005 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 420: /* "ForLetWinClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1014 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 422: /* "FLWORClauseList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1023 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 423: /* "ForClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1032 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 424: /* "VarInDeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1041 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 425: /* "VarInDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1050 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 426: /* "PositionalVar" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1059 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 427: /* "FTScoreVar" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1068 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 428: /* "LetClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1077 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 429: /* "VarGetsDeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1086 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 430: /* "VarGetsDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1095 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 431: /* "WindowVarDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1104 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 432: /* "WindowVars" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1113 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 433: /* "WindowVars3" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1122 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 434: /* "WindowVars2" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1131 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 435: /* "WhereClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1140 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 436: /* "GroupByClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1149 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 437: /* "GroupSpecList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1158 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 438: /* "GroupSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1167 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 439: /* "GroupCollationSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1176 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 440: /* "OrderByClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1185 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 441: /* "OrderSpecList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1194 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 442: /* "OrderSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1203 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 443: /* "OrderModifier" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1212 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 444: /* "OrderDirSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1221 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 445: /* "OrderEmptySpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1230 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 446: /* "OrderCollationSpec" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1239 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 447: /* "QuantifiedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1248 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 448: /* "QVarInDeclList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1257 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 449: /* "QVarInDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1266 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 450: /* "SwitchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1275 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 451: /* "SwitchCaseClauseList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1284 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 452: /* "SwitchCaseClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1293 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 453: /* "SwitchCaseOperandList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1302 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 454: /* "SwitchStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1311 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 457: /* "TypeswitchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1320 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 458: /* "TypeswitchStatement" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1329 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 459: /* "CaseClauseList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1338 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 460: /* "CaseClause" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1347 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 463: /* "IfExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1356 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 464: /* "OrExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1365 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 465: /* "AndExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1374 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 466: /* "ComparisonExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1383 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 468: /* "FTContainsExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1392 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 469: /* "StringConcatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1401 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 470: /* "opt_FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1410 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 471: /* "RangeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1419 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 472: /* "AdditiveExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1428 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 473: /* "MultiplicativeExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1437 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 474: /* "UnionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1446 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 475: /* "IntersectExceptExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1455 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 476: /* "InstanceofExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1464 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 477: /* "TreatExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1473 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 478: /* "CastableExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1482 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 479: /* "CastExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1491 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 480: /* "UnaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1500 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 481: /* "SignList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1509 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 482: /* "ValueExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1518 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 483: /* "ValueComp" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1527 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 484: /* "NodeComp" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1536 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 485: /* "ValidateExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1545 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 486: /* "ExtensionExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1554 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 487: /* "Pragma_list" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1563 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 488: /* "Pragma" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1572 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 489: /* "PathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1581 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 491: /* "RelativePathExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1590 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 492: /* "StepExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1599 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 493: /* "AxisStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1608 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 494: /* "ForwardStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1617 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 495: /* "ForwardAxis" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1626 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 496: /* "AbbrevForwardStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1635 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 497: /* "ReverseStep" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1644 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 498: /* "ReverseAxis" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1653 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 499: /* "NodeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1662 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 500: /* "NameTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1671 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 501: /* "Wildcard" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1680 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 502: /* "FilterExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1689 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 503: /* "PredicateList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1698 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 504: /* "Predicate" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1707 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 505: /* "PrimaryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1716 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 506: /* "Literal" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1725 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 507: /* "NumericLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1734 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 508: /* "VarRef" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1743 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 509: /* "ParenthesizedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1752 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 510: /* "ContextItemExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1761 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 511: /* "OrderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1770 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 512: /* "UnorderedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1779 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 513: /* "FunctionCall" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1788 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 514: /* "ArgList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1797 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 515: /* "Constructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1806 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 516: /* "DirectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1815 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 517: /* "DirElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1824 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 518: /* "DirElemContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1833 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 519: /* "DirAttributeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1842 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 520: /* "DirAttr" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1851 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 522: /* "DirAttributeValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1860 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 523: /* "opt_QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1869 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 524: /* "QuoteAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1878 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 525: /* "opt_AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1887 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 526: /* "AposAttrContentList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1896 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 527: /* "QuoteAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1905 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 528: /* "AposAttrValueContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1914 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 529: /* "DirElemContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1923 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 530: /* "CommonContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1932 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 531: /* "DirCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1941 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 532: /* "DirPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1950 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 533: /* "CDataSection" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1959 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 534: /* "ComputedConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1968 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 535: /* "CompDocConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1977 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 536: /* "CompElemConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1986 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 537: /* "CompAttrConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 1995 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 538: /* "CompTextConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2004 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 539: /* "CompCommentConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2013 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 540: /* "CompPIConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2022 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 541: /* "SingleType" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2031 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 542: /* "TypeDeclaration" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2040 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 543: /* "SequenceType" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2049 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 544: /* "OccurrenceIndicator" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2058 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 545: /* "ItemType" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2067 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 546: /* "TypeList" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2076 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 547: /* "AtomicType" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2085 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 548: /* "KindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2094 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 549: /* "AnyKindTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2103 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 550: /* "DocumentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2112 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 551: /* "TextTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2121 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 552: /* "CommentTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2130 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 553: /* "PITest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2139 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 554: /* "AttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2148 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 555: /* "SchemaAttributeTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2157 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 556: /* "ElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2166 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 557: /* "SchemaElementTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2175 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 558: /* "TypeName" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2184 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 559: /* "TypeName_WITH_HOOK" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2193 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 560: /* "StringLiteral" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2202 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 565: /* "AnyFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2211 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 566: /* "TypedFunctionTest" */
-
-/* Line 480 of lalr1.cc  */
-#line 918 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2220 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 569: /* "InsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2229 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 570: /* "DeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2238 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 571: /* "ReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2247 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 572: /* "RenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2256 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 573: /* "TransformExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2265 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 574: /* "VarNameList" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2274 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 575: /* "VarNameDecl" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2283 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 576: /* "TryExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2292 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 577: /* "CatchListExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2301 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 578: /* "CatchExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2310 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 579: /* "BracedExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2319 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 580: /* "NameTestList" */
-
-/* Line 480 of lalr1.cc  */
-#line 930 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+#line 694 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 381: /* "ParamList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 703 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 382: /* "Param" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 712 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 383: /* "CollectionDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 721 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 385: /* "IndexDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 730 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 386: /* "IndexKeyList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 739 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 387: /* "IndexKeySpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 748 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 388: /* "IntegrityConstraintDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 757 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 389: /* "QueryBody" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 766 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 390: /* "StatementsAndOptionalExprTop" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 775 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 391: /* "StatementsAndOptionalExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 784 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 392: /* "StatementsAndExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 793 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 393: /* "Statements" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 802 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 394: /* "Statement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 811 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 395: /* "BlockStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 820 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 396: /* "BlockExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 829 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 397: /* "EnclosedStatementsAndOptionalExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 838 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 398: /* "VarDeclStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 847 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 401: /* "AssignStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 856 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 402: /* "ApplyStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 865 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 403: /* "ExitStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 874 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 404: /* "WhileStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 883 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 405: /* "FlowCtlStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 892 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 406: /* "FLWORStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 901 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 407: /* "ReturnStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 910 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 408: /* "IfStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 919 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 409: /* "TryStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 928 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 410: /* "CatchListStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 937 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 411: /* "CatchStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 946 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 412: /* "Expr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 955 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 413: /* "ExprSingle" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 964 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 414: /* "ExprSimple" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 973 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 415: /* "FLWORExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 982 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 416: /* "ReturnExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 991 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 419: /* "FLWORWinCond" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1000 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 420: /* "WindowClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1009 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 421: /* "CountClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1018 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 422: /* "ForLetWinClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1027 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 424: /* "FLWORClauseList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1036 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 425: /* "ForClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1045 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 426: /* "VarInDeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1054 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 427: /* "VarInDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1063 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 428: /* "PositionalVar" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1072 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 429: /* "FTScoreVar" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1081 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 430: /* "LetClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1090 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 431: /* "VarGetsDeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1099 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 432: /* "VarGetsDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1108 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 433: /* "WindowVarDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1117 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 434: /* "WindowVars" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1126 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 435: /* "WindowVars3" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1135 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 436: /* "WindowVars2" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1144 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 437: /* "WhereClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1153 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 438: /* "GroupByClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1162 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 439: /* "GroupSpecList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1171 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 440: /* "GroupSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1180 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 441: /* "GroupCollationSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1189 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 442: /* "OrderByClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1198 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 443: /* "OrderSpecList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1207 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 444: /* "OrderSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1216 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 445: /* "OrderModifier" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1225 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 446: /* "OrderDirSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1234 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 447: /* "OrderEmptySpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1243 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 448: /* "OrderCollationSpec" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1252 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 449: /* "QuantifiedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1261 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 450: /* "QVarInDeclList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1270 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 451: /* "QVarInDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1279 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 452: /* "SwitchExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1288 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 453: /* "SwitchCaseClauseList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1297 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 454: /* "SwitchCaseClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1306 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 455: /* "SwitchCaseOperandList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1315 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 456: /* "SwitchStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1324 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 459: /* "TypeswitchExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1333 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 460: /* "TypeswitchStatement" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1342 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 461: /* "CaseClauseList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1351 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 462: /* "CaseClause" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1360 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 465: /* "IfExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1369 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 466: /* "OrExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1378 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 467: /* "AndExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1387 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 468: /* "ComparisonExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1396 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 470: /* "FTContainsExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1405 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 471: /* "StringConcatExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1414 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 472: /* "opt_FTIgnoreOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1423 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 473: /* "RangeExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1432 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 474: /* "AdditiveExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1441 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 475: /* "MultiplicativeExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1450 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 476: /* "UnionExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1459 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 477: /* "IntersectExceptExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1468 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 478: /* "InstanceofExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1477 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 479: /* "TreatExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1486 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 480: /* "CastableExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1495 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 481: /* "CastExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1504 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 482: /* "UnaryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1513 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 483: /* "SignList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1522 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 484: /* "ValueExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1531 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 485: /* "SimpleMapExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1540 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 486: /* "ValueComp" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1549 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 487: /* "NodeComp" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1558 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 488: /* "ValidateExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1567 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 489: /* "ExtensionExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1576 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 490: /* "Pragma_list" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1585 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 491: /* "Pragma" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1594 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 492: /* "PathExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1603 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 494: /* "RelativePathExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1612 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 495: /* "StepExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1621 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 496: /* "AxisStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1630 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 497: /* "ForwardStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1639 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 498: /* "ForwardAxis" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1648 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 499: /* "AbbrevForwardStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1657 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 500: /* "ReverseStep" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1666 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 501: /* "ReverseAxis" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1675 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 502: /* "NodeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1684 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 503: /* "NameTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1693 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 504: /* "Wildcard" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1702 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 505: /* "FilterExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1711 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 506: /* "PredicateList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1720 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 507: /* "Predicate" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1729 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 508: /* "PrimaryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1738 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 509: /* "Literal" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1747 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 510: /* "NumericLiteral" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1756 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 511: /* "VarRef" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1765 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 512: /* "ParenthesizedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1774 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 513: /* "ContextItemExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1783 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 514: /* "OrderedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1792 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 515: /* "UnorderedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1801 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 516: /* "FunctionCall" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1810 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 517: /* "ArgList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1819 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 518: /* "Constructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1828 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 519: /* "DirectConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1837 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 520: /* "DirElemConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1846 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 521: /* "DirElemContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1855 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 522: /* "DirAttributeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1864 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 523: /* "DirAttr" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1873 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 525: /* "DirAttributeValue" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1882 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 526: /* "opt_QuoteAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1891 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 527: /* "QuoteAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1900 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 528: /* "opt_AposAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1909 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 529: /* "AposAttrContentList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1918 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 530: /* "QuoteAttrValueContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1927 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 531: /* "AposAttrValueContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1936 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 532: /* "DirElemContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1945 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 533: /* "CommonContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1954 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 534: /* "DirCommentConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1963 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 535: /* "DirPIConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1972 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 536: /* "CDataSection" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1981 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 537: /* "ComputedConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1990 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 538: /* "CompDocConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 1999 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 539: /* "CompElemConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2008 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 540: /* "CompAttrConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2017 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 541: /* "CompTextConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2026 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 542: /* "CompCommentConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2035 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 543: /* "CompPIConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2044 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 544: /* "SingleType" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2053 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 545: /* "TypeDeclaration" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2062 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 546: /* "SequenceType" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2071 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 547: /* "OccurrenceIndicator" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2080 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 548: /* "ItemType" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2089 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 549: /* "TypeList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2098 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 550: /* "AtomicType" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2107 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 551: /* "KindTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2116 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 552: /* "AnyKindTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2125 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 553: /* "DocumentTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2134 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 554: /* "TextTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2143 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 555: /* "CommentTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2152 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 556: /* "PITest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2161 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 557: /* "AttributeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2170 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 558: /* "SchemaAttributeTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2179 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 559: /* "ElementTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2188 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 560: /* "SchemaElementTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2197 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 561: /* "TypeName" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2206 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 562: /* "TypeName_WITH_HOOK" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2215 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 563: /* "StringLiteral" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2224 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 568: /* "AnyFunctionTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2233 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 569: /* "TypedFunctionTest" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2242 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 572: /* "InsertExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2251 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 573: /* "DeleteExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2260 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 574: /* "ReplaceExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2269 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 575: /* "RenameExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2278 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 576: /* "TransformExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2287 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 577: /* "VarNameList" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2296 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 578: /* "VarNameDecl" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2305 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 579: /* "TryExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2314 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 580: /* "CatchListExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2323 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 581: /* "CatchExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2332 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 582: /* "BracedExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2341 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 583: /* "NameTestList" */
+
+/* Line 480 of lalr1.cc  */
+#line 932 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->name_test_list); };
 
 /* Line 480 of lalr1.cc  */
-#line 2328 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 581: /* "FTSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2337 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 584: /* "FTOr" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2346 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 585: /* "FTAnd" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2355 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 586: /* "FTMildNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2364 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 587: /* "FTUnaryNot" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2373 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 588: /* "FTPrimaryWithOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2382 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 589: /* "opt_FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2391 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 591: /* "FTWeight" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2400 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 592: /* "FTPrimary" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2409 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 593: /* "opt_FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2418 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 594: /* "FTExtensionSelection" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2427 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 596: /* "FTWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2436 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 597: /* "FTWordsValue" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2445 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 599: /* "FTAnyallOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2454 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 602: /* "FTPosFilter" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2463 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 603: /* "FTOrder" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2472 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 604: /* "FTWindow" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2481 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 605: /* "FTDistance" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2490 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 606: /* "FTUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2499 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 607: /* "FTMatchOptions" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2508 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 608: /* "FTMatchOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2517 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 609: /* "FTCaseOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2526 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 610: /* "FTDiacriticsOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2535 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 611: /* "FTExtensionOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2544 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 612: /* "FTStemOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2553 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 613: /* "FTThesaurusOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2562 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 617: /* "FTThesaurusID" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2571 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 620: /* "FTStopWordOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2580 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 621: /* "FTStopWords" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2589 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 625: /* "FTStopWordsInclExcl" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2598 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 626: /* "FTLanguageOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2607 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 627: /* "FTWildCardOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2616 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 628: /* "FTContent" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2625 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 629: /* "FTTimes" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2634 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 630: /* "FTRange" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2643 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 631: /* "FTScope" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2652 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 632: /* "FTBigUnit" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2661 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 633: /* "FTIgnoreOption" */
-
-/* Line 480 of lalr1.cc  */
-#line 921 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2670 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 634: /* "JSONArrayConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2679 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 635: /* "JSONSimpleObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2688 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 636: /* "JSONAccumulatorObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2697 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 637: /* "JSONObjectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2706 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 638: /* "JSONPairList" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2715 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 639: /* "JSONInsertExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2724 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 640: /* "JSONAppendExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2733 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 641: /* "JSONDeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2742 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 642: /* "JSONRenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2751 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 643: /* "JSONReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2760 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 650: /* "QNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2769 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 651: /* "FUNCTION_NAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2778 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 652: /* "EQNAME" */
-
-/* Line 480 of lalr1.cc  */
-#line 927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2787 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
+#line 2350 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 584: /* "FTSelection" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2359 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 587: /* "FTOr" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2368 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 588: /* "FTAnd" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2377 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 589: /* "FTMildNot" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2386 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 590: /* "FTUnaryNot" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2395 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 591: /* "FTPrimaryWithOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2404 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 592: /* "opt_FTMatchOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2413 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 594: /* "FTWeight" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2422 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 595: /* "FTPrimary" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2431 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 596: /* "opt_FTTimes" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2440 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 597: /* "FTExtensionSelection" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2449 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 599: /* "FTWords" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2458 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 600: /* "FTWordsValue" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2467 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 602: /* "FTAnyallOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2476 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 605: /* "FTPosFilter" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2485 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 606: /* "FTOrder" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2494 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 607: /* "FTWindow" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2503 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 608: /* "FTDistance" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2512 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 609: /* "FTUnit" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2521 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 610: /* "FTMatchOptions" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2530 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 611: /* "FTMatchOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2539 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 612: /* "FTCaseOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2548 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 613: /* "FTDiacriticsOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2557 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 614: /* "FTExtensionOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2566 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 615: /* "FTStemOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2575 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 616: /* "FTThesaurusOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2584 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 620: /* "FTThesaurusID" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2593 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 623: /* "FTStopWordOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2602 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 624: /* "FTStopWords" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2611 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 628: /* "FTStopWordsInclExcl" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2620 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 629: /* "FTLanguageOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2629 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 630: /* "FTWildCardOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2638 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 631: /* "FTContent" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2647 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 632: /* "FTTimes" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2656 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 633: /* "FTRange" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2665 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 634: /* "FTScope" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2674 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 635: /* "FTBigUnit" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2683 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 636: /* "FTIgnoreOption" */
+
+/* Line 480 of lalr1.cc  */
+#line 923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2692 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 637: /* "JSONArrayConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2701 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 638: /* "JSONSimpleObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2710 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 639: /* "JSONAccumulatorObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2719 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 640: /* "JSONObjectConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2728 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 641: /* "JSONPairList" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2737 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 642: /* "JSONInsertExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2746 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 643: /* "JSONAppendExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2755 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 644: /* "JSONDeleteExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2764 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 645: /* "JSONRenameExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2773 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 646: /* "JSONReplaceExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 926 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2782 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 653: /* "QNAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2791 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 654: /* "FUNCTION_NAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2800 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 655: /* "EQNAME" */
+
+/* Line 480 of lalr1.cc  */
+#line 929 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2809 "/Users/wcandillon/28msec/zorba/build/src/compiler/parser/xquery_parser.cpp"
 	break;
 
 	default:
@@ -2826,6 +2848,18 @@
   }
 #endif
 
+  inline bool
+  xquery_parser::yy_pact_value_is_default_ (int yyvalue)
+  {
+    return yyvalue == yypact_ninf_;
+  }
+
+  inline bool
+  xquery_parser::yy_table_value_is_error_ (int yyvalue)
+  {
+    return yyvalue == yytable_ninf_;
+  }
+
   int
   xquery_parser::parse ()
   {
@@ -2847,7 +2881,7 @@
     /// Location of the lookahead.
     location_type yylloc;
     /// The locations where the error started and ended.
-    location_type yyerror_range[2];
+    location_type yyerror_range[3];
 
     /// $$.
     semantic_type yyval;
@@ -2861,14 +2895,14 @@
 
     /* User initialization code.  */
     
-/* Line 553 of lalr1.cc  */
-#line 140 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 565 of lalr1.cc  */
+#line 140 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
 {
     yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
 }
 
-/* Line 553 of lalr1.cc  */
-#line 2872 "/home/markos/zorba/repo/bug-900688/build-opt/src/compiler/parser/xquery_parser.cpp"
+/* Line 565 of lalr1.cc  */
+#line 2906 "/Users/wcandillon/28msec/zorba/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
@@ -2896,7 +2930,7 @@
 
     /* Try to take a decision without lookahead.  */
     yyn = yypact_[yystate];
-    if (yyn == yypact_ninf_)
+    if (yy_pact_value_is_default_ (yyn))
       goto yydefault;
 
     /* Read a lookahead token.  */
@@ -2929,8 +2963,8 @@
     yyn = yytable_[yyn];
     if (yyn <= 0)
       {
-	if (yyn == 0 || yyn == yytable_ninf_)
-	goto yyerrlab;
+	if (yy_table_value_is_error_ (yyn))
+	  goto yyerrlab;
 	yyn = -yyn;
 	goto yyreduce;
       }
@@ -2986,8 +3020,8 @@
       {
 	  case 3:
 
-/* Line 678 of lalr1.cc  */
-#line 1040 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1050 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -2995,8 +3029,8 @@
 
   case 4:
 
-/* Line 678 of lalr1.cc  */
-#line 1044 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1054 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -3004,8 +3038,8 @@
 
   case 5:
 
-/* Line 678 of lalr1.cc  */
-#line 1048 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1058 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       }
@@ -3013,8 +3047,8 @@
 
   case 6:
 
-/* Line 678 of lalr1.cc  */
-#line 1059 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1069 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3022,8 +3056,8 @@
 
   case 7:
 
-/* Line 678 of lalr1.cc  */
-#line 1068 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1078 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3032,8 +3066,8 @@
 
   case 8:
 
-/* Line 678 of lalr1.cc  */
-#line 1074 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1084 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       MainModule* mm = dynamic_cast<MainModule*>((yysemantic_stack_[(2) - (2)].node));
       mm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3044,8 +3078,8 @@
 
   case 9:
 
-/* Line 678 of lalr1.cc  */
-#line 1082 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1092 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3054,8 +3088,8 @@
 
   case 10:
 
-/* Line 678 of lalr1.cc  */
-#line 1088 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1098 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       LibraryModule* lm = dynamic_cast<LibraryModule*>((yysemantic_stack_[(2) - (2)].node));
       lm->set_version_decl( static_cast<VersionDecl*>((yysemantic_stack_[(2) - (1)].node)) );
@@ -3066,8 +3100,8 @@
 
   case 11:
 
-/* Line 678 of lalr1.cc  */
-#line 1099 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1109 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8" );
     }
@@ -3075,8 +3109,8 @@
 
   case 12:
 
-/* Line 678 of lalr1.cc  */
-#line 1104 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1114 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
     }
@@ -3084,8 +3118,8 @@
 
   case 13:
 
-/* Line 678 of lalr1.cc  */
-#line 1112 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1122 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
 
@@ -3095,8 +3129,8 @@
 
   case 14:
 
-/* Line 678 of lalr1.cc  */
-#line 1119 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1129 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
 
@@ -3106,8 +3140,8 @@
 
   case 15:
 
-/* Line 678 of lalr1.cc  */
-#line 1126 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1136 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
@@ -3119,8 +3153,8 @@
 
   case 16:
 
-/* Line 678 of lalr1.cc  */
-#line 1135 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1145 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
@@ -3128,8 +3162,8 @@
 
   case 17:
 
-/* Line 678 of lalr1.cc  */
-#line 1142 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1152 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3140,8 +3174,8 @@
 
   case 18:
 
-/* Line 678 of lalr1.cc  */
-#line 1150 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1160 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].expr); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3152,8 +3186,8 @@
 
   case 19:
 
-/* Line 678 of lalr1.cc  */
-#line 1158 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1168 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr); // to prevent the Bison warning
       (yylocation_stack_[(5) - (3)]).step();
@@ -3164,8 +3198,8 @@
 
   case 20:
 
-/* Line 678 of lalr1.cc  */
-#line 1166 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1176 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(5) - (1)].node); (yyval.node) = (yysemantic_stack_[(5) - (3)].node); (yyval.node) = (yysemantic_stack_[(5) - (5)].expr); // to prevent the Bison warning
       (yylocation_stack_[(5) - (1)]).step();
@@ -3176,8 +3210,8 @@
 
   case 21:
 
-/* Line 678 of lalr1.cc  */
-#line 1177 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1187 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
@@ -3185,8 +3219,8 @@
 
   case 22:
 
-/* Line 678 of lalr1.cc  */
-#line 1182 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1192 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (2)].node)), NULL);
 
@@ -3196,8 +3230,8 @@
 
   case 23:
 
-/* Line 678 of lalr1.cc  */
-#line 1189 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1199 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (2)].node)));
 
@@ -3207,8 +3241,8 @@
 
   case 24:
 
-/* Line 678 of lalr1.cc  */
-#line 1196 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1206 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (2)].node)),
@@ -3220,8 +3254,8 @@
 
   case 25:
 
-/* Line 678 of lalr1.cc  */
-#line 1208 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1218 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
 
@@ -3231,8 +3265,8 @@
 
   case 26:
 
-/* Line 678 of lalr1.cc  */
-#line 1218 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1228 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3242,8 +3276,8 @@
 
   case 27:
 
-/* Line 678 of lalr1.cc  */
-#line 1225 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1235 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ((SIND_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3252,8 +3286,8 @@
 
   case 28:
 
-/* Line 678 of lalr1.cc  */
-#line 1232 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1242 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       // error
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
@@ -3265,8 +3299,8 @@
 
   case 42:
 
-/* Line 678 of lalr1.cc  */
-#line 1267 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1277 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
@@ -3274,8 +3308,8 @@
 
   case 43:
 
-/* Line 678 of lalr1.cc  */
-#line 1272 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1282 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
@@ -3283,8 +3317,8 @@
 
   case 44:
 
-/* Line 678 of lalr1.cc  */
-#line 1280 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1290 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
@@ -3292,8 +3326,8 @@
 
   case 45:
 
-/* Line 678 of lalr1.cc  */
-#line 1288 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1298 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -3301,8 +3335,8 @@
 
   case 46:
 
-/* Line 678 of lalr1.cc  */
-#line 1296 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1306 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
@@ -3310,8 +3344,8 @@
 
   case 47:
 
-/* Line 678 of lalr1.cc  */
-#line 1301 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1311 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
@@ -3319,8 +3353,8 @@
 
   case 48:
 
-/* Line 678 of lalr1.cc  */
-#line 1309 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1319 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
@@ -3328,8 +3362,8 @@
 
   case 49:
 
-/* Line 678 of lalr1.cc  */
-#line 1314 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1324 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
@@ -3337,8 +3371,8 @@
 
   case 50:
 
-/* Line 678 of lalr1.cc  */
-#line 1322 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1332 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
@@ -3346,8 +3380,8 @@
 
   case 51:
 
-/* Line 678 of lalr1.cc  */
-#line 1327 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1337 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
@@ -3355,8 +3389,8 @@
 
   case 52:
 
-/* Line 678 of lalr1.cc  */
-#line 1335 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1345 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::preserve_ns,
@@ -3366,8 +3400,8 @@
 
   case 53:
 
-/* Line 678 of lalr1.cc  */
-#line 1342 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1352 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::preserve_ns,
@@ -3377,8 +3411,8 @@
 
   case 54:
 
-/* Line 678 of lalr1.cc  */
-#line 1349 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1359 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::no_preserve_ns,
@@ -3388,8 +3422,8 @@
 
   case 55:
 
-/* Line 678 of lalr1.cc  */
-#line 1356 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1366 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::no_preserve_ns,
@@ -3399,8 +3433,8 @@
 
   case 58:
 
-/* Line 678 of lalr1.cc  */
-#line 1371 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1381 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yyval.node); // to prevent the Bison warning
       error((yylocation_stack_[(3) - (2)]), "syntax error, \"import\" should be followed by either \"schema\" or \"module\".");
@@ -3410,8 +3444,8 @@
 
   case 59:
 
-/* Line 678 of lalr1.cc  */
-#line 1381 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1391 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
@@ -3419,8 +3453,8 @@
 
   case 60:
 
-/* Line 678 of lalr1.cc  */
-#line 1386 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1396 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3431,8 +3465,8 @@
 
   case 61:
 
-/* Line 678 of lalr1.cc  */
-#line 1394 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1404 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3443,8 +3477,8 @@
 
   case 62:
 
-/* Line 678 of lalr1.cc  */
-#line 1402 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1412 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3455,8 +3489,8 @@
 
   case 63:
 
-/* Line 678 of lalr1.cc  */
-#line 1413 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1423 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3466,8 +3500,8 @@
 
   case 64:
 
-/* Line 678 of lalr1.cc  */
-#line 1420 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1430 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if ( URILiteralList *ull = dynamic_cast<URILiteralList*>((yysemantic_stack_[(3) - (1)].node)) )
         ull->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
@@ -3478,8 +3512,8 @@
 
   case 65:
 
-/* Line 678 of lalr1.cc  */
-#line 1431 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1441 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -3487,8 +3521,8 @@
 
   case 66:
 
-/* Line 678 of lalr1.cc  */
-#line 1436 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1446 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
@@ -3496,8 +3530,8 @@
 
   case 67:
 
-/* Line 678 of lalr1.cc  */
-#line 1444 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1454 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL);
 
@@ -3507,8 +3541,8 @@
 
   case 68:
 
-/* Line 678 of lalr1.cc  */
-#line 1451 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1461 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (4)].sval)), SYMTAB((yysemantic_stack_[(6) - (6)].sval)), NULL);
 
@@ -3518,8 +3552,8 @@
 
   case 69:
 
-/* Line 678 of lalr1.cc  */
-#line 1458 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1468 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(5) - (3)].sval)),
@@ -3531,8 +3565,8 @@
 
   case 70:
 
-/* Line 678 of lalr1.cc  */
-#line 1467 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1477 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(8) - (4)].sval)),
@@ -3545,8 +3579,8 @@
 
   case 71:
 
-/* Line 678 of lalr1.cc  */
-#line 1480 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1490 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new NamespaceDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(5) - (3)].sval)), SYMTAB((yysemantic_stack_[(5) - (5)].sval)) );
     }
@@ -3554,8 +3588,8 @@
 
   case 72:
 
-/* Line 678 of lalr1.cc  */
-#line 1488 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1498 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3565,8 +3599,8 @@
 
   case 73:
 
-/* Line 678 of lalr1.cc  */
-#line 1495 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1505 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3576,8 +3610,8 @@
 
   case 74:
 
-/* Line 678 of lalr1.cc  */
-#line 1505 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1515 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3587,8 +3621,8 @@
 
   case 75:
 
-/* Line 678 of lalr1.cc  */
-#line 1512 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1522 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ((VFO_DeclList*)(yysemantic_stack_[(3) - (1)].node))->push_back( (yysemantic_stack_[(3) - (3)].node) );
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3597,8 +3631,8 @@
 
   case 76:
 
-/* Line 678 of lalr1.cc  */
-#line 1519 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1529 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node); (yyval.node) = (yysemantic_stack_[(3) - (3)].node); // to prevent the Bison warning
       (yylocation_stack_[(3) - (1)]).step();
@@ -3609,8 +3643,8 @@
 
   case 85:
 
-/* Line 678 of lalr1.cc  */
-#line 1542 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1552 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3619,8 +3653,8 @@
 
   case 86:
 
-/* Line 678 of lalr1.cc  */
-#line 1548 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1558 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3629,8 +3663,8 @@
 
   case 87:
 
-/* Line 678 of lalr1.cc  */
-#line 1557 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1567 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3640,8 +3674,8 @@
 
   case 88:
 
-/* Line 678 of lalr1.cc  */
-#line 1564 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1574 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3651,8 +3685,8 @@
 
   case 89:
 
-/* Line 678 of lalr1.cc  */
-#line 1574 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1584 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       StringLiteral *sl = static_cast<StringLiteral*>((yysemantic_stack_[(3) - (3)].expr));
       (yyval.strpair) = new string_pair_t( (yysemantic_stack_[(3) - (1)].strval), sl->get_strval().str() );
@@ -3662,78 +3696,78 @@
 
   case 90:
 
-/* Line 678 of lalr1.cc  */
-#line 1583 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1593 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 91:
 
-/* Line 678 of lalr1.cc  */
-#line 1584 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1594 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 92:
 
-/* Line 678 of lalr1.cc  */
-#line 1585 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1595 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 93:
 
-/* Line 678 of lalr1.cc  */
-#line 1586 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1596 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "infinty"; }
     break;
 
   case 94:
 
-/* Line 678 of lalr1.cc  */
-#line 1587 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1597 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 95:
 
-/* Line 678 of lalr1.cc  */
-#line 1588 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1598 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 96:
 
-/* Line 678 of lalr1.cc  */
-#line 1589 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1599 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 97:
 
-/* Line 678 of lalr1.cc  */
-#line 1590 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1600 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 98:
 
-/* Line 678 of lalr1.cc  */
-#line 1591 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1601 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 99:
 
-/* Line 678 of lalr1.cc  */
-#line 1592 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1602 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 100:
 
-/* Line 678 of lalr1.cc  */
-#line 1598 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1608 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OptionDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)));
     }
@@ -3741,8 +3775,8 @@
 
   case 101:
 
-/* Line 678 of lalr1.cc  */
-#line 1606 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1616 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
@@ -3750,8 +3784,8 @@
 
   case 102:
 
-/* Line 678 of lalr1.cc  */
-#line 1614 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1624 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
@@ -3759,8 +3793,8 @@
 
   case 103:
 
-/* Line 678 of lalr1.cc  */
-#line 1622 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1632 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3770,8 +3804,8 @@
 
   case 104:
 
-/* Line 678 of lalr1.cc  */
-#line 1629 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1639 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -3779,8 +3813,8 @@
 
   case 105:
 
-/* Line 678 of lalr1.cc  */
-#line 1637 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1647 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3790,8 +3824,8 @@
 
   case 106:
 
-/* Line 678 of lalr1.cc  */
-#line 1644 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1654 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
@@ -3799,8 +3833,8 @@
 
   case 107:
 
-/* Line 678 of lalr1.cc  */
-#line 1649 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1659 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -3808,8 +3842,8 @@
 
   case 108:
 
-/* Line 678 of lalr1.cc  */
-#line 1657 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1667 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -3817,8 +3851,8 @@
 
   case 109:
 
-/* Line 678 of lalr1.cc  */
-#line 1665 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1675 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(4) - (2)].varnametype)));
 
@@ -3835,8 +3869,8 @@
 
   case 110:
 
-/* Line 678 of lalr1.cc  */
-#line 1679 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1689 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
 
@@ -3853,8 +3887,8 @@
 
   case 111:
 
-/* Line 678 of lalr1.cc  */
-#line 1693 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1703 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(5) - (2)].varnametype)));
 
@@ -3871,8 +3905,8 @@
 
   case 112:
 
-/* Line 678 of lalr1.cc  */
-#line 1710 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1720 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
@@ -3880,8 +3914,8 @@
 
   case 113:
 
-/* Line 678 of lalr1.cc  */
-#line 1715 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1725 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -3892,8 +3926,8 @@
 
   case 114:
 
-/* Line 678 of lalr1.cc  */
-#line 1723 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1733 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -3904,8 +3938,8 @@
 
   case 115:
 
-/* Line 678 of lalr1.cc  */
-#line 1731 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1741 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -3916,8 +3950,8 @@
 
   case 116:
 
-/* Line 678 of lalr1.cc  */
-#line 1742 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1752 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
@@ -3925,8 +3959,8 @@
 
   case 117:
 
-/* Line 678 of lalr1.cc  */
-#line 1747 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1757 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       static_cast<AnnotationListParsenode*>((yysemantic_stack_[(2) - (1)].node))->push_back(static_cast<AnnotationParsenode*>((yysemantic_stack_[(2) - (2)].node)));
       (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
@@ -3935,8 +3969,8 @@
 
   case 118:
 
-/* Line 678 of lalr1.cc  */
-#line 1756 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1766 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
@@ -3944,8 +3978,8 @@
 
   case 119:
 
-/* Line 678 of lalr1.cc  */
-#line 1761 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1771 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -3955,8 +3989,8 @@
 
   case 120:
 
-/* Line 678 of lalr1.cc  */
-#line 1768 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1778 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
@@ -3964,8 +3998,8 @@
 
   case 121:
 
-/* Line 678 of lalr1.cc  */
-#line 1773 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1783 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -3975,8 +4009,8 @@
 
   case 122:
 
-/* Line 678 of lalr1.cc  */
-#line 1783 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1793 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
@@ -3984,8 +4018,8 @@
 
   case 123:
 
-/* Line 678 of lalr1.cc  */
-#line 1788 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1798 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       static_cast<AnnotationLiteralListParsenode*>((yysemantic_stack_[(3) - (1)].node))->push_back((yysemantic_stack_[(3) - (3)].expr));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -3994,8 +4028,8 @@
 
   case 124:
 
-/* Line 678 of lalr1.cc  */
-#line 1797 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1807 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       static_cast<FunctionDecl*>((yysemantic_stack_[(2) - (2)].node))->setComment( SYMTAB((yysemantic_stack_[(2) - (1)].sval)) );
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
@@ -4004,8 +4038,8 @@
 
   case 125:
 
-/* Line 678 of lalr1.cc  */
-#line 1803 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1813 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       FunctionDecl* fdecl = static_cast<FunctionDecl*>((yysemantic_stack_[(3) - (3)].node));
 
@@ -4018,8 +4052,8 @@
 
   case 126:
 
-/* Line 678 of lalr1.cc  */
-#line 1816 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1826 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4027,8 +4061,8 @@
 
   case 127:
 
-/* Line 678 of lalr1.cc  */
-#line 1821 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1831 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4036,8 +4070,8 @@
 
   case 128:
 
-/* Line 678 of lalr1.cc  */
-#line 1829 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1839 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4052,8 +4086,8 @@
 
   case 129:
 
-/* Line 678 of lalr1.cc  */
-#line 1840 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1850 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4068,8 +4102,8 @@
 
   case 130:
 
-/* Line 678 of lalr1.cc  */
-#line 1855 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1865 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4084,8 +4118,8 @@
 
   case 131:
 
-/* Line 678 of lalr1.cc  */
-#line 1867 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1877 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4100,8 +4134,8 @@
 
   case 132:
 
-/* Line 678 of lalr1.cc  */
-#line 1882 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1892 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
@@ -4109,8 +4143,8 @@
 
   case 133:
 
-/* Line 678 of lalr1.cc  */
-#line 1887 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1897 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
@@ -4118,8 +4152,8 @@
 
   case 134:
 
-/* Line 678 of lalr1.cc  */
-#line 1892 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1902 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node)));
     }
@@ -4127,8 +4161,8 @@
 
   case 135:
 
-/* Line 678 of lalr1.cc  */
-#line 1897 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1907 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(5) - (2)].node)), dynamic_cast<SequenceType*>((yysemantic_stack_[(5) - (5)].node)));
     }
@@ -4136,8 +4170,8 @@
 
   case 136:
 
-/* Line 678 of lalr1.cc  */
-#line 1905 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1915 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4147,8 +4181,8 @@
 
   case 137:
 
-/* Line 678 of lalr1.cc  */
-#line 1912 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1922 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if ( ParamList *pl = dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (1)].node)) )
         pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -4159,8 +4193,8 @@
 
   case 138:
 
-/* Line 678 of lalr1.cc  */
-#line 1923 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1933 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -4168,8 +4202,8 @@
 
   case 139:
 
-/* Line 678 of lalr1.cc  */
-#line 1928 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1938 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4179,8 +4213,8 @@
 
   case 140:
 
-/* Line 678 of lalr1.cc  */
-#line 1938 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1948 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)),
@@ -4191,8 +4225,8 @@
 
   case 141:
 
-/* Line 678 of lalr1.cc  */
-#line 1945 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1955 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4203,8 +4237,8 @@
 
   case 142:
 
-/* Line 678 of lalr1.cc  */
-#line 1952 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1962 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4215,8 +4249,8 @@
 
   case 143:
 
-/* Line 678 of lalr1.cc  */
-#line 1959 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1969 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)),
@@ -4227,8 +4261,8 @@
 
   case 144:
 
-/* Line 678 of lalr1.cc  */
-#line 1969 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1979 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4236,8 +4270,8 @@
 
   case 145:
 
-/* Line 678 of lalr1.cc  */
-#line 1973 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1983 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4247,8 +4281,8 @@
 
   case 146:
 
-/* Line 678 of lalr1.cc  */
-#line 1979 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1989 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4256,8 +4290,8 @@
 
   case 147:
 
-/* Line 678 of lalr1.cc  */
-#line 1983 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 1993 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4268,8 +4302,8 @@
 
   case 148:
 
-/* Line 678 of lalr1.cc  */
-#line 1993 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2003 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(8) - (3)].expr)),
@@ -4281,8 +4315,8 @@
 
   case 149:
 
-/* Line 678 of lalr1.cc  */
-#line 2001 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2011 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(9) - (4)].expr)),
@@ -4294,8 +4328,8 @@
 
   case 150:
 
-/* Line 678 of lalr1.cc  */
-#line 2012 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2022 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4305,8 +4339,8 @@
 
   case 151:
 
-/* Line 678 of lalr1.cc  */
-#line 2018 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2028 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       dynamic_cast<IndexKeyList*>((yysemantic_stack_[(3) - (1)].node))->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(3) - (3)].node)));
       (yyval.node) = (yysemantic_stack_[(3) - (1)].node);
@@ -4315,8 +4349,8 @@
 
   case 152:
 
-/* Line 678 of lalr1.cc  */
-#line 2027 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2037 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL, NULL);
     }
@@ -4324,8 +4358,8 @@
 
   case 153:
 
-/* Line 678 of lalr1.cc  */
-#line 2032 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2042 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4336,8 +4370,8 @@
 
   case 154:
 
-/* Line 678 of lalr1.cc  */
-#line 2039 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2049 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4348,8 +4382,8 @@
 
   case 155:
 
-/* Line 678 of lalr1.cc  */
-#line 2046 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2056 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4360,8 +4394,8 @@
 
   case 156:
 
-/* Line 678 of lalr1.cc  */
-#line 2058 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2068 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4373,8 +4407,8 @@
 
   case 157:
 
-/* Line 678 of lalr1.cc  */
-#line 2068 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2078 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4386,8 +4420,8 @@
 
   case 158:
 
-/* Line 678 of lalr1.cc  */
-#line 2078 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2088 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4399,8 +4433,8 @@
 
   case 159:
 
-/* Line 678 of lalr1.cc  */
-#line 2089 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2099 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4415,8 +4449,8 @@
 
   case 160:
 
-/* Line 678 of lalr1.cc  */
-#line 2105 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2115 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if ((yysemantic_stack_[(1) - (1)].expr) == NULL)
       {
@@ -4436,8 +4470,8 @@
 
   case 161:
 
-/* Line 678 of lalr1.cc  */
-#line 2125 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2135 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4445,8 +4479,8 @@
 
   case 162:
 
-/* Line 678 of lalr1.cc  */
-#line 2129 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2139 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4454,8 +4488,8 @@
 
   case 163:
 
-/* Line 678 of lalr1.cc  */
-#line 2133 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2143 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) =  NULL;
     }
@@ -4463,8 +4497,8 @@
 
   case 164:
 
-/* Line 678 of lalr1.cc  */
-#line 2141 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2151 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4472,8 +4506,8 @@
 
   case 165:
 
-/* Line 678 of lalr1.cc  */
-#line 2145 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2155 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4481,8 +4515,8 @@
 
   case 166:
 
-/* Line 678 of lalr1.cc  */
-#line 2149 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2159 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) =  new BlockBody(LOC((yyloc)));
     }
@@ -4490,8 +4524,8 @@
 
   case 167:
 
-/* Line 678 of lalr1.cc  */
-#line 2157 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2167 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4499,8 +4533,8 @@
 
   case 168:
 
-/* Line 678 of lalr1.cc  */
-#line 2162 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2172 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4512,8 +4546,8 @@
 
   case 169:
 
-/* Line 678 of lalr1.cc  */
-#line 2174 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2184 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4523,8 +4557,8 @@
 
   case 170:
 
-/* Line 678 of lalr1.cc  */
-#line 2181 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2191 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4536,8 +4570,8 @@
 
   case 183:
 
-/* Line 678 of lalr1.cc  */
-#line 2210 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2220 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4545,8 +4579,8 @@
 
   case 184:
 
-/* Line 678 of lalr1.cc  */
-#line 2215 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2225 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
@@ -4554,8 +4588,8 @@
 
   case 185:
 
-/* Line 678 of lalr1.cc  */
-#line 2223 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2233 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if (dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr)) == NULL)
       {
@@ -4572,8 +4606,8 @@
 
   case 186:
 
-/* Line 678 of lalr1.cc  */
-#line 2240 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2250 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4581,8 +4615,8 @@
 
   case 187:
 
-/* Line 678 of lalr1.cc  */
-#line 2248 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2258 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
     }
@@ -4590,8 +4624,8 @@
 
   case 188:
 
-/* Line 678 of lalr1.cc  */
-#line 2256 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2266 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4601,8 +4635,8 @@
 
   case 189:
 
-/* Line 678 of lalr1.cc  */
-#line 2263 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2273 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4612,8 +4646,8 @@
 
   case 190:
 
-/* Line 678 of lalr1.cc  */
-#line 2270 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2280 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)),
                                            static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (1)].node)));
@@ -4624,8 +4658,8 @@
 
   case 191:
 
-/* Line 678 of lalr1.cc  */
-#line 2281 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2291 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
@@ -4638,8 +4672,8 @@
 
   case 192:
 
-/* Line 678 of lalr1.cc  */
-#line 2290 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2300 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4652,8 +4686,8 @@
 
   case 193:
 
-/* Line 678 of lalr1.cc  */
-#line 2299 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2309 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4666,8 +4700,8 @@
 
   case 194:
 
-/* Line 678 of lalr1.cc  */
-#line 2308 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2318 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       LocalVarDecl* vd = new LocalVarDecl(LOC((yyloc)),
                                           static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -4680,8 +4714,8 @@
 
   case 195:
 
-/* Line 678 of lalr1.cc  */
-#line 2321 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2331 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new AssignExpr(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)), (yysemantic_stack_[(5) - (4)].expr));
     }
@@ -4689,8 +4723,8 @@
 
   case 196:
 
-/* Line 678 of lalr1.cc  */
-#line 2329 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2339 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
@@ -4698,8 +4732,8 @@
 
   case 197:
 
-/* Line 678 of lalr1.cc  */
-#line 2337 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2347 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
@@ -4707,8 +4741,8 @@
 
   case 198:
 
-/* Line 678 of lalr1.cc  */
-#line 2345 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2355 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4723,8 +4757,8 @@
 
   case 199:
 
-/* Line 678 of lalr1.cc  */
-#line 2360 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2370 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
@@ -4732,8 +4766,8 @@
 
   case 200:
 
-/* Line 678 of lalr1.cc  */
-#line 2365 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2375 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
@@ -4741,8 +4775,8 @@
 
   case 201:
 
-/* Line 678 of lalr1.cc  */
-#line 2373 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2383 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4756,8 +4790,8 @@
 
   case 202:
 
-/* Line 678 of lalr1.cc  */
-#line 2387 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2397 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       exprnode* retExpr = (yysemantic_stack_[(2) - (2)].expr);
 
@@ -4774,8 +4808,8 @@
 
   case 203:
 
-/* Line 678 of lalr1.cc  */
-#line 2404 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2414 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       exprnode* thenExpr = (yysemantic_stack_[(8) - (6)].expr);
       exprnode* elseExpr = (yysemantic_stack_[(8) - (8)].expr);
@@ -4800,8 +4834,8 @@
 
   case 204:
 
-/* Line 678 of lalr1.cc  */
-#line 2429 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2439 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TryExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -4809,8 +4843,8 @@
 
   case 205:
 
-/* Line 678 of lalr1.cc  */
-#line 2437 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2447 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -4820,8 +4854,8 @@
 
   case 206:
 
-/* Line 678 of lalr1.cc  */
-#line 2444 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2454 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -4832,8 +4866,8 @@
 
   case 207:
 
-/* Line 678 of lalr1.cc  */
-#line 2455 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2465 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
        delete (yysemantic_stack_[(3) - (2)].name_test_list);
@@ -4842,8 +4876,8 @@
 
   case 208:
 
-/* Line 678 of lalr1.cc  */
-#line 2465 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2475 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4851,8 +4885,8 @@
 
   case 209:
 
-/* Line 678 of lalr1.cc  */
-#line 2470 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2480 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -4867,8 +4901,8 @@
 
   case 228:
 
-/* Line 678 of lalr1.cc  */
-#line 2515 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2525 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4882,8 +4916,8 @@
 
   case 229:
 
-/* Line 678 of lalr1.cc  */
-#line 2529 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2539 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
@@ -4891,8 +4925,8 @@
 
   case 230:
 
-/* Line 678 of lalr1.cc  */
-#line 2537 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2547 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
@@ -4900,8 +4934,8 @@
 
   case 231:
 
-/* Line 678 of lalr1.cc  */
-#line 2542 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2552 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
@@ -4909,8 +4943,8 @@
 
   case 232:
 
-/* Line 678 of lalr1.cc  */
-#line 2550 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2560 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
@@ -4918,8 +4952,8 @@
 
   case 233:
 
-/* Line 678 of lalr1.cc  */
-#line 2555 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2565 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
@@ -4927,8 +4961,8 @@
 
   case 234:
 
-/* Line 678 of lalr1.cc  */
-#line 2560 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2570 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
@@ -4936,8 +4970,8 @@
 
   case 235:
 
-/* Line 678 of lalr1.cc  */
-#line 2568 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2578 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -4949,8 +4983,8 @@
 
   case 236:
 
-/* Line 678 of lalr1.cc  */
-#line 2577 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2587 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -4962,8 +4996,8 @@
 
   case 237:
 
-/* Line 678 of lalr1.cc  */
-#line 2589 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2599 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -4977,8 +5011,8 @@
 
   case 238:
 
-/* Line 678 of lalr1.cc  */
-#line 2599 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2609 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -4991,8 +5025,8 @@
 
   case 239:
 
-/* Line 678 of lalr1.cc  */
-#line 2612 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2622 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CountClause(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5000,8 +5034,8 @@
 
   case 248:
 
-/* Line 678 of lalr1.cc  */
-#line 2636 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2646 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5011,8 +5045,8 @@
 
   case 249:
 
-/* Line 678 of lalr1.cc  */
-#line 2643 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2653 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       FLWORClauseList *fcl = dynamic_cast<FLWORClauseList*>((yysemantic_stack_[(2) - (1)].node));
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -5022,8 +5056,8 @@
 
   case 250:
 
-/* Line 678 of lalr1.cc  */
-#line 2653 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2663 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ForClause(LOC((yyloc)), dynamic_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5031,8 +5065,8 @@
 
   case 251:
 
-/* Line 678 of lalr1.cc  */
-#line 2659 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2669 "/Users/wcandillon/28msec/zorba/sandbox/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 \""
@@ -5043,8 +5077,8 @@
 
   case 252:
 
-/* Line 678 of lalr1.cc  */
-#line 2667 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2677 "/Users/wcandillon/28msec/zorba/sandbox/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
@@ -5054,8 +5088,8 @@
 
   case 253:
 
-/* Line 678 of lalr1.cc  */
-#line 2677 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2687 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       VarInDeclList *vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5065,8 +5099,8 @@
 
   case 254:
 
-/* Line 678 of lalr1.cc  */
-#line 2684 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2694 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       if ( VarInDeclList *vdl = dynamic_cast<VarInDeclList*>((yysemantic_stack_[(4) - (1)].node)) )
         vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5076,8 +5110,8 @@
 
   case 255:
 
-/* Line 678 of lalr1.cc  */
-#line 2692 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2702 "/Users/wcandillon/28msec/zorba/sandbox/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 \""
@@ -5088,8 +5122,8 @@
 
   case 256:
 
-/* Line 678 of lalr1.cc  */
-#line 2703 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2713 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5103,8 +5137,8 @@
 
   case 257:
 
-/* Line 678 of lalr1.cc  */
-#line 2713 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2723 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5118,8 +5152,8 @@
 
   case 258:
 
-/* Line 678 of lalr1.cc  */
-#line 2723 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2733 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5133,8 +5167,8 @@
 
   case 259:
 
-/* Line 678 of lalr1.cc  */
-#line 2733 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2743 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5148,8 +5182,8 @@
 
   case 260:
 
-/* Line 678 of lalr1.cc  */
-#line 2743 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2753 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5163,8 +5197,8 @@
 
   case 261:
 
-/* Line 678 of lalr1.cc  */
-#line 2753 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2763 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5178,8 +5212,8 @@
 
   case 262:
 
-/* Line 678 of lalr1.cc  */
-#line 2763 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2773 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5193,8 +5227,8 @@
 
   case 263:
 
-/* Line 678 of lalr1.cc  */
-#line 2773 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2783 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5208,8 +5242,8 @@
 
   case 264:
 
-/* Line 678 of lalr1.cc  */
-#line 2784 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2794 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5222,8 +5256,8 @@
 
   case 265:
 
-/* Line 678 of lalr1.cc  */
-#line 2793 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2803 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5237,8 +5271,8 @@
 
   case 266:
 
-/* Line 678 of lalr1.cc  */
-#line 2803 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2813 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5252,8 +5286,8 @@
 
   case 267:
 
-/* Line 678 of lalr1.cc  */
-#line 2813 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2823 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5267,8 +5301,8 @@
 
   case 268:
 
-/* Line 678 of lalr1.cc  */
-#line 2829 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2839 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5276,8 +5310,8 @@
 
   case 269:
 
-/* Line 678 of lalr1.cc  */
-#line 2838 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2848 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5285,8 +5319,8 @@
 
   case 270:
 
-/* Line 678 of lalr1.cc  */
-#line 2847 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2857 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
@@ -5294,8 +5328,8 @@
 
   case 271:
 
-/* Line 678 of lalr1.cc  */
-#line 2855 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2865 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5305,8 +5339,8 @@
 
   case 272:
 
-/* Line 678 of lalr1.cc  */
-#line 2861 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2871 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if( VarGetsDeclList *vgdl = dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(3) - (1)].node)) )
                 vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5316,8 +5350,8 @@
 
   case 273:
 
-/* Line 678 of lalr1.cc  */
-#line 2873 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2883 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5329,8 +5363,8 @@
 
   case 274:
 
-/* Line 678 of lalr1.cc  */
-#line 2881 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2891 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5342,8 +5376,8 @@
 
   case 275:
 
-/* Line 678 of lalr1.cc  */
-#line 2891 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2901 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5355,8 +5389,8 @@
 
   case 276:
 
-/* Line 678 of lalr1.cc  */
-#line 2899 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2909 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5368,8 +5402,8 @@
 
   case 277:
 
-/* Line 678 of lalr1.cc  */
-#line 2911 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2921 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5379,8 +5413,8 @@
 
   case 278:
 
-/* Line 678 of lalr1.cc  */
-#line 2917 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2927 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5391,8 +5425,8 @@
 
   case 280:
 
-/* Line 678 of lalr1.cc  */
-#line 2930 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2940 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL);
     }
@@ -5400,8 +5434,8 @@
 
   case 281:
 
-/* Line 678 of lalr1.cc  */
-#line 2934 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2944 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(3) - (3)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_curr(static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)));
@@ -5410,8 +5444,8 @@
 
   case 282:
 
-/* Line 678 of lalr1.cc  */
-#line 2942 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2952 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), dynamic_cast<PositionalVar*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL, NULL);
     }
@@ -5419,8 +5453,8 @@
 
   case 283:
 
-/* Line 678 of lalr1.cc  */
-#line 2946 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2956 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       dynamic_cast<WindowVars *>((yyval.node))->set_posvar(dynamic_cast<PositionalVar*>((yysemantic_stack_[(2) - (1)].node)));
@@ -5429,8 +5463,8 @@
 
   case 285:
 
-/* Line 678 of lalr1.cc  */
-#line 2955 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2965 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), static_cast<QName*>((yysemantic_stack_[(6) - (6)].expr)));
     }
@@ -5438,8 +5472,8 @@
 
   case 286:
 
-/* Line 678 of lalr1.cc  */
-#line 2959 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2969 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5447,8 +5481,8 @@
 
   case 287:
 
-/* Line 678 of lalr1.cc  */
-#line 2963 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2973 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL);
     }
@@ -5456,8 +5490,8 @@
 
   case 288:
 
-/* Line 678 of lalr1.cc  */
-#line 2973 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2983 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -5465,8 +5499,8 @@
 
   case 289:
 
-/* Line 678 of lalr1.cc  */
-#line 2981 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2991 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5474,8 +5508,8 @@
 
   case 290:
 
-/* Line 678 of lalr1.cc  */
-#line 2988 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 2998 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       GroupSpecList* gsl = new GroupSpecList(LOC((yyloc)));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -5485,8 +5519,8 @@
 
   case 291:
 
-/* Line 678 of lalr1.cc  */
-#line 2994 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3004 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       GroupSpecList* gsl = static_cast<GroupSpecList*>((yysemantic_stack_[(3) - (1)].node));
       gsl->push_back(static_cast<GroupSpec*>((yysemantic_stack_[(3) - (3)].node)));
@@ -5496,8 +5530,8 @@
 
   case 292:
 
-/* Line 678 of lalr1.cc  */
-#line 3004 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3014 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL, NULL);
     }
@@ -5505,8 +5539,8 @@
 
   case 293:
 
-/* Line 678 of lalr1.cc  */
-#line 3008 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3018 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)), NULL, (yysemantic_stack_[(4) - (4)].expr), NULL);
     }
@@ -5514,8 +5548,8 @@
 
   case 294:
 
-/* Line 678 of lalr1.cc  */
-#line 3012 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3022 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5527,8 +5561,8 @@
 
   case 295:
 
-/* Line 678 of lalr1.cc  */
-#line 3020 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3030 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5540,8 +5574,8 @@
 
   case 296:
 
-/* Line 678 of lalr1.cc  */
-#line 3028 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3038 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5553,8 +5587,8 @@
 
   case 297:
 
-/* Line 678 of lalr1.cc  */
-#line 3036 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3046 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -5566,8 +5600,8 @@
 
   case 298:
 
-/* Line 678 of lalr1.cc  */
-#line 3048 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3058 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
@@ -5575,8 +5609,8 @@
 
   case 299:
 
-/* Line 678 of lalr1.cc  */
-#line 3056 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3066 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5586,8 +5620,8 @@
 
   case 300:
 
-/* Line 678 of lalr1.cc  */
-#line 3062 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3072 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5597,8 +5631,8 @@
 
   case 301:
 
-/* Line 678 of lalr1.cc  */
-#line 3072 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3082 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5608,8 +5642,8 @@
 
   case 302:
 
-/* Line 678 of lalr1.cc  */
-#line 3078 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3088 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( OrderSpecList* osl = dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (1)].node)) )
                 osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -5619,8 +5653,8 @@
 
   case 303:
 
-/* Line 678 of lalr1.cc  */
-#line 3088 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3098 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
@@ -5628,8 +5662,8 @@
 
   case 304:
 
-/* Line 678 of lalr1.cc  */
-#line 3092 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3102 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderSpec(
                 LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<OrderModifierPN*>((yysemantic_stack_[(2) - (2)].node))
@@ -5639,8 +5673,8 @@
 
   case 305:
 
-/* Line 678 of lalr1.cc  */
-#line 3102 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3112 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5650,8 +5684,8 @@
 
   case 306:
 
-/* Line 678 of lalr1.cc  */
-#line 3108 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3118 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5661,8 +5695,8 @@
 
   case 307:
 
-/* Line 678 of lalr1.cc  */
-#line 3114 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3124 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5672,8 +5706,8 @@
 
   case 308:
 
-/* Line 678 of lalr1.cc  */
-#line 3120 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3130 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5686,8 +5720,8 @@
 
   case 309:
 
-/* Line 678 of lalr1.cc  */
-#line 3129 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3139 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5700,8 +5734,8 @@
 
   case 310:
 
-/* Line 678 of lalr1.cc  */
-#line 3138 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3148 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5714,8 +5748,8 @@
 
   case 311:
 
-/* Line 678 of lalr1.cc  */
-#line 3147 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3157 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5728,8 +5762,8 @@
 
   case 312:
 
-/* Line 678 of lalr1.cc  */
-#line 3160 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3170 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
@@ -5737,8 +5771,8 @@
 
   case 313:
 
-/* Line 678 of lalr1.cc  */
-#line 3164 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3174 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
@@ -5746,8 +5780,8 @@
 
   case 314:
 
-/* Line 678 of lalr1.cc  */
-#line 3172 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3182 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -5757,8 +5791,8 @@
 
   case 315:
 
-/* Line 678 of lalr1.cc  */
-#line 3178 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3188 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -5768,8 +5802,8 @@
 
   case 316:
 
-/* Line 678 of lalr1.cc  */
-#line 3188 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3198 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
@@ -5777,8 +5811,8 @@
 
   case 317:
 
-/* Line 678 of lalr1.cc  */
-#line 3196 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3206 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5791,8 +5825,8 @@
 
   case 318:
 
-/* Line 678 of lalr1.cc  */
-#line 3205 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3215 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5805,8 +5839,8 @@
 
   case 319:
 
-/* Line 678 of lalr1.cc  */
-#line 3218 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3228 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       QVarInDeclList *qvidl = new QVarInDeclList( LOC((yyloc)) );
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5817,8 +5851,8 @@
 
   case 320:
 
-/* Line 678 of lalr1.cc  */
-#line 3225 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3235 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       QVarInDeclList *qvidl = dynamic_cast<QVarInDeclList*>((yysemantic_stack_[(4) - (1)].node));
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(4) - (4)].node)) );
@@ -5828,8 +5862,8 @@
 
   case 321:
 
-/* Line 678 of lalr1.cc  */
-#line 3237 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3247 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -5837,8 +5871,8 @@
 
   case 322:
 
-/* Line 678 of lalr1.cc  */
-#line 3241 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3251 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5849,8 +5883,8 @@
 
   case 323:
 
-/* Line 678 of lalr1.cc  */
-#line 3253 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3263 "/Users/wcandillon/28msec/zorba/sandbox/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));
     }
@@ -5858,8 +5892,8 @@
 
   case 324:
 
-/* Line 678 of lalr1.cc  */
-#line 3260 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3270 "/Users/wcandillon/28msec/zorba/sandbox/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)));
@@ -5869,8 +5903,8 @@
 
   case 325:
 
-/* Line 678 of lalr1.cc  */
-#line 3266 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3276 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -5880,8 +5914,8 @@
 
   case 326:
 
-/* Line 678 of lalr1.cc  */
-#line 3275 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3285 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -5889,8 +5923,8 @@
 
   case 327:
 
-/* Line 678 of lalr1.cc  */
-#line 3282 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3292 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -5900,8 +5934,8 @@
 
   case 328:
 
-/* Line 678 of lalr1.cc  */
-#line 3288 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3298 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = static_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node));
       sco_list_p->push_back((yysemantic_stack_[(3) - (3)].expr));
@@ -5911,8 +5945,8 @@
 
   case 329:
 
-/* Line 678 of lalr1.cc  */
-#line 3299 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3309 "/Users/wcandillon/28msec/zorba/sandbox/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));
     }
@@ -5920,8 +5954,8 @@
 
   case 330:
 
-/* Line 678 of lalr1.cc  */
-#line 3306 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3316 "/Users/wcandillon/28msec/zorba/sandbox/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)));
@@ -5931,8 +5965,8 @@
 
   case 331:
 
-/* Line 678 of lalr1.cc  */
-#line 3312 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3322 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseClauseList* scc_list_p = static_cast<SwitchCaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       scc_list_p->push_back(static_cast<SwitchCaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -5942,8 +5976,8 @@
 
   case 332:
 
-/* Line 678 of lalr1.cc  */
-#line 3321 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3331 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SwitchCaseClause(LOC((yyloc)), dynamic_cast<SwitchCaseOperandList*>((yysemantic_stack_[(3) - (1)].node)), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -5951,8 +5985,8 @@
 
   case 333:
 
-/* Line 678 of lalr1.cc  */
-#line 3330 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3340 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -5963,8 +5997,8 @@
 
   case 334:
 
-/* Line 678 of lalr1.cc  */
-#line 3337 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3347 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -5976,8 +6010,8 @@
 
   case 335:
 
-/* Line 678 of lalr1.cc  */
-#line 3348 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3358 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -5988,8 +6022,8 @@
 
   case 336:
 
-/* Line 678 of lalr1.cc  */
-#line 3355 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3365 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -6001,8 +6035,8 @@
 
   case 337:
 
-/* Line 678 of lalr1.cc  */
-#line 3367 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3377 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
       cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6012,8 +6046,8 @@
 
   case 338:
 
-/* Line 678 of lalr1.cc  */
-#line 3373 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3383 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6023,8 +6057,8 @@
 
   case 339:
 
-/* Line 678 of lalr1.cc  */
-#line 3385 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3395 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6034,8 +6068,8 @@
 
   case 340:
 
-/* Line 678 of lalr1.cc  */
-#line 3391 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3401 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6046,8 +6080,8 @@
 
   case 341:
 
-/* Line 678 of lalr1.cc  */
-#line 3402 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3412 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = new CaseClauseList(LOC ((yyloc)));
       cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(1) - (1)].node)));
@@ -6057,8 +6091,8 @@
 
   case 342:
 
-/* Line 678 of lalr1.cc  */
-#line 3408 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3418 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CaseClauseList* cc_list_p = dynamic_cast<CaseClauseList*>((yysemantic_stack_[(2) - (1)].node));
       cc_list_p->push_back(dynamic_cast<CaseClause*>((yysemantic_stack_[(2) - (2)].node)));
@@ -6068,8 +6102,8 @@
 
   case 343:
 
-/* Line 678 of lalr1.cc  */
-#line 3419 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3429 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
@@ -6079,8 +6113,8 @@
 
   case 344:
 
-/* Line 678 of lalr1.cc  */
-#line 3425 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3435 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -6091,8 +6125,8 @@
 
   case 345:
 
-/* Line 678 of lalr1.cc  */
-#line 3436 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3446 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new IfExpr(LOC ((yyloc)), (yysemantic_stack_[(8) - (3)].expr), (yysemantic_stack_[(8) - (6)].expr), (yysemantic_stack_[(8) - (8)].expr));
     }
@@ -6100,8 +6134,8 @@
 
   case 346:
 
-/* Line 678 of lalr1.cc  */
-#line 3445 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3455 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -6109,8 +6143,8 @@
 
   case 347:
 
-/* Line 678 of lalr1.cc  */
-#line 3449 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3459 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
     }
@@ -6118,8 +6152,8 @@
 
   case 348:
 
-/* Line 678 of lalr1.cc  */
-#line 3458 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3468 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6127,8 +6161,8 @@
 
   case 349:
 
-/* Line 678 of lalr1.cc  */
-#line 3462 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3472 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6136,8 +6170,8 @@
 
   case 350:
 
-/* Line 678 of lalr1.cc  */
-#line 3470 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3480 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6145,8 +6179,8 @@
 
   case 351:
 
-/* Line 678 of lalr1.cc  */
-#line 3474 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3484 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "eq" | "ne" | "lt" | "le" | "gt" | "ge" */
             (yyval.expr) = new ComparisonExpr(
@@ -6160,8 +6194,8 @@
 
   case 352:
 
-/* Line 678 of lalr1.cc  */
-#line 3484 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3494 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "is" | "<<" | ">>" */
             (yyval.expr) = new ComparisonExpr(
@@ -6172,8 +6206,8 @@
 
   case 353:
 
-/* Line 678 of lalr1.cc  */
-#line 3491 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3501 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6186,8 +6220,8 @@
 
   case 354:
 
-/* Line 678 of lalr1.cc  */
-#line 3500 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3510 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6200,8 +6234,8 @@
 
   case 355:
 
-/* Line 678 of lalr1.cc  */
-#line 3509 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3519 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             /* this call is needed */
             driver.lexer->interpretAsLessThan();
@@ -6210,8 +6244,8 @@
 
   case 356:
 
-/* Line 678 of lalr1.cc  */
-#line 3514 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3524 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6224,8 +6258,8 @@
 
   case 357:
 
-/* Line 678 of lalr1.cc  */
-#line 3523 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3533 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6238,8 +6272,8 @@
 
   case 358:
 
-/* Line 678 of lalr1.cc  */
-#line 3532 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3542 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6252,8 +6286,8 @@
 
   case 359:
 
-/* Line 678 of lalr1.cc  */
-#line 3541 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3551 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6266,8 +6300,8 @@
 
   case 360:
 
-/* Line 678 of lalr1.cc  */
-#line 3554 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3564 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6275,8 +6309,8 @@
 
   case 361:
 
-/* Line 678 of lalr1.cc  */
-#line 3558 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3568 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FTContainsExpr(
                 LOC((yyloc)),
@@ -6289,8 +6323,8 @@
 
   case 362:
 
-/* Line 678 of lalr1.cc  */
-#line 3570 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3580 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6298,8 +6332,8 @@
 
   case 363:
 
-/* Line 678 of lalr1.cc  */
-#line 3574 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3584 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
         }
@@ -6307,8 +6341,8 @@
 
   case 364:
 
-/* Line 678 of lalr1.cc  */
-#line 3581 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3591 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -6316,8 +6350,8 @@
 
   case 365:
 
-/* Line 678 of lalr1.cc  */
-#line 3585 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3595 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -6325,8 +6359,8 @@
 
   case 366:
 
-/* Line 678 of lalr1.cc  */
-#line 3592 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3602 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6334,8 +6368,8 @@
 
   case 367:
 
-/* Line 678 of lalr1.cc  */
-#line 3596 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3606 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6343,8 +6377,8 @@
 
   case 368:
 
-/* Line 678 of lalr1.cc  */
-#line 3605 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3615 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6352,8 +6386,8 @@
 
   case 369:
 
-/* Line 678 of lalr1.cc  */
-#line 3609 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3619 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_plus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6361,8 +6395,8 @@
 
   case 370:
 
-/* Line 678 of lalr1.cc  */
-#line 3613 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3623 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AdditiveExpr( LOC((yyloc)), ParseConstants::op_minus, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6370,8 +6404,8 @@
 
   case 371:
 
-/* Line 678 of lalr1.cc  */
-#line 3621 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3631 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6379,8 +6413,8 @@
 
   case 372:
 
-/* Line 678 of lalr1.cc  */
-#line 3625 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3635 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
                 LOC((yyloc)), ParseConstants::op_mul, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6390,8 +6424,8 @@
 
   case 373:
 
-/* Line 678 of lalr1.cc  */
-#line 3631 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3641 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
                 LOC((yyloc)), ParseConstants::op_div, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6401,8 +6435,8 @@
 
   case 374:
 
-/* Line 678 of lalr1.cc  */
-#line 3637 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3647 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
                 LOC((yyloc)), ParseConstants::op_idiv, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6412,8 +6446,8 @@
 
   case 375:
 
-/* Line 678 of lalr1.cc  */
-#line 3643 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3653 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new MultiplicativeExpr(
                 LOC((yyloc)), ParseConstants::op_mod, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6423,8 +6457,8 @@
 
   case 376:
 
-/* Line 678 of lalr1.cc  */
-#line 3653 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3663 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6432,8 +6466,8 @@
 
   case 377:
 
-/* Line 678 of lalr1.cc  */
-#line 3657 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3667 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6441,8 +6475,8 @@
 
   case 378:
 
-/* Line 678 of lalr1.cc  */
-#line 3661 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3671 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6450,8 +6484,8 @@
 
   case 379:
 
-/* Line 678 of lalr1.cc  */
-#line 3669 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3679 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6459,8 +6493,8 @@
 
   case 380:
 
-/* Line 678 of lalr1.cc  */
-#line 3673 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3683 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new IntersectExceptExpr(
                 LOC((yyloc)), ParseConstants::op_intersect, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6470,8 +6504,8 @@
 
   case 381:
 
-/* Line 678 of lalr1.cc  */
-#line 3679 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3689 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new IntersectExceptExpr(
                 LOC((yyloc)), ParseConstants::op_except, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)
@@ -6481,8 +6515,8 @@
 
   case 382:
 
-/* Line 678 of lalr1.cc  */
-#line 3689 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3699 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6490,8 +6524,8 @@
 
   case 383:
 
-/* Line 678 of lalr1.cc  */
-#line 3693 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3703 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InstanceofExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6501,8 +6535,8 @@
 
   case 384:
 
-/* Line 678 of lalr1.cc  */
-#line 3703 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3713 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6510,8 +6544,8 @@
 
   case 385:
 
-/* Line 678 of lalr1.cc  */
-#line 3707 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3717 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new TreatExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6521,8 +6555,8 @@
 
   case 386:
 
-/* Line 678 of lalr1.cc  */
-#line 3717 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3727 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6530,8 +6564,8 @@
 
   case 387:
 
-/* Line 678 of lalr1.cc  */
-#line 3721 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3731 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CastableExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6541,8 +6575,8 @@
 
   case 388:
 
-/* Line 678 of lalr1.cc  */
-#line 3731 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3741 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6550,8 +6584,8 @@
 
   case 389:
 
-/* Line 678 of lalr1.cc  */
-#line 3735 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3745 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CastExpr(
                 LOC((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<SingleType*>((yysemantic_stack_[(4) - (4)].node))
@@ -6561,8 +6595,8 @@
 
   case 390:
 
-/* Line 678 of lalr1.cc  */
-#line 3745 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3755 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6570,8 +6604,8 @@
 
   case 391:
 
-/* Line 678 of lalr1.cc  */
-#line 3749 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3759 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnaryExpr( LOC((yyloc)), dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].expr) );
         }
@@ -6579,8 +6613,8 @@
 
   case 392:
 
-/* Line 678 of lalr1.cc  */
-#line 3757 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3767 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), true );
         }
@@ -6588,8 +6622,8 @@
 
   case 393:
 
-/* Line 678 of lalr1.cc  */
-#line 3761 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3771 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), false );
         }
@@ -6597,8 +6631,8 @@
 
   case 394:
 
-/* Line 678 of lalr1.cc  */
-#line 3765 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3775 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
@@ -6606,8 +6640,8 @@
 
   case 395:
 
-/* Line 678 of lalr1.cc  */
-#line 3769 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3779 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
@@ -6617,8 +6651,8 @@
 
   case 396:
 
-/* Line 678 of lalr1.cc  */
-#line 3779 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3789 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6626,8 +6660,8 @@
 
   case 397:
 
-/* Line 678 of lalr1.cc  */
-#line 3783 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3793 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6635,8 +6669,8 @@
 
   case 398:
 
-/* Line 678 of lalr1.cc  */
-#line 3787 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3797 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6644,116 +6678,134 @@
 
   case 399:
 
-/* Line 678 of lalr1.cc  */
-#line 3795 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3804 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+      }
+    break;
+
+  case 400:
+
+/* Line 690 of lalr1.cc  */
+#line 3809 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+        (yyval.expr) = new SimpleMapExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
+      }
+    break;
+
+  case 401:
+
+/* Line 690 of lalr1.cc  */
+#line 3817 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
     break;
 
-  case 400:
+  case 402:
 
-/* Line 678 of lalr1.cc  */
-#line 3799 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3821 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
     break;
 
-  case 401:
+  case 403:
 
-/* Line 678 of lalr1.cc  */
-#line 3803 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3825 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
     break;
 
-  case 402:
+  case 404:
 
-/* Line 678 of lalr1.cc  */
-#line 3807 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3829 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
     break;
 
-  case 403:
+  case 405:
 
-/* Line 678 of lalr1.cc  */
-#line 3811 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3833 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
     break;
 
-  case 404:
+  case 406:
 
-/* Line 678 of lalr1.cc  */
-#line 3815 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3837 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
     break;
 
-  case 405:
+  case 407:
 
-/* Line 678 of lalr1.cc  */
-#line 3823 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3845 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_is );
         }
     break;
 
-  case 406:
+  case 408:
 
-/* Line 678 of lalr1.cc  */
-#line 3827 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3849 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_precedes );
         }
     break;
 
-  case 407:
+  case 409:
 
-/* Line 678 of lalr1.cc  */
-#line 3831 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3853 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_follows );
         }
     break;
 
-  case 408:
+  case 410:
 
-/* Line 678 of lalr1.cc  */
-#line 3839 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3861 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 409:
+  case 411:
 
-/* Line 678 of lalr1.cc  */
-#line 3843 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3865 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 410:
+  case 412:
 
-/* Line 678 of lalr1.cc  */
-#line 3847 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3869 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
     break;
 
-  case 411:
+  case 413:
 
-/* Line 678 of lalr1.cc  */
-#line 3851 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3873 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr(
                 LOC((yyloc)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (3)].node))->get_name(), (yysemantic_stack_[(6) - (5)].expr)
@@ -6762,10 +6814,10 @@
         }
     break;
 
-  case 412:
+  case 414:
 
-/* Line 678 of lalr1.cc  */
-#line 3862 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3884 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(3) - (1)].node)), NULL
@@ -6773,10 +6825,10 @@
         }
     break;
 
-  case 413:
+  case 415:
 
-/* Line 678 of lalr1.cc  */
-#line 3868 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3890 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(4) - (1)].node)), (yysemantic_stack_[(4) - (3)].expr)
@@ -6784,10 +6836,10 @@
         }
     break;
 
-  case 414:
+  case 416:
 
-/* Line 678 of lalr1.cc  */
-#line 3878 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3900 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             PragmaList *pl = new PragmaList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -6795,10 +6847,10 @@
         }
     break;
 
-  case 415:
+  case 417:
 
-/* Line 678 of lalr1.cc  */
-#line 3884 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3906 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( PragmaList *pl = dynamic_cast<PragmaList*>((yysemantic_stack_[(2) - (1)].node)) )
                 pl->push_back( dynamic_cast<Pragma*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -6806,46 +6858,46 @@
         }
     break;
 
-  case 416:
+  case 418:
 
-/* Line 678 of lalr1.cc  */
-#line 3894 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3916 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
         }
     break;
 
-  case 417:
+  case 419:
 
-/* Line 678 of lalr1.cc  */
-#line 3898 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3920 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) ), "" );
         }
     break;
 
-  case 418:
+  case 420:
 
-/* Line 678 of lalr1.cc  */
-#line 3902 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3924 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new Pragma( LOC((yyloc)), new QName( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), true ), "" );
         }
     break;
 
-  case 419:
+  case 421:
 
-/* Line 678 of lalr1.cc  */
-#line 3940 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3962 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new PathExpr(LOC((yyloc)), ParseConstants::path_leading_lone_slash, NULL);
     }
     break;
 
-  case 420:
+  case 422:
 
-/* Line 678 of lalr1.cc  */
-#line 3944 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3966 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -6857,10 +6909,10 @@
     }
     break;
 
-  case 421:
+  case 423:
 
-/* Line 678 of lalr1.cc  */
-#line 3954 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3976 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe;
 
@@ -6872,10 +6924,10 @@
     }
     break;
 
-  case 422:
+  case 424:
 
-/* Line 678 of lalr1.cc  */
-#line 3964 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3986 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       RelativePathExpr* rpe = dynamic_cast<RelativePathExpr*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (!rpe ?
@@ -6884,19 +6936,19 @@
     }
     break;
 
-  case 423:
+  case 425:
 
-/* Line 678 of lalr1.cc  */
-#line 3977 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 3999 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = NULL;
     }
     break;
 
-  case 424:
+  case 426:
 
-/* Line 678 of lalr1.cc  */
-#line 3986 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4008 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       AxisStep* as = dynamic_cast<AxisStep*>((yysemantic_stack_[(1) - (1)].expr));
       (yyval.expr) = (as ?
@@ -6908,46 +6960,46 @@
     }
     break;
 
-  case 425:
+  case 427:
 
-/* Line 678 of lalr1.cc  */
-#line 3996 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4018 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slash, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr), false);
     }
     break;
 
-  case 426:
+  case 428:
 
-/* Line 678 of lalr1.cc  */
-#line 4000 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4022 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new RelativePathExpr(LOC((yyloc)), ParseConstants::st_slashslash, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr), false);
     }
     break;
 
-  case 427:
-
-/* Line 678 of lalr1.cc  */
-#line 4009 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 428:
-
-/* Line 678 of lalr1.cc  */
-#line 4013 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 429:
 
-/* Line 678 of lalr1.cc  */
-#line 4022 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4031 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 430:
+
+/* Line 690 of lalr1.cc  */
+#line 4035 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 431:
+
+/* Line 690 of lalr1.cc  */
+#line 4044 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ForwardStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -6955,10 +7007,10 @@
         }
     break;
 
-  case 430:
+  case 432:
 
-/* Line 678 of lalr1.cc  */
-#line 4028 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4050 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -6968,10 +7020,10 @@
         }
     break;
 
-  case 431:
+  case 433:
 
-/* Line 678 of lalr1.cc  */
-#line 4036 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4058 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)), dynamic_cast<ReverseStep*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -6979,10 +7031,10 @@
         }
     break;
 
-  case 432:
+  case 434:
 
-/* Line 678 of lalr1.cc  */
-#line 4042 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4064 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AxisStep(
                 LOC((yyloc)),
@@ -6992,10 +7044,10 @@
         }
     break;
 
-  case 433:
+  case 435:
 
-/* Line 678 of lalr1.cc  */
-#line 4054 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4076 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<ForwardAxis*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].node)
@@ -7003,10 +7055,10 @@
         }
     break;
 
-  case 434:
+  case 436:
 
-/* Line 678 of lalr1.cc  */
-#line 4060 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4082 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardStep(
                 LOC((yyloc)), dynamic_cast<AbbrevForwardStep*>((yysemantic_stack_[(1) - (1)].node))
@@ -7014,46 +7066,46 @@
         }
     break;
 
-  case 435:
+  case 437:
 
-/* Line 678 of lalr1.cc  */
-#line 4070 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4092 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_child );
         }
     break;
 
-  case 436:
+  case 438:
 
-/* Line 678 of lalr1.cc  */
-#line 4074 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4096 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_descendant);
         }
     break;
 
-  case 437:
+  case 439:
 
-/* Line 678 of lalr1.cc  */
-#line 4078 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4100 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_attribute );
         }
     break;
 
-  case 438:
+  case 440:
 
-/* Line 678 of lalr1.cc  */
-#line 4082 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4104 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_self );
         }
     break;
 
-  case 439:
+  case 441:
 
-/* Line 678 of lalr1.cc  */
-#line 4086 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4108 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_descendant_or_self
@@ -7061,10 +7113,10 @@
         }
     break;
 
-  case 440:
+  case 442:
 
-/* Line 678 of lalr1.cc  */
-#line 4092 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4114 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis(
                 LOC((yyloc)), ParseConstants::axis_following_sibling
@@ -7072,46 +7124,46 @@
         }
     break;
 
-  case 441:
+  case 443:
 
-/* Line 678 of lalr1.cc  */
-#line 4098 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4120 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ForwardAxis( LOC((yyloc)), ParseConstants::axis_following );
         }
     break;
 
-  case 442:
+  case 444:
 
-/* Line 678 of lalr1.cc  */
-#line 4106 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4128 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), false );
         }
     break;
 
-  case 443:
+  case 445:
 
-/* Line 678 of lalr1.cc  */
-#line 4110 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4132 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AbbrevForwardStep( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].node), true );
         }
     break;
 
-  case 444:
+  case 446:
 
-/* Line 678 of lalr1.cc  */
-#line 4118 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4140 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseStep( LOC((yyloc)), dynamic_cast<ReverseAxis*>((yysemantic_stack_[(2) - (1)].node)), (yysemantic_stack_[(2) - (2)].node) );
         }
     break;
 
-  case 445:
+  case 447:
 
-/* Line 678 of lalr1.cc  */
-#line 4122 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4144 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             ReverseAxis *ra = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_parent
@@ -7120,28 +7172,28 @@
         }
     break;
 
-  case 446:
+  case 448:
 
-/* Line 678 of lalr1.cc  */
-#line 4133 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4155 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_parent );
         }
     break;
 
-  case 447:
+  case 449:
 
-/* Line 678 of lalr1.cc  */
-#line 4137 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4159 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_ancestor );
         }
     break;
 
-  case 448:
+  case 450:
 
-/* Line 678 of lalr1.cc  */
-#line 4141 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4163 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_preceding_sibling
@@ -7149,19 +7201,19 @@
         }
     break;
 
-  case 449:
+  case 451:
 
-/* Line 678 of lalr1.cc  */
-#line 4147 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4169 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis( LOC((yyloc)), ParseConstants::axis_preceding );
         }
     break;
 
-  case 450:
+  case 452:
 
-/* Line 678 of lalr1.cc  */
-#line 4151 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4173 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ReverseAxis(
                 LOC((yyloc)), ParseConstants::axis_ancestor_or_self
@@ -7169,118 +7221,118 @@
         }
     break;
 
-  case 451:
-
-/* Line 678 of lalr1.cc  */
-#line 4165 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 452:
-
-/* Line 678 of lalr1.cc  */
-#line 4169 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 453:
 
-/* Line 678 of lalr1.cc  */
-#line 4177 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4187 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 454:
+
+/* Line 690 of lalr1.cc  */
+#line 4191 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 455:
+
+/* Line 690 of lalr1.cc  */
+#line 4199 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
-  case 454:
+  case 456:
 
-/* Line 678 of lalr1.cc  */
-#line 4181 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4203 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NameTest( LOC((yyloc)), dynamic_cast<Wildcard*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 455:
+  case 457:
 
-/* Line 678 of lalr1.cc  */
-#line 4191 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4213 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", "", ParseConstants::wild_all, false);
     }
     break;
 
-  case 456:
+  case 458:
 
-/* Line 678 of lalr1.cc  */
-#line 4195 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4217 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, false);
     }
     break;
 
-  case 457:
+  case 459:
 
-/* Line 678 of lalr1.cc  */
-#line 4199 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4221 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), "", ParseConstants::wild_elem, true);
     }
     break;
 
-  case 458:
+  case 460:
 
-/* Line 678 of lalr1.cc  */
-#line 4203 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4225 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Wildcard(LOC((yyloc)), "", SYMTAB((yysemantic_stack_[(1) - (1)].sval)), ParseConstants::wild_prefix, false);
     }
     break;
 
-  case 459:
+  case 461:
 
-/* Line 678 of lalr1.cc  */
-#line 4212 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4234 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
      }
     break;
 
-  case 460:
+  case 462:
 
-/* Line 678 of lalr1.cc  */
-#line 4216 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4238 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new FilterExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr), dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (2)].node)));
      }
     break;
 
-  case 461:
+  case 463:
 
-/* Line 678 of lalr1.cc  */
-#line 4220 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4242 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(3) - (1)].expr));
      }
     break;
 
-  case 462:
+  case 464:
 
-/* Line 678 of lalr1.cc  */
-#line 4224 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4246 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new DynamicFunctionInvocation(LOC ((yyloc)), (yysemantic_stack_[(4) - (1)].expr), dynamic_cast<ArgList*>((yysemantic_stack_[(4) - (3)].node)));
      }
     break;
 
-  case 463:
+  case 465:
 
-/* Line 678 of lalr1.cc  */
-#line 4232 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4254 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             PredicateList *pl = new PredicateList( LOC((yyloc)) );
             pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7288,10 +7340,10 @@
         }
     break;
 
-  case 464:
+  case 466:
 
-/* Line 678 of lalr1.cc  */
-#line 4238 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4260 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( PredicateList *pl = dynamic_cast<PredicateList*>((yysemantic_stack_[(2) - (1)].node)) )
                 pl->push_back( dynamic_cast<exprnode*>((yysemantic_stack_[(2) - (2)].expr)) );
@@ -7299,37 +7351,19 @@
         }
     break;
 
-  case 465:
+  case 467:
 
-/* Line 678 of lalr1.cc  */
-#line 4248 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4270 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
         }
     break;
 
-  case 466:
-
-/* Line 678 of lalr1.cc  */
-#line 4256 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 467:
-
-/* Line 678 of lalr1.cc  */
-#line 4260 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 468:
 
-/* Line 678 of lalr1.cc  */
-#line 4264 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4278 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7337,8 +7371,8 @@
 
   case 469:
 
-/* Line 678 of lalr1.cc  */
-#line 4268 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4282 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7346,8 +7380,8 @@
 
   case 470:
 
-/* Line 678 of lalr1.cc  */
-#line 4272 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4286 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7355,8 +7389,8 @@
 
   case 471:
 
-/* Line 678 of lalr1.cc  */
-#line 4276 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4290 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7364,8 +7398,8 @@
 
   case 472:
 
-/* Line 678 of lalr1.cc  */
-#line 4280 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4294 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7373,8 +7407,8 @@
 
   case 473:
 
-/* Line 678 of lalr1.cc  */
-#line 4284 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4298 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7382,8 +7416,8 @@
 
   case 474:
 
-/* Line 678 of lalr1.cc  */
-#line 4288 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4302 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7391,8 +7425,8 @@
 
   case 475:
 
-/* Line 678 of lalr1.cc  */
-#line 4292 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4306 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7400,8 +7434,8 @@
 
   case 476:
 
-/* Line 678 of lalr1.cc  */
-#line 4297 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4310 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7409,8 +7443,8 @@
 
   case 477:
 
-/* Line 678 of lalr1.cc  */
-#line 4301 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4314 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7418,8 +7452,8 @@
 
   case 478:
 
-/* Line 678 of lalr1.cc  */
-#line 4305 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4319 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7427,8 +7461,8 @@
 
   case 479:
 
-/* Line 678 of lalr1.cc  */
-#line 4309 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4323 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7436,26 +7470,44 @@
 
   case 480:
 
-/* Line 678 of lalr1.cc  */
-#line 4317 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4327 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 481:
 
-/* Line 678 of lalr1.cc  */
-#line 4321 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4331 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+          (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
     break;
 
   case 482:
 
-/* Line 678 of lalr1.cc  */
-#line 4329 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4339 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 483:
+
+/* Line 690 of lalr1.cc  */
+#line 4343 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 484:
+
+/* Line 690 of lalr1.cc  */
+#line 4351 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_decimal, *(yysemantic_stack_[(1) - (1)].decval)
@@ -7464,10 +7516,10 @@
         }
     break;
 
-  case 483:
+  case 485:
 
-/* Line 678 of lalr1.cc  */
-#line 4336 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4358 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_integer, *(yysemantic_stack_[(1) - (1)].ival)
@@ -7476,10 +7528,10 @@
         }
     break;
 
-  case 484:
+  case 486:
 
-/* Line 678 of lalr1.cc  */
-#line 4343 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4365 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = NumericLiteral::new_literal(
                 LOC((yyloc)), ParseConstants::num_double, *(yysemantic_stack_[(1) - (1)].dval)
@@ -7488,73 +7540,73 @@
         }
     break;
 
-  case 485:
+  case 487:
 
-/* Line 678 of lalr1.cc  */
-#line 4354 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4376 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new VarRef(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)));
         }
     break;
 
-  case 486:
+  case 488:
 
-/* Line 678 of lalr1.cc  */
-#line 4362 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4384 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), NULL);
         }
     break;
 
-  case 487:
+  case 489:
 
-/* Line 678 of lalr1.cc  */
-#line 4366 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4388 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ParenthesizedExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 488:
+  case 490:
 
-/* Line 678 of lalr1.cc  */
-#line 4374 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4396 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ContextItemExpr( LOC((yyloc)) );
         }
     break;
 
-  case 489:
+  case 491:
 
-/* Line 678 of lalr1.cc  */
-#line 4382 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4404 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new OrderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 490:
+  case 492:
 
-/* Line 678 of lalr1.cc  */
-#line 4390 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4412 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnorderedExpr( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
-  case 491:
+  case 493:
 
-/* Line 678 of lalr1.cc  */
-#line 4444 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4466 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FunctionCall( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), NULL );
         }
     break;
 
-  case 492:
+  case 494:
 
-/* Line 678 of lalr1.cc  */
-#line 4448 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4470 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FunctionCall(
                 LOC((yyloc)),
@@ -7564,10 +7616,10 @@
         }
     break;
 
-  case 493:
+  case 495:
 
-/* Line 678 of lalr1.cc  */
-#line 4461 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4483 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             ArgList *al = new ArgList( LOC((yyloc)) );
             al->push_back( (yysemantic_stack_[(1) - (1)].expr) );
@@ -7575,10 +7627,10 @@
         }
     break;
 
-  case 494:
+  case 496:
 
-/* Line 678 of lalr1.cc  */
-#line 4467 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4489 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( ArgList *al = dynamic_cast<ArgList*>((yysemantic_stack_[(3) - (1)].node)) )
                 al->push_back( (yysemantic_stack_[(3) - (3)].expr) );
@@ -7586,28 +7638,10 @@
         }
     break;
 
-  case 495:
-
-/* Line 678 of lalr1.cc  */
-#line 4477 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
-  case 496:
-
-/* Line 678 of lalr1.cc  */
-#line 4481 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-        }
-    break;
-
   case 497:
 
-/* Line 678 of lalr1.cc  */
-#line 4489 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4499 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7615,8 +7649,8 @@
 
   case 498:
 
-/* Line 678 of lalr1.cc  */
-#line 4493 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4503 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7624,8 +7658,8 @@
 
   case 499:
 
-/* Line 678 of lalr1.cc  */
-#line 4497 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4511 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -7633,8 +7667,26 @@
 
   case 500:
 
-/* Line 678 of lalr1.cc  */
-#line 4505 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4515 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 501:
+
+/* Line 690 of lalr1.cc  */
+#line 4519 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+        }
+    break;
+
+  case 502:
+
+/* Line 690 of lalr1.cc  */
+#line 4527 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7646,10 +7698,10 @@
         }
     break;
 
-  case 501:
+  case 503:
 
-/* Line 678 of lalr1.cc  */
-#line 4515 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4537 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemConstructor(
                 LOC((yyloc)),
@@ -7661,10 +7713,10 @@
         }
     break;
 
-  case 502:
+  case 504:
 
-/* Line 678 of lalr1.cc  */
-#line 4525 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4547 "/Users/wcandillon/28msec/zorba/sandbox/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())
             {
@@ -7683,10 +7735,10 @@
         }
     break;
 
-  case 503:
+  case 505:
 
-/* Line 678 of lalr1.cc  */
-#line 4542 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4564 "/Users/wcandillon/28msec/zorba/sandbox/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())
             {
@@ -7705,10 +7757,10 @@
         }
     break;
 
-  case 504:
+  case 506:
 
-/* Line 678 of lalr1.cc  */
-#line 4559 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4581 "/Users/wcandillon/28msec/zorba/sandbox/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())
             {
@@ -7727,10 +7779,10 @@
         }
     break;
 
-  case 505:
+  case 507:
 
-/* Line 678 of lalr1.cc  */
-#line 4576 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4598 "/Users/wcandillon/28msec/zorba/sandbox/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())
             {
@@ -7749,10 +7801,10 @@
         }
     break;
 
-  case 506:
+  case 508:
 
-/* Line 678 of lalr1.cc  */
-#line 4598 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4620 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = new DirElemContentList( LOC((yyloc)) );
             decl->push_back( dynamic_cast<DirElemContent*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -7760,10 +7812,10 @@
         }
     break;
 
-  case 507:
+  case 509:
 
-/* Line 678 of lalr1.cc  */
-#line 4604 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4626 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             DirElemContentList *decl = dynamic_cast<DirElemContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( decl )
@@ -7772,10 +7824,10 @@
         }
     break;
 
-  case 508:
+  case 510:
 
-/* Line 678 of lalr1.cc  */
-#line 4615 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4637 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = new DirAttributeList( LOC((yyloc)) );
             dal->push_back( dynamic_cast<DirAttr*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7783,10 +7835,10 @@
         }
     break;
 
-  case 509:
+  case 511:
 
-/* Line 678 of lalr1.cc  */
-#line 4621 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4643 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             DirAttributeList *dal = dynamic_cast<DirAttributeList*>((yysemantic_stack_[(2) - (1)].node));
             if ( dal )
@@ -7795,10 +7847,10 @@
         }
     break;
 
-  case 510:
+  case 512:
 
-/* Line 678 of lalr1.cc  */
-#line 4632 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4654 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttr(
                 LOC((yyloc)),
@@ -7808,114 +7860,114 @@
         }
     break;
 
-  case 513:
+  case 515:
 
-/* Line 678 of lalr1.cc  */
-#line 4649 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4671 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 514:
+  case 516:
 
-/* Line 678 of lalr1.cc  */
-#line 4654 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4676 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DirAttributeValue( LOC((yyloc)),
                                 dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 515:
+  case 517:
 
-/* Line 678 of lalr1.cc  */
-#line 4663 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4685 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrContentList( LOC((yyloc)) );
         }
     break;
 
-  case 516:
-
-/* Line 678 of lalr1.cc  */
-#line 4667 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 517:
-
-/* Line 678 of lalr1.cc  */
-#line 4674 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
-            qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
-            (yyval.node) = qacl;
-        }
-    break;
-
   case 518:
 
-/* Line 678 of lalr1.cc  */
-#line 4680 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4689 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
-            qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
-            (yyval.node) = qacl;
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 519:
 
-/* Line 678 of lalr1.cc  */
-#line 4686 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4696 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            QuoteAttrContentList *qacl =
-                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
-            if ( qacl )
-                qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
+            qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
+            (yyval.node) = qacl;
         }
     break;
 
   case 520:
 
-/* Line 678 of lalr1.cc  */
-#line 4694 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4702 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            QuoteAttrContentList *qacl =
-                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
-            if ( qacl )
-                qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(2) - (2)].node)) );
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+            QuoteAttrContentList *qacl = new QuoteAttrContentList( LOC((yyloc)) );
+            qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
+            (yyval.node) = qacl;
         }
     break;
 
   case 521:
 
-/* Line 678 of lalr1.cc  */
-#line 4706 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4708 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
+            QuoteAttrContentList *qacl =
+                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
+            if ( qacl )
+                qacl->push_back( new QuoteAttrValueContent( LOC((yyloc)), "\"" ) );
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
     break;
 
   case 522:
 
-/* Line 678 of lalr1.cc  */
-#line 4710 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4716 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            QuoteAttrContentList *qacl =
+                dynamic_cast<QuoteAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
+            if ( qacl )
+                qacl->push_back( dynamic_cast<QuoteAttrValueContent*>((yysemantic_stack_[(2) - (2)].node)) );
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
     break;
 
   case 523:
 
-/* Line 678 of lalr1.cc  */
-#line 4717 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4728 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new AposAttrContentList( LOC((yyloc)) );
+        }
+    break;
+
+  case 524:
+
+/* Line 690 of lalr1.cc  */
+#line 4732 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 525:
+
+/* Line 690 of lalr1.cc  */
+#line 4739 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( new AposAttrValueContent( LOC((yyloc)),"'") );
@@ -7923,10 +7975,10 @@
         }
     break;
 
-  case 524:
+  case 526:
 
-/* Line 678 of lalr1.cc  */
-#line 4723 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4745 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = new AposAttrContentList( LOC((yyloc)) );
             aacl->push_back( dynamic_cast<AposAttrValueContent*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -7934,10 +7986,10 @@
         }
     break;
 
-  case 525:
+  case 527:
 
-/* Line 678 of lalr1.cc  */
-#line 4729 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4751 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if (aacl)
@@ -7946,10 +7998,10 @@
         }
     break;
 
-  case 526:
+  case 528:
 
-/* Line 678 of lalr1.cc  */
-#line 4736 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4758 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             AposAttrContentList *aacl = dynamic_cast<AposAttrContentList*>((yysemantic_stack_[(2) - (1)].node));
             if ( aacl )
@@ -7958,19 +8010,19 @@
         }
     break;
 
-  case 527:
+  case 529:
 
-/* Line 678 of lalr1.cc  */
-#line 4747 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4769 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 528:
+  case 530:
 
-/* Line 678 of lalr1.cc  */
-#line 4751 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4773 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new QuoteAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -7978,19 +8030,19 @@
         }
     break;
 
-  case 529:
+  case 531:
 
-/* Line 678 of lalr1.cc  */
-#line 4761 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4783 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 530:
+  case 532:
 
-/* Line 678 of lalr1.cc  */
-#line 4765 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4787 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AposAttrValueContent(
                 LOC((yyloc)), dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr))
@@ -7998,48 +8050,48 @@
         }
     break;
 
-  case 531:
+  case 533:
 
-/* Line 678 of lalr1.cc  */
-#line 4775 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4797 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr) );
         }
     break;
 
-  case 532:
+  case 534:
 
-/* Line 678 of lalr1.cc  */
-#line 4779 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4801 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new DirElemContent( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
         }
     break;
 
-  case 533:
+  case 535:
 
-/* Line 678 of lalr1.cc  */
-#line 4783 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4805 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             rchandle<CDataSection> cdata_h = dynamic_cast<CDataSection*>((yysemantic_stack_[(1) - (1)].expr));
             (yyval.expr) = new DirElemContent( LOC((yyloc)), cdata_h );
         }
     break;
 
-  case 534:
+  case 536:
 
-/* Line 678 of lalr1.cc  */
-#line 4788 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4810 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             rchandle<CommonContent> cont_h = dynamic_cast<CommonContent*>((yysemantic_stack_[(1) - (1)].expr));
             (yyval.expr) = new DirElemContent( LOC((yyloc)), cont_h );
         }
     break;
 
-  case 535:
+  case 537:
 
-/* Line 678 of lalr1.cc  */
-#line 4797 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4819 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_charref, SYMTAB((yysemantic_stack_[(1) - (1)].sval))
@@ -8047,10 +8099,10 @@
         }
     break;
 
-  case 536:
+  case 538:
 
-/* Line 678 of lalr1.cc  */
-#line 4803 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4825 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_lbrace
@@ -8058,10 +8110,10 @@
         }
     break;
 
-  case 537:
+  case 539:
 
-/* Line 678 of lalr1.cc  */
-#line 4809 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4831 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(
                 LOC((yyloc)), ParseConstants::cont_escape_rbrace
@@ -8069,82 +8121,64 @@
         }
     break;
 
-  case 538:
+  case 540:
 
-/* Line 678 of lalr1.cc  */
-#line 4815 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4837 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new CommonContent(LOC((yyloc)), new EnclosedExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr)));
         }
     break;
 
-  case 539:
+  case 541:
 
-/* Line 678 of lalr1.cc  */
-#line 4823 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4845 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 540:
+  case 542:
 
-/* Line 678 of lalr1.cc  */
-#line 4828 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4850 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirCommentConstructor( LOC((yyloc)), "" );
     }
     break;
 
-  case 541:
+  case 543:
 
-/* Line 678 of lalr1.cc  */
-#line 4836 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4858 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
     break;
 
-  case 542:
+  case 544:
 
-/* Line 678 of lalr1.cc  */
-#line 4841 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4863 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new DirPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
     break;
 
-  case 543:
+  case 545:
 
-/* Line 678 of lalr1.cc  */
-#line 4849 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4871 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new CDataSection( LOC((yyloc)),SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
     }
     break;
 
-  case 544:
-
-/* Line 678 of lalr1.cc  */
-#line 4857 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
-  case 545:
-
-/* Line 678 of lalr1.cc  */
-#line 4862 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
-    break;
-
   case 546:
 
-/* Line 678 of lalr1.cc  */
-#line 4867 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4879 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8152,8 +8186,8 @@
 
   case 547:
 
-/* Line 678 of lalr1.cc  */
-#line 4872 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4884 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8161,8 +8195,8 @@
 
   case 548:
 
-/* Line 678 of lalr1.cc  */
-#line 4877 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4889 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8170,8 +8204,8 @@
 
   case 549:
 
-/* Line 678 of lalr1.cc  */
-#line 4882 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4894 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -8179,234 +8213,234 @@
 
   case 550:
 
-/* Line 678 of lalr1.cc  */
-#line 4891 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4899 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
-        }
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
     break;
 
   case 551:
 
-/* Line 678 of lalr1.cc  */
-#line 4899 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4904 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompElemConstructor(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr));
-        }
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
     break;
 
   case 552:
 
-/* Line 678 of lalr1.cc  */
-#line 4903 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4913 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+            (yyval.expr) = new CompDocConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 553:
 
-/* Line 678 of lalr1.cc  */
-#line 4920 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4921 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-          (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr) );
+            (yyval.expr) = new CompElemConstructor(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr));
         }
     break;
 
   case 554:
 
-/* Line 678 of lalr1.cc  */
-#line 4924 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4925 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+            (yyval.expr) = new CompElemConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
         }
     break;
 
   case 555:
 
-/* Line 678 of lalr1.cc  */
-#line 4932 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4942 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+          (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval))), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
   case 556:
 
-/* Line 678 of lalr1.cc  */
-#line 4940 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4946 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
+            (yyval.expr) = new CompAttrConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
         }
     break;
 
   case 557:
 
-/* Line 678 of lalr1.cc  */
-#line 4948 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4954 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr) );
+            (yyval.expr) = new CompTextConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 558:
 
-/* Line 678 of lalr1.cc  */
-#line 4952 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4962 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
+            (yyval.expr) = new CompCommentConstructor( LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr) );
         }
     break;
 
   case 559:
 
-/* Line 678 of lalr1.cc  */
-#line 4960 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4970 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SingleType(
-                LOC((yyloc)), dynamic_cast<AtomicType*>((yysemantic_stack_[(1) - (1)].node)), false
-            );
+            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (1)].sval)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
   case 560:
 
-/* Line 678 of lalr1.cc  */
-#line 4966 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4974 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SingleType(
-                LOC((yyloc)), dynamic_cast<AtomicType*>((yysemantic_stack_[(2) - (1)].node)), true
-            );
+            (yyval.expr) = new CompPIConstructor( LOC((yyloc)), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].expr) );
         }
     break;
 
   case 561:
 
-/* Line 678 of lalr1.cc  */
-#line 4976 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4982 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
+            (yyval.node) = new SingleType(
+                LOC((yyloc)), dynamic_cast<AtomicType*>((yysemantic_stack_[(1) - (1)].node)), false
+            );
         }
     break;
 
   case 562:
 
-/* Line 678 of lalr1.cc  */
-#line 4984 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4988 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SequenceType( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
+            (yyval.node) = new SingleType(
+                LOC((yyloc)), dynamic_cast<AtomicType*>((yysemantic_stack_[(2) - (1)].node)), true
+            );
         }
     break;
 
   case 563:
 
-/* Line 678 of lalr1.cc  */
-#line 4988 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 4998 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SequenceType(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
+            (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
         }
     break;
 
   case 564:
 
-/* Line 678 of lalr1.cc  */
-#line 4992 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5006 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
+            (yyval.node) = new SequenceType( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL );
         }
     break;
 
   case 565:
 
-/* Line 678 of lalr1.cc  */
-#line 5027 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5010 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_optionally
-            );
+            (yyval.node) = new SequenceType(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), dynamic_cast<OccurrenceIndicator*>((yysemantic_stack_[(2) - (2)].node)));
         }
     break;
 
   case 566:
 
-/* Line 678 of lalr1.cc  */
-#line 5033 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5014 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_zero_or_more
-            );
+            (yyval.node) = new SequenceType( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 567:
 
-/* Line 678 of lalr1.cc  */
-#line 5039 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5049 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OccurrenceIndicator(
-                LOC((yyloc)), ParseConstants::occurs_one_or_more
+                LOC((yyloc)), ParseConstants::occurs_optionally
             );
         }
     break;
 
   case 568:
 
-/* Line 678 of lalr1.cc  */
-#line 5049 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5055 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new OccurrenceIndicator(
+                LOC((yyloc)), ParseConstants::occurs_zero_or_more
+            );
         }
     break;
 
   case 569:
 
-/* Line 678 of lalr1.cc  */
-#line 5053 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5061 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new OccurrenceIndicator(
+                LOC((yyloc)), ParseConstants::occurs_one_or_more
+            );
         }
     break;
 
   case 570:
 
-/* Line 678 of lalr1.cc  */
-#line 5057 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5071 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ItemType( LOC((yyloc)), true );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 571:
 
-/* Line 678 of lalr1.cc  */
-#line 5061 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5075 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new StructuredItemType(LOC((yyloc)));
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 572:
 
-/* Line 678 of lalr1.cc  */
-#line 5065 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5079 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new ItemType( LOC((yyloc)), true );
         }
     break;
 
   case 573:
 
-/* Line 678 of lalr1.cc  */
-#line 5069 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5083 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.node) = new StructuredItemType(LOC((yyloc)));
         }
     break;
 
   case 574:
 
-/* Line 678 of lalr1.cc  */
-#line 5073 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5087 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8414,8 +8448,26 @@
 
   case 575:
 
-/* Line 678 of lalr1.cc  */
-#line 5080 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5091 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 576:
+
+/* Line 690 of lalr1.cc  */
+#line 5095 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 577:
+
+/* Line 690 of lalr1.cc  */
+#line 5102 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           TypeList* aTypeList = new TypeList(LOC ((yyloc)));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(1) - (1)].node)));
@@ -8423,10 +8475,10 @@
         }
     break;
 
-  case 576:
+  case 578:
 
-/* Line 678 of lalr1.cc  */
-#line 5086 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5108 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           TypeList* aTypeList = dynamic_cast<TypeList *>((yysemantic_stack_[(3) - (1)].node));
           aTypeList->push_back(dynamic_cast<SequenceType *>((yysemantic_stack_[(3) - (3)].node)));
@@ -8434,37 +8486,19 @@
         }
     break;
 
-  case 577:
+  case 579:
 
-/* Line 678 of lalr1.cc  */
-#line 5096 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5118 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AtomicType( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
-  case 578:
-
-/* Line 678 of lalr1.cc  */
-#line 5104 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 579:
-
-/* Line 678 of lalr1.cc  */
-#line 5108 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 580:
 
-/* Line 678 of lalr1.cc  */
-#line 5112 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5126 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8472,8 +8506,8 @@
 
   case 581:
 
-/* Line 678 of lalr1.cc  */
-#line 5116 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5130 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8481,8 +8515,8 @@
 
   case 582:
 
-/* Line 678 of lalr1.cc  */
-#line 5120 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5134 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8490,8 +8524,8 @@
 
   case 583:
 
-/* Line 678 of lalr1.cc  */
-#line 5124 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5138 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8499,8 +8533,8 @@
 
   case 584:
 
-/* Line 678 of lalr1.cc  */
-#line 5128 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5142 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8508,8 +8542,8 @@
 
   case 585:
 
-/* Line 678 of lalr1.cc  */
-#line 5132 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5146 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8517,8 +8551,8 @@
 
   case 586:
 
-/* Line 678 of lalr1.cc  */
-#line 5136 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5150 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -8526,35 +8560,53 @@
 
   case 587:
 
-/* Line 678 of lalr1.cc  */
-#line 5144 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5154 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 588:
+
+/* Line 690 of lalr1.cc  */
+#line 5158 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 589:
+
+/* Line 690 of lalr1.cc  */
+#line 5166 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AnyKindTest( LOC((yyloc)) );
         }
     break;
 
-  case 588:
+  case 590:
 
-/* Line 678 of lalr1.cc  */
-#line 5152 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5174 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)) );
         }
     break;
 
-  case 589:
+  case 591:
 
-/* Line 678 of lalr1.cc  */
-#line 5156 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5178 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest( LOC((yyloc)), dynamic_cast<ElementTest*>((yysemantic_stack_[(4) - (3)].node)) );
         }
     break;
 
-  case 590:
+  case 592:
 
-/* Line 678 of lalr1.cc  */
-#line 5160 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5182 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new DocumentTest(
                 LOC((yyloc)), dynamic_cast<SchemaElementTest*>((yysemantic_stack_[(4) - (3)].node))
@@ -8562,259 +8614,259 @@
         }
     break;
 
-  case 591:
+  case 593:
 
-/* Line 678 of lalr1.cc  */
-#line 5170 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5192 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new TextTest( LOC((yyloc)) );
         }
     break;
 
-  case 592:
+  case 594:
 
-/* Line 678 of lalr1.cc  */
-#line 5178 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5200 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new CommentTest( LOC((yyloc)));
         }
     break;
 
-  case 593:
+  case 595:
 
-/* Line 678 of lalr1.cc  */
-#line 5186 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5208 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new PITest( LOC((yyloc)), "" );
         }
     break;
 
-  case 594:
-
-/* Line 678 of lalr1.cc  */
-#line 5190 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
-  case 595:
-
-/* Line 678 of lalr1.cc  */
-#line 5194 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
-        }
-    break;
-
   case 596:
 
-/* Line 678 of lalr1.cc  */
-#line 5202 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5212 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
+            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
     break;
 
   case 597:
 
-/* Line 678 of lalr1.cc  */
-#line 5206 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5216 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
-            );
+            (yyval.node) = new PITest( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)) );
         }
     break;
 
   case 598:
 
-/* Line 678 of lalr1.cc  */
-#line 5212 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5224 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
-            );
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 599:
 
-/* Line 678 of lalr1.cc  */
-#line 5218 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5228 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
+            (yyval.node) = new AttributeTest(
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL
+            );
         }
     break;
 
   case 600:
 
-/* Line 678 of lalr1.cc  */
-#line 5222 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5234 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new AttributeTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)), dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
             );
         }
     break;
 
   case 601:
 
-/* Line 678 of lalr1.cc  */
-#line 5232 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5240 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
+            (yyval.node) = new AttributeTest( LOC((yyloc)), NULL, NULL );
         }
     break;
 
   case 602:
 
-/* Line 678 of lalr1.cc  */
-#line 5240 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5244 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
+            (yyval.node) = new AttributeTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node))
+            );
         }
     break;
 
   case 603:
 
-/* Line 678 of lalr1.cc  */
-#line 5244 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5254 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
-            );
+            (yyval.node) = new SchemaAttributeTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
   case 604:
 
-/* Line 678 of lalr1.cc  */
-#line 5250 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5262 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new ElementTest(
-                LOC((yyloc)),
-                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
-                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
-                false
-            );
+            (yyval.node) = new ElementTest( LOC((yyloc)), NULL, NULL, true );
         }
     break;
 
   case 605:
 
-/* Line 678 of lalr1.cc  */
-#line 5259 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5266 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)),
-                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
-                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
-                true
+                LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)), NULL, true
             );
         }
     break;
 
   case 606:
 
-/* Line 678 of lalr1.cc  */
-#line 5268 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5272 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, NULL, true
+                LOC((yyloc)),
+                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
+                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
+                false
             );
         }
     break;
 
   case 607:
 
-/* Line 678 of lalr1.cc  */
-#line 5274 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5281 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
+                LOC((yyloc)),
+                static_cast<QName*>((yysemantic_stack_[(6) - (3)].expr)),
+                dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)),
+                true
             );
         }
     break;
 
   case 608:
 
-/* Line 678 of lalr1.cc  */
-#line 5280 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5290 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ElementTest(
-                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
+                LOC((yyloc)), NULL, NULL, true
             );
         }
     break;
 
   case 609:
 
-/* Line 678 of lalr1.cc  */
-#line 5290 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5296 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), false
+            );
         }
     break;
 
   case 610:
 
-/* Line 678 of lalr1.cc  */
-#line 5307 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5302 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
+            (yyval.node) = new ElementTest(
+                LOC((yyloc)), NULL, dynamic_cast<TypeName*>((yysemantic_stack_[(6) - (5)].node)), true
+            );
         }
     break;
 
   case 611:
 
-/* Line 678 of lalr1.cc  */
-#line 5314 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5312 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
+            (yyval.node) = new SchemaElementTest( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
   case 612:
 
-/* Line 678 of lalr1.cc  */
-#line 5329 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5329 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
+            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
         }
     break;
 
   case 613:
 
-/* Line 678 of lalr1.cc  */
-#line 5365 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5336 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
+            (yyval.node) = new TypeName( LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (1)].expr)), true );
+        }
     break;
 
   case 614:
 
-/* Line 678 of lalr1.cc  */
-#line 5369 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5351 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
-    }
+            (yyval.expr) = new StringLiteral( LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
+        }
     break;
 
   case 615:
 
-/* Line 678 of lalr1.cc  */
-#line 5377 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5387 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 616:
+
+/* Line 690 of lalr1.cc  */
+#line 5391 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
+    }
+    break;
+
+  case 617:
+
+/* Line 690 of lalr1.cc  */
+#line 5399 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new LiteralFunctionItem(LOC ((yyloc)), dynamic_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].ival));
     }
     break;
 
-  case 616:
+  case 618:
 
-/* Line 678 of lalr1.cc  */
-#line 5385 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5407 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new InlineFunction(LOC((yyloc)),
                               &*(yysemantic_stack_[(3) - (2)].fnsig)->theParams,
@@ -8824,46 +8876,46 @@
     }
     break;
 
-  case 617:
-
-/* Line 678 of lalr1.cc  */
-#line 5397 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
-  case 618:
-
-/* Line 678 of lalr1.cc  */
-#line 5401 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-    }
-    break;
-
   case 619:
 
-/* Line 678 of lalr1.cc  */
-#line 5409 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5419 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 620:
+
+/* Line 690 of lalr1.cc  */
+#line 5423 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+    }
+    break;
+
+  case 621:
+
+/* Line 690 of lalr1.cc  */
+#line 5431 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnyFunctionTest(LOC((yyloc)));
     }
     break;
 
-  case 620:
+  case 622:
 
-/* Line 678 of lalr1.cc  */
-#line 5417 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5439 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)), dynamic_cast<SequenceType *>((yysemantic_stack_[(5) - (5)].node)));
         }
     break;
 
-  case 621:
+  case 623:
 
-/* Line 678 of lalr1.cc  */
-#line 5421 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5443 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new TypedFunctionTest(LOC ((yyloc)),
               dynamic_cast<TypeList *>((yysemantic_stack_[(6) - (3)].node)),
@@ -8871,19 +8923,19 @@
         }
     break;
 
-  case 622:
+  case 624:
 
-/* Line 678 of lalr1.cc  */
-#line 5432 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5454 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
            (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 623:
+  case 625:
 
-/* Line 678 of lalr1.cc  */
-#line 5449 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5471 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::strict_validation
@@ -8891,10 +8943,10 @@
         }
     break;
 
-  case 624:
+  case 626:
 
-/* Line 678 of lalr1.cc  */
-#line 5455 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5477 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::lax_validation
@@ -8902,10 +8954,10 @@
         }
     break;
 
-  case 625:
+  case 627:
 
-/* Line 678 of lalr1.cc  */
-#line 5461 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5483 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new RevalidationDecl(
                 LOC((yyloc)), StaticContextConsts::skip_validation
@@ -8913,81 +8965,81 @@
         }
     break;
 
-  case 626:
-
-/* Line 678 of lalr1.cc  */
-#line 5471 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
-        }
-    break;
-
-  case 627:
-
-/* Line 678 of lalr1.cc  */
-#line 5475 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
-            );
-        }
-    break;
-
   case 628:
 
-/* Line 678 of lalr1.cc  */
-#line 5481 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5493 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
-            );
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 629:
 
-/* Line 678 of lalr1.cc  */
-#line 5487 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5497 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+            (yyval.expr) = new InsertExpr(
+                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            );
         }
     break;
 
   case 630:
 
-/* Line 678 of lalr1.cc  */
-#line 5491 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5503 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
-                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+                LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
             );
         }
     break;
 
   case 631:
 
-/* Line 678 of lalr1.cc  */
-#line 5497 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5509 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::AFTER, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
   case 632:
 
-/* Line 678 of lalr1.cc  */
-#line 5501 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5513 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
-                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
             );
         }
     break;
 
   case 633:
 
-/* Line 678 of lalr1.cc  */
-#line 5507 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5519 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new InsertExpr( LOC((yyloc)), store::UpdateConsts::INTO, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
+        }
+    break;
+
+  case 634:
+
+/* Line 690 of lalr1.cc  */
+#line 5523 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new InsertExpr(
+                LOC((yyloc)), store::UpdateConsts::AS_FIRST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
+            );
+        }
+    break;
+
+  case 635:
+
+/* Line 690 of lalr1.cc  */
+#line 5529 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                   LOC((yyloc)), store::UpdateConsts::AS_LAST_INTO, (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -8995,10 +9047,10 @@
         }
     break;
 
-  case 634:
+  case 636:
 
-/* Line 678 of lalr1.cc  */
-#line 5513 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5535 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new InsertExpr(
                 LOC ((yyloc)),
@@ -9007,39 +9059,39 @@
         }
     break;
 
-  case 635:
-
-/* Line 678 of lalr1.cc  */
-#line 5520 "/home/markos/zorba/repo/bug-900688/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 636:
-
-/* Line 678 of lalr1.cc  */
-#line 5530 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
-        }
-    break;
-
   case 637:
 
-/* Line 678 of lalr1.cc  */
-#line 5535 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5542 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+            (yyval.expr) = new InsertExpr(
+                LOC ((yyloc)), store::UpdateConsts::BEFORE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
+            );
         }
     break;
 
   case 638:
 
-/* Line 678 of lalr1.cc  */
-#line 5543 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5552 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 639:
+
+/* Line 690 of lalr1.cc  */
+#line 5557 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.expr) = new DeleteExpr( LOC ((yyloc)), (yysemantic_stack_[(3) - (3)].expr) );
+        }
+    break;
+
+  case 640:
+
+/* Line 690 of lalr1.cc  */
+#line 5565 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::NODE, (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr)
@@ -9047,10 +9099,10 @@
         }
     break;
 
-  case 639:
+  case 641:
 
-/* Line 678 of lalr1.cc  */
-#line 5549 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5571 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ReplaceExpr(
                 LOC((yyloc)), store::UpdateConsts::VALUE_OF_NODE, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr)
@@ -9058,29 +9110,29 @@
         }
     break;
 
-  case 640:
+  case 642:
 
-/* Line 678 of lalr1.cc  */
-#line 5559 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5581 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new RenameExpr( LOC ((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 641:
+  case 643:
 
-/* Line 678 of lalr1.cc  */
-#line 5581 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5603 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList *cvl = dynamic_cast<CopyVarList*>((yysemantic_stack_[(7) - (3)].expr));
       (yyval.expr) = new TransformExpr( LOC((yyloc)), cvl, (yysemantic_stack_[(7) - (5)].expr), (yysemantic_stack_[(7) - (7)].expr) );
     }
     break;
 
-  case 642:
+  case 644:
 
-/* Line 678 of lalr1.cc  */
-#line 5590 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5612 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList* lList = new CopyVarList(LOC((yyloc)));
       lList->push_back (dynamic_cast<VarBinding*> ((yysemantic_stack_[(1) - (1)].expr)));
@@ -9088,10 +9140,10 @@
     }
     break;
 
-  case 643:
+  case 645:
 
-/* Line 678 of lalr1.cc  */
-#line 5596 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5618 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
       CopyVarList* lList = dynamic_cast<CopyVarList*>((yysemantic_stack_[(4) - (1)].expr));
       VarBinding* lBinding = dynamic_cast<VarBinding*>((yysemantic_stack_[(4) - (4)].expr));
@@ -9100,28 +9152,28 @@
     }
     break;
 
-  case 644:
+  case 646:
 
-/* Line 678 of lalr1.cc  */
-#line 5609 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5631 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
        (yyval.expr) = new VarBinding(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)), (yysemantic_stack_[(3) - (3)].expr));
     }
     break;
 
-  case 645:
+  case 647:
 
-/* Line 678 of lalr1.cc  */
-#line 5623 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5645 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new TryExpr( LOC((yyloc)), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].expr) );
         }
     break;
 
-  case 646:
+  case 648:
 
-/* Line 678 of lalr1.cc  */
-#line 5630 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5652 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = new CatchListExpr( LOC((yyloc)) );
             cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -9129,10 +9181,10 @@
         }
     break;
 
-  case 647:
+  case 649:
 
-/* Line 678 of lalr1.cc  */
-#line 5636 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5658 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
             if ( cle )
@@ -9141,29 +9193,29 @@
         }
     break;
 
-  case 648:
-
-/* Line 678 of lalr1.cc  */
-#line 5646 "/home/markos/zorba/repo/bug-900688/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 649:
-
-/* Line 678 of lalr1.cc  */
-#line 5655 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
-    }
-    break;
-
   case 650:
 
-/* Line 678 of lalr1.cc  */
-#line 5663 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5668 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+       (yyval.expr) = new CatchExpr(LOC((yyloc)), *(yysemantic_stack_[(3) - (2)].name_test_list), (yysemantic_stack_[(3) - (3)].expr));
+       delete (yysemantic_stack_[(3) - (2)].name_test_list);
+    }
+    break;
+
+  case 651:
+
+/* Line 690 of lalr1.cc  */
+#line 5677 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+      (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
+    }
+    break;
+
+  case 652:
+
+/* Line 690 of lalr1.cc  */
+#line 5685 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl = new CatchExpr::NameTestList;
             ntl->push_back( static_cast<NameTest*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -9171,10 +9223,10 @@
         }
     break;
 
-  case 651:
+  case 653:
 
-/* Line 678 of lalr1.cc  */
-#line 5669 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5691 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             CatchExpr::NameTestList *ntl =
                 static_cast<CatchExpr::NameTestList*>((yysemantic_stack_[(3) - (1)].name_test_list));
@@ -9183,76 +9235,58 @@
         }
     break;
 
-  case 652:
+  case 654:
 
-/* Line 678 of lalr1.cc  */
-#line 5687 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5709 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTSelection( LOC((yyloc)), (yysemantic_stack_[(2) - (1)].node), (yysemantic_stack_[(2) - (2)].pos_filter_list) );
             delete (yysemantic_stack_[(2) - (2)].pos_filter_list);
         }
     break;
 
-  case 653:
+  case 655:
 
-/* Line 678 of lalr1.cc  */
-#line 5695 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5717 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = NULL;
         }
     break;
 
-  case 654:
+  case 656:
 
-/* Line 678 of lalr1.cc  */
-#line 5699 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5721 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = (yysemantic_stack_[(1) - (1)].pos_filter_list);
         }
     break;
 
-  case 655:
+  case 657:
 
-/* Line 678 of lalr1.cc  */
-#line 5706 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5728 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.pos_filter_list) = new FTSelection::pos_filter_list_t;
             (yyval.pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 656:
+  case 658:
 
-/* Line 678 of lalr1.cc  */
-#line 5711 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5733 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yysemantic_stack_[(2) - (1)].pos_filter_list)->push_back( dynamic_cast<FTPosFilter*>((yysemantic_stack_[(2) - (2)].node)) );
             (yyval.pos_filter_list) = (yysemantic_stack_[(2) - (1)].pos_filter_list);
         }
     break;
 
-  case 657:
-
-/* Line 678 of lalr1.cc  */
-#line 5719 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 658:
-
-/* Line 678 of lalr1.cc  */
-#line 5723 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
-        }
-    break;
-
   case 659:
 
-/* Line 678 of lalr1.cc  */
-#line 5730 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5741 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9260,17 +9294,17 @@
 
   case 660:
 
-/* Line 678 of lalr1.cc  */
-#line 5734 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5745 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTAnd( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
+            (yyval.node) = new FTOr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
   case 661:
 
-/* Line 678 of lalr1.cc  */
-#line 5741 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5752 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9278,17 +9312,17 @@
 
   case 662:
 
-/* Line 678 of lalr1.cc  */
-#line 5745 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5756 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
+            (yyval.node) = new FTAnd( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].node), (yysemantic_stack_[(3) - (3)].node) );
         }
     break;
 
   case 663:
 
-/* Line 678 of lalr1.cc  */
-#line 5752 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5763 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9296,8 +9330,26 @@
 
   case 664:
 
-/* Line 678 of lalr1.cc  */
-#line 5756 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5767 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = new FTMildNot( LOC((yyloc)), (yysemantic_stack_[(4) - (1)].node), (yysemantic_stack_[(4) - (4)].node) );
+        }
+    break;
+
+  case 665:
+
+/* Line 690 of lalr1.cc  */
+#line 5774 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 666:
+
+/* Line 690 of lalr1.cc  */
+#line 5778 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnaryNot(
                 LOC((yyloc)), dynamic_cast<FTPrimaryWithOptions*>((yysemantic_stack_[(2) - (2)].node))
@@ -9305,10 +9357,10 @@
         }
     break;
 
-  case 665:
+  case 667:
 
-/* Line 678 of lalr1.cc  */
-#line 5765 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5787 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTPrimaryWithOptions(
                 LOC((yyloc)),
@@ -9319,28 +9371,10 @@
         }
     break;
 
-  case 666:
-
-/* Line 678 of lalr1.cc  */
-#line 5777 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 667:
-
-/* Line 678 of lalr1.cc  */
-#line 5781 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 668:
 
-/* Line 678 of lalr1.cc  */
-#line 5788 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5799 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -9348,8 +9382,8 @@
 
   case 669:
 
-/* Line 678 of lalr1.cc  */
-#line 5792 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5803 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9357,17 +9391,35 @@
 
   case 670:
 
-/* Line 678 of lalr1.cc  */
-#line 5800 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5810 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 671:
+
+/* Line 690 of lalr1.cc  */
+#line 5814 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 672:
+
+/* Line 690 of lalr1.cc  */
+#line 5822 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWeight( LOC((yyloc)), dynamic_cast<exprnode*>((yysemantic_stack_[(4) - (3)].expr)) );
         }
     break;
 
-  case 671:
+  case 673:
 
-/* Line 678 of lalr1.cc  */
-#line 5808 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5830 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsTimes(
                 LOC((yyloc)),
@@ -9377,37 +9429,19 @@
         }
     break;
 
-  case 672:
+  case 674:
 
-/* Line 678 of lalr1.cc  */
-#line 5816 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5838 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(3) - (2)].node);
         }
     break;
 
-  case 673:
-
-/* Line 678 of lalr1.cc  */
-#line 5820 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 674:
-
-/* Line 678 of lalr1.cc  */
-#line 5827 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 675:
 
-/* Line 678 of lalr1.cc  */
-#line 5831 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5842 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9415,8 +9449,26 @@
 
   case 676:
 
-/* Line 678 of lalr1.cc  */
-#line 5839 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5849 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 677:
+
+/* Line 690 of lalr1.cc  */
+#line 5853 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 678:
+
+/* Line 690 of lalr1.cc  */
+#line 5861 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTExtensionSelection(
                 LOC((yyloc)),
@@ -9426,28 +9478,28 @@
         }
     break;
 
-  case 677:
-
-/* Line 678 of lalr1.cc  */
-#line 5850 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 678:
-
-/* Line 678 of lalr1.cc  */
-#line 5854 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 679:
 
-/* Line 678 of lalr1.cc  */
-#line 5862 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5872 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 680:
+
+/* Line 690 of lalr1.cc  */
+#line 5876 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 681:
+
+/* Line 690 of lalr1.cc  */
+#line 5884 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWords(
                 LOC((yyloc)),
@@ -9457,10 +9509,10 @@
         }
     break;
 
-  case 680:
+  case 682:
 
-/* Line 678 of lalr1.cc  */
-#line 5874 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5896 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), static_cast<StringLiteral*>((yysemantic_stack_[(1) - (1)].expr)), NULL
@@ -9468,10 +9520,10 @@
         }
     break;
 
-  case 681:
+  case 683:
 
-/* Line 678 of lalr1.cc  */
-#line 5880 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5902 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWordsValue(
                 LOC((yyloc)), NULL, dynamic_cast<exprnode*>((yysemantic_stack_[(3) - (2)].expr))
@@ -9479,109 +9531,91 @@
         }
     break;
 
-  case 682:
+  case 684:
 
-/* Line 678 of lalr1.cc  */
-#line 5889 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5911 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::any );
         }
     break;
 
-  case 683:
-
-/* Line 678 of lalr1.cc  */
-#line 5893 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 684:
-
-/* Line 678 of lalr1.cc  */
-#line 5901 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
-        }
-    break;
-
   case 685:
 
-/* Line 678 of lalr1.cc  */
-#line 5905 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5915 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
     break;
 
   case 686:
 
-/* Line 678 of lalr1.cc  */
-#line 5909 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5923 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
     break;
 
   case 687:
 
-/* Line 678 of lalr1.cc  */
-#line 5916 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5927 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::any;
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].ft_anyall_value) );
         }
     break;
 
   case 688:
 
-/* Line 678 of lalr1.cc  */
-#line 5920 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5931 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
+            (yyval.node) = new FTAnyallOption( LOC((yyloc)), ft_anyall_mode::phrase );
         }
     break;
 
   case 689:
 
-/* Line 678 of lalr1.cc  */
-#line 5927 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5938 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all;
+            (yyval.ft_anyall_value) = ft_anyall_mode::any;
         }
     break;
 
   case 690:
 
-/* Line 678 of lalr1.cc  */
-#line 5931 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5942 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
+            (yyval.ft_anyall_value) = ft_anyall_mode::any_word;
         }
     break;
 
   case 691:
 
-/* Line 678 of lalr1.cc  */
-#line 5939 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5949 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all;
         }
     break;
 
   case 692:
 
-/* Line 678 of lalr1.cc  */
-#line 5943 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5953 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+            (yyval.ft_anyall_value) = ft_anyall_mode::all_words;
         }
     break;
 
   case 693:
 
-/* Line 678 of lalr1.cc  */
-#line 5947 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5961 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9589,8 +9623,8 @@
 
   case 694:
 
-/* Line 678 of lalr1.cc  */
-#line 5951 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5965 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9598,8 +9632,8 @@
 
   case 695:
 
-/* Line 678 of lalr1.cc  */
-#line 5955 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5969 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9607,17 +9641,35 @@
 
   case 696:
 
-/* Line 678 of lalr1.cc  */
-#line 5963 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5973 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 697:
+
+/* Line 690 of lalr1.cc  */
+#line 5977 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 698:
+
+/* Line 690 of lalr1.cc  */
+#line 5985 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTOrder( LOC((yyloc)) );
         }
     break;
 
-  case 697:
+  case 699:
 
-/* Line 678 of lalr1.cc  */
-#line 5971 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 5993 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWindow(
                 LOC((yyloc)),
@@ -9627,10 +9679,10 @@
         }
     break;
 
-  case 698:
+  case 700:
 
-/* Line 678 of lalr1.cc  */
-#line 5983 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6005 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDistance(
                 LOC((yyloc)),
@@ -9640,37 +9692,37 @@
         }
     break;
 
-  case 699:
+  case 701:
 
-/* Line 678 of lalr1.cc  */
-#line 5995 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6017 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::words );
         }
     break;
 
-  case 700:
+  case 702:
 
-/* Line 678 of lalr1.cc  */
-#line 5999 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6021 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::sentences );
         }
     break;
 
-  case 701:
+  case 703:
 
-/* Line 678 of lalr1.cc  */
-#line 6003 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6025 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTUnit( LOC((yyloc)), ft_unit::paragraphs );
         }
     break;
 
-  case 702:
+  case 704:
 
-/* Line 678 of lalr1.cc  */
-#line 6011 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6033 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTMatchOptions *mo = new FTMatchOptions( LOC((yyloc)) );
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(2) - (2)].node)) );
@@ -9678,10 +9730,10 @@
         }
     break;
 
-  case 703:
+  case 705:
 
-/* Line 678 of lalr1.cc  */
-#line 6017 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6039 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTMatchOptions *mo = dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (1)].node));
             mo->push_back( dynamic_cast<FTMatchOption*>((yysemantic_stack_[(3) - (3)].node)) );
@@ -9689,28 +9741,10 @@
         }
     break;
 
-  case 704:
-
-/* Line 678 of lalr1.cc  */
-#line 6027 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 705:
-
-/* Line 678 of lalr1.cc  */
-#line 6031 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 706:
 
-/* Line 678 of lalr1.cc  */
-#line 6035 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6049 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9718,8 +9752,8 @@
 
   case 707:
 
-/* Line 678 of lalr1.cc  */
-#line 6039 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6053 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9727,8 +9761,8 @@
 
   case 708:
 
-/* Line 678 of lalr1.cc  */
-#line 6043 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6057 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9736,8 +9770,8 @@
 
   case 709:
 
-/* Line 678 of lalr1.cc  */
-#line 6047 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6061 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9745,8 +9779,8 @@
 
   case 710:
 
-/* Line 678 of lalr1.cc  */
-#line 6051 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6065 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9754,8 +9788,8 @@
 
   case 711:
 
-/* Line 678 of lalr1.cc  */
-#line 6055 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6069 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -9763,44 +9797,62 @@
 
   case 712:
 
-/* Line 678 of lalr1.cc  */
-#line 6063 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6073 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 713:
+
+/* Line 690 of lalr1.cc  */
+#line 6077 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 714:
+
+/* Line 690 of lalr1.cc  */
+#line 6085 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::sensitive );
         }
     break;
 
-  case 713:
+  case 715:
 
-/* Line 678 of lalr1.cc  */
-#line 6067 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6089 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::insensitive );
         }
     break;
 
-  case 714:
+  case 716:
 
-/* Line 678 of lalr1.cc  */
-#line 6071 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6093 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::lower );
         }
     break;
 
-  case 715:
+  case 717:
 
-/* Line 678 of lalr1.cc  */
-#line 6075 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6097 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTCaseOption( LOC((yyloc)), ft_case_mode::upper );
         }
     break;
 
-  case 716:
+  case 718:
 
-/* Line 678 of lalr1.cc  */
-#line 6083 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6105 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::sensitive
@@ -9808,10 +9860,10 @@
         }
     break;
 
-  case 717:
+  case 719:
 
-/* Line 678 of lalr1.cc  */
-#line 6089 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6111 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTDiacriticsOption(
                 LOC((yyloc)), ft_diacritics_mode::insensitive
@@ -9819,10 +9871,10 @@
         }
     break;
 
-  case 718:
+  case 720:
 
-/* Line 678 of lalr1.cc  */
-#line 6099 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6121 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTExtensionOption(
                 LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)), SYMTAB((yysemantic_stack_[(3) - (3)].sval))
@@ -9830,28 +9882,28 @@
         }
     break;
 
-  case 719:
+  case 721:
 
-/* Line 678 of lalr1.cc  */
-#line 6109 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6131 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::stemming );
         }
     break;
 
-  case 720:
+  case 722:
 
-/* Line 678 of lalr1.cc  */
-#line 6113 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6135 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStemOption( LOC((yyloc)), ft_stem_mode::no_stemming );
         }
     break;
 
-  case 721:
+  case 723:
 
-/* Line 678 of lalr1.cc  */
-#line 6121 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6143 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = NULL;
             if ( (yysemantic_stack_[(2) - (2)].node) ) {
@@ -9863,10 +9915,10 @@
         }
     break;
 
-  case 722:
+  case 724:
 
-/* Line 678 of lalr1.cc  */
-#line 6131 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6153 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTThesaurusOption::thesaurus_id_list_t *til = (yysemantic_stack_[(5) - (4)].thesaurus_id_list);
             if ( (yysemantic_stack_[(5) - (3)].node) ) {
@@ -9879,75 +9931,75 @@
         }
     break;
 
-  case 723:
+  case 725:
 
-/* Line 678 of lalr1.cc  */
-#line 6142 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6164 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTThesaurusOption( LOC((yyloc)), NULL, false, true );
         }
     break;
 
-  case 724:
-
-/* Line 678 of lalr1.cc  */
-#line 6149 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 725:
-
-/* Line 678 of lalr1.cc  */
-#line 6153 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
   case 726:
 
-/* Line 678 of lalr1.cc  */
-#line 6160 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6171 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 727:
+
+/* Line 690 of lalr1.cc  */
+#line 6175 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 728:
+
+/* Line 690 of lalr1.cc  */
+#line 6182 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = NULL;
         }
     break;
 
-  case 727:
+  case 729:
 
-/* Line 678 of lalr1.cc  */
-#line 6164 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6186 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(2) - (2)].thesaurus_id_list);
         }
     break;
 
-  case 728:
+  case 730:
 
-/* Line 678 of lalr1.cc  */
-#line 6171 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6193 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.thesaurus_id_list) = new FTThesaurusOption::thesaurus_id_list_t;
             (yyval.thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 729:
+  case 731:
 
-/* Line 678 of lalr1.cc  */
-#line 6176 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6198 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yysemantic_stack_[(3) - (1)].thesaurus_id_list)->push_back( dynamic_cast<FTThesaurusID*>((yysemantic_stack_[(3) - (3)].node)) );
             (yyval.thesaurus_id_list) = (yysemantic_stack_[(3) - (1)].thesaurus_id_list);
         }
     break;
 
-  case 730:
+  case 732:
 
-/* Line 678 of lalr1.cc  */
-#line 6185 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6207 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTThesaurusID(
                 LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (2)].sval)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), dynamic_cast<FTRange*>((yysemantic_stack_[(4) - (4)].node))
@@ -9955,46 +10007,46 @@
         }
     break;
 
-  case 731:
+  case 733:
 
-/* Line 678 of lalr1.cc  */
-#line 6194 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6216 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = 0;
         }
     break;
 
-  case 732:
+  case 734:
 
-/* Line 678 of lalr1.cc  */
-#line 6198 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6220 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.sval) = (yysemantic_stack_[(2) - (2)].sval);
         }
     break;
 
-  case 733:
-
-/* Line 678 of lalr1.cc  */
-#line 6205 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = NULL;
-        }
-    break;
-
-  case 734:
-
-/* Line 678 of lalr1.cc  */
-#line 6209 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
-        }
-    break;
-
   case 735:
 
-/* Line 678 of lalr1.cc  */
-#line 6217 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6227 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = NULL;
+        }
+    break;
+
+  case 736:
+
+/* Line 690 of lalr1.cc  */
+#line 6231 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+            (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
+        }
+    break;
+
+  case 737:
+
+/* Line 690 of lalr1.cc  */
+#line 6239 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)),
@@ -10005,10 +10057,10 @@
         }
     break;
 
-  case 736:
+  case 738:
 
-/* Line 678 of lalr1.cc  */
-#line 6226 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6248 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, (yysemantic_stack_[(4) - (4)].incl_excl_list), ft_stop_words_mode::with_default
@@ -10017,10 +10069,10 @@
         }
     break;
 
-  case 737:
+  case 739:
 
-/* Line 678 of lalr1.cc  */
-#line 6233 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6255 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordOption(
                 LOC((yyloc)), NULL, NULL, ft_stop_words_mode::without
@@ -10028,28 +10080,28 @@
         }
     break;
 
-  case 738:
+  case 740:
 
-/* Line 678 of lalr1.cc  */
-#line 6243 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6265 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)), NULL );
         }
     break;
 
-  case 739:
+  case 741:
 
-/* Line 678 of lalr1.cc  */
-#line 6247 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6269 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWords( LOC((yyloc)), "", (yysemantic_stack_[(3) - (2)].strlist) );
         }
     break;
 
-  case 740:
+  case 742:
 
-/* Line 678 of lalr1.cc  */
-#line 6254 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6276 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             string_list_t *sl = new string_list_t;
             sl->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -10057,10 +10109,10 @@
         }
     break;
 
-  case 741:
+  case 743:
 
-/* Line 678 of lalr1.cc  */
-#line 6260 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6282 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( (yysemantic_stack_[(3) - (1)].strlist) )
                 (yysemantic_stack_[(3) - (1)].strlist)->push_back( SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
@@ -10068,38 +10120,38 @@
         }
     break;
 
-  case 742:
+  case 744:
 
-/* Line 678 of lalr1.cc  */
-#line 6269 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6291 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = NULL;
         }
     break;
 
-  case 743:
+  case 745:
 
-/* Line 678 of lalr1.cc  */
-#line 6273 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6295 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = (yysemantic_stack_[(1) - (1)].incl_excl_list);
         }
     break;
 
-  case 744:
+  case 746:
 
-/* Line 678 of lalr1.cc  */
-#line 6280 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6302 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.incl_excl_list) = new FTStopWordOption::incl_excl_list_t;
             (yyval.incl_excl_list)->push_back( dynamic_cast<FTStopWordsInclExcl*>((yysemantic_stack_[(1) - (1)].node)) );
         }
     break;
 
-  case 745:
+  case 747:
 
-/* Line 678 of lalr1.cc  */
-#line 6285 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6307 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             FTStopWordOption::incl_excl_list_t *iel = (yysemantic_stack_[(2) - (1)].incl_excl_list);
             if ( !iel )
@@ -10109,10 +10161,10 @@
         }
     break;
 
-  case 746:
+  case 748:
 
-/* Line 678 of lalr1.cc  */
-#line 6297 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6319 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10122,10 +10174,10 @@
         }
     break;
 
-  case 747:
+  case 749:
 
-/* Line 678 of lalr1.cc  */
-#line 6305 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6327 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTStopWordsInclExcl(
                 LOC((yyloc)),
@@ -10135,109 +10187,109 @@
         }
     break;
 
-  case 748:
+  case 750:
 
-/* Line 678 of lalr1.cc  */
-#line 6317 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6339 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTLanguageOption( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
     break;
 
-  case 749:
+  case 751:
 
-/* Line 678 of lalr1.cc  */
-#line 6325 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6347 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::with );
         }
     break;
 
-  case 750:
+  case 752:
 
-/* Line 678 of lalr1.cc  */
-#line 6329 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6351 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTWildCardOption( LOC((yyloc)), ft_wild_card_mode::without );
         }
     break;
 
-  case 751:
+  case 753:
 
-/* Line 678 of lalr1.cc  */
-#line 6337 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6359 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_start );
         }
     break;
 
-  case 752:
+  case 754:
 
-/* Line 678 of lalr1.cc  */
-#line 6341 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6363 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::at_end );
         }
     break;
 
-  case 753:
+  case 755:
 
-/* Line 678 of lalr1.cc  */
-#line 6345 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6367 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTContent( LOC((yyloc)), ft_content_mode::entire );
         }
     break;
 
-  case 754:
+  case 756:
 
-/* Line 678 of lalr1.cc  */
-#line 6353 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6375 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTTimes( LOC((yyloc)), dynamic_cast<FTRange*>((yysemantic_stack_[(3) - (2)].node)) );
         }
     break;
 
-  case 755:
+  case 757:
 
-/* Line 678 of lalr1.cc  */
-#line 6361 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6383 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::exactly, (yysemantic_stack_[(2) - (2)].expr) );
         }
     break;
 
-  case 756:
+  case 758:
 
-/* Line 678 of lalr1.cc  */
-#line 6365 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6387 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_least, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 757:
+  case 759:
 
-/* Line 678 of lalr1.cc  */
-#line 6369 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6391 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::at_most, (yysemantic_stack_[(3) - (3)].expr) );
         }
     break;
 
-  case 758:
+  case 760:
 
-/* Line 678 of lalr1.cc  */
-#line 6373 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6395 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTRange( LOC((yyloc)), ft_range_mode::from_to, (yysemantic_stack_[(4) - (2)].expr), (yysemantic_stack_[(4) - (4)].expr) );
         }
     break;
 
-  case 759:
+  case 761:
 
-/* Line 678 of lalr1.cc  */
-#line 6381 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6403 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10247,10 +10299,10 @@
         }
     break;
 
-  case 760:
+  case 762:
 
-/* Line 678 of lalr1.cc  */
-#line 6389 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6411 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTScope(
                 LOC((yyloc)),
@@ -10260,105 +10312,105 @@
         }
     break;
 
-  case 761:
+  case 763:
 
-/* Line 678 of lalr1.cc  */
-#line 6401 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6423 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::sentence );
         }
     break;
 
-  case 762:
+  case 764:
 
-/* Line 678 of lalr1.cc  */
-#line 6405 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6427 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTBigUnit( LOC((yyloc)), ft_big_unit::paragraph );
         }
     break;
 
-  case 763:
+  case 765:
 
-/* Line 678 of lalr1.cc  */
-#line 6413 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6435 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new FTIgnoreOption( LOC((yyloc)), static_cast<UnionExpr*>((yysemantic_stack_[(3) - (3)].expr)) );
         }
     break;
 
-  case 764:
+  case 766:
 
-/* Line 678 of lalr1.cc  */
-#line 6427 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6449 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), NULL );
         }
     break;
 
-  case 765:
+  case 767:
 
-/* Line 678 of lalr1.cc  */
-#line 6431 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6453 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayConstructor( LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr) );
         }
     break;
 
-  case 766:
+  case 768:
 
-/* Line 678 of lalr1.cc  */
-#line 6438 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6460 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, false);
         }
     break;
 
-  case 767:
+  case 769:
 
-/* Line 678 of lalr1.cc  */
-#line 6443 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6465 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), false);
         }
     break;
 
-  case 768:
+  case 770:
 
-/* Line 678 of lalr1.cc  */
-#line 6451 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6473 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), NULL, true);
         }
     break;
 
-  case 769:
+  case 771:
 
-/* Line 678 of lalr1.cc  */
-#line 6456 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6478 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           // TODO: fill in with the correct constructor
           (yyval.expr) = new JSONObjectConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), true);
         }
     break;
 
-  case 770:
+  case 772:
 
-/* Line 678 of lalr1.cc  */
-#line 6465 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6487 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONDirectObjectConstructor(LOC((yyloc)),
                                                dynamic_cast<JSONPairList*>((yysemantic_stack_[(3) - (2)].node)));
         }
     break;
 
-  case 771:
+  case 773:
 
-/* Line 678 of lalr1.cc  */
-#line 6473 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6495 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = new JSONPairList(LOC((yyloc)));
           jpl->push_back(new JSONPairConstructor(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)));
@@ -10366,10 +10418,10 @@
         }
     break;
 
-  case 772:
+  case 774:
 
-/* Line 678 of lalr1.cc  */
-#line 6479 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6501 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           JSONPairList* jpl = dynamic_cast<JSONPairList*>((yysemantic_stack_[(5) - (1)].node));
           assert(jpl);
@@ -10378,10 +10430,10 @@
         }
     break;
 
-  case 773:
+  case 775:
 
-/* Line 678 of lalr1.cc  */
-#line 6489 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6511 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONObjectInsertExpr(LOC((yyloc)),
                                         static_cast<JSONPairList*>((yysemantic_stack_[(7) - (4)].node)),
@@ -10389,28 +10441,28 @@
         }
     break;
 
-  case 774:
+  case 776:
 
-/* Line 678 of lalr1.cc  */
-#line 6495 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6517 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayInsertExpr(LOC((yyloc)), (yysemantic_stack_[(10) - (4)].expr), (yysemantic_stack_[(10) - (7)].expr), (yysemantic_stack_[(10) - (10)].expr));
         }
     break;
 
-  case 775:
+  case 777:
 
-/* Line 678 of lalr1.cc  */
-#line 6502 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6524 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new JSONArrayAppendExpr(LOC((yyloc)), (yysemantic_stack_[(7) - (4)].expr), (yysemantic_stack_[(7) - (7)].expr));
         }
     break;
 
-  case 776:
+  case 778:
 
-/* Line 678 of lalr1.cc  */
-#line 6509 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6531 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation = 
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(3) - (3)].expr));
@@ -10438,10 +10490,10 @@
         }
     break;
 
-  case 777:
+  case 779:
 
-/* Line 678 of lalr1.cc  */
-#line 6538 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6560 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation = 
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(5) - (3)].expr));
@@ -10469,10 +10521,10 @@
         }
     break;
 
-  case 778:
+  case 780:
 
-/* Line 678 of lalr1.cc  */
-#line 6567 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6589 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           rchandle<DynamicFunctionInvocation> lDynamicFunctionInvocation = 
           dynamic_cast<DynamicFunctionInvocation*>((yysemantic_stack_[(7) - (5)].expr));
@@ -10500,28 +10552,10 @@
         }
     break;
 
-  case 779:
-
-/* Line 678 of lalr1.cc  */
-#line 6596 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
-  case 780:
-
-/* Line 678 of lalr1.cc  */
-#line 6600 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
-    {
-          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
-        }
-    break;
-
   case 781:
 
-/* Line 678 of lalr1.cc  */
-#line 6604 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6618 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -10529,35 +10563,53 @@
 
   case 782:
 
-/* Line 678 of lalr1.cc  */
-#line 6611 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6622 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 783:
+
+/* Line 690 of lalr1.cc  */
+#line 6626 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
+    {
+          (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
+        }
+    break;
+
+  case 784:
+
+/* Line 690 of lalr1.cc  */
+#line 6633 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonItem);
         }
     break;
 
-  case 783:
+  case 785:
 
-/* Line 678 of lalr1.cc  */
-#line 6618 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6640 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonObject);
         }
     break;
 
-  case 784:
+  case 786:
 
-/* Line 678 of lalr1.cc  */
-#line 6625 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6647 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.node) = new JSON_Test(LOC((yyloc)), store::StoreConsts::jsonArray);
         }
     break;
 
-  case 787:
+  case 789:
 
-/* Line 678 of lalr1.cc  */
-#line 6642 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6664 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     {
           auto_ptr<QName> lQName( static_cast<QName*>((yysemantic_stack_[(1) - (1)].expr)) );
           zstring const &tmp = lQName->get_qname();
@@ -10569,1560 +10621,1571 @@
         }
     break;
 
-  case 789:
+  case 791:
 
-/* Line 678 of lalr1.cc  */
-#line 6655 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6677 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("attribute"))); }
     break;
 
-  case 790:
+  case 792:
 
-/* Line 678 of lalr1.cc  */
-#line 6656 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6678 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("comment"))); }
     break;
 
-  case 791:
+  case 793:
 
-/* Line 678 of lalr1.cc  */
-#line 6657 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6679 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document-node"))); }
     break;
 
-  case 792:
+  case 794:
 
-/* Line 678 of lalr1.cc  */
-#line 6658 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6680 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("element"))); }
     break;
 
-  case 793:
+  case 795:
 
-/* Line 678 of lalr1.cc  */
-#line 6659 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6681 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("item"))); }
     break;
 
-  case 794:
+  case 796:
 
-/* Line 678 of lalr1.cc  */
-#line 6660 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6682 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("if"))); }
     break;
 
-  case 795:
+  case 797:
 
-/* Line 678 of lalr1.cc  */
-#line 6661 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6683 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("node"))); }
     break;
 
-  case 796:
+  case 798:
 
-/* Line 678 of lalr1.cc  */
-#line 6662 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6684 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("processing-instruction"))); }
     break;
 
-  case 797:
+  case 799:
 
-/* Line 678 of lalr1.cc  */
-#line 6663 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6685 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-attribute"))); }
     break;
 
-  case 798:
+  case 800:
 
-/* Line 678 of lalr1.cc  */
-#line 6664 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6686 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("schema-element"))); }
     break;
 
-  case 799:
+  case 801:
 
-/* Line 678 of lalr1.cc  */
-#line 6665 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6687 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("text"))); }
     break;
 
-  case 800:
+  case 802:
 
-/* Line 678 of lalr1.cc  */
-#line 6666 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6688 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("typeswitch"))); }
     break;
 
-  case 801:
+  case 803:
 
-/* Line 678 of lalr1.cc  */
-#line 6667 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6689 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("switch"))); }
     break;
 
-  case 802:
+  case 804:
 
-/* Line 678 of lalr1.cc  */
-#line 6668 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6690 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty-sequence"))); }
     break;
 
-  case 803:
+  case 805:
 
-/* Line 678 of lalr1.cc  */
-#line 6669 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6691 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("while"))); }
     break;
 
-  case 805:
+  case 807:
 
-/* Line 678 of lalr1.cc  */
-#line 6674 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6696 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))); }
     break;
 
-  case 806:
+  case 808:
 
-/* Line 678 of lalr1.cc  */
-#line 6675 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6697 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("xquery"))); }
     break;
 
-  case 807:
+  case 809:
 
-/* Line 678 of lalr1.cc  */
-#line 6676 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6698 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("empty"))); }
     break;
 
-  case 808:
+  case 810:
 
-/* Line 678 of lalr1.cc  */
-#line 6677 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6699 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("boundary-space"))); }
     break;
 
-  case 809:
+  case 811:
 
-/* Line 678 of lalr1.cc  */
-#line 6678 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6700 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ft-option"))); }
     break;
 
-  case 810:
+  case 812:
 
-/* Line 678 of lalr1.cc  */
-#line 6679 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6701 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("base-uri"))); }
     break;
 
-  case 811:
+  case 813:
 
-/* Line 678 of lalr1.cc  */
-#line 6680 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6702 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lax"))); }
     break;
 
-  case 812:
+  case 814:
 
-/* Line 678 of lalr1.cc  */
-#line 6681 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6703 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("strict"))); }
     break;
 
-  case 813:
+  case 815:
 
-/* Line 678 of lalr1.cc  */
-#line 6682 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6704 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("idiv"))); }
     break;
 
-  case 814:
+  case 816:
 
-/* Line 678 of lalr1.cc  */
-#line 6683 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6705 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("document"))); }
     break;
 
-  case 815:
+  case 817:
 
-/* Line 678 of lalr1.cc  */
-#line 6684 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6706 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ftnot"))); }
     break;
 
-  case 816:
+  case 818:
 
-/* Line 678 of lalr1.cc  */
-#line 6685 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6707 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("not"))); }
     break;
 
-  case 817:
+  case 819:
 
-/* Line 678 of lalr1.cc  */
-#line 6686 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6708 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sensitive"))); }
     break;
 
-  case 818:
+  case 820:
 
-/* Line 678 of lalr1.cc  */
-#line 6687 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6709 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("insensitive"))); }
     break;
 
-  case 819:
+  case 821:
 
-/* Line 678 of lalr1.cc  */
-#line 6688 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6710 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("diacritics"))); }
     break;
 
-  case 820:
+  case 822:
 
-/* Line 678 of lalr1.cc  */
-#line 6689 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6711 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("without"))); }
     break;
 
-  case 821:
+  case 823:
 
-/* Line 678 of lalr1.cc  */
-#line 6690 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6712 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stemming"))); }
     break;
 
-  case 822:
+  case 824:
 
-/* Line 678 of lalr1.cc  */
-#line 6691 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6713 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("thesaurus"))); }
     break;
 
-  case 823:
+  case 825:
 
-/* Line 678 of lalr1.cc  */
-#line 6692 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6714 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stop"))); }
     break;
 
-  case 824:
+  case 826:
 
-/* Line 678 of lalr1.cc  */
-#line 6693 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6715 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("wildcards"))); }
     break;
 
-  case 825:
+  case 827:
 
-/* Line 678 of lalr1.cc  */
-#line 6694 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6716 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("entire"))); }
     break;
 
-  case 826:
+  case 828:
 
-/* Line 678 of lalr1.cc  */
-#line 6695 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6717 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("content"))); }
     break;
 
-  case 827:
+  case 829:
 
-/* Line 678 of lalr1.cc  */
-#line 6696 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6718 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("word"))); }
     break;
 
-  case 828:
+  case 830:
 
-/* Line 678 of lalr1.cc  */
-#line 6697 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6719 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("start"))); }
     break;
 
-  case 829:
+  case 831:
 
-/* Line 678 of lalr1.cc  */
-#line 6698 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6720 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("end"))); }
     break;
 
-  case 830:
+  case 832:
 
-/* Line 678 of lalr1.cc  */
-#line 6699 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6721 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("most"))); }
     break;
 
-  case 831:
+  case 833:
 
-/* Line 678 of lalr1.cc  */
-#line 6700 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6722 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("skip"))); }
     break;
 
-  case 832:
+  case 834:
 
-/* Line 678 of lalr1.cc  */
-#line 6701 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6723 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("copy"))); }
     break;
 
-  case 833:
+  case 835:
 
-/* Line 678 of lalr1.cc  */
-#line 6702 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6724 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("general"))); }
     break;
 
-  case 834:
+  case 836:
 
-/* Line 678 of lalr1.cc  */
-#line 6703 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6725 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("value"))); }
     break;
 
-  case 835:
+  case 837:
 
-/* Line 678 of lalr1.cc  */
-#line 6704 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6726 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("eq"))); }
     break;
 
-  case 836:
+  case 838:
 
-/* Line 678 of lalr1.cc  */
-#line 6705 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6727 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ne"))); }
     break;
 
-  case 837:
+  case 839:
 
-/* Line 678 of lalr1.cc  */
-#line 6706 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6728 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("lt"))); }
     break;
 
-  case 838:
+  case 840:
 
-/* Line 678 of lalr1.cc  */
-#line 6707 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6729 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("le"))); }
     break;
 
-  case 839:
+  case 841:
 
-/* Line 678 of lalr1.cc  */
-#line 6708 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6730 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("gt"))); }
     break;
 
-  case 840:
+  case 842:
 
-/* Line 678 of lalr1.cc  */
-#line 6709 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6731 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ge"))); }
     break;
 
-  case 841:
+  case 843:
 
-/* Line 678 of lalr1.cc  */
-#line 6710 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6732 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("at"))); }
     break;
 
-  case 842:
+  case 844:
 
-/* Line 678 of lalr1.cc  */
-#line 6711 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6733 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("context"))); }
     break;
 
-  case 843:
+  case 845:
 
-/* Line 678 of lalr1.cc  */
-#line 6712 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6734 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("variable"))); }
     break;
 
-  case 844:
+  case 846:
 
-/* Line 678 of lalr1.cc  */
-#line 6713 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6735 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("return"))); }
     break;
 
-  case 845:
+  case 847:
 
-/* Line 678 of lalr1.cc  */
-#line 6714 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6736 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("for"))); }
     break;
 
-  case 846:
+  case 848:
 
-/* Line 678 of lalr1.cc  */
-#line 6715 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6737 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("allowing"))); }
     break;
 
-  case 847:
+  case 849:
 
-/* Line 678 of lalr1.cc  */
-#line 6716 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6738 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("sliding"))); }
     break;
 
-  case 848:
+  case 850:
 
-/* Line 678 of lalr1.cc  */
-#line 6717 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6739 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("tumbling"))); }
     break;
 
-  case 849:
+  case 851:
 
-/* Line 678 of lalr1.cc  */
-#line 6718 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6740 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("previous"))); }
     break;
 
-  case 850:
+  case 852:
 
-/* Line 678 of lalr1.cc  */
-#line 6719 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6741 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("next"))); }
     break;
 
-  case 851:
+  case 853:
 
-/* Line 678 of lalr1.cc  */
-#line 6720 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6742 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("only"))); }
     break;
 
-  case 852:
+  case 854:
 
-/* Line 678 of lalr1.cc  */
-#line 6721 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6743 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("when"))); }
     break;
 
-  case 853:
+  case 855:
 
-/* Line 678 of lalr1.cc  */
-#line 6722 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6744 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("count"))); }
     break;
 
-  case 854:
+  case 856:
 
-/* Line 678 of lalr1.cc  */
-#line 6723 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6745 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("in"))); }
     break;
 
-  case 855:
+  case 857:
 
-/* Line 678 of lalr1.cc  */
-#line 6724 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6746 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("let"))); }
     break;
 
-  case 856:
+  case 858:
 
-/* Line 678 of lalr1.cc  */
-#line 6725 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6747 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("where"))); }
     break;
 
-  case 857:
+  case 859:
 
-/* Line 678 of lalr1.cc  */
-#line 6726 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6748 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("by"))); }
     break;
 
-  case 858:
+  case 860:
 
-/* Line 678 of lalr1.cc  */
-#line 6727 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6749 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("group"))); }
     break;
 
-  case 859:
+  case 861:
 
-/* Line 678 of lalr1.cc  */
-#line 6728 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6750 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("order"))); }
     break;
 
-  case 860:
+  case 862:
 
-/* Line 678 of lalr1.cc  */
-#line 6729 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6751 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("stable"))); }
     break;
 
-  case 861:
+  case 863:
 
-/* Line 678 of lalr1.cc  */
-#line 6730 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6752 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("ascending"))); }
     break;
 
-  case 862:
+  case 864:
 
-/* Line 678 of lalr1.cc  */
-#line 6731 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6753 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("descending"))); }
     break;
 
-  case 863:
+  case 865:
 
-/* Line 678 of lalr1.cc  */
-#line 6732 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6754 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("greatest"))); }
     break;
 
-  case 864:
+  case 866:
 
-/* Line 678 of lalr1.cc  */
-#line 6733 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6755 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("least"))); }
     break;
 
-  case 865:
+  case 867:
 
-/* Line 678 of lalr1.cc  */
-#line 6734 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6756 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("collation"))); }
     break;
 
-  case 866:
+  case 868:
 
-/* Line 678 of lalr1.cc  */
-#line 6735 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6757 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("some"))); }
     break;
 
-  case 867:
+  case 869:
 
-/* Line 678 of lalr1.cc  */
-#line 6736 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6758 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("every"))); }
     break;
 
-  case 868:
+  case 870:
 
-/* Line 678 of lalr1.cc  */
-#line 6737 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6759 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("satisfies"))); }
     break;
 
-  case 869:
+  case 871:
 
-/* Line 678 of lalr1.cc  */
-#line 6738 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6760 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("case"))); }
     break;
 
-  case 870:
+  case 872:
 
-/* Line 678 of lalr1.cc  */
-#line 6739 "/home/markos/zorba/repo/bug-900688/src/compiler/parser/xquery_parser.y"
+/* Line 690 of lalr1.cc  */
+#line 6761 "/Users/wcandillon/28msec/zorba/sandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.expr) = new QName(LOC((yyloc)), SYMTAB(SYMTAB_PUT("as"))); }
 

Follow ups