← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/jsoniq-plan_serialization into lp:~zorba-coders/zorba/jsoniq

 

Matthias Brantner has proposed merging lp:~zorba-coders/zorba/jsoniq-plan_serialization into lp:~zorba-coders/zorba/jsoniq.

Requested reviews:
  Matthias Brantner (matthias-brantner)
  Markos Zaharioudakis (markos-za)

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/jsoniq-plan_serialization/+merge/103872

- plan serializer for jsoniq items and iterators
- some fixes for the build without json (still not compiling because of problems with the collection functions)
- marked all -nodes dml functions as deprecated
- fixed documentation of the dml and jsoniq modules
- fixed collections/dynamic5/6 tests
- ignore jsoniq.org/errors module in the moduleDocumentation test
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/jsoniq-plan_serialization/+merge/103872
Your team Zorba Coders is subscribed to branch lp:~zorba-coders/zorba/jsoniq.
=== modified file 'CMakeCompiler.txt'
--- CMakeCompiler.txt	2012-04-11 20:22:52 +0000
+++ CMakeCompiler.txt	2012-04-27 13:22:48 +0000
@@ -108,6 +108,9 @@
   IF(NOT CMAKE_CXX_FLAGS MATCHES "-Wextra")
     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra")
   ENDIF(NOT CMAKE_CXX_FLAGS MATCHES "-Wextra")
+  IF(NOT CMAKE_CXX_FLAGS MATCHES "-D_FILE_OFFSET_BITS")
+    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FILE_OFFSET_BITS=64")
+  ENDIF(NOT CMAKE_CXX_FLAGS MATCHES "-D_FILE_OFFSET_BITS")
   IF (UNIX AND NOT APPLE)
     IF (NOT CMAKE_SHARED_LINKER_FLAGS MATCHES "as-needed")
       SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--as-needed")

=== modified file 'CMakeConfiguration.txt'
--- CMakeConfiguration.txt	2012-04-11 20:22:52 +0000
+++ CMakeConfiguration.txt	2012-04-27 13:22:48 +0000
@@ -135,14 +135,14 @@
 SET (ZORBA_DEBUG_STRING ${ZORBA_DEBUG_STRING} CACHE BOOL "debug strings")
 MESSAGE (STATUS "ZORBA_DEBUG_STRING:                   " ${ZORBA_DEBUG_STRING})
 
-SET(ZORBA_NO_UNICODE OFF CACHE BOOL "disable ICU")
-MESSAGE(STATUS "ZORBA_NO_UNICODE:                     " ${ZORBA_NO_UNICODE})
+SET(ZORBA_NO_ICU OFF CACHE BOOL "disable ICU")
+MESSAGE(STATUS "ZORBA_NO_ICU:                         " ${ZORBA_NO_ICU})
 
-IF (ZORBA_NO_UNICODE)
+IF (ZORBA_NO_ICU)
   SET (no_full_text ON)
-ELSE (ZORBA_NO_UNICODE)
+ELSE (ZORBA_NO_ICU)
   SET (no_full_text OFF)
-ENDIF (ZORBA_NO_UNICODE)
+ENDIF (ZORBA_NO_ICU)
 SET (ZORBA_NO_FULL_TEXT ${no_full_text} CACHE BOOL "disable XQuery Full-Text support")
 MESSAGE(STATUS "ZORBA_NO_FULL_TEXT:                   " ${ZORBA_NO_FULL_TEXT})
 

=== modified file 'CMakeLists.txt'
--- CMakeLists.txt	2012-04-11 20:22:52 +0000
+++ CMakeLists.txt	2012-04-27 13:22:48 +0000
@@ -123,10 +123,14 @@
 CHECK_TYPE_SIZE("int64_t" ZORBA_HAVE_INT64_T) 
 
 CHECK_CXX_SOURCE_COMPILES ("#include <type_traits>\nint main() { std::enable_if<true,int> x; }" ZORBA_CXX_ENABLE_IF)
-CHECK_CXX_SOURCE_COMPILES ("int main() { int *p = nullptr; }" ZORBA_CXX_NULLPTR)
-CHECK_CXX_SOURCE_COMPILES ("int main() { static_assert(1,\"\"); }" ZORBA_CXX_STATIC_ASSERT)
+SET(CMAKE_EXTRA_INCLUDE_FILES wchar.h)
+CHECK_TYPE_SIZE("wchar_t" ZORBA_SIZEOF_WCHAR_T)
+SET(CMAKE_EXTRA_INCLUDE_FILES)
 CHECK_CXX_SOURCE_COMPILES ("#include <memory>\nint main() { std::unique_ptr<int> p; }" ZORBA_CXX_UNIQUE_PTR)
 
+CHECK_CXX_SOURCE_COMPILES("int main() { int *p = nullptr; }" ZORBA_CXX_NULLPTR)
+CHECK_CXX_SOURCE_COMPILES("int main() { static_assert(1,\"\"); }" ZORBA_CXX_STATIC_ASSERT)
+
 ################################################################################
 # Various cmake macros
 

=== modified file 'ChangeLog'
--- ChangeLog	2012-04-12 09:18:43 +0000
+++ ChangeLog	2012-04-27 13:22:48 +0000
@@ -3,7 +3,14 @@
 version 2.5
 
 New Features:
+  * fn:available-environment-variables
+  * fn:environment-variables
+  * fn:uri-collection
+  * fn:unparsed-text
+  * fn:unparsed-text-available
   * Extended API for Python, Java, PHP and Ruby.
+  * Add jvm classpath to zorbacmd and to Zorba API. Tracked by #931816
+  * Added support for NO_ICU (to not use ICU for unicode processing)
 
 Optimization:
 
@@ -11,13 +18,21 @@
   * Fixed bug 955170 (Catch clause with URILiteral-based wilcard NameTest)
   * Fixed bug 955135 (err:XQDY0044 not caught by try-catch expressions)
   * Fixed bug #967864 (var substitution did not update theFreeVars property)
+  * Fixed buf #891650 (context size var not always declared within path expr)
+  * Fixed bug #948879 (--uri-path doesn't work with fetch:content())
   * Fixed bug in window iterator (binding the end vars in the output tuple stream)
   * Fixed bug #866547 (protect index-join rule from general flwor)
+  * Fixed bug #867253 (cdml:delete-nodes should only remove root nodes)
   * Fixed bug #967428 (do not hoist index creation outside a try-catch)
   * Fixed performance problem with the findNodeSources function of the no-copy rule
   * Fixed bug #872234 (prevent a rewritting to take place in case of sequential expr)
+  * Fixed bug #906494 (default compile with D_FILE_OFFSET_BITS=64)
   * Fixed bug #912586, #912593 and #912722 (assertion failures with lax validation)
+  * Fixed bug #921458 (file:read-text-lines() blocking)
+  * Fixed bug #980526 (no-copy rule bug due to global var being set in "distant" udf)
   * Fixed bug #949910 (has-children may be invoked on all nodes). Internally, zorba::store::Item::getChildren() now returns NULL on node classes without offspring (instead of raising an error).
+  * Fixed Bug #933490: Error ItemFactoryImpl::createBase64Binary with istream
+  * Fixed bug #867112 (Diagnostic Handler was not working on external APIs)
 
 
 version 2.2
@@ -153,7 +168,9 @@
   * Fixed bug when parsing a document with a base-uri attribute.
   * Fixed bug #863320 (Sentence is incorrectly incremented when token characters end without sentence terminator)
   * Fixed bug #863730 (static delete-node* functions don't raise ZDDY0012)
+  * Implemented the probe-index-range-value for general indexes
   * Removed ZSTR0005 and ZSTR0006 error codes
+  * Fixed bug #867662 ("nullptr" warning)
   * Fixed bug #868258 (Assertion failure with two delete collection)
   * Fixed bug #871623 and #871629 (assertion failures with insertions in dynamic collections)
   * Fixed bug #867262 (allow reuse of iterator over ExtFuncArgItemSequence)
@@ -162,6 +179,8 @@
   * New node-reference module. References can be obtained for any node, and
 	different nodes cannot have the same identifier.
   * Fixed bug #872697  (segmentation fault with validation of NMTOKENS)
+  * General index cannot be declared as unique if the type of its key is
+    xs:anyAtomicType or xs:untypedAtomic.
   * Added undo for node revalidation
   * Optimization for count(collection()) expressions
   * Fixed bug #872796  (validate-in-place can interfere with other update primitives)
@@ -180,6 +199,8 @@
   * Fixed bug #855715 (Invalid escaped characters in regex not caught)
   * Fixed bug #862089 (Split binary/xq install directories for modules) by
   splitting "module path" into separate URI and Library paths
+  * New node-position module. This module allows to obtain a representation of a node position, which
+    can be used to assess structural relationships with other nodes.   
   * Fixed bug #872502 (validation of the JSON module xqdoc fails)
   * Fixed bug #897619 (testdriver_mt can not run the XQueryX tests)
   * Fixed bug #867107 (xqdoc dependency to zorba is wrong)

=== modified file 'KNOWN_ISSUES.txt'
--- KNOWN_ISSUES.txt	2012-04-11 20:22:52 +0000
+++ KNOWN_ISSUES.txt	2012-04-27 13:22:48 +0000
@@ -37,7 +37,7 @@
 * The serializer currently doesn't implement character maps as specified
   (http://www.w3.org/TR/xslt-xquery-serialization/#character-maps)
 
-* In the 2.0 release, setting the CMake variables ZORBA_NO_UNICODE to
+* In the 2.0 release, setting the CMake variables ZORBA_NO_ICU to
   ON is not supported.
 
 * The PHP language binding is not supported on Mac OS X. For details,

=== modified file 'NOTICE.txt'
--- NOTICE.txt	2012-04-11 20:22:52 +0000
+++ NOTICE.txt	2012-04-27 13:22:48 +0000
@@ -459,6 +459,24 @@
           suitability of this software for any purpose. It is provided "as is"
           without express or implied warranty.
     
+----------------------------------------------------
+
+src/util/win32/dirent.h
+
+Copyright: 2006 Toni Ronkko
+
+
+      Permission is hereby granted, free of charge, to any person obtaining
+      a copy of this software and associated documentation files (the
+      ``Software''), to deal in the Software without restriction, including
+      without limitation the rights to use, copy, modify, merge, publish,
+      distribute, sublicense, and/or sell copies of the Software, and to
+      permit persons to whom the Software is furnished to do so, subject to
+      the following conditions:
+
+      The above copyright notice and this permission notice shall be included
+      in all copies or substantial portions of the Software.
+    
 
 External libraries used by this project:
 ----------------------------------------------------

=== modified file 'NOTICE.xml'
--- NOTICE.xml	2012-04-11 20:22:52 +0000
+++ NOTICE.xml	2012-04-27 13:22:48 +0000
@@ -423,6 +423,22 @@
           without express or implied warranty.
     </foreign-notice>
   </foreign-files>
+  <foreign-files>
+    <file>src/util/win32/dirent.h</file>
+    <copyright>2006 Toni Ronkko</copyright>
+    <foreign-notice>
+      Permission is hereby granted, free of charge, to any person obtaining
+      a copy of this software and associated documentation files (the
+      ``Software''), to deal in the Software without restriction, including
+      without limitation the rights to use, copy, modify, merge, publish,
+      distribute, sublicense, and/or sell copies of the Software, and to
+      permit persons to whom the Software is furnished to do so, subject to
+      the following conditions:
+
+      The above copyright notice and this permission notice shall be included
+      in all copies or substantial portions of the Software.
+    </foreign-notice>
+  </foreign-files>
 
   <external-lib mandatory="true">
     <name>LIBXML2</name>

=== modified file 'bin/path_util.cpp'
--- bin/path_util.cpp	2012-04-11 20:22:52 +0000
+++ bin/path_util.cpp	2012-04-27 13:22:48 +0000
@@ -49,7 +49,7 @@
 }
 
 
-static void
+void
 tokenizePath(
   const std::string&    aPathStr,
   std::vector<String>&  aResult)
@@ -66,6 +66,23 @@
   }
 }
 
+
+String
+concatenatePaths( const std::vector<String>& aPathList)
+{
+  String delimiter(filesystem_path::get_path_separator());
+
+  String lResult;
+  for (std::vector<String>::const_iterator lIter = aPathList.begin();
+       lIter != aPathList.end(); ++lIter)
+  {
+    lResult += delimiter + *lIter;
+  }
+
+  return lResult;
+}
+
+
 void
 setPathsOnContext(
   const ZorbaCMDProperties& aProperties,
@@ -101,8 +118,8 @@
     // Compute and set lib path
     aProperties.getLibPath(lPathStr);
     tokenizePath(lPathStr, lPath);
+    lPath.push_back(lCWD.get_path());
     lEnvStr = getPathFromEnvironment("ZORBA_LIB_PATH");
-    lPath.push_back(lCWD.get_path());
     tokenizePath(lEnvStr, lPath);
     aStaticCtx->setLibPath(lPath);
   }

=== modified file 'bin/path_util.h'
--- bin/path_util.h	2012-04-11 20:22:52 +0000
+++ bin/path_util.h	2012-04-27 13:22:48 +0000
@@ -32,6 +32,12 @@
     setPathsOnContext(const ZorbaCMDProperties& aProperties,
                       zorba::StaticContext_t& aStaticCtx);
 
+    void
+    tokenizePath(const std::string& aPathStr, std::vector<String>&  aResult);
+
+
+    String
+    concatenatePaths( const std::vector<String>& aPathList);
 
   }
 } /* namespace zorba */

=== modified file 'bin/zorbacmd.cpp'
--- bin/zorbacmd.cpp	2012-04-11 20:22:52 +0000
+++ bin/zorbacmd.cpp	2012-04-27 13:22:48 +0000
@@ -787,6 +787,14 @@
     return 3;
   }
 
+  // Add command line --classpath option in front of config/env CLASSPATH
+  Properties* globalProperties = Properties::instance();
+  std::string cmdJvmClassPath;
+  lProperties.getJVMClassPath(cmdJvmClassPath);
+  std::string configJvmClassPath;
+  globalProperties->getJVMClassPath(configJvmClassPath);
+  globalProperties->setJVMClassPath(cmdJvmClassPath +
+      filesystem_path::get_path_separator() + configJvmClassPath);
 
   // Start the engine
 

=== modified file 'bin/zorbacmdproperties.cpp'
--- bin/zorbacmdproperties.cpp	2012-04-11 20:22:52 +0000
+++ bin/zorbacmdproperties.cpp	2012-04-27 13:22:48 +0000
@@ -181,6 +181,11 @@
   aPath = theLibPath;
 }
 
+void ZorbaCMDProperties::getJVMClassPath(std::string& aPath) const
+{
+  aPath = theClasspath;
+}
+
 std::vector<std::pair<std::string,std::string> > ZorbaCMDProperties::getSerializerParameters() const
 {
   std::vector<std::pair<std::string,std::string> > lResult;

=== modified file 'bin/zorbacmdproperties.h'
--- bin/zorbacmdproperties.h	2012-04-11 20:22:52 +0000
+++ bin/zorbacmdproperties.h	2012-04-27 13:22:48 +0000
@@ -92,6 +92,9 @@
   void
   getLibPath(std::string&) const;
 
+  void
+  getJVMClassPath(std::string&) const;
+
   bool isDebug(){ return theDebug; }
 
   bool hasNoLogo(){ return theNoLogo; }

=== modified file 'bin/zorbacmdproperties.txt'
--- bin/zorbacmdproperties.txt	2012-04-11 20:22:52 +0000
+++ bin/zorbacmdproperties.txt	2012-04-27 13:22:48 +0000
@@ -31,6 +31,7 @@
 ("uri-path", po::value<std::string>(), "URI path (list of directories) added to the built-in URI resolver, i.e. where to find modules/schemas to import.")
 ("lib-path", po::value<std::string>(), "Library path (list of directories) where Zorba will look for dynamic libraries (e.g., module external function implementations.")
 ("module-path", po::value<std::string>(), "Path (list of directories) to add to both the URI and Library paths.")
+("classpath", po::value<std::string>(), "JVM classpath to be used by modules using Java implementations")
 ("option", po::value<std::vector<std::string> >(), "Set an XQuery option in the static context. The QName of the option is passed as a string in the notation by James Clark (i.e. {namespace}localname). For example, --option {http://www.zorba-xquery.com}option=value";).
 ("trailing-nl", "Output a trailing newline after the result of the query.")
 ("stop-words", po::value<std::vector<std::string> >(), "Mapping specifying a stop-words URI to another.")

=== modified file 'bin/zorbacmdproperties_base.h'
--- bin/zorbacmdproperties_base.h	2012-04-11 20:22:52 +0000
+++ bin/zorbacmdproperties_base.h	2012-04-27 13:22:48 +0000
@@ -15,13 +15,6 @@
  */
 /* vim:set et sw=2 ts=2: */
 
-// ******************************************
-// *                                        *
-// * THIS IS A GENERATED FILE. DO NOT EDIT! *
-// * SEE .txt FILE WITH SAME NAME           *
-// *                                        *
-// ******************************************
-
 #include <string>
 #include <sstream>
 #include <zorba/config.h>
@@ -30,13 +23,29 @@
 
 #ifndef ZORBACMD_ZORBACMDPROPERTIESBASE
 #define ZORBACMD_ZORBACMDPROPERTIESBASE
-namespace zorbacmd { 
-class ZorbaCMDPropertiesBase : public ::zorba::PropertiesBase {
+namespace zorbacmd
+{
+
+class ZorbaCMDPropertiesBase : public ::zorba::PropertiesBase
+{
 protected:
-  const char **get_all_options () const {
-    static const char *result [] = { "--timing", "--output-file", "--serialization-parameter", "--serialize-html", "--serialize-text", "--indent", "--print-query", "--print-errors-as-xml", "--byte-order-mark", "--omit-xml-declaration", "--base-uri", "--boundary-space", "--default-collation", "--construction-mode", "--ordering-mode", "--multiple", "--query", "--as-files", "--external-variable", "--context-item", "--optimization-level", "--lib-module", "--parse-only", "--compile-only", "--no-serializer", "--debug", "--debug-host", "--debug-port", "--no-logo", "--timeout", "--uri-path", "--lib-path", "--module-path", "--option", "--trailing-nl", "--stop-words", "--thesaurus", "--compile-plan", "--execute-plan", NULL };
+  const char **get_all_options () const
+  {
+    static const char *result [] = {
+      "--timing", "--output-file", "--serialization-parameter",
+      "--serialize-html", "--serialize-text", "--indent", "--print-query",
+      "--print-errors-as-xml", "--byte-order-mark", "--omit-xml-declaration",
+      "--base-uri", "--boundary-space", "--default-collation",
+      "--construction-mode", "--ordering-mode", "--multiple", "--query",
+      "--as-files", "--external-variable", "--context-item",
+      "--optimization-level", "--lib-module", "--parse-only", "--compile-only",
+      "--no-serializer", "--debug", "--debug-host", "--debug-port", "--no-logo",
+      "--timeout", "--uri-path", "--lib-path", "--module-path", "--classpath",
+      "--option", "--trailing-nl", "--stop-words", "--thesaurus",
+      "--compile-plan", "--execute-plan", NULL };
     return result;
   }
+
   bool theTiming;
   std::string theOutputFile;
   std::vector<std::string> theSerializationParameter;
@@ -70,6 +79,7 @@
   std::string theUriPath;
   std::string theLibPath;
   std::string theModulePath;
+  std::string theClasspath;
   std::vector<std::string> theOption;
   bool theTrailingNl;
   std::vector<std::string> theStopWords;
@@ -136,6 +146,7 @@
   const std::string &uriPath () const { return theUriPath; }
   const std::string &libPath () const { return theLibPath; }
   const std::string &modulePath () const { return theModulePath; }
+  const std::string &classpath () const { return theClasspath; }
   const std::vector<std::string> &option () const { return theOption; }
   const bool &trailingNl () const { return theTrailingNl; }
   const std::vector<std::string> &stopWords () const { return theStopWords; }
@@ -158,12 +169,16 @@
       else if (strcmp (*argv, "--output-file") == 0 || strncmp (*argv, "-o", 2) == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --output-file option"; break; }        init_val (*argv, theOutputFile, d);
+        if (*argv == NULL) { result = "No value given for --output-file option"; break; }
+
+        init_val (*argv, theOutputFile, d);
       }
       else if (strcmp (*argv, "--serialization-parameter") == 0 || strncmp (*argv, "-z", 2) == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --serialization-parameter option"; break; }        init_val (*argv, theSerializationParameter, d);
+        if (*argv == NULL) { result = "No value given for --serialization-parameter option"; break; }
+
+        init_val (*argv, theSerializationParameter, d);
       }
       else if (strcmp (*argv, "--serialize-html") == 0) {
         theSerializeHtml = true;
@@ -189,37 +204,51 @@
       else if (strcmp (*argv, "--base-uri") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --base-uri option"; break; }        init_val (*argv, theBaseUri, d);
+        if (*argv == NULL) { result = "No value given for --base-uri option"; break; }
+
+        init_val (*argv, theBaseUri, d);
       }
       else if (strcmp (*argv, "--boundary-space") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --boundary-space option"; break; }        init_val (*argv, theBoundarySpace, d);
+        if (*argv == NULL) { result = "No value given for --boundary-space option"; break; }
+
+        init_val (*argv, theBoundarySpace, d);
       }
       else if (strcmp (*argv, "--default-collation") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --default-collation option"; break; }        init_val (*argv, theDefaultCollation, d);
+        if (*argv == NULL) { result = "No value given for --default-collation option"; break; }
+
+        init_val (*argv, theDefaultCollation, d);
       }
       else if (strcmp (*argv, "--construction-mode") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --construction-mode option"; break; }        init_val (*argv, theConstructionMode, d);
+        if (*argv == NULL) { result = "No value given for --construction-mode option"; break; }
+
+        init_val (*argv, theConstructionMode, d);
       }
       else if (strcmp (*argv, "--ordering-mode") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --ordering-mode option"; break; }        init_val (*argv, theOrderingMode, d);
+        if (*argv == NULL) { result = "No value given for --ordering-mode option"; break; }
+
+        init_val (*argv, theOrderingMode, d);
       }
       else if (strcmp (*argv, "--multiple") == 0 || strncmp (*argv, "-m", 2) == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --multiple option"; break; }        init_val (*argv, theMultiple, d);
+        if (*argv == NULL) { result = "No value given for --multiple option"; break; }
+
+        init_val (*argv, theMultiple, d);
       }
       else if (strcmp (*argv, "--query") == 0 || strncmp (*argv, "-q", 2) == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --query option"; break; }        init_val (*argv, theQueriesOrFiles, d);
+        if (*argv == NULL) { result = "No value given for --query option"; break; }
+
+        init_val (*argv, theQueriesOrFiles, d);
       }
       else if (strcmp (*argv, "--as-files") == 0 || strncmp (*argv, "-f", 2) == 0) {
         theAsFiles = true;
@@ -227,17 +256,23 @@
       else if (strcmp (*argv, "--external-variable") == 0 || strncmp (*argv, "-e", 2) == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --external-variable option"; break; }        init_val (*argv, theExternalVariable, d);
+        if (*argv == NULL) { result = "No value given for --external-variable option"; break; }
+
+        init_val (*argv, theExternalVariable, d);
       }
       else if (strcmp (*argv, "--context-item") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --context-item option"; break; }        init_val (*argv, theContextItem, d);
+        if (*argv == NULL) { result = "No value given for --context-item option"; break; }
+
+        init_val (*argv, theContextItem, d);
       }
       else if (strcmp (*argv, "--optimization-level") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --optimization-level option"; break; }        init_val (*argv, theOptimizationLevel, d);
+        if (*argv == NULL) { result = "No value given for --optimization-level option"; break; }
+
+        init_val (*argv, theOptimizationLevel, d);
       }
       else if (strcmp (*argv, "--lib-module") == 0 || strncmp (*argv, "-l", 2) == 0) {
         theLibModule = true;
@@ -257,12 +292,16 @@
       else if (strcmp (*argv, "--debug-host") == 0 || strncmp (*argv, "-h", 2) == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --debug-host option"; break; }        init_val (*argv, theDebugHost, d);
+        if (*argv == NULL) { result = "No value given for --debug-host option"; break; }
+
+        init_val (*argv, theDebugHost, d);
       }
       else if (strcmp (*argv, "--debug-port") == 0 || strncmp (*argv, "-p", 2) == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --debug-port option"; break; }        init_val (*argv, theDebugPort, d);
+        if (*argv == NULL) { result = "No value given for --debug-port option"; break; }
+
+        init_val (*argv, theDebugPort, d);
       }
       else if (strcmp (*argv, "--no-logo") == 0) {
         theNoLogo = true;
@@ -270,27 +309,44 @@
       else if (strcmp (*argv, "--timeout") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --timeout option"; break; }        init_val (*argv, theTimeout, d);
+        if (*argv == NULL) { result = "No value given for --timeout option"; break; }
+
+        init_val (*argv, theTimeout, d);
       }
       else if (strcmp (*argv, "--uri-path") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --uri-path option"; break; }        init_val (*argv, theUriPath, d);
+        if (*argv == NULL) { result = "No value given for --uri-path option"; break; }
+
+        init_val (*argv, theUriPath, d);
       }
       else if (strcmp (*argv, "--lib-path") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --lib-path option"; break; }        init_val (*argv, theLibPath, d);
+        if (*argv == NULL) { result = "No value given for --lib-path option"; break; }
+
+        init_val (*argv, theLibPath, d);
       }
       else if (strcmp (*argv, "--module-path") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --module-path option"; break; }        init_val (*argv, theModulePath, d);
+        if (*argv == NULL) { result = "No value given for --module-path option"; break; }
+
+        init_val (*argv, theModulePath, d);
+      }
+      else if (strcmp (*argv, "--classpath") == 0) {
+        int d = 2;
+        if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
+        if (*argv == NULL) { result = "No value given for --classpath option"; break; }
+
+        init_val (*argv, theClasspath, d);
       }
       else if (strcmp (*argv, "--option") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --option option"; break; }        init_val (*argv, theOption, d);
+        if (*argv == NULL) { result = "No value given for --option option"; break; }
+
+        init_val (*argv, theOption, d);
       }
       else if (strcmp (*argv, "--trailing-nl") == 0) {
         theTrailingNl = true;
@@ -298,12 +354,16 @@
       else if (strcmp (*argv, "--stop-words") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --stop-words option"; break; }        init_val (*argv, theStopWords, d);
+        if (*argv == NULL) { result = "No value given for --stop-words option"; break; }
+
+        init_val (*argv, theStopWords, d);
       }
       else if (strcmp (*argv, "--thesaurus") == 0) {
         int d = 2;
         if ((*argv) [1] == '-' || (*argv) [2] == '\0') { d = 0; ++argv; }
-        if (*argv == NULL) { result = "No value given for --thesaurus option"; break; }        init_val (*argv, theThesaurus, d);
+        if (*argv == NULL) { result = "No value given for --thesaurus option"; break; }
+
+        init_val (*argv, theThesaurus, d);
       }
       else if (strcmp (*argv, "--compile-plan") == 0 || strncmp (*argv, "-c", 2) == 0) {
         theCompilePlan = true;
@@ -327,46 +387,47 @@
 
   const char *get_help_msg () const {
     return
-"--timing, -t\nPrint timing information. In case of multiple queries the timing information is provided per each query. Both wallclock time and user time (which excludes I/O, network delays and other kernel waits) are shown.\n\n"
-"--output-file, -o\nWrite the result to the given file.\n\n"
-"--serialization-parameter, -z\nSet serialization parameter in the form of a parameter=value pair (see http://www.w3.org/TR/xslt-xquery-serialization/#serparam, e.g.: -z method=xhtml -z doctype-system=DTD/xhtml1-strict.dtd -z indent=yes).\n\n"
-"--serialize-html\nSerialize the result as HTML.\n\n"
-"--serialize-text\nSerialize the result as Text.\n\n"
-"--indent, -i\nIndent output.\n\n"
-"--print-query\nPrint the queries.\n\n"
-"--print-errors-as-xml, -x\nPrint the errors as XML.\n\n"
-"--byte-order-mark\nSet the byte-order-mark for the serializer.\n\n"
-"--omit-xml-declaration, -r\nOmit the XML declaration from the result.\n\n"
-"--base-uri\nSet the base URI property of the static context.\n\n"
-"--boundary-space\nSet the boundary-space policy ('strip' or 'preserve') in the static context.\n\n"
-"--default-collation\nAdd the given collation and set the value of the default collation in the static context to the given collation.\n\n"
-"--construction-mode\nSet the construction mode ('strip' or 'preserve') in the static context.\n\n"
-"--ordering-mode\nSet the ordering mode ('ordered' or 'unordered') in the static context.\n\n"
-"--multiple, -m\nExecute the given queries multiple times.\n\n"
-"--query, -q\nQuery test or file URI (file://...)\n\n"
-"--as-files, -f\nTreat all -q arguments as file paths instead of URIs or inline queries.\n\n"
-"--external-variable, -e\nProvide the value for a variable given a file (name=file) or a value (name:=value)\n\n"
-"--context-item\nSet the context item to the XML document in a given file.\n\n"
-"--optimization-level\nOptimization level for the query compiler (O0, O1 or O2 - default: O1)\n\n"
-"--lib-module, -l\nQuery compiler option to treat the query as a library module. If this is set --compile-only option is also set to true.\n\n"
-"--parse-only\nStop after parsing the query.\n\n"
-"--compile-only\nOnly compile (don't execute)\n\n"
-"--no-serializer\nDo not serialize (discard) result.\n\n"
-"--debug, -d\nLaunch the Zorba debugger server and connect to a DBGP-enabled debugger client.\n\n"
-"--debug-host, -h\nThe host where the DBGP-enabled debugger client listens for connections. Defaults to: 127.0.0.1\n\n"
-"--debug-port, -p\nThe port on which the DBGP-enabled debugger client listens for connections. Defaults to: 28028\n\n"
-"--no-logo\nPrint no logo when starting.\n\n"
-"--timeout\nSpecify a timeout in seconds. After the specified time, the execution of the query will be aborted.\n\n"
-"--uri-path\nURI path (list of directories) added to the built-in URI resolver, i.e. where to find modules/schemas to import.\n\n"
-"--lib-path\nLibrary path (list of directories) where Zorba will look for dynamic libraries (e.g., module external function implementations.\n\n"
-"--module-path\nPath (list of directories) to add to both the URI and Library paths.\n\n"
-"--option\nSet an XQuery option in the static context. The QName of the option is passed as a string in the notation by James Clark (i.e. {namespace}localname). For example, --option {http://www.zorba-xquery.com}option=value\n\n";
-"--trailing-nl\nOutput a trailing newline after the result of the query.\n\n"
-"--stop-words\nMapping specifying a stop-words URI to another.\n\n"
-"--thesaurus\nMapping specifying a thesaurus URI to another.\n\n"
-"--compile-plan, -c\nOutput the query plan as binary.\n\n"
-"--execute-plan\nTake a query plan as binary and execute it. Binary query plans can be generated using the --compile-plan option.\n\n"
-;
+        "--timing, -t\nPrint timing information. In case of multiple queries the timing information is provided per each query. Both wallclock time and user time (which excludes I/O, network delays and other kernel waits) are shown.\n\n"
+        "--output-file, -o\nWrite the result to the given file.\n\n"
+        "--serialization-parameter, -z\nSet serialization parameter in the form of a parameter=value pair (see http://www.w3.org/TR/xslt-xquery-serialization/#serparam, e.g.: -z method=xhtml -z doctype-system=DTD/xhtml1-strict.dtd -z indent=yes).\n\n"
+        "--serialize-html\nSerialize the result as HTML.\n\n"
+        "--serialize-text\nSerialize the result as Text.\n\n"
+        "--indent, -i\nIndent output.\n\n"
+        "--print-query\nPrint the queries.\n\n"
+        "--print-errors-as-xml, -x\nPrint the errors as XML.\n\n"
+        "--byte-order-mark\nSet the byte-order-mark for the serializer.\n\n"
+        "--omit-xml-declaration, -r\nOmit the XML declaration from the result.\n\n"
+        "--base-uri\nSet the base URI property of the static context.\n\n"
+        "--boundary-space\nSet the boundary-space policy ('strip' or 'preserve') in the static context.\n\n"
+        "--default-collation\nAdd the given collation and set the value of the default collation in the static context to the given collation.\n\n"
+        "--construction-mode\nSet the construction mode ('strip' or 'preserve') in the static context.\n\n"
+        "--ordering-mode\nSet the ordering mode ('ordered' or 'unordered') in the static context.\n\n"
+        "--multiple, -m\nExecute the given queries multiple times.\n\n"
+        "--query, -q\nQuery test or file URI (file://...)\n\n"
+        "--as-files, -f\nTreat all -q arguments as file paths instead of URIs or inline queries.\n\n"
+        "--external-variable, -e\nProvide the value for a variable given a file (name=file) or a value (name:=value)\n\n"
+        "--context-item\nSet the context item to the XML document in a given file.\n\n"
+        "--optimization-level\nOptimization level for the query compiler (O0, O1 or O2 - default: O1)\n\n"
+        "--lib-module, -l\nQuery compiler option to treat the query as a library module. If this is set --compile-only option is also set to true.\n\n"
+        "--parse-only\nStop after parsing the query.\n\n"
+        "--compile-only\nOnly compile (don't execute)\n\n"
+        "--no-serializer\nDo not serialize (discard) result.\n\n"
+        "--debug, -d\nLaunch the Zorba debugger server and connect to a DBGP-enabled debugger client.\n\n"
+        "--debug-host, -h\nThe host where the DBGP-enabled debugger client listens for connections. Defaults to: 127.0.0.1\n\n"
+        "--debug-port, -p\nThe port on which the DBGP-enabled debugger client listens for connections. Defaults to: 28028\n\n"
+        "--no-logo\nPrint no logo when starting.\n\n"
+        "--timeout\nSpecify a timeout in seconds. After the specified time, the execution of the query will be aborted.\n\n"
+        "--uri-path\nURI path (list of directories) added to the built-in URI resolver, i.e. where to find modules/schemas to import.\n\n"
+        "--lib-path\nLibrary path (list of directories) where Zorba will look for dynamic libraries (e.g., module external function implementations.\n\n"
+        "--module-path\nPath (list of directories) to add to both the URI and Library paths.\n\n"
+        "--classpath\nJVM classpath to be used by modules using Java implementations\n\n"
+        "--option\nSet an XQuery option in the static context. The QName of the option is passed as a string in the notation by James Clark (i.e. {namespace}localname). For example, --option {http://www.zorba-xquery.com}option=value\n\n";
+        "--trailing-nl\nOutput a trailing newline after the result of the query.\n\n"
+        "--stop-words\nMapping specifying a stop-words URI to another.\n\n"
+        "--thesaurus\nMapping specifying a thesaurus URI to another.\n\n"
+        "--compile-plan, -c\nOutput the query plan as binary.\n\n"
+        "--execute-plan\nTake a query plan as binary and execute it. Binary query plans can be generated using the --compile-plan option.\n\n"
+        ;
   }
 
   static const ZorbaCMDPropertiesBase *instance () {

=== modified file 'cmake_modules/ZorbaModule.cmake'
--- cmake_modules/ZorbaModule.cmake	2012-04-11 20:22:52 +0000
+++ cmake_modules/ZorbaModule.cmake	2012-04-27 13:22:48 +0000
@@ -140,7 +140,6 @@
   ENDIF (NOT IS_ABSOLUTE "${MODULE_FILE}")
   GET_FILENAME_COMPONENT (module_name "${MODULE_FILE}" NAME)
 
-
   MANGLE_URI (${MODULE_URI} ".xq" module_path module_filename)
 
   # Compute a CMake-symbol-safe version of the target URI, for storing
@@ -267,6 +266,14 @@
       SET (module_filewe "${module_filewe}_${MODULE_VERSION}")
     ENDIF (MODULE_VERSION)
 
+    # Compute the output path for the library. Note: This is copied
+    # from ADD_COPY_RULE(); probably should refactor this logic.
+    IF (${MODULE_TEST_ONLY} EQUAL 1)
+      SET (_output_basedir "${CMAKE_BINARY_DIR}/TEST_LIB_PATH")
+    ELSE (${MODULE_TEST_ONLY} EQUAL 1)
+      SET (_output_basedir "${CMAKE_BINARY_DIR}/LIB_PATH")
+    ENDIF (${MODULE_TEST_ONLY} EQUAL 1)
+
     # It seems like it would be nice to set the VERSION and/or
     # SOVERSION target properties here. However: On Windows, it
     # doesn't seem to do anything (the .rc file configured above
@@ -278,12 +285,44 @@
     # FOLDER is to group IDE projects into folders.
     SET_TARGET_PROPERTIES (${module_lib_target} PROPERTIES
       OUTPUT_NAME "${module_filewe}${SUFFIX}"
-      ${target_type}_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${module_name}.src"
+      ${target_type}_OUTPUT_DIRECTORY "${_output_basedir}/${module_path}"
       FOLDER "Modules"
-    )
-    TARGET_LINK_LIBRARIES(${module_lib_target}
-      zorba_${ZORBA_STORE_NAME} ${MODULE_LINK_LIBRARIES})
-
+      )
+    TARGET_LINK_LIBRARIES(${module_lib_target} zorba_${ZORBA_STORE_NAME})
+ 
+    # Ridiculous hack: CMake doesn't seem to (reliably) set up
+    # dependencies if you specify a library to TARGET_LINK_LIBRARIES()
+    # which is the output of some other ADD_LIBRARY(). We can't solve
+    # this problem in the general case. We can work around it,
+    # however, in the specific case where the target library was
+    # generated by an earlier call to DECLARE_ZORBA_MODULE() - by
+    # remembering that output library's path and its corresponding
+    # target in a global property.
+    FOREACH (_lib ${MODULE_LINK_LIBRARIES})
+      GET_PROPERTY (_targetname GLOBAL PROPERTY "${_lib}_TARGET")
+      IF ("${_targetname}" STREQUAL "")
+	TARGET_LINK_LIBRARIES(${module_lib_target} "${_lib}")
+      ELSE ("${_targetname}" STREQUAL "")
+	TARGET_LINK_LIBRARIES(${module_lib_target} "${_targetname}")
+      ENDIF ("${_targetname}" STREQUAL "")
+    ENDFOREACH (_lib)
+
+    # Remember this library for the auto-generated module Config.cmake
+    # file. Also remember the target name for the hack mentioned
+    # above.  QQQ and what about the installed version?
+    GET_TARGET_PROPERTY (_lib_location "${module_lib_target}" LOCATION)
+    SET_PROPERTY (GLOBAL APPEND PROPERTY "${PROJECT_NAME}_LIBRARIES"
+      "${_lib_location}")
+    SET_PROPERTY (GLOBAL PROPERTY "${_lib_location}_TARGET"
+      "${module_lib_target}")
+
+    # If this is a core module, remember the target that builds the
+    # library so zorbacmd can depend on it.
+    IF (${PROJECT_NAME} STREQUAL "zorba")
+      SET_PROPERTY (GLOBAL APPEND PROPERTY ZORBA_CORE_MODULE_LIB_TARGETS
+	"${module_lib_target}")
+    ENDIF (${PROJECT_NAME} STREQUAL "zorba")
+      
     # Install the library, if it's not a TEST_ONLY module
     IF (NOT MODULE_TEST_ONLY)
       IF(NOT ${PROJECT_NAME} STREQUAL "zorba")
@@ -314,17 +353,9 @@
   ENDIF (MODULE_VERSION)
   FOREACH (version_infix "" ${version_infixes})
     ADD_COPY_RULE ("URI" "${SOURCE_FILE}" "${module_path}/${module_filename}"
-      "${version_infix}" "" "${MODULE_TEST_ONLY}")
+      "${version_infix}" "" 1 "${MODULE_TEST_ONLY}")
   ENDFOREACH (version_infix)
 
-  # Also copy the dynamic library from the location it was built.
-  IF (module_lib_target)
-    GET_TARGET_PROPERTY (lib_location "${module_lib_target}" LOCATION)
-    GET_FILENAME_COMPONENT (lib_filename "${lib_location}" NAME)
-    ADD_COPY_RULE ("LIB" "${lib_location}" "${module_path}/${lib_filename}"
-      "" "${module_lib_target}" "${MODULE_TEST_ONLY}")
-  ENDIF (module_lib_target)
-
   # Last but not least, whip up a test case that ensures the module
   # can at least be compiled. Don't bother for test-only modules
   # (presumably they're there to be tested!).
@@ -375,7 +406,7 @@
   ENDIF (NOT SCHEMA_TEST_ONLY)
 
   ADD_COPY_RULE ("URI" "${SOURCE_FILE}" "${schema_path}/${schema_filename}"
-    "" "" "${SCHEMA_TEST_ONLY}")
+    "" "" 1 "${SCHEMA_TEST_ONLY}")
 
 ENDMACRO (DECLARE_ZORBA_SCHEMA)
 
@@ -407,25 +438,74 @@
   MANGLE_URI (${URI_FILE_URI} "" uri_file_path uri_file_filename)
 
   ADD_COPY_RULE ("URI" "${SOURCE_FILE}" "${uri_file_path}/${uri_file_filename}"
-    "" "" "${URI_FILE_TEST_ONLY}")
+    "" "" 1 "${URI_FILE_TEST_ONLY}")
 
 ENDMACRO (DECLARE_ZORBA_URI_FILE)
 
+
+# Inform Zorba of a .jar file that should be made available on the CLASSPATH
+# of the JVM, should the JVM be started. QQQ more doc needed
+#
+# Args: FILE - path to file(s) (must be absolute)
+#       TARGET - (optional) a CMake target that must be executed in order
+#              for FILEs to be generated
+#       EXTERNAL - (optional) FILE specifies a path that should be added
+#              to CLASSPATH as-is
+#       TEST_ONLY - (optional) Jar file is for testcases only and should not
+#              be installed
+#
+# Must supply at least one value to FILE or TARGET.
+MACRO (DECLARE_ZORBA_JAR)
+  PARSE_ARGUMENTS (JAR "FILE;TARGET" "TARGET" "TEST_ONLY;EXTERNAL" ${ARGN})
+  IF (NOT JAR_FILE)
+    MESSAGE (FATAL_ERROR "'FILE' argument is required for DECLARE_ZORBA_JAR")
+  ENDIF (NOT JAR_FILE)
+
+  # Initialize classpath file and set up copy rule (once per project)
+  SET (_CP_FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-classpath.txt")
+  GET_PROPERTY (_known_project GLOBAL PROPERTY "${PROJECT_NAME}-jars")
+  IF (NOT _known_project)
+    FILE (REMOVE "${_CP_FILE}")
+    SET_PROPERTY (GLOBAL PROPERTY "${PROJECT_NAME}-jars" 1)
+    ADD_COPY_RULE ("LIB" "${_CP_FILE}" "jars/${PROJECT_NAME}-classpath.txt"
+      "" "" 1 "${JAR_TEST_ONLY}")
+  ENDIF (NOT _known_project)
+
+  # Iterate over all supplied jar files
+  FOREACH (_jar_file ${JAR_FILE})
+
+    IF (JAR_EXTERNAL)
+      # Put absolute path into classpath file
+      FILE (APPEND "${_CP_FILE}" "${_jar_file}\n")
+    ELSE (JAR_EXTERNAL)
+      # Copy jar to jars/ directory and add relative path to classpath file
+      GET_FILENAME_COMPONENT (_output_filename "${_jar_file}" NAME)
+      ADD_COPY_RULE ("LIB" "${_jar_file}" "jars/${_output_filename}" "" 
+	"${JAR_TARGET}" 1 "${JAR_TEST_ONLY}")
+      FILE (APPEND "${_CP_FILE}" "${_output_filename}\n")
+    ENDIF (JAR_EXTERNAL)
+
+  ENDFOREACH (_jar_file)
+ENDMACRO (DECLARE_ZORBA_JAR)
+
+
 # Utility macro for setting up a build rule to copy a file to a
-# particular (possibly versioned) file in a shared directory if such a file has
-# not already been output.
+# particular (possibly versioned) file in a shared directory if such a
+# file has not already been output.
+#
 # FILE_TYPE: Either "URI" or "LIB"; will be used to determine which shared
-#    directory to place output in (URI_PATH or LIB_PATH). Also, "URI" files
-#    will have an INSTALL() directive to put them in the install image.
+#    directory to place output in (URI_PATH or LIB_PATH).
 # INPUT_FILE: Absolute path to file to copy.
 # OUTPUT_FILE: Relative path to output file (relative to URI_PATH).
 # VERSION_ARG: Version; may be "" for non-versioned files.
 # DEPEND_TARGET: A CMake target name upon which the copy rule should depend;
 #    may be "".
+# INSTALL: If 1, an INSTALL() directive will be executed to put the
+#    file into the install image.
 # TEST_ONLY: If 1, file is for testcases only; will be copied into
-#    TEST_URI_PATH/TEST_LIB_PATH and will not be installed
+#    TEST_URI_PATH/TEST_LIB_PATH and will not be installed.
 MACRO (ADD_COPY_RULE FILE_TYPE INPUT_FILE OUTPUT_FILE VERSION_ARG
-       DEPEND_TARGET TEST_ONLY)
+       DEPEND_TARGET INSTALL TEST_ONLY)
   # Choose output base directory
   IF (${TEST_ONLY} EQUAL 1)
     SET (_output_basedir "${CMAKE_BINARY_DIR}/TEST_${FILE_TYPE}_PATH")
@@ -470,13 +550,13 @@
     SET_PROPERTY (GLOBAL APPEND PROPERTY ZORBA_URI_FILES
       "${INPUT_FILE}" "${_output_file}" "${DEPEND_TARGET}" "${_is_core}")
 
-    # Also set up an INSTALL rule (unless TEST_ONLY or LIB).
-    IF ( (NOT "${FILE_TYPE}" STREQUAL "LIB") AND (NOT ${TEST_ONLY} EQUAL 1) )
+    # Also set up an INSTALL rule (unless TEST_ONLY).
+    IF ( (${INSTALL} EQUAL 1) AND (NOT ${TEST_ONLY} EQUAL 1) )
         
       IF(NOT _is_core)
         STRING(REPLACE "-" "_"  component_name ${PROJECT_NAME})   
         INSTALL (FILES "${INPUT_FILE}"
-          DESTINATION "${ZORBA_NONCORE_URI_DIR}/${_output_path}"
+          DESTINATION "${ZORBA_NONCORE_${FILE_TYPE}_DIR}/${_output_path}"
           RENAME "${_output_filename}"
           COMPONENT "${component_name}")
           
@@ -496,11 +576,11 @@
             
       ELSE(NOT _is_core)
         INSTALL (FILES "${INPUT_FILE}"
-          DESTINATION "${ZORBA_CORE_URI_DIR}/${_output_path}"
+          DESTINATION "${ZORBA_CORE_${FILE_TYPE}_DIR}/${_output_path}"
           RENAME "${_output_filename}")
       ENDIF(NOT _is_core)
           
-    ENDIF ( (NOT "${FILE_TYPE}" STREQUAL "LIB") AND (NOT ${TEST_ONLY} EQUAL 1) )
+    ENDIF ( (${INSTALL} EQUAL 1) AND (NOT ${TEST_ONLY} EQUAL 1) )
   ENDIF (file_found EQUAL -1)
 ENDMACRO (ADD_COPY_RULE)
 
@@ -535,6 +615,8 @@
 # files to their corresponding output directories, with appropriate
 # dependencies. This macro will only have any effect when called by
 # the top-level project in a build.
+# Also, this function automatically generates a CMake projectConfig.cmake
+# file for the project, based on config/ExternalModuleConfig.cmake.in.
 MACRO (DONE_DECLARING_ZORBA_URIS)
   IF (PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
     # Close out the zorba modules and schemas manifests
@@ -553,9 +635,10 @@
       LIST (GET copy_rules 2 _depend_target)
       LIST (GET copy_rules 3 _is_core)
       LIST (REMOVE_AT copy_rules 0 1 2 3)
-      SET (_depends "${_input_file}")
       IF (_depend_target)
-        LIST (APPEND _depends "${_depend_target}")
+        SET (_depends "${_depend_target}")
+      ELSE (_depend_target) 
+	SET (_depends "${_input_file}")
       ENDIF (_depend_target)
       ADD_CUSTOM_COMMAND (OUTPUT "${_output_file}"
         COMMAND "${CMAKE_COMMAND}" -E copy
@@ -571,7 +654,8 @@
 
     # Targets and dependencies:
     #   ALL depends on check_uris; check_uris depends on check_core_uris;
-    #   zorbacmd depends on check_core_uris.
+    #   zorbacmd depends on check_core_uris as well as all core module
+    #   library targets.
     ADD_CUSTOM_TARGET (check_uris ALL
       DEPENDS ${_noncore_output_files} VERBATIM)
     SET_TARGET_PROPERTIES(check_uris PROPERTIES FOLDER "Modules")
@@ -584,6 +668,8 @@
         DEPENDS ${_core_output_files} VERBATIM)
       ADD_DEPENDENCIES(check_uris check_core_uris)
       ADD_DEPENDENCIES(zorbacmd check_core_uris)
+      GET_PROPERTY (_corelibs GLOBAL PROPERTY ZORBA_CORE_MODULE_LIB_TARGETS)
+      ADD_DEPENDENCIES(zorbacmd ${_corelibs})
       SET_TARGET_PROPERTIES(check_core_uris PROPERTIES FOLDER "Modules")
     ENDIF (_num_core GREATER 0)
     SET_PROPERTY (GLOBAL PROPERTY ZORBA_URI_FILES)
@@ -591,6 +677,18 @@
     #add 'xqdoc' and 'xqdoc-xml' targets
     ADD_XQDOC_TARGETS()
   ENDIF (PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
+
+  # Now, do things that should be done at the end of *any* project, not
+  # just the top-level project.
+
+  # Generate project's projectConfig.cmake file.
+  # QQQ need to create an installable version of this too, once we know
+  # how installing a module package should work.
+  GET_PROPERTY (ZORBA_PROJECT_LIBRARIES
+    GLOBAL PROPERTY "${PROJECT_NAME}_LIBRARIES")
+  CONFIGURE_FILE("${Zorba_EXTERNALMODULECONFIG_FILE}"
+    "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" @ONLY)
+
 ENDMACRO (DONE_DECLARING_ZORBA_URIS)
 
 # Initialize expected failures and zorba modules output files when
@@ -629,56 +727,106 @@
 
 ENDMACRO(expected_failure)
 
-# Convenience macro for adding tests in a standard format.
+# Convenience macro for adding tests in a standard format. All test
+# cases (.xq files) in "Queries" subdirectory of the named directory
+# will be automatically added for CTest. Each test will be named
+# ${PROJECT_NAME}/<filename>, where <filename> is the path relative to
+# the Queries/ subdirectory.
+# 
+# The optional second argument exists for Windows. Normally,
+# EXPECTED_FAILURE() can be used even for tests that crash
+# (segfault). However, on Windows, when a test crashes, it pops up a
+# dialog box. This prevents tests running unattended.  Since it is not
+# possible with CMake to remove a test once added,
+# ADD_TEST_DIRECTORY() needs to be told not to add the test at all on
+# Windows platforms. Therefore, after the directory name, you may
+# additional arguments in the form (testname bugnumber testname
+# bugnumber ...) to ADD_TEST_DIRECTORY().  On Windows, the named tests
+# will be skipped entirely. On other platforms, they will be passed to
+# EXPECTED_FAILURE() with the corresponding bug number.
+#
+# This second argument should only be used for test cases that are 
+# currently *crashing* on Windows. If the test is simply failing, then
+# you should use EXPECTED_FAILURE() after calling ADD_TEST_DIRECTORY().
+#
 # Parameters:
 #   TEST_DIR - all the .xq files in this directory will be added as tests
-#   ARGV1    - if this is present, it will be interpreted as a list of
-#              exceptions. The list items will be removed from the list of
-#              files found in TEST_DIR.
+#   (additional args)  - expected crashing tests, as discussed above.
 MACRO (ADD_TEST_DIRECTORY TEST_DIR)
   # QQQ error-check: Queries directory exists, some tests found...
   FILE(GLOB_RECURSE TESTFILES FOLLOW_SYMLINKS
     RELATIVE "${TEST_DIR}/Queries" "${TEST_DIR}/Queries/*.xq")
 
-  FOREACH (EXCEPTION ${ARGV1})
-    LIST (REMOVE_ITEM TESTFILES ${EXCEPTION})
-  ENDFOREACH (EXCEPTION)
+  # Convert extra arguments to two lists: test names and bug IDs
+  SET (crash_tests)
+  SET (crash_bugids)
+  SET (known_crashes ${ARGN})
+  LIST (LENGTH known_crashes num_crashes)
+  WHILE (num_crashes GREATER 0)
+    LIST (GET known_crashes 0 _testcase)
+    LIST (APPEND crash_tests ${_testcase})
+    LIST (GET known_crashes 1 _bugid)
+    LIST (APPEND crash_bugids ${_bugid})
+    LIST (REMOVE_AT known_crashes 0 1)
+    MATH (EXPR num_crashes "${num_crashes} - 2")
+  ENDWHILE (num_crashes GREATER 0)
 
+  IF(WIN32)
+    SET(PATH_SEP ",")
+  ELSE(WIN32)
+    SET(PATH_SEP ":")
+  ENDIF(WIN32)
   SET(TESTCOUNTER 0)
   FOREACH(TESTFILE ${TESTFILES})
     SET(TESTNAME "${PROJECT_NAME}/${TESTFILE}")
 
-    IF(WIN32)
-      SET(PATH_SEP ",")
-    ELSE(WIN32)
-      SET(PATH_SEP ":")
-    ENDIF(WIN32)
-    ADD_TEST(${TESTNAME} "${Zorba_TESTDRIVER}"
-      "--rbkt-src" "${TEST_DIR}"
-      "--module-path" "${CMAKE_BINARY_DIR}/URI_PATH/${PATH_SEP}${SECONDARY_MODULE_PATHS}"
-      "${TESTFILE}")
-
-    MATH(EXPR TESTCOUNTER ${TESTCOUNTER}+1)
-    MATH(EXPR TESTMOD "${TESTCOUNTER}%100")
-    IF (${TESTMOD} EQUAL 0)
-      MESSAGE(STATUS "Adding another 100 Tests")
-    ENDIF (${TESTMOD} EQUAL 0)
+    # See if this test is in the known-crashing list
+    SET (_crash_bugid)
+    LIST (FIND crash_tests ${TESTNAME} _crash_idx)
+    IF (${_crash_idx} GREATER -1)
+      # Get corresponding bug ID
+      LIST (GET crash_bugids ${_crash_idx} _crash_bugid)
+      # Remove from known-crashing list
+      LIST (REMOVE_AT crash_tests ${_crash_idx})
+    ENDIF (${_crash_idx} GREATER -1)
+
+    # On Windows, skip calling ADD_TEST() for any known crashing tests
+    IF (WIN32 AND (${_crash_idx} GREATER -1) )
+      MESSAGE (STATUS "WARNING: Skipping test case ${TESTNAME} which is expected to crash - bug ${_crash_bugid}")
+    ELSE (WIN32 AND (${_crash_idx} GREATER -1) )
+      # DEPENDENCY_MODULE_PATH will always start with an appropriate
+      # path separator
+      ADD_TEST(${TESTNAME} "${Zorba_TESTDRIVER}"
+	"--rbkt-src" "${TEST_DIR}"
+	"--module-path"
+	"${CMAKE_BINARY_DIR}/URI_PATH/${PATH_SEP}${DEPENDENCY_MODULE_PATH}"
+	"${TESTFILE}")
+
+      # On non-Windows, call EXPECTED_FAILURE() for known crashes
+      IF (${_crash_idx} GREATER -1)
+	MESSAGE (STATUS "Marking test case ${TESTNAME} as expected to crash - bug ${bugid}")
+	EXPECTED_FAILURE (${TESTNAME} ${_bugid})
+      ENDIF (${_crash_idx} GREATER -1)
+
+      MATH(EXPR TESTCOUNTER ${TESTCOUNTER}+1)
+      MATH(EXPR TESTMOD "${TESTCOUNTER}%100")
+      IF (${TESTMOD} EQUAL 0)
+	MESSAGE(STATUS "Adding another 100 Tests")
+      ENDIF (${TESTMOD} EQUAL 0)
+
+    ENDIF (WIN32 AND (${_crash_idx} GREATER -1) )
+
   ENDFOREACH(TESTFILE)
+
+  # Ensure that known-crashes list is empty - otherwise some tests were
+  # named that didn't exist
+  IF (NOT "${crash_tests}" STREQUAL "")
+    MESSAGE (FATAL_ERROR "The following non-existing test cases were passed to ADD_TEST_DIRECTORY(): ${crash_tests}")
+  ENDIF (NOT "${crash_tests}" STREQUAL "")
+
   MESSAGE(STATUS "Added ${TESTCOUNTER} tests in ${TEST_DIR}")
 ENDMACRO (ADD_TEST_DIRECTORY)
 
-# Macro to install a basic CMake config file for a module. Provide a
-# source and binary directory. Result will be installed in binary
-# directory. This is a macro because it is called from two different
-# places: ZorbaUse.cmake, and Zorba's modules/CMakeLists.txt.
-MACRO(CREATE_MODULE_CONFIG name src_dir bin_dir)
-  # Set variables referenced in ExternalModuleConfig.cmake.in
-  SET(MODULE_SOURCE_DIR ${src_dir})
-  SET(MODULE_BINARY_DIR ${bin_dir})
-  CONFIGURE_FILE("${Zorba_EXTERNALMODULECONFIG_FILE}"
-    "${MODULE_BINARY_DIR}/${name}Config.cmake" @ONLY)
-ENDMACRO(CREATE_MODULE_CONFIG)
-
 # This macro easies the process of adding test for store dependent
 # executables. It has the same naming convection for the target as the
 # macro that is used to generated store dependent executables (thus,

=== modified file 'config/ExternalModuleConfig.cmake.in'
--- config/ExternalModuleConfig.cmake.in	2012-04-11 20:22:52 +0000
+++ config/ExternalModuleConfig.cmake.in	2012-04-27 13:22:48 +0000
@@ -12,12 +12,29 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-IF(WIN32)
-  SET(PATH_SEP ",")
-ELSE(WIN32)
-  SET(PATH_SEP ":")
-ENDIF(WIN32)
-
-# QQQ When all the module versioning and external-module work is
-# complete, this should contain ONLY MODULE_BINARY_DIR/modules.
-SET(SECONDARY_MODULE_PATHS "${SECONDARY_MODULE_PATHS}${PATH_SEP}@MODULE_SOURCE_DIR@/src/${PATH_SEP}@MODULE_BINARY_DIR@/src/${PATH_SEP}@MODULE_BINARY_DIR@/modules/")
+IF (WIN32)
+  SET (PATH_SEP ",")
+ELSE (WIN32)
+  SET (PATH_SEP ":")
+ENDIF (WIN32)
+
+# Probably should have separate URI and LIB paths here someday; will
+# require testdriver to accept --uri-path and --lib-path args
+# Note that this path is meaningless if the module is installed; see
+# bug 966999.
+SET (DEPENDENCY_MODULE_PATH 
+  "${DEPENDENCY_MODULE_PATH}${PATH_SEP}@PROJECT_BINARY_DIR@/URI_PATH/${PATH_SEP}${DEPENDENCY_LIB_PATH}${PATH_SEP}@PROJECT_BINARY_DIR@/LIB_PATH/")
+
+# Dynamic libraries created by this project to link against
+SET (@PROJECT_NAME@_LIBRARIES @ZORBA_PROJECT_LIBRARIES@)
+
+# Include directories exported by this project
+SET (@PROJECT_NAME@_INCLUDE_DIRS @ZORBA_PROJECT_INCLUDE_DIRS@)
+
+# Offer a "use file" to the user of this module. For most module
+# packages, this is unnecessary. However it can be utilized by
+# advanced packages which wish to, for example, export a C++ header
+# file to dependent packages. As above, note that this currently is
+# non-functional if this module package is installed; this will only
+# work from a project build directory.
+SET (@PROJECT_NAME@_USE_FILE "@ZORBA_PROJECT_USE_FILE@")

=== modified file 'config/ZorbaUse.cmake'
--- config/ZorbaUse.cmake	2012-04-11 20:22:52 +0000
+++ config/ZorbaUse.cmake	2012-04-27 13:22:48 +0000
@@ -31,7 +31,3 @@
   # Load Zorba module support macros.
   INCLUDE("${Zorba_CMAKE_MODULES_DIR}/Windows/ProxyFindModule.cmake")
 ENDIF(WIN32)
-
-# Generate project's projectConfig.cmake file.
-CREATE_MODULE_CONFIG(${PROJECT_NAME} "${PROJECT_SOURCE_DIR}"
-  "${PROJECT_BINARY_DIR}")

=== modified file 'doc/cxx/examples/context.cpp'
--- doc/cxx/examples/context.cpp	2012-04-11 20:22:52 +0000
+++ doc/cxx/examples/context.cpp	2012-04-27 13:22:48 +0000
@@ -149,7 +149,11 @@
     outStream2 << lQuery << std::endl;
     std::cout << outStream2.str() << std::endl;
 
+#ifndef ZORBA_NO_ICU
     if (outStream2.str() != "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\nBook 1.1\n")
+#else
+    if (outStream2.str() != "<?xml version=\"1.0\"?>\nBook 1.1\n")
+#endif /* ZORBA_NO_ICU */
     {
       std::cerr << "Test 4 failed with a wrong result : " << std::endl
                 << outStream2.str() << std::endl;

=== modified file 'include/zorba/config.h.cmake'
--- include/zorba/config.h.cmake	2012-04-11 20:22:52 +0000
+++ include/zorba/config.h.cmake	2012-04-27 13:22:48 +0000
@@ -96,6 +96,8 @@
 typedef __int64 int64_t;
 #endif /* ZORBA_HAVE_INT64_T */
 
+#cmakedefine ZORBA_SIZEOF_WCHAR_T @ZORBA_SIZEOF_WCHAR_T@
+
 // Compiler
 #cmakedefine CLANG
 #cmakedefine MSVC
@@ -148,7 +150,7 @@
 
 // Zorba features
 #cmakedefine ZORBA_NO_FULL_TEXT
-#cmakedefine ZORBA_NO_UNICODE
+#cmakedefine ZORBA_NO_ICU
 #cmakedefine ZORBA_NO_XMLSCHEMA
 #cmakedefine ZORBA_NUMERIC_OPTIMIZATION
 #cmakedefine ZORBA_VERIFY_PEER_SSL_CERTIFICATE

=== modified file 'include/zorba/pregenerated/diagnostic_list.h'
--- include/zorba/pregenerated/diagnostic_list.h	2012-04-11 20:22:52 +0000
+++ include/zorba/pregenerated/diagnostic_list.h	2012-04-27 13:22:48 +0000
@@ -286,6 +286,10 @@
 
 extern ZORBA_DLL_PUBLIC XQueryErrorCode FOTY0015;
 
+extern ZORBA_DLL_PUBLIC XQueryErrorCode FOUT1170;
+
+extern ZORBA_DLL_PUBLIC XQueryErrorCode FOUT1190;
+
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XUST0001;
 
 extern ZORBA_DLL_PUBLIC XQueryErrorCode XUST0002;
@@ -610,16 +614,18 @@
 
 extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDDY0030_INDEX_RANGE_GENERAL_PROBE_NOT_ALLOWED;
 
-extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDDY0034_INDEX_RANGE_VALUE_PROBE_BAD_KEY_TYPES;
-
-extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDDY0035_INDEX_GENERAL_INSERT;
-
 extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDDY0031_IC_NOT_DECLARED;
 
 extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDDY0032_IC_NOT_ACTIVATED;
 
 extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDDY0033_IC_NOT_MET;
 
+extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDDY0034_INDEX_RANGE_VALUE_PROBE_BAD_KEY_TYPES;
+
+extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDDY0035_INDEX_GENERAL_INSERT;
+
+extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDDY0036_NON_ROOT_NODE_DELETION;
+
 extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDST0001_COLLECTION_ALREADY_DECLARED;
 
 extern ZORBA_DLL_PUBLIC ZorbaErrorCode ZDST0002_COLLECTION_ALREADY_IMPORTED;
@@ -800,13 +806,13 @@
 
 namespace jerr {
 
+#if defined(ZORBA_WITH_JSON)
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0012;
 
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0013;
 
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0014;
 
-#if defined(ZORBA_WITH_JSON)
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0002;
 
 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNTY0003;

=== modified file 'include/zorba/properties_base.h'
--- include/zorba/properties_base.h	2012-04-11 20:22:52 +0000
+++ include/zorba/properties_base.h	2012-04-27 13:22:48 +0000
@@ -101,8 +101,44 @@
     std::vector<std::string>& val,
     unsigned delta);
 
+/**
+ * \brief This class provides access to global properties.
+ *
+ * This class provides access to global properties set for Zorba in environment
+ * and configuration file.
+ * It is available using Zorba.getProperties() method.
+ * \see { Zorba::getProperties() }
+ */
+class ZORBA_DLL_PUBLIC PropertiesGlobal : public PropertiesBase
+{
+public:
+  virtual ~PropertiesGlobal() {}
+
+  /**
+   * \brief Get global JVM classpath property.
+   *
+   * Before the JVM is started this will return the classpath set by
+   * command line option, the CLASSPATH environment variable and in Zorba
+   * config file.
+   *
+   * After the JVM is started this will contain in addition the paths to jars
+   * used by modules that make use of the JVM.
+   */
+  virtual void getJVMClassPath(std::string & jvmClasspath) {}
+
+  /**
+   * \brief Set global JVM classpath property.
+   *
+   * This method should be used to set additional JVM classpath for modules
+   * that make use of JVM. This will overide the classpath set by CLASSPATH
+   * environment variable or Zorba config file.
+   *
+   * Once the JVM is started this method doesn't have any effect.
+   */
+  virtual void setJVMClassPath(const std::string & jvmClasspath) {}
+};
+
 }
-
 #endif  // ZORBA_PROPERTIES_BASE_H
 /*
  * Local variables:

=== modified file 'include/zorba/static_context.h'
--- include/zorba/static_context.h	2012-04-11 20:22:52 +0000
+++ include/zorba/static_context.h	2012-04-27 13:22:48 +0000
@@ -26,9 +26,13 @@
 #include <zorba/function.h>
 #include <zorba/annotation.h>
 #include <zorba/smart_ptr.h>
+#include <zorba/smart_ptr.h>
 #ifndef ZORBA_NO_FULL_TEXT
 #include <zorba/thesaurus.h>
 #endif /* ZORBA_NO_FULL_TEXT */
+#include <zorba/zorba.h>
+#include <zorba/store_manager.h>
+#include <zorba/zorba_exception.h>
 
 namespace zorba {
 
@@ -685,6 +689,38 @@
    */
   virtual void
   getFullLibPath(std::vector<String>& aLibPath) const = 0;
+
+  /** \brief Fetches an resource refered to by the given URI.
+   *
+   * Resolution is done using the URI mappers and resolvers registered
+   * in this static context. If no such mappers or resolvers have been
+   * registered, the built-in ones are used. 
+   *
+   * The default EntityKind for resources fetched by this function
+   * is "SOME_CONTENT".
+   *
+   * @param aURI the name of the resource to fetch
+   *
+   * @return the fetched resource
+   */
+  virtual Item
+  fetch(const String& aURI) const = 0;
+
+  /** \brief Fetches an resource refered to by the given URI.
+   *
+   * Resolution is done using the URI mappers and resolvers registered
+   * in this static context. If no such mappers or resolvers have been
+   * registered, the built-in ones are used. 
+   *
+   * @param aURI the name of the resource to fetch
+   *
+   * @param aEntityKind the kind of the entity to fetch (i.e.
+   *   SOME_CONTENT, SCHEMA, MODULE, THESAURUS, or STOP_WORDS)
+   *
+   * @return the fetched resource
+   */
+  virtual Item
+  fetch(const String& aURI, const String& aEntityKind) const = 0;
 };
 
 } /* namespace zorba */

=== modified file 'include/zorba/util/file.h'
--- include/zorba/util/file.h	2012-04-11 20:22:52 +0000
+++ include/zorba/util/file.h	2012-04-27 13:22:48 +0000
@@ -24,6 +24,7 @@
 #include <cstdio>
 #include <string>
 #include <time.h>
+#include <vector>
 
 #include <zorba/config.h>
 #include <zorba/file.h>
@@ -84,6 +85,7 @@
   void mkdir();
   void deep_mkdir();
   void rmdir(bool ignore = true);
+  void lsdir(std::vector<std::string> &list);
 #ifndef _WIN32_WCE
   void chdir();
 #endif

=== modified file 'include/zorba/util/time.h'
--- include/zorba/util/time.h	2012-04-11 20:22:52 +0000
+++ include/zorba/util/time.h	2012-04-27 13:22:48 +0000
@@ -178,7 +178,7 @@
 	
     inline long get_walltime_in_millis(const walltime& t)
     {
-      return t.time * 1000 + t.millitm;
+      return (long)(t.time * 1000 + t.millitm);
     }
 
 #else /* not Windows, and no clock_gettime() */

=== modified file 'include/zorba/xmldatamanager.h'
--- include/zorba/xmldatamanager.h	2012-04-11 20:22:52 +0000
+++ include/zorba/xmldatamanager.h	2012-04-27 13:22:48 +0000
@@ -187,6 +187,8 @@
         ParseOptions& aOptions) const = 0;
 
     /** \brief Fetches an resource refered to by the given URI.
+     *
+     * @deprecated this function has been replaced by StaticContext::fetch.
      */
     virtual Item
     fetch(const String& aURI) const = 0;

=== modified file 'include/zorba/zorba.h'
--- include/zorba/zorba.h	2012-04-11 20:22:52 +0000
+++ include/zorba/zorba.h	2012-04-27 13:22:48 +0000
@@ -34,14 +34,18 @@
 #include <zorba/xquery.h>
 #include <zorba/zorba_string.h>
 #include <zorba/iterator.h>
+#include <zorba/properties_base.h>
 
 namespace zorba {
 
 /**
  * The Zorba class is the single point of access to the %Zorba engine.
  * There exists one instance of the Zorba class per process.
- * It can be used to (1) create and compile queries, (2) create static contexts,
- * (3) provides access to the XmlDataManager, and (4) provides access to the ItemFactory.
+ * It can be used to (1) create and compile queries,
+ * (2) create static contexts,
+ * (3) provides access to the XmlDataManager,
+ * (4) provides access to the ItemFactory, and
+ * (5) provides access to the PropertiesGlobal.
  */
 class ZORBA_DLL_PUBLIC Zorba
 {
@@ -301,7 +305,7 @@
   virtual StaticContext_t
   createStaticContext(DiagnosticHandler* aDiagnosticHandler = 0) = 0;
 
-  /** \brief Gets the singelton instance of the ItemFactory.
+  /** \brief Gets the singleton instance of the ItemFactory.
    *
    * @return ItemFactory the singleton instance of the ItemFactory.
    */
@@ -310,18 +314,24 @@
 
   /** \brief Gets the singleton instance of the XmlDataManager object.
    *
-   * @return XmlDataManager the singelton instance of the XmlDataManager.
+   * @return XmlDataManager the singleton instance of the XmlDataManager.
    */
   virtual XmlDataManager*
   getXmlDataManager() = 0;
 
   /** \brief Gets the singleton instance of Zorba's audit provider object.
    *
-   * @return audit::Provider the singelton instance of Zorba's audit provider.
+   * @return audit::Provider the singeleton instance of Zorba's audit provider.
    */
   virtual audit::Provider*
   getAuditProvider() = 0;
 
+  /** \brief Gets the singleton instance of Zorba's properties object.
+   *
+   * @return zorba::Properties the singleton instance of Zorba's properties object.
+   */
+  virtual PropertiesGlobal* getPropertiesGlobal() = 0;
+
 }; /* class Zorba */
 
 

=== modified file 'modules/CMakeLists.txt'
--- modules/CMakeLists.txt	2012-04-11 20:22:52 +0000
+++ modules/CMakeLists.txt	2012-04-27 13:22:48 +0000
@@ -21,13 +21,19 @@
 # named "zorba_modules" as a sibling to the main Zorba source
 # directory.
 
-# First, configure the moduleConfig.cmake file for each module
-# project. We must do this "manually" before doing any
-# ADD_SUBDIRECTORY()s, so that all the config files are built and
-# ready for other modules' FIND_PACKAGE() calls. We also add all
-# module build dirs to CMAKE_PREFIX_PATH for the same reason.
-SET (project_regex "[Pp][Rr][Oo][Jj][Ee][Cc][Tt]")
-FILE (GLOB modules_dir_items RELATIVE "${ZORBA_MODULES_DIR}" "${ZORBA_MODULES_DIR}/[a-zA-Z0-9]*")
+# This is complicated and more than a little hacky. We need to add all
+# the module subdirectories, but some may depend on others so we can't
+# simply add them alphabetically. Here we determine their project
+# names and dependencies by manually reading their CMakeLists.txt
+# files (as text files). We form a directed graph (which isn't easy in
+# CMake) then produce a topological sort to load the modules in
+# order. Note that this will not work if there are cyclical
+# dependencies between modules; if we ever need that ability, this
+# will get more complicated.
+
+FILE (GLOB modules_dir_items
+  RELATIVE "${ZORBA_MODULES_DIR}"
+  "${ZORBA_MODULES_DIR}/[a-zA-Z0-9]*")
 
 # Filter out non-directories
 SET (module_dirs)
@@ -37,19 +43,27 @@
   ENDIF (IS_DIRECTORY "${ZORBA_MODULES_DIR}/${module_dir}")
 ENDFOREACH (module_dir)
 
+# First, form a simple list of all known module projects in the
+# variable "module_projects". Also, for each project, set a variable
+# named eg. "zorba-email-module_DIR" with the path to that project's
+# directory, relative to ZORBA_MODULES_DIR.
+SET (project_regex "[Pp][Rr][Oo][Jj][Ee][Cc][Tt] *\\( *([^ )]*)")
+SET (module_projects)
 FOREACH (module_dir ${module_dirs})
-  # This is really kind of hacky, but I don't know a better solution without
-  # introducing some sort of inter-module dependency tracking and requiring
-  # consistent directory naming for external modules. What we do here is
-  # read the module's CMakeLists.txt (as a text file), searching for the
-  # PROJECT() declaration, so we can extract the name of the CMake project.
   SET (module_project)
-  SET (cmakelists)
-  FILE (STRINGS "${ZORBA_MODULES_DIR}/${module_dir}/CMakeLists.txt" cmakelists
-    REGEX ${project_regex})
+  SET (cmakelists_file "${ZORBA_MODULES_DIR}/${module_dir}/CMakeLists.txt")
+  FILE (STRINGS "${cmakelists_file}" cmakelists REGEX "${project_regex}")
   FOREACH (line ${cmakelists})
-    IF (line MATCHES "${project_regex} *\\(([^)]*)\\)")
-      SET (module_project ${CMAKE_MATCH_1})
+
+    IF (line MATCHES "${project_regex}")
+      IF (NOT "${module_project}" STREQUAL "")
+	MESSAGE (FATAL_ERROR
+	  "${cmakelists_file} contains duplicate PROJECT() statements - "
+	  "cannot parse!")
+      ENDIF (NOT "${module_project}" STREQUAL "")
+      SET (module_project "${CMAKE_MATCH_1}")
+      LIST (APPEND module_projects "${module_project}")
+      SET ("${module_project}_DIR" "${module_dir}")
 
       # Print the found module name
       SET (status "Found module project ${module_project}")
@@ -63,8 +77,7 @@
       MESSAGE (STATUS "${status}")
       MESSAGE (STATUS "${border}")
 
-      BREAK ()
-    ENDIF (line MATCHES "${project_regex} *\\(([^)]*)\\)")
+    ENDIF (line MATCHES "${project_regex}")
   ENDFOREACH (line)
 
   IF (NOT module_project)
@@ -72,14 +85,77 @@
       "does not contain a recognizable CMake project.")
   ENDIF (NOT module_project)
 
-  SET (module_builddir "${CMAKE_BINARY_DIR}/zorba_modules/${module_project}")
-  FILE (MAKE_DIRECTORY "${module_builddir}")
-  CREATE_MODULE_CONFIG (${module_project} "${ZORBA_MODULES_DIR}/${module_dir}"
-    "${module_builddir}")
-  LIST (APPEND CMAKE_PREFIX_PATH "${module_builddir}")
-  #SET (ZORBA_EXTERNAL_MODULES_SRCS ${ZORBA_EXTERNAL_MODULES_SRCS} ${ZORBA_MODULES_DIR}/${module_dir}/src)
-ENDFOREACH (module_dir)
-#SET (ZORBA_EXTERNAL_MODULES_SRCS ${ZORBA_EXTERNAL_MODULES_SRCS} PARENT_SCOPE)
+ENDFOREACH (module_dir)
+
+# Next, form the DAG. This comprises one list containing only those
+# module projects that some other module project depends on
+# (dep_module_projects), and a series of CMake variables named
+# eg. "zorba-email-module_DEPS" containing the module projects that
+# the named project depends on. Doing this unfortunately requires us
+# to read through all CMakeLists.txt files again.
+SET (find_package_regex
+  "[Ff][Ii][Nn][Dd]_[Pp][Aa][Cc][Kk][Aa][Gg][Ee] *\\( *([^ )]*)")
+SET (dep_module_projects)
+FOREACH (module_dir ${module_dirs})
+  SET (module_project)
+  SET (cmakelists_file "${ZORBA_MODULES_DIR}/${module_dir}/CMakeLists.txt")
+  FILE (STRINGS "${cmakelists_file}" cmakelists
+    REGEX "${project_regex}|${find_package_regex}")
+  FOREACH (line ${cmakelists})
+    IF (line MATCHES "${project_regex}")
+      # Don't have to do error checking here; was done in last pass.
+      SET (module_project "${CMAKE_MATCH_1}")
+    ELSEIF (line MATCHES "${find_package_regex}")
+      SET (dependee ${CMAKE_MATCH_1})
+      # Ensure this dependency is a known module project, and not some
+      # other dependency like "Zorba" - don't want those in the DAG.
+      LIST (FIND module_projects "${dependee}" is_known)
+      IF (is_known GREATER -1)
+	message (STATUS "${module_project} depends on ${dependee}")
+	# Save the dependency in a variable based on the current project
+	LIST (APPEND "${module_project}_DEPS" ${dependee})
+	# Also add this dependee to dep_module_projects
+	LIST (APPEND dep_module_projects ${dependee})
+      ENDIF (is_known GREATER -1)
+    ENDIF (line MATCHES "${project_regex}")
+  ENDFOREACH (line)
+
+ENDFOREACH (module_dir)
+
+
+# Now, transform the DAG into a dependency-ordered list. See
+# http://en.wikipedia.org/wiki/Topological_sorting .
+SET (no_deps)
+SET (visited)
+SET (ordered_modules)
+MACRO (VISIT mod_name)
+  LIST (FIND visited "${mod_name}" is_visited)
+  IF (is_visited EQUAL -1)
+    # Haven't seen this module before; iterate through modules that depend on it
+    LIST (APPEND visited "${mod_name}")
+    FOREACH (depender ${${mod_name}_DEPS})
+      VISIT ("${depender}")
+    ENDFOREACH (depender)
+    # Now that all modules that depend on it have been added, add this one
+    LIST (APPEND ordered_modules "${mod_name}")
+  ELSE (is_visited EQUAL -1)
+  ENDIF (is_visited EQUAL -1)
+ENDMACRO (VISIT)
+# Annoying - LIST(REMOVE_DUPLICATES) dies if the list is empty.
+LIST (LENGTH dep_module_projects num_deps)
+IF (num_deps GREATER 0)
+  LIST (REMOVE_DUPLICATES dep_module_projects)
+ENDIF (num_deps GREATER 0)
+FOREACH (module_project ${module_projects})
+  # Only initially visit those modules projects that do NOT have any
+  # module projects depending on them; that is, only visit those module
+  # projects that are NOT in dep_module_projects.
+  LIST (FIND dep_module_projects "${module_project}" is_dep)
+  IF (is_dep EQUAL -1)
+    VISIT (${module_project})
+  ENDIF (is_dep EQUAL -1)
+
+ENDFOREACH (module_project)
 
 # Each of these projects will also want to be able to
 # FIND_PACKAGE(Zorba), so add our own build dir to the CMake module
@@ -89,9 +165,16 @@
 # Now, iterate through all the module projects again and actually add
 # them to this Zorba project. Create a binary directory for them
 # inside our own.
-FOREACH (module_dir ${module_dirs})
+FOREACH (module_project ${ordered_modules})
+  # Create the module binary directory and add it to CMAKE_PREFIX_PATH
+  # so other modules can find it. Then, add the module project
+  # directory.
+  SET (module_dir "${${module_project}_DIR}")
+  SET (module_builddir "${CMAKE_BINARY_DIR}/zorba_modules/${module_project}")
+  FILE (MAKE_DIRECTORY "${module_builddir}")
+  LIST (APPEND CMAKE_PREFIX_PATH "${module_builddir}")
   ADD_SUBDIRECTORY("${ZORBA_MODULES_DIR}/${module_dir}"
-    "${CMAKE_BINARY_DIR}/zorba_modules/zorba_${module_dir}_module")
-ENDFOREACH (module_dir)
+    "${CMAKE_BINARY_DIR}/zorba_modules/${module_project}")
+ENDFOREACH (module_project)
 
 MESSAGE(STATUS "End modules")

=== modified file 'modules/ExternalModules.conf'
--- modules/ExternalModules.conf	2012-04-11 20:22:52 +0000
+++ modules/ExternalModules.conf	2012-04-27 13:22:48 +0000
@@ -32,7 +32,7 @@
 excel           bzr  lp:zorba/excel-module             zorba-2.2 
 geo             bzr  lp:zorba/geo-module               zorba-2.2 
 http-client     bzr  lp:zorba/http-client-module       zorba-2.2 
-image           bzr  lp:zorba/image-module             zorba-2.2 
+image           bzr  lp:zorba/image-module             1.0
 languages       bzr  lp:zorba/languages-module         zorba-2.2 
 oauth           bzr  lp:zorba/oauth-module             zorba-2.2 
 process         bzr  lp:zorba/process-module           zorba-2.2 
@@ -40,3 +40,5 @@
 system          bzr  lp:zorba/system-module            zorba-2.2 
 xqxq            bzr  lp:zorba/xqxq-module              zorba-2.2 
 email           bzr  lp:zorba/email-module             zorba-2.2 
+util-jvm        bzr  lp:zorba/util-jvm-module
+schema-tools    bzr  lp:zorba/schema-tools-module

=== modified file 'modules/com/zorba-xquery/www/modules/converters/json.xq'
--- modules/com/zorba-xquery/www/modules/converters/json.xq	2012-03-08 23:31:02 +0000
+++ modules/com/zorba-xquery/www/modules/converters/json.xq	2012-04-27 13:22:48 +0000
@@ -100,7 +100,7 @@
 import schema namespace json-options =
   "http://www.zorba-xquery.com/modules/converters/json-options";;
 
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 declare namespace err = "http://www.w3.org/2005/xqt-errors";;
 declare namespace zerr = "http://www.zorba-xquery.com/errors";;
 
@@ -252,7 +252,7 @@
   $options as item()?
 ) as element()* external;
 
-declare %ann:streamable %private function json:serialize-internal(
+declare %an:streamable %private function json:serialize-internal(
   $xml as item()*,
   $options as item()?
 ) as xs:string external;

=== modified file 'modules/com/zorba-xquery/www/modules/datetime.xq'
--- modules/com/zorba-xquery/www/modules/datetime.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/datetime.xq	2012-04-27 13:22:48 +0000
@@ -28,7 +28,7 @@
  :
  :)
 module namespace datetime = "http://www.zorba-xquery.com/modules/datetime";;
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
 declare option ver:module-version "2.0";
 
@@ -39,7 +39,7 @@
  :
  : @return the non-stable datetime value
  :)
-declare %ann:nondeterministic function datetime:current-dateTime ( ) as xs:dateTime external;
+declare %an:nondeterministic function datetime:current-dateTime ( ) as xs:dateTime external;
 
 (:~
  : Return the current time value.
@@ -48,7 +48,7 @@
  :
  : @return the non-stable time value
  :)
-declare %ann:nondeterministic function datetime:current-time ( ) as xs:time external;
+declare %an:nondeterministic function datetime:current-time ( ) as xs:time external;
 
 (:~
  : Return the current date value.
@@ -57,11 +57,11 @@
  :
  : @return the non-stable date value
  :)
-declare %ann:nondeterministic function datetime:current-date ( ) as xs:date external;
+declare %an:nondeterministic function datetime:current-date ( ) as xs:date external;
 
 (:~
  : Return the the number of milliseconds since the Epoch.
  :
  : @return the said number of milliseconds.
  :)
-declare %ann:nondeterministic function datetime:timestamp ( ) as xs:long external;
+declare %an:nondeterministic function datetime:timestamp ( ) as xs:long external;

=== modified file 'modules/com/zorba-xquery/www/modules/fetch.xq'
--- modules/com/zorba-xquery/www/modules/fetch.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/fetch.xq	2012-04-27 13:22:48 +0000
@@ -33,7 +33,7 @@
  :)
 module namespace fetch = "http://www.zorba-xquery.com/modules/fetch";;
 
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 
 declare namespace zerr = "http://www.zorba-xquery.com/errors";;
 
@@ -49,7 +49,7 @@
  : URI Resolvers</a>. Therefore, it queries all URI mappers
  : and resolvers with kind <tt>EntityData::SOME_CONTENT</tt>.</p>
  :
- : <p>The function is annotated with the <tt>ann:streamable</tt>
+ : <p>The function is annotated with the <tt>an:streamable</tt>
  : annotation, that is it returns a streamable string. A streamable
  : string can only be consumed once. Please see section "Streamable Strings"
  : in the <a href="../../html/options_and_annotations.html">
@@ -65,7 +65,7 @@
  : @see <a href="../../html/uriresolvers.html">URI Resolvers</a>.
  : @see <a href="../../html/options_and_annotations.html">Documentation of Zorba's annotations</a>.
  :)
-declare %ann:streamable function fetch:content($uri as xs:string) as xs:string
+declare %an:streamable function fetch:content($uri as xs:string) as xs:string
 {
   fetch:content($uri, "SOME_CONTENT")
 };
@@ -79,7 +79,7 @@
  : URI Resolvers</a>. Therefore, it queries all URI mappers
  : and resolvers with the specified entity kind.</p>
  :
- : <p>The function is annotated with the <tt>ann:streamable</tt>
+ : <p>The function is annotated with the <tt>an:streamable</tt>
  : annotation, that is it returns a streamable string. A streamable
  : string can only be consumed once. Please see section "Streamable Strings"
  : in the <a href="../../html/options_and_annotations.html">
@@ -97,4 +97,4 @@
  : @see <a href="../../html/options_and_annotations.html">Documentation of Zorba's annotations</a>.
  :)
 
-declare %ann:streamable function fetch:content($uri as xs:string, $entityKind as xs:string) as xs:string external;
+declare %an:streamable function fetch:content($uri as xs:string, $entityKind as xs:string) as xs:string external;

=== modified file 'modules/com/zorba-xquery/www/modules/http-client.xq'
--- modules/com/zorba-xquery/www/modules/http-client.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/http-client.xq	2012-04-27 13:22:48 +0000
@@ -248,7 +248,7 @@
 
 import schema namespace http-schema = "http://expath.org/ns/http-client";;
 
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
 declare namespace err = "http://www.w3.org/2005/xqt-errors";;
 
@@ -291,7 +291,7 @@
  : @example test/rbkt/Queries/zorba/http-client/send-request/send-request_href.xq
  : @example test/rbkt/Queries/zorba/http-client/send-request/http3-post.xq
  :)
-declare %ann:sequential function http:send-request(
+declare %an:sequential function http:send-request(
   $request as element(http-schema:request)?,
   $href as xs:string?,
   $bodies as item()*) as item()+ 
@@ -334,7 +334,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/get/get_text.xq
  :)
-declare %ann:nondeterministic function http:get($href as xs:string) as item()+
+declare %an:nondeterministic function http:get($href as xs:string) as item()+
 {
   http:http-nondeterministic-impl(validate {<http-schema:request method="GET" href="{$href}" follow-redirect="true"/>}, (), ())
 };
@@ -353,7 +353,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/get-node/get-node_xml_query.xq
  :)
-declare %ann:nondeterministic function http:get-node($href as xs:string) as item()+
+declare %an:nondeterministic function http:get-node($href as xs:string) as item()+
 {
   http:http-nondeterministic-impl(validate {<http-schema:request method="GET" href="{$href}" follow-redirect="true" override-media-type="text/xml; charset=utf-8"/>}, (), ())
 };
@@ -373,7 +373,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/get-text/get-text_xml_query.xq 
  :)
-declare %ann:nondeterministic function http:get-text($href as xs:string) as item()+
+declare %an:nondeterministic function http:get-text($href as xs:string) as item()+
 {
   http:http-nondeterministic-impl(validate {<http-schema:request method="GET" href="{$href}" follow-redirect="true" override-media-type="text/plain; charset=utf-8"/>}, (), ())
 };
@@ -393,7 +393,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/get-binary/get-binary_xml_query.xq
  :)
-declare %ann:nondeterministic function http:get-binary($href as xs:string) as item()+
+declare %an:nondeterministic function http:get-binary($href as xs:string) as item()+
 {
   http:http-nondeterministic-impl(validate {<http-schema:request method="GET" href="{$href}" follow-redirect="true" override-media-type="binary"/>}, (), ())
 };
@@ -411,7 +411,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/head/head_status.xq
  :)
-declare %ann:nondeterministic function http:head($href as xs:string) as item() {
+declare %an:nondeterministic function http:head($href as xs:string) as item() {
   http:http-nondeterministic-impl(
     validate {
       <http-schema:request method="HEAD" href="{$href}">
@@ -431,7 +431,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/options/options.xq
  :)
-declare %ann:nondeterministic function http:options($href as xs:string) as xs:string* {
+declare %an:nondeterministic function http:options($href as xs:string) as xs:string* {
   let $resp := http:http-nondeterministic-impl(
     validate {
       <http-schema:request method="OPTIONS" href="{$href}">
@@ -460,7 +460,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/put/put2_element.xq
  :)
-declare %ann:sequential function http:put($href as xs:string, $body as item()) as item()+
+declare %an:sequential function http:put($href as xs:string, $body as item()) as item()+
 {
   variable $media-type as xs:string+ :=
     typeswitch($body)
@@ -504,7 +504,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/put/put3_html_br.xq
  :)
-declare %ann:sequential function http:put($href as xs:string, $body as item(), $content-type as xs:string) as item()+
+declare %an:sequential function http:put($href as xs:string, $body as item(), $content-type as xs:string) as item()+
 {
   variable $method :=
     typeswitch ($body)
@@ -545,7 +545,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/delete/delete.xq
  :)
-declare %ann:sequential function http:delete($href as xs:string) as item()+
+declare %an:sequential function http:delete($href as xs:string) as item()+
 {
   http:http-sequential-impl(
     validate {
@@ -572,7 +572,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/post/post2_comment.xq
  :)
-declare %ann:sequential function http:post($href as xs:string, $body as item()) as item()+
+declare %an:sequential function http:post($href as xs:string, $body as item()) as item()+
 {
   variable $media-type as xs:string :=
     typeswitch($body)
@@ -617,7 +617,7 @@
  :
  : @example test/rbkt/Queries/zorba/http-client/post/post3_xml.xq
  :)
-declare %ann:sequential function http:post($href as xs:string, $body as item(), $content-type as xs:string) as item()+
+declare %an:sequential function http:post($href as xs:string, $body as item(), $content-type as xs:string) as item()+
 {
   variable $method :=
     typeswitch ($body)
@@ -645,13 +645,13 @@
   $result
 };
 
-declare %private %ann:sequential function http:http-sequential-impl(
+declare %private %an:sequential function http:http-sequential-impl(
   $request as schema-element(http-schema:request)?,
   $href as xs:string?,
   $bodies as item()*) as item()+ external;
 
 
-declare %private %ann:nondeterministic function http:http-nondeterministic-impl(
+declare %private %an:nondeterministic function http:http-nondeterministic-impl(
   $request as schema-element(http-schema:request)?,
   $href as xs:string?,
   $bodies as item()*) as item()+ external;

=== modified file 'modules/com/zorba-xquery/www/modules/pregenerated/errors.xq'
--- modules/com/zorba-xquery/www/modules/pregenerated/errors.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/pregenerated/errors.xq	2012-04-27 13:22:48 +0000
@@ -521,14 +521,6 @@
 
 (:~
 :)
-declare variable $zerr:ZDDY0034 as xs:QName := fn:QName($zerr:NS, "zerr:ZDDY0034");
-
-(:~
-:)
-declare variable $zerr:ZDDY0035 as xs:QName := fn:QName($zerr:NS, "zerr:ZDDY0035");
-
-(:~
-:)
 declare variable $zerr:ZDDY0031 as xs:QName := fn:QName($zerr:NS, "zerr:ZDDY0031");
 
 (:~
@@ -541,6 +533,18 @@
 
 (:~
 :)
+declare variable $zerr:ZDDY0034 as xs:QName := fn:QName($zerr:NS, "zerr:ZDDY0034");
+
+(:~
+:)
+declare variable $zerr:ZDDY0035 as xs:QName := fn:QName($zerr:NS, "zerr:ZDDY0035");
+
+(:~
+:)
+declare variable $zerr:ZDDY0036 as xs:QName := fn:QName($zerr:NS, "zerr:ZDDY0036");
+
+(:~
+:)
 declare variable $zerr:ZDST0001 as xs:QName := fn:QName($zerr:NS, "zerr:ZDST0001");
 
 (:~

=== modified file 'modules/com/zorba-xquery/www/modules/project_xqdoc.xq'
--- modules/com/zorba-xquery/www/modules/project_xqdoc.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/project_xqdoc.xq	2012-04-27 13:22:48 +0000
@@ -33,7 +33,7 @@
 import schema namespace xqdoc = "http://www.xqdoc.org/1.0";;
 import schema namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";;
 
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 declare namespace zm = "http://www.zorba-xquery.com/manifest";;
 import module namespace fetch = "http://www.zorba-xquery.com/modules/fetch";;
 
@@ -58,7 +58,7 @@
  : @param $xqdocPath where to generate the XQDoc XML documents.
  : @return empty sequence.
  :)
-declare %ann:sequential function pxqdoc:delete-XML-dir(
+declare %an:sequential function pxqdoc:delete-XML-dir(
   $xqdocPath as xs:string)
 {
   variable $xqdocXMLPath  := fn:concat( $xqdocPath,
@@ -70,7 +70,7 @@
   else ();
 };
 
-declare %private %ann:nondeterministic function pxqdoc:load-manifest(
+declare %private %an:nondeterministic function pxqdoc:load-manifest(
   $zorbaManifestPath as xs:string)
 {
   try 
@@ -90,7 +90,7 @@
  : @param $xqdocPath where to generate the XQDoc XML documents.
  : @return empty sequence.
  :)
-declare %ann:sequential function pxqdoc:generate-xqdoc-XML(
+declare %an:sequential function pxqdoc:generate-xqdoc-XML(
   $zorbaManifestPath as xs:string,
   $xqdocPath as xs:string)
 {
@@ -147,4 +147,4 @@
       "http:__",
       ""
   )
-};
\ No newline at end of file
+};

=== modified file 'modules/com/zorba-xquery/www/modules/random.xq'
--- modules/com/zorba-xquery/www/modules/random.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/random.xq	2012-04-27 13:22:48 +0000
@@ -26,7 +26,7 @@
  :)
 module namespace r = "http://www.zorba-xquery.com/modules/random";;
 
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 declare namespace zerr = "http://www.zorba-xquery.com/errors";;
 
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
@@ -75,7 +75,7 @@
  : @return <tt>$num</tt> random integers, or the empty
  :  sequence if <tt>$num</tt> is negative.
  :)
-declare %ann:nondeterministic function r:random(
+declare %an:nondeterministic function r:random(
   $num as xs:integer
 ) as xs:integer* external;
 
@@ -88,7 +88,7 @@
  :
  : @return a random integer
  :)
-declare %ann:nondeterministic function r:random() as xs:integer
+declare %an:nondeterministic function r:random() as xs:integer
 {
   r:random(1)
 };
@@ -157,7 +157,7 @@
  :
  : @error r:invalid-arg if <tt>$lower</tt> is greater than <tt>$upper</tt>
  :)
-declare %ann:nondeterministic function r:random-between(
+declare %an:nondeterministic function r:random-between(
   $lower as xs:integer,
   $upper as xs:integer,
   $num as xs:integer) as xs:integer*
@@ -192,7 +192,7 @@
  : @param $upper the upper bound for the random number
  : @return a random integer within the given range
  :)
-declare %ann:nondeterministic function r:random-between(
+declare %an:nondeterministic function r:random-between(
   $lower as xs:integer,
   $upper as xs:integer
 ) as xs:integer
@@ -206,5 +206,5 @@
  :
  : @return the generated UUID as xs:string
 :)
-declare %ann:nondeterministic function r:uuid() as xs:string external;
+declare %an:nondeterministic function r:uuid() as xs:string external;
 

=== modified file 'modules/com/zorba-xquery/www/modules/reflection.xq'
--- modules/com/zorba-xquery/www/modules/reflection.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/reflection.xq	2012-04-27 13:22:48 +0000
@@ -29,7 +29,7 @@
 
 module namespace reflection = "http://www.zorba-xquery.com/modules/reflection";;
 
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 
 declare namespace err = "http://www.w3.org/2005/xqt-errors";;
 
@@ -43,7 +43,7 @@
  : variable, taken from a file, etc. The first parameter must always be a 
  : QName identifying a known function.
  :
- : The function is declared with the %ann:variadic annotation. Hence, it allows
+ : The function is declared with the %an:variadic annotation. Hence, it allows
  : for an arbitrary number of parameters. All of these parameters (except the
  : first one) will be passed to the function that is called.
  :
@@ -61,7 +61,7 @@
  : @example test/rbkt/Queries/zorba/reflection/reflection-invoke-01.xq
  : @example test/rbkt/Queries/zorba/reflection/reflection-invoke-92.xq
  :)
-declare %ann:variadic function reflection:invoke(
+declare %an:variadic function reflection:invoke(
   $name as xs:QName
 ) as item()* external;
 
@@ -77,7 +77,7 @@
  :
  : @see reflection:invoke()
  :)
-declare %ann:nondeterministic %ann:variadic updating function reflection:invoke-n(
+declare %an:nondeterministic %an:variadic updating function reflection:invoke-n(
   $name as xs:QName
 ) as item()* external;
 
@@ -93,7 +93,7 @@
  :
  : @see reflection:invoke-n()
  :)
-declare %ann:nondeterministic %ann:variadic updating function reflection:invoke-u(
+declare %an:nondeterministic %an:variadic updating function reflection:invoke-u(
   $name as xs:QName
 ) external;
 
@@ -109,7 +109,7 @@
  :
  : @see reflection:invoke()
  :)
-declare %ann:variadic %ann:sequential function reflection:invoke-s(
+declare %an:variadic %an:sequential function reflection:invoke-s(
   $name as xs:QName
 ) as item()* external;
 
@@ -178,7 +178,7 @@
  :
  : @return the result of evaluating the query
  :)
-declare %ann:nondeterministic function reflection:eval-n(
+declare %an:nondeterministic function reflection:eval-n(
     $query as xs:string
 ) as item()* external;
 
@@ -197,7 +197,7 @@
  :
  : @see reflection:eval()
  :)
-declare %ann:nondeterministic updating function reflection:eval-u(
+declare %an:nondeterministic updating function reflection:eval-u(
     $query as xs:string
 ) external;
 
@@ -217,6 +217,6 @@
  :
  : @see reflection:eval()
  :)
-declare %ann:sequential function reflection:eval-s(
+declare %an:sequential function reflection:eval-s(
     $query as xs:string
 ) as item()* external;

=== modified file 'modules/com/zorba-xquery/www/modules/store/data-structures/unordered-map.xq'
--- modules/com/zorba-xquery/www/modules/store/data-structures/unordered-map.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/store/data-structures/unordered-map.xq	2012-04-27 13:22:48 +0000
@@ -40,7 +40,7 @@
 
 declare namespace zerr = "http://www.zorba-xquery.com/errors";;
 declare namespace err = "http://www.w3.org/2005/xqt-errors";;
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
 declare option ver:module-version "2.0";
@@ -63,7 +63,7 @@
  :        xs:anyAtomicType.
  : @error zerr:ZSTR0001 if a map with the given name already exists.
  :)
-declare %ann:variadic %ann:sequential function map:create(
+declare %an:variadic %an:sequential function map:create(
   $name as xs:QName,
   $key-type as xs:QName) as empty-sequence() external;
 
@@ -77,7 +77,7 @@
  :
  : @error zerr:ZDDY0023 if a map with the given name does not exist.
  :)
-declare %ann:sequential function map:delete(
+declare %an:sequential function map:delete(
   $name as xs:QName) as empty-sequence() external;
 
 (:~
@@ -107,7 +107,7 @@
  : @see map:create
  :
  :)
-declare %ann:variadic %ann:sequential function map:insert(
+declare %an:variadic %an:sequential function map:insert(
   $name as xs:QName,
   $value as item()*,
   $key as xs:anyAtomicType?) as empty-sequence() external;
@@ -133,7 +133,7 @@
  :
  : @see map:create
  :)
-declare %ann:variadic function map:get(
+declare %an:variadic function map:get(
   $name as xs:QName,
   $key as xs:anyAtomicType?) as item()* external;
 
@@ -158,7 +158,7 @@
  : @see map:create
  :
  :)
-declare %ann:variadic %ann:sequential function map:remove(
+declare %an:variadic %an:sequential function map:remove(
   $name as xs:QName,
   $key as xs:anyAtomicType?) as empty-sequence() external;
 

=== modified file 'modules/com/zorba-xquery/www/modules/store/dynamic/collections/dml.xq'
--- modules/com/zorba-xquery/www/modules/store/dynamic/collections/dml.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/store/dynamic/collections/dml.xq	2012-04-27 13:22:48 +0000
@@ -17,7 +17,7 @@
 :)
 
 (:~
- : This modules provides a set of functions to modify a collection and retrieve the nodes
+ : This modules provides a set of functions to modify a collection and retrieve the items
  : contained in a particular collection.
  :
  : <p>Please refer to our documentation for <a href="../../html/data_lifecycle.html">
@@ -35,7 +35,7 @@
 module namespace dml = "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";;
 
 declare namespace zerr = "http://www.zorba-xquery.com/errors";;
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
 declare option ver:module-version "2.0";
@@ -53,6 +53,8 @@
  :
  : @error zerr:ZDDY0003 if the collection identified by $name is not available.
  :
+ : @deprecated please use the cdml:insert-first#2 function
+ :
  :)
 declare updating function 
 dml:insert-nodes-first($name as xs:QName, $content as node()*) external;
@@ -87,6 +89,8 @@
  :
  : @error zerr:ZDDY0003 if the collection identified by $name is not available.
  :
+ : @deprecated please use the cdml:insert-last#2 function
+ :
  :)
 declare updating function 
 dml:insert-nodes-last($name as xs:QName, $content as node()*) external;
@@ -125,6 +129,8 @@
  : @error zerr:ZDDY0003 if the collection identified by $name is not available.
  : @error zerr:ZDDY0011 if the target node is not contained in the collection.
  :
+ : @deprecated please use the cdml:insert-before#3 function
+ :
  :)
 declare updating function 
 dml:insert-nodes-before(
@@ -169,6 +175,8 @@
  : @error zerr:ZDDY0003 if the collection identified by $name is not available.
  : @error zerr:ZDDY0011 if the target node is not contained in the collection.
  :
+ : @deprecated please use the cdml:insert-after#3 function
+ :
  :)
 declare updating function 
 dml:insert-nodes-after(
@@ -213,8 +221,10 @@
  :
  : @see dml:insert-nodes-first
  :
+ : @deprecated please use the cdml:apply-insert-first#2 function
+ :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 dml:apply-insert-nodes-first(
   $name as xs:QName,
   $content as node()*) as node()* external;
@@ -235,7 +245,7 @@
  : @see dml:insert-first
  :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 dml:apply-insert-first($name as xs:QName, $content as item()*) as item()* external;
 
 
@@ -254,8 +264,10 @@
  :
  : @see dml:insert-nodes-last
  :
+ : @deprecated please use the cdml:apply-insert-last#2 function
+ :
  :)
-declare %ann:sequential function dml:apply-insert-nodes-last(
+declare %an:sequential function dml:apply-insert-nodes-last(
   $name as xs:QName,
   $content as node()*) as node()* external;
 
@@ -276,7 +288,7 @@
  : @see dml:insert-last
  :
  :)
-declare %ann:sequential function dml:apply-insert-last(
+declare %an:sequential function dml:apply-insert-last(
   $name as xs:QName,
   $content as item()*) as item()* external;
 
@@ -298,8 +310,10 @@
  :
  : @see dml:insert-nodes-before
  :
+ : @deprecated please use the cdml:apply-insert-before#3 function
+ :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 dml:apply-insert-nodes-before(
   $name as xs:QName,
   $target as node(),
@@ -324,7 +338,7 @@
  : @see dml:insert-before
  :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 dml:apply-insert-before(
   $name as xs:QName,
   $target as item(),
@@ -348,8 +362,10 @@
  :
  : @see dml:insert-nodes-after
  :
+ : @deprecated please use the cdml:apply-insert-after#3 function
+ :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 dml:apply-insert-nodes-after(
   $name as xs:QName,
   $pos as node(),
@@ -374,7 +390,7 @@
  : @see dml:insert-after
  :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 dml:apply-insert-after(
   $name as xs:QName,
   $pos as item(),
@@ -394,6 +410,8 @@
  :        a collection or not all nodes of the $target sequence belong to the same
  :        collection.
  :
+ : @deprecated please use the cdml:delete#1 function
+ :
  :)
 declare updating function 
 dml:delete-nodes($target as node()*) external;
@@ -428,6 +446,8 @@
  :
  : @error zerr:ZDDY0011 if the collection doesn't contain any node.
  :
+ : @deprecated please use the cdml:delete-first#1 function
+ :
  :)
 declare updating function 
 dml:delete-node-first($name as xs:QName) external;
@@ -462,6 +482,8 @@
  :
  : @error zerr:ZDDY0011 if the collection doesn't contain the given number of nodes.
  :
+ : @deprecated please use the cdml:delete-first#2 function
+ :
  :)
 declare updating function 
 dml:delete-nodes-first($name as xs:QName, $number as xs:integer) external;
@@ -498,6 +520,8 @@
  :        for the expanded QName $name.
  : @error zerr:ZDDY0011 if the collection doesn't contain any node.
  :
+ : @deprecated please use the cdml:delete-last#1 function
+ :
  :)
 declare updating function 
 dml:delete-node-last($name as xs:QName) external;
@@ -535,6 +559,8 @@
  :        for the expanded QName $name.
  : @error zerr:ZDDY0011 if the collection doesn't contain the given number of nodes.
  :
+ : @deprecated please use the cdml:delete-last#2 function
+ :
  :)
 declare updating function 
 dml:delete-nodes-last($name as xs:QName, $number as xs:integer) external;

=== modified file 'modules/com/zorba-xquery/www/modules/store/dynamic/collections/w3c/dml.xq'
--- modules/com/zorba-xquery/www/modules/store/dynamic/collections/w3c/dml.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/store/dynamic/collections/w3c/dml.xq	2012-04-27 13:22:48 +0000
@@ -43,7 +43,7 @@
 import module namespace qdml = "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";;
 
 declare namespace zerr = "http://www.zorba-xquery.com/errors";;
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
 declare option ver:module-version "2.0";
@@ -153,7 +153,7 @@
  : @see dml:insert-nodes-first
  :
  :)
-declare %ann:sequential function dml:apply-insert-nodes-first(
+declare %an:sequential function dml:apply-insert-nodes-first(
   $name as xs:string,
   $content as node()*) as node()*
 {
@@ -176,7 +176,7 @@
  : @see dml:insert-nodes-last
  :
  :)
-declare %ann:sequential function dml:apply-insert-nodes-last(
+declare %an:sequential function dml:apply-insert-nodes-last(
   $name as xs:string,
   $content as node()*) as node()*
 {
@@ -201,7 +201,7 @@
  : @see dml:insert-nodes-before
  :
  :)
-declare %ann:sequential function dml:apply-insert-nodes-before(
+declare %an:sequential function dml:apply-insert-nodes-before(
   $name as xs:string,
   $target as node(),
   $content as node()*) as node()*
@@ -227,7 +227,7 @@
  : @see dml:insert-nodes-after
  :
  :)
-declare %ann:sequential function dml:apply-insert-nodes-after(
+declare %an:sequential function dml:apply-insert-nodes-after(
   $name as xs:string,
   $pos as node(),
   $content as node()*) as node()*

=== modified file 'modules/com/zorba-xquery/www/modules/store/static/collections/dml.xq'
--- modules/com/zorba-xquery/www/modules/store/static/collections/dml.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/store/static/collections/dml.xq	2012-04-27 13:22:48 +0000
@@ -17,7 +17,7 @@
 :)
 
 (:~
- : This modules provides a set of functions to modify a collection and retrieve the nodes
+ : This modules provides a set of functions to modify a collection and retrieve the items
  : contained in a particular collection.
  :
  : <p>This module is part of <a href="../../html/xqddf.html">Zorba's XQuery Data
@@ -42,7 +42,7 @@
  :)
 module namespace cdml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";;
 
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 declare namespace zerr = "http://www.zorba-xquery.com/errors";;
 
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
@@ -68,6 +68,8 @@
  : @error zerr:ZDTY0001 if $content does not match the expected type (as specified
  :        in the collection declaration) according to the rules for SequenceType Matching.
  :
+ : @deprecated please use the cdml:insert#2 function
+ :
  :)
 declare updating function 
 cdml:insert-nodes($name as xs:QName, $content as node()*) external;
@@ -115,6 +117,8 @@
  : @error zerr:ZDTY0001 if $content does not match the expected type (as specified
  :        in the collection declaration) according to the rules for SequenceType Matching.
  :
+ : @deprecated please use the cdml:insert-first#2 function
+ :
  :)
 declare updating function 
 cdml:insert-nodes-first($name as xs:QName, $content as node()*)  external;
@@ -160,6 +164,8 @@
  : @error zerr:ZDTY0001 if $content does not match the expected type (as specified
  :        in the collection declaration) according to the rules for SequenceType Matching.
  :
+ : @deprecated please use the cdml:insert-last#2 function
+ :
  :)
 declare updating function 
 cdml:insert-nodes-last($name as xs:QName, $content as node()*)  external;
@@ -210,6 +216,8 @@
  : @error zerr:ZDDY0011 if the $target node is not a node that is contained in
  :        the collection $name.
  :
+ : @deprecated please use the cdml:insert-before#3 function
+ :
  :)
 declare updating function 
 cdml:insert-nodes-before(
@@ -269,6 +277,8 @@
  : @error zerr:ZDDY0011 if the $target node is not a node that is contained in
  :        the collection $name.
  :
+ : @deprecated please use the cdml:insert-after#3 function
+ :
  :)
 declare updating function 
 cdml:insert-nodes-after(
@@ -302,7 +312,7 @@
  :
  :)
 declare updating function 
-cdml:insert-after($name as xs:QName, $target as node(), $content as item()*) external;
+cdml:insert-after($name as xs:QName, $target as item(), $content as item()*) external;
 
 
 (:~
@@ -325,8 +335,10 @@
  :
  : @see cdml:insert-nodes
  :
+ : @deprecated please use the cdml:apply-insert#2 function
+ :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert-nodes($name as xs:QName, $content as node()*) as node()* external;
 
 
@@ -350,10 +362,9 @@
  : @see cdml:insert
  :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert($name as xs:QName, $content as item()*) as item()* external;
 
-
 (:~
  : This function does the same as the insert-nodes-first function except
  : it immediately applies the resulting pending updates and returns the
@@ -375,8 +386,10 @@
  :
  : @see cdml:insert-nodes-first
  :
+ : @deprecated please use the cdml:apply-insert-first#2 function
+ :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert-nodes-first(
   $name as xs:QName, 
   $content as node()*) as node()* external;
@@ -404,10 +417,9 @@
  : @see cdml:insert-first
  :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert-first($name as xs:QName, $content as item()*) as item()* external;
 
-
 (:~
  : This function does the same as the insert-nodes-last function except
  : it immediately applies the resulting pending updates and returns the
@@ -428,8 +440,10 @@
  :
  : @see cdml:insert-nodes-last
  :
+ : @deprecated please use the cdml:apply-insert-last#2 function
+ :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert-nodes-last(
   $name as xs:QName,
   $content as node()*) as node()*  external;
@@ -456,7 +470,7 @@
  : @see cdml:insert-last
  :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert-last($name as xs:QName, $content as item()*) as item()*  external;
 
 
@@ -485,8 +499,10 @@
  :
  : @see cdml:insert-nodes-before
  :
+ : @deprecated please use the cdml:apply-insert-before#3 function
+ :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert-nodes-before(
   $name as xs:QName,
   $target as node(),
@@ -519,7 +535,7 @@
  : @see cdml:insert-before
  :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert-before(
   $name as xs:QName,
   $target as item(),
@@ -551,8 +567,10 @@
  :
  : @see cdml:insert-nodes-after
  :
+ : @deprecated please use the cdml:apply-insert-after#3 function
+ :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert-nodes-after(
   $name as xs:QName,
   $pos as node(),
@@ -585,7 +603,7 @@
  : @see cdml:insert-after
  :
  :)
-declare %ann:sequential function 
+declare %an:sequential function 
 cdml:apply-insert-after(
   $name as xs:QName,
   $pos as item(),
@@ -609,6 +627,8 @@
  :        collection or not all nodes of the $target sequence belong to the same
  :        collection.
  :
+ : @deprecated please use the cdml:delete#1 function
+ :
  :)
 declare updating function 
 cdml:delete-nodes($target as node()*)  external;
@@ -651,6 +671,8 @@
  : @error zerr:ZDDY0012 if the order property of the collection $name is unordered.
  : @error zerr:ZDDY0011 If the collection is empty.
  :
+ : @deprecated please use the cdml:delete-first#1 function
+ :
  :)
 declare updating function 
 cdml:delete-node-first($name as xs:QName) external;
@@ -694,6 +716,8 @@
  : @error zerr:ZDDY0012 if the order property of the collection $name is unordered.
  : @error zerr:ZDDY0011 If the collection contains less than $number nodes.
  :
+ : @deprecated please use the cdml:delete-first#2 function
+ :
  :)
 declare updating function 
 cdml:delete-nodes-first($name as xs:QName, $number as xs:integer)  external;
@@ -737,6 +761,8 @@
  :        append-only, or queue.
  : @error zerr:ZDDY0012 if the order property of the collection $name is unordered.
  : @error zerr:ZDDY0011 If the collection is empty.
+ :
+ : @deprecated please use the cdml:delete-last#1 function
  :)
 declare updating function 
 cdml:delete-node-last($name as xs:QName)  external;
@@ -777,6 +803,8 @@
  : @error zerr:ZDDY0012 if the order property of the collection $name is unordered.
  : @error zerr:ZDDY0011 If the collection contains less than $number nodes.
  :
+ : @deprecated please use the cdml:delete-last#2 function
+ :
  :)
 declare updating function 
 cdml:delete-nodes-last($name as xs:QName, $number as xs:integer)  external;
@@ -806,6 +834,9 @@
  : The truncate function is an updating function that deletes the
  : entire contents of collection.
  :
+ : Please note that applying this function can not be undone in case
+ : an error happens during the application of the containing PUL.
+ :
  : @param $name The name of the collection whose content to delete
  :
  : @return The result of this function is an empty XDM instance and a pending update
@@ -852,7 +883,7 @@
 
 (:~
  : The index-of function returns the position of the given item (node or 
- : json item) within its containing the collection.
+ : json item) within its containing collection.
  :
  : @param $node The item to retrieve the index for.
  :
@@ -863,4 +894,4 @@
  :
  :)
 declare function 
-cdml:index-of($item as item()) as xs:integer  external;
+cdml:index-of($item as item()) as xs:integer external;

=== modified file 'modules/com/zorba-xquery/www/modules/store/static/indexes/dml.xq'
--- modules/com/zorba-xquery/www/modules/store/static/indexes/dml.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/store/static/indexes/dml.xq	2012-04-27 13:22:48 +0000
@@ -43,7 +43,7 @@
 module namespace idml = "http://www.zorba-xquery.com/modules/store/static/indexes/dml";;
 
 declare namespace zerr = "http://www.zorba-xquery.com/errors";;
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
 
@@ -80,7 +80,7 @@
  :        the sequence type specified in the corresponding keyspec.
  :
  :)
-declare %ann:variadic function idml:probe-index-point-value(
+declare %an:variadic function idml:probe-index-point-value(
   $name as xs:QName, 
   $key_i as xs:anyAtomicType?) as node()*  external; 
 
@@ -187,7 +187,7 @@
  :        lower and upper bound, neither T1 is a subtype of T2 nor T2 is a 
  :        subtype of T1.   
  :)
-declare %ann:variadic function idml:probe-index-range-value(
+declare %an:variadic function idml:probe-index-range-value(
   $name                 as xs:QName, 
   $lowerBound-i         as xs:anyAtomicType?,
   $upperBound-i         as xs:anyAtomicType?,

=== modified file 'modules/com/zorba-xquery/www/modules/xqdoc.xq'
--- modules/com/zorba-xquery/www/modules/xqdoc.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/xqdoc.xq	2012-04-27 13:22:48 +0000
@@ -61,7 +61,7 @@
  :)
 module namespace xqd = "http://www.zorba-xquery.com/modules/xqdoc";;
 
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
 
 declare namespace err = "http://www.w3.org/2005/xqt-errors";;
@@ -80,7 +80,7 @@
  : @error zerr::ZXQD0002 if the xqdoc comments in the
  :  module contain invalid XML
  :)
-declare %ann:nondeterministic function xqd:xqdoc(
+declare %an:nondeterministic function xqd:xqdoc(
   $module-uri as xs:string
 ) as element() external;
 

=== modified file 'modules/com/zorba-xquery/www/modules/xqdoc.xsd'
--- modules/com/zorba-xquery/www/modules/xqdoc.xsd	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/xqdoc.xsd	2012-04-27 13:22:48 +0000
@@ -141,6 +141,7 @@
   </xsd:complexType>
 
   <xsd:complexType name="annotation">
+     <xsd:attribute name="prefix" type="xsd:string" use="optional"/>
      <xsd:attribute name="namespace" type="xsd:string" use="optional"/>
      <xsd:attribute name="localname" type="xsd:string" use="optional"/>
      <xsd:attribute name="value" type="xsd:string" use="optional"/>

=== modified file 'modules/com/zorba-xquery/www/modules/xqdoc2xhtml/index.xq'
--- modules/com/zorba-xquery/www/modules/xqdoc2xhtml/index.xq	2012-04-11 20:22:52 +0000
+++ modules/com/zorba-xquery/www/modules/xqdoc2xhtml/index.xq	2012-04-27 13:22:48 +0000
@@ -38,7 +38,7 @@
 import schema namespace xqdoc = "http://www.xqdoc.org/1.0";;
 import schema namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";;
 
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 declare namespace werr = "http://www.w3.org/2005/xqt-errors";;
 declare namespace z = "http://www.zorba-xquery.com/manifest";;
 
@@ -125,7 +125,7 @@
  : @param $collector the name of the collector.
  : @return empty sequence.
  :)
-declare %private %ann:sequential function xqdoc2html:collect-schema (
+declare %private %an:sequential function xqdoc2html:collect-schema (
   $schemaURI as xs:string,
   $fileName as xs:string,
   $collector)
@@ -174,7 +174,7 @@
  :    E.g. ("cpp", "h", "xml")
  : @return The empty sequence.
  :)
-declare %private %ann:sequential function xqdoc2html:gather-and-copy(
+declare %private %an:sequential function xqdoc2html:gather-and-copy(
   $sourcePath       as xs:string,
   $destinationPath  as xs:string,
   $extensions       as xs:string+)
@@ -239,7 +239,7 @@
  : @param $extensions The sequence of file types to copy (e.g. ("cpp", "h", "xml")).
  : @return The empty sequence.
  :)
-declare %private %ann:sequential function xqdoc2html:copy-files(
+declare %private %an:sequential function xqdoc2html:copy-files(
   $sourcePath       as xs:string,
   $destinationPath  as xs:string,
   $extensions       as xs:string+)
@@ -266,7 +266,7 @@
  : @param $xqdocBuildPath where to generate the XQDoc XML documents.
  : @return Empty sequence.
  :)
-declare %ann:sequential function xqdoc2html:copy-xhtml-requisites(
+declare %an:sequential function xqdoc2html:copy-xhtml-requisites(
   $xhtmlRequisitesPath  as xs:string,
   $xqdocBuildPath       as xs:string)
 {
@@ -300,7 +300,7 @@
 
 (:_____________________________________________________________________________________________________:)
 
-declare %private %ann:sequential function xqdoc2html:create-general-menu()
+declare %private %an:sequential function xqdoc2html:create-general-menu()
 {
   {
     variable $allStructures     := for $entry in $xqdoc2html:menuEntries/entry return $entry/@structure;
@@ -313,7 +313,7 @@
   }
 };
 
-declare %private %ann:sequential function xqdoc2html:create-collection-categories (
+declare %private %an:sequential function xqdoc2html:create-collection-categories (
 $collectionName as xs:QName,
 $xqdocXmlPath as xs:string)
 {
@@ -326,7 +326,7 @@
   return dml:apply-insert-nodes($collectionName, $xqdoc);
 };
 
-declare %private %ann:sequential function xqdoc2html:collectZorbaManifestEntries(
+declare %private %an:sequential function xqdoc2html:collectZorbaManifestEntries(
   $zorbaManifestPath as xs:string,
   $xqdocBuildPath as xs:string)
 {
@@ -365,7 +365,7 @@
  : @param $xhtmlRequisitesPath the path where the XHTML requisites are stored.
  : @return Empty sequence.
  :)
-declare %ann:sequential function xqdoc2html:main(
+declare %an:sequential function xqdoc2html:main(
   $zorbaManifestPath as xs:string,
   $xqdocBuildPath as xs:string,
   $indexHtmlPath  as xs:string,
@@ -474,7 +474,7 @@
   </html>
 };
 
-declare %private %ann:sequential function xqdoc2html:copy-schemas(
+declare %private %an:sequential function xqdoc2html:copy-schemas(
   $schemas,
   $xqdocXhtmlPath as xs:string
 )
@@ -510,7 +510,7 @@
  : @param $zorbaPath path to zorba source dir
  : @return A string sequence with a status message for each processed module.
  :)
-declare %private %ann:sequential function xqdoc2html:generate-xqdoc-xhtml(
+declare %private %an:sequential function xqdoc2html:generate-xqdoc-xhtml(
   $generalLeftMenu,
   $xhtmlRequisitesPath  as xs:string,
   $xqdocXhtmlPath       as xs:string
@@ -598,7 +598,7 @@
  : @param $xqdocXhtmlPath where to generate the XQDoc XHTML documents.
  : @return the processed $xhtml.
  :)
-declare %private %ann:sequential function xqdoc2html:configure-xml (
+declare %private %an:sequential function xqdoc2html:configure-xml (
   $xqdoc,
   $examplePath as xs:string,
   $xqdocXhtmlPath as xs:string)
@@ -624,7 +624,7 @@
  : @param $examplePath string with the paths where the examples are kept separated by ; .
  : @return The created XHTML page.
  :)
-declare %private %ann:sequential function xqdoc2html:copy-examples(
+declare %private %an:sequential function xqdoc2html:copy-examples(
   $xqdoc,
   $examplesFolderDestination as xs:string,
   $examplePath as xs:string)
@@ -665,7 +665,7 @@
  :        separated by <pre>;</pre>.
  : @return The full path of the file to be resolved.
  :)
-declare %private %ann:nondeterministic function xqdoc2html:resolve-file-path(
+declare %private %an:nondeterministic function xqdoc2html:resolve-file-path(
   $relativeFilePath as xs:string,
   $directoryPath as xs:string
 ) as xs:string
@@ -683,7 +683,7 @@
     fn:error($err:UE010, fn:concat("The path <", $directoryPath, "> must point to an existing directory:"))
 };
 
-declare %private %ann:sequential function xqdoc2html:copy-example(
+declare %private %an:sequential function xqdoc2html:copy-example(
   $exampleSource as xs:string,
   $exampleDestination as xs:string,
   $examplePath as xs:string)
@@ -827,7 +827,7 @@
         }
 };
 
-declare %private %ann:sequential function xqdoc2html:parse-spec-args(
+declare %private %an:sequential function xqdoc2html:parse-spec-args(
   $exampleSource as xs:string,
   $specLines as xs:string*) as xs:string
 {
@@ -868,7 +868,7 @@
 
 };
 
-declare %private %ann:sequential function xqdoc2html:load-expected-results(
+declare %private %an:sequential function xqdoc2html:load-expected-results(
   $result_split as xs:string*) as xs:string
 {
   if(fn:empty($result_split)) then
@@ -889,7 +889,7 @@
  xqdoc2html:load-expected-results(fn:subsequence($result_split, 2)))
 };
 
-declare %private %ann:sequential function xqdoc2html:parse-spec-results(
+declare %private %an:sequential function xqdoc2html:parse-spec-results(
   $exampleSource as xs:string,
   $specLines as xs:string*) as xs:string
 {
@@ -966,7 +966,7 @@
        else ()}
        {if(contains($type, "nondeterministic ")) then
         <a  href="{$ZorbaOptAndAnn}"
-            title="%ann:nondeterministic"
+            title="%an:nondeterministic"
             target="_blank"><img src="{concat($imagesPath, "Nondeterministic.gif")}" alt="Nondeterministic"/></a>
        else ()}
        {if(contains($type, "variadic")) then
@@ -1001,7 +1001,7 @@
  : @param $examplePath string with the paths where the examples are kept separated by ; .
  : @return The created XHTML page.
  :)
-declare %private %ann:sequential function xqdoc2html:add-left-menu(
+declare %private %an:sequential function xqdoc2html:add-left-menu(
   $menu,
   $templatePath as xs:string) {
   let $doc := fn:parse-xml(file:read-text($templatePath))
@@ -1023,7 +1023,7 @@
  : @param $examplePath string with the paths where the examples are kept separated by ; .
  : @return The created XHTML page.
  :)
-declare %private %ann:sequential function xqdoc2html:doc(
+declare %private %an:sequential function xqdoc2html:doc(
   $xqdoc,
   $menu,
   $templatePath as xs:string,
@@ -1068,7 +1068,7 @@
  : @param $xqdocXhtmlPath location where the resulting Xhtml will be saved on disk.
  : @return The 'body' of the XHTML.
  :)
-declare %private %ann:nondeterministic function xqdoc2html:body(
+declare %private %an:nondeterministic function xqdoc2html:body(
   $xqdoc,
   $xqdocXhtmlPath as xs:string)
 {
@@ -1181,7 +1181,7 @@
  : @param $indexCollector the modules names part of the left menu.
  : @return the XHTML for the 'Module Resources'.
  :)
-declare %private %ann:nondeterministic function xqdoc2html:module-resources(
+declare %private %an:nondeterministic function xqdoc2html:module-resources(
   $xqdocXhtmlPath as xs:string,
   $moduleUri as xs:string)
 {
@@ -1321,14 +1321,14 @@
       let $name := $variable/xqdoc:uri/text()
       let $type := $variable/xqdoc:comment/xqdoc:custom[@tag="type"]/text()
       let $isExternal := $variable/xqdoc:comment/xqdoc:custom[@tag="isExternal"]/text()
-      let $ann := string-join((for $annotation in $variable/xqdoc:annotations/xqdoc:annotation
+      let $an := string-join((for $annotation in $variable/xqdoc:annotations/xqdoc:annotation
                                return data($annotation/@localname),
                                if($isExternal) then "external" else ""," ")," ")
 
       where (count($variable/xqdoc:annotations/xqdoc:annotation[@localname="private"]) = 0)
       order by $name
       return (<tr>
-              <td>{xqdoc2html:add-images($ann)}</td>
+              <td>{xqdoc2html:add-images($an)}</td>
               <td>${$name}
                   {if(exists($type)) then concat(" as ",$type) else ""}
                   {if(exists($isExternal)) then " external" else ()}<br/>
@@ -1464,7 +1464,7 @@
  : @param $xqdocXhtmlPath location where the resulting Xhtml will be saved on disk.
  : @return the XHTML for the function details.
  :)
-declare %private %ann:nondeterministic function xqdoc2html:functions($functions, $xqdocXhtmlPath) {
+declare %private %an:nondeterministic function xqdoc2html:functions($functions, $xqdocXhtmlPath) {
     if(count($functions)) then (
       <div class="section"><span id="functions">Functions</span></div>,
       for $function in $functions
@@ -1682,7 +1682,7 @@
  : @param $xqdocXhtmlPath location where the resulting Xhtml will be saved on disk.
  : @return the XHTML for the function 'example' annotations.
  :)
-declare %private %ann:nondeterministic function xqdoc2html:annotations-example($comment, $xqdocXhtmlPath) {
+declare %private %an:nondeterministic function xqdoc2html:annotations-example($comment, $xqdocXhtmlPath) {
   let $example := $comment//xqdoc:custom[@tag="example"]
   return
     if (count($example) = 0) then ()
@@ -1784,7 +1784,7 @@
  : @param $templatePath the path to the main.html template.
  : @return The content of the function index page.
  :)
-declare %private %ann:sequential function xqdoc2html:generate-function-index-xhtml(
+declare %private %an:sequential function xqdoc2html:generate-function-index-xhtml(
   $indexFunctionLeft,
   $templatePath as xs:string,
   $functionIndexPath as xs:string
@@ -1815,7 +1815,7 @@
   }
 };
 
-declare %private %ann:sequential function xqdoc2html:collect-entry (
+declare %private %an:sequential function xqdoc2html:collect-entry (
   $href as xs:string,
   $name as xs:string,
   $structure as xs:string,
@@ -1829,7 +1829,7 @@
                       moduleURI="{$moduleURI}" /> as last into $xqdoc2html:menuEntries;
 };
 
-declare %private %ann:sequential function xqdoc2html:collect-menu-entries()
+declare %private %an:sequential function xqdoc2html:collect-menu-entries()
 {
   for $docNode in dml:collection(xs:QName("xqdoc2html:collection"))
       let $module := $docNode/xqdoc:xqdoc/xqdoc:module,
@@ -1859,7 +1859,7 @@
  : @param $moduleUri module URI.
  : @return $table after the subcategory together with the modules were added to it.
  :)
-declare %private %ann:sequential function xqdoc2html:create-module-helper(
+declare %private %an:sequential function xqdoc2html:create-module-helper(
   $table,
   $category as xs:string,
   $currentCategory as xs:string
@@ -1910,7 +1910,7 @@
 (:~
  : Recursive helper
  :)
-declare %private %ann:sequential function xqdoc2html:create-module-table-rec(
+declare %private %an:sequential function xqdoc2html:create-module-table-rec(
   $level1 as xs:string*,
   $leveln as xs:string*,
   $curentCat as xs:string,
@@ -1956,7 +1956,7 @@
  : @param $moduleUri module URI.
  : @return $root after the subcategories were added to it.
  :)
-declare %private %ann:sequential function xqdoc2html:create-module-table(
+declare %private %an:sequential function xqdoc2html:create-module-table(
   $level1 as xs:string*,
   $root)
 {
@@ -1986,7 +1986,7 @@
 };
 
 (:
-declare %private %ann:sequential function xqdoc2html:create-specialized-left-menu(
+declare %private %an:sequential function xqdoc2html:create-specialized-left-menu(
   $generalLeftMenu,
   $moduleUri as xs:string)
 {
@@ -2030,7 +2030,7 @@
  : @param $zorbaVersion Zorba version.
  : @return The content of the new index.html.
  :)
-declare %private %ann:sequential function xqdoc2html:generate-index-html(
+declare %private %an:sequential function xqdoc2html:generate-index-html(
   $templatePath as xs:string,
   $menu,
   $modules,

=== modified file 'modules/org/expath/ns/file.xq'
--- modules/org/expath/ns/file.xq	2012-04-11 20:22:52 +0000
+++ modules/org/expath/ns/file.xq	2012-04-27 13:22:48 +0000
@@ -24,7 +24,7 @@
 module namespace file = "http://expath.org/ns/file";;
 
 import schema namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";;
-declare namespace ann = "http://www.zorba-xquery.com/annotations";;
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
 declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
 declare option ver:module-version "2.0";
 
@@ -46,7 +46,7 @@
  : @error file:FOFL0004 If <pre>$file</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:sequential function file:append(
+declare %an:sequential function file:append(
   $file as xs:string,
   $content as item()*,
   $serializer-params as element(output:serialization-parameters)?
@@ -67,7 +67,7 @@
  : @error file:FOFL0004 If <pre>$file</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:sequential function file:append-binary(
+declare %an:sequential function file:append-binary(
   $file as xs:string,
   $content as xs:base64Binary*
 ) as empty-sequence() external;
@@ -81,7 +81,7 @@
  : @error file:FOFL0004 If <pre>$file</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %private %ann:sequential function file:append-text(
+declare %private %an:sequential function file:append-text(
   $file as xs:string,
   $content as xs:string*
 ) as empty-sequence() external;
@@ -99,7 +99,7 @@
  :    parent directory does not exist either.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic %ann:sequential function file:copy(
+declare %an:nondeterministic %an:sequential function file:copy(
   $source as xs:string,
   $destination as xs:string
 ) as empty-sequence()
@@ -126,7 +126,7 @@
  : @error file:FOFL0004 If <pre>$sourceFile</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %private %ann:sequential function file:copy-file-impl(
+declare %private %an:sequential function file:copy-file-impl(
   $sourceFile as xs:string,
   $destination as xs:string
 ) as empty-sequence() external;
@@ -143,7 +143,7 @@
  :    parent directory does not exist either.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %private %ann:nondeterministic %ann:sequential function file:copy-directory-impl(
+declare %private %an:nondeterministic %an:sequential function file:copy-directory-impl(
   $sourceDir as xs:string,
   $destination as xs:string
 ) as empty-sequence()
@@ -182,7 +182,7 @@
  : @error file:FOFL0003 If <pre>$destination</pre> directory does not exist.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %private %ann:nondeterministic %ann:sequential function file:copy-directory-content(
+declare %private %an:nondeterministic %an:sequential function file:copy-directory-content(
   $sourceDir as xs:string,
   $destination as xs:string
 ) as empty-sequence()
@@ -208,7 +208,7 @@
  :    existing file.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:sequential function file:create-directory(
+declare %an:sequential function file:create-directory(
   $dir as xs:string
 ) as empty-sequence() external;
 
@@ -223,7 +223,7 @@
  : @error file:FOFL0001 If the <pre>$path</pre> path does not exist.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic %ann:sequential function file:delete(
+declare %an:nondeterministic %an:sequential function file:delete(
   $path as xs:string
 ) as empty-sequence()
 {
@@ -244,7 +244,7 @@
  : @error file:FOFL0001 If the <pre>$file</pre> path does not exist.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %private %ann:sequential function file:delete-file-impl(
+declare %private %an:sequential function file:delete-file-impl(
   $file as xs:string
 ) as empty-sequence() external;
 
@@ -257,7 +257,7 @@
  : @error file:FOFL0003 If <pre>$dir</pre> does not point to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %private %ann:nondeterministic %ann:sequential function file:delete-directory-impl(
+declare %private %an:nondeterministic %an:sequential function file:delete-directory-impl(
   $dir as xs:string
 ) as empty-sequence()
 {
@@ -278,7 +278,7 @@
  : @param $path The path/URI to test for existence.
  : @return true if the path/URI points to an existing file system item.
  :)
-declare %ann:nondeterministic function file:exists(
+declare %an:nondeterministic function file:exists(
   $path as xs:string
 ) as xs:boolean external;
 
@@ -289,7 +289,7 @@
  : @param $dir The path/URI to test.
  : @return true if the path/URI points to a directory.
  :)
-declare %ann:nondeterministic function file:is-directory(
+declare %an:nondeterministic function file:is-directory(
   $dir as xs:string
 ) as xs:boolean external;
 
@@ -299,7 +299,7 @@
  : @param $dir The path/URI to test.
  : @return true if the path/URI points to a file.
  :)
-declare %ann:nondeterministic function file:is-file(
+declare %an:nondeterministic function file:is-file(
   $file as xs:string
 ) as xs:boolean external;
 
@@ -316,7 +316,7 @@
  :    directory does not exist either.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:sequential function file:move(
+declare %an:sequential function file:move(
   $source as xs:string,
   $destination as xs:string
 ) as empty-sequence()
@@ -335,7 +335,7 @@
  : @error file:FOFL0004 If <pre>$source</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:read-binary(
+declare %an:nondeterministic function file:read-binary(
   $file as xs:string
 ) as xs:base64Binary external;
 
@@ -352,7 +352,7 @@
  : @error file:FOFL0004 If <pre>$source</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:read-text(
+declare %an:nondeterministic function file:read-text(
   $file as xs:string
 ) as xs:string
 {
@@ -374,7 +374,7 @@
  : @error file:FOFL0006 If <pre>$encoding</pre> is not supported.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:read-text(
+declare %an:nondeterministic function file:read-text(
   $file as xs:string,
   $encoding as xs:string
 ) as xs:string external;
@@ -392,7 +392,7 @@
  : @error file:FOFL0004 If <pre>$source</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:read-text-lines(
+declare %an:nondeterministic function file:read-text-lines(
   $file as xs:string
 ) as xs:string*
 {
@@ -419,14 +419,10 @@
  : @error file:FOFL0006 If <pre>$encoding</pre> is not supported.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:read-text-lines(
+declare %an:nondeterministic function file:read-text-lines(
   $file as xs:string,
   $encoding as xs:string
-) as xs:string*
-{
-  let $content := file:read-text($file, $encoding)
-  return fn:tokenize($content, "\n")
-};
+) as xs:string* external;
 
 (:~
  : This is an internal function that copies an entire source directory to an
@@ -437,7 +433,7 @@
  : @param $destinationDir The existing destination directory.
  : @return The empty sequence.
  :)
-declare %private %ann:nondeterministic %ann:sequential function file:copy-directory(
+declare %private %an:nondeterministic %an:sequential function file:copy-directory(
   $sourceDir as xs:string,
   $destinationDir as xs:string
 ) as empty-sequence()
@@ -476,7 +472,7 @@
  : @error file:FOFL0004 If <pre>$file</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:sequential function file:write(
+declare %an:sequential function file:write(
   $file as xs:string,
   $content as item()*,
   $serializer-params as element(output:serialization-parameters)?
@@ -497,7 +493,7 @@
  : @error file:FOFL0004 If <pre>$file</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:sequential function file:write-binary(
+declare %an:sequential function file:write-binary(
   $file as xs:string,
   $content as xs:base64Binary*
 ) as empty-sequence() external;
@@ -511,7 +507,7 @@
  : @error file:FOFL0004 If <pre>$file</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:sequential function file:write-binary(
+declare %an:sequential function file:write-binary(
   $file as xs:string,
   $content as xs:base64Binary*
 ) as empty-sequence() external;
@@ -528,7 +524,7 @@
  : @error file:FOFL0004 If <pre>$file</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %private %ann:sequential function file:write-text(
+declare %private %an:sequential function file:write-text(
   $file as xs:string,
   $content as xs:string*
 ) as empty-sequence() external;
@@ -544,7 +540,7 @@
  : @error file:FOFL0003 If <pre>$dir</pre> does not point to an existing directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:list(
+declare %an:nondeterministic function file:list(
   $dir as xs:string
 ) as xs:string* external;
 
@@ -563,7 +559,7 @@
  : @error file:FOFL0003 If <pre>$dir</pre> does not point to an existing directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:list(
+declare %an:nondeterministic function file:list(
   $path as xs:string,
   $recursive as xs:boolean
 ) as xs:string*
@@ -600,7 +596,7 @@
  : @error file:FOFL0003 If <pre>$dir</pre> does not point to an existing directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:list(
+declare %an:nondeterministic function file:list(
   $path as xs:string,
   $recursive as xs:boolean,
   $pattern as xs:string
@@ -641,7 +637,7 @@
  : @error file:FOFL0001 If the <pre>$path</pre> does not exist.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:last-modified(
+declare %an:nondeterministic function file:last-modified(
   $path as xs:string
 ) as xs:dateTime external;
 
@@ -654,7 +650,7 @@
  : @error file:FOFL0004 If the <pre>$file</pre> points to a directory.
  : @error file:FOFL9999 If any other error occurs.
  :)
-declare %ann:nondeterministic function file:size(
+declare %an:nondeterministic function file:size(
   $file as xs:string
 ) as xs:integer external;
 

=== modified file 'modules/org/expath/ns/file.xq.src/file.cpp'
--- modules/org/expath/ns/file.xq.src/file.cpp	2012-04-11 20:22:52 +0000
+++ modules/org/expath/ns/file.xq.src/file.cpp	2012-04-27 13:22:48 +0000
@@ -223,6 +223,124 @@
 
 //*****************************************************************************
 
+ReadTextLinesFunction::ReadTextLinesFunction(const FileModule* aModule)
+  : FileFunction(aModule)
+{
+}
+
+ItemSequence_t
+ReadTextLinesFunction::evaluate(
+  const ExternalFunction::Arguments_t& aArgs,
+  const StaticContext*                          aSctxCtx,
+  const DynamicContext*                         aDynCtx) const
+{
+  String lFileStr = getFilePathString(aArgs, 0);
+  File_t lFile = File::createFile(lFileStr.c_str());
+  String lEncoding("UTF-8");
+
+  // preconditions
+  if (!lFile->exists()) {
+    raiseFileError("FOFL0001", "A file does not exist at this path", lFile->getFilePath());
+  }
+  if (lFile->isDirectory()) {
+    raiseFileError("FOFL0004", "The given path points to a directory", lFile->getFilePath());
+  }
+
+  lEncoding = getEncodingArg(aArgs, 1);
+
+  return ItemSequence_t(new LinesItemSequence(lFile, lEncoding, this));
+}
+
+ReadTextLinesFunction::LinesItemSequence::LinesItemSequence(
+    const File_t& aFile,
+    const String& aEncoding,
+    const ReadTextLinesFunction* aFunc)
+  : theFile(aFile),
+    theEncoding(aEncoding),
+    theFunc(aFunc)
+{
+}
+
+Iterator_t
+ReadTextLinesFunction::LinesItemSequence::getIterator()
+{
+  return new ReadTextLinesFunction::LinesItemSequence::LinesIterator(
+      theFile, theEncoding, theFunc
+    );
+}
+
+ReadTextLinesFunction::LinesItemSequence::LinesIterator::LinesIterator(
+    const File_t& aFile,
+    const String& aEncoding,
+    const ReadTextLinesFunction* aFunc)
+  : theFile(aFile),
+    theEncoding(aEncoding),
+    theFunc(aFunc),
+    theStream(0)
+{
+}
+
+ReadTextLinesFunction::LinesItemSequence::LinesIterator::~LinesIterator()
+{
+  delete theStream;
+}
+
+void
+ReadTextLinesFunction::LinesItemSequence::LinesIterator::open()
+{
+  if ( transcode::is_necessary( theEncoding.c_str() ) )
+  {
+    try
+    {
+      theStream = new transcode::stream<std::ifstream>(theEncoding.c_str());
+    }
+    catch (std::invalid_argument const& e)
+    {
+      theFunc->raiseFileError("FOFL0006", "Unsupported encoding", theEncoding.c_str());
+    }
+  }
+  else
+  {
+    theStream = new std::ifstream();
+  }
+  theFile->openInputStream(*theStream, false, true);
+}
+
+bool
+ReadTextLinesFunction::LinesItemSequence::LinesIterator::next(Item& aRes)
+{
+  if (!theStream || !theStream->good())
+    return false;
+
+  std::string lStr;
+  getline(*theStream, lStr);
+  
+  if (theStream->bad())
+  {
+    return false;
+  }
+  else
+  {
+    aRes = theFunc->theModule->getItemFactory()->createString(lStr);
+    return true;
+  }
+}
+
+void
+ReadTextLinesFunction::LinesItemSequence::LinesIterator::close()
+{
+  delete theStream;
+  theStream = 0;
+}
+
+bool
+ReadTextLinesFunction::LinesItemSequence::LinesIterator::isOpen() const
+{
+  return theStream != 0;
+}
+
+//*****************************************************************************
+
 ExistsFunction::ExistsFunction(const FileModule* aModule)
   : FileFunction(aModule)
 {

=== modified file 'modules/org/expath/ns/file.xq.src/file.h'
--- modules/org/expath/ns/file.xq.src/file.h	2012-04-11 20:22:52 +0000
+++ modules/org/expath/ns/file.xq.src/file.h	2012-04-27 13:22:48 +0000
@@ -316,6 +316,70 @@
 
 //*****************************************************************************
 
+  class ReadTextLinesFunction : public FileFunction
+  {
+    public:
+      ReadTextLinesFunction(const FileModule* aModule);
+
+      virtual String
+      getLocalName() const { return "read-text-lines"; }
+  
+      virtual ItemSequence_t 
+      evaluate(const ExternalFunction::Arguments_t& args,
+               const StaticContext* aSctxCtx,
+               const DynamicContext* aDynCtx) const;
+
+    protected:
+      class LinesItemSequence : public ItemSequence
+      {
+        protected:
+          File_t            theFile;
+          String            theEncoding;
+          const ReadTextLinesFunction* theFunc;
+
+          class LinesIterator : public Iterator
+          {
+            protected:
+              const File_t&     theFile;
+              const String&     theEncoding;
+              const ReadTextLinesFunction* theFunc;
+
+              std::ifstream* theStream;
+
+            public:
+              LinesIterator(
+                  const File_t&,
+                  const String&,
+                  const ReadTextLinesFunction*);
+
+              virtual ~LinesIterator();
+
+              virtual void
+              open();
+
+              virtual bool
+              next(Item&);
+
+              virtual void
+              close();
+
+              virtual bool
+              isOpen() const;
+          };
+
+        public:
+          LinesItemSequence(
+              const File_t& aFile,
+              const String& aEncoding,
+              const ReadTextLinesFunction*);
+
+          Iterator_t
+          getIterator();
+      };
+  };
+
+//*****************************************************************************
+
   class WriteTextFunction : public WriterFileFunction
   {
     public:

=== modified file 'modules/org/expath/ns/file.xq.src/file_module.cpp'
--- modules/org/expath/ns/file.xq.src/file_module.cpp	2012-04-11 20:22:52 +0000
+++ modules/org/expath/ns/file.xq.src/file_module.cpp	2012-04-27 13:22:48 +0000
@@ -46,6 +46,8 @@
       lFunc = new ReadBinaryFunction(this);
     } else if (aLocalname == "read-text") {
       lFunc = new ReadTextFunction(this);
+    } else if (aLocalname == "read-text-lines") {
+      lFunc = new ReadTextLinesFunction(this);
     } else if (aLocalname == "exists") {
       lFunc = new ExistsFunction(this);
     } else if (aLocalname == "is-directory") {

=== modified file 'modules/org/jsoniq/www/functions.xq'
--- modules/org/jsoniq/www/functions.xq	2012-03-23 21:17:48 +0000
+++ modules/org/jsoniq/www/functions.xq	2012-04-27 13:22:48 +0000
@@ -1,3 +1,22 @@
+xquery version "1.0";
+
+(:
+ : Copyright 2006-2012 The FLWOR Foundation.
+ :
+ : Licensed under the Apache License, Version 2.0 (the "License");
+ : you may not use this file except in compliance with the License.
+ : You may obtain a copy of the License at
+ :
+ : http://www.apache.org/licenses/LICENSE-2.0
+ :
+ : Unless required by applicable law or agreed to in writing, software
+ : distributed under the License is distributed on an "AS IS" BASIS,
+ : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ : See the License for the specific language governing permissions and
+ : limitations under the License.
+:)
+
+
 (:~
  : This module provides the functions defined by the JSONiq specification,
  : sections 1.7 (Functions) and 1.10 (Update Primitives). JSONiq extends
@@ -8,7 +27,9 @@
  : for details.
  :
  : This module depends on having the JSONiq feature enabled in Zorba,
- : ie, Zorba must be compiled with ZORBA_WITH_JSON.
+ : i.e., Zorba must be compiled with ZORBA_WITH_JSON.
+ :
+ : @author Markos Zaharioudakis, Matthias Brantner
  :)
 module namespace jn = "http://www.jsoniq.org/functions";;
 

=== modified file 'modules/org/jsoniq/www/pregenerated/errors.xq'
--- modules/org/jsoniq/www/pregenerated/errors.xq	2012-04-03 04:05:17 +0000
+++ modules/org/jsoniq/www/pregenerated/errors.xq	2012-04-27 13:22:48 +0000
@@ -81,6 +81,7 @@
 declare variable $jerr:JNTY0007 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0007");
 
 (:~
+ :error raised by node constructor or updating expression indicating that a JSON item cannot appear in the corresponding content sequence
 :)
 declare variable $jerr:JNTY0011 as xs:QName := fn:QName($jerr:NS, "jerr:JNTY0011");
 

=== modified file 'modules/w3c/pregenerated/xqt-errors.xq'
--- modules/w3c/pregenerated/xqt-errors.xq	2012-04-11 20:22:52 +0000
+++ modules/w3c/pregenerated/xqt-errors.xq	2012-04-27 13:22:48 +0000
@@ -1240,6 +1240,24 @@
 
 (:~
  :
+ : Identifier cannot be used to retrive a resource containing text
+ : 
+ : @see http://www.w3.org/2005/xqt-errors
+:)
+declare variable $err:FOUT1170 as xs:QName := fn:QName($err:NS, "err:FOUT1170");
+
+(:~
+ :
+ : Retrieved resource contains octets that cannot be decoded into Unicode 
+ : using the specified encoding, the resulting characters are not 
+ : permitted XML characters or requested encoding not supported
+ : 
+ : @see http://www.w3.org/2005/xqt-errors
+:)
+declare variable $err:FOUT1190 as xs:QName := fn:QName($err:NS, "err:FOUT1190");
+
+(:~
+ :
  : It is a static error if an updating expression is used in any position
  : other than one of the following:
  : - The topmost expression in the body of a query.

=== modified file 'modules/w3c/xpath_functions.xq'
--- modules/w3c/xpath_functions.xq	2012-04-11 20:22:52 +0000
+++ modules/w3c/xpath_functions.xq	2012-04-27 13:22:48 +0000
@@ -994,4 +994,49 @@
 (:~
  : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-string";>fn:string</a>
  :)
-declare function fn:string($arg as item()?) as xs:string external;
\ No newline at end of file
+declare function fn:string($arg as item()?) as xs:string external;
+
+(:~
+ : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-available-environment-variables";>fn:available-environment-variables</a>
+ :)
+declare function fn:available-environment-variables() as xs:string* external;
+
+(:~
+ : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-environment-variable";>fn:environment-variable</a>
+ :)
+declare function fn:environment-variable($arg as xs:string) as xs:string? external;
+
+(:~
+ : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-unparsed-text";>fn:unparsed-text</a>
+ :)
+declare function fn:unparsed-text($href as xs:string?) as xs:string? external;
+
+(:~
+ : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-unparsed-text";>fn:unparsed-text</a>
+ :)
+declare function fn:unparsed-text($href as xs:string?, $encoding as xs:string) as xs:string? external;
+
+(:~
+ : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-unparsed-text-available";>fn:unparsed-text-available</a>
+ :)
+declare function fn:unparsed-text-available($href as xs:string?) as xs:boolean external;
+
+(:~
+ : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-unparsed-text-lines";>fn:unparsed-text-lines</a>
+ :)
+declare function fn:unparsed-text-lines(	$href	 as xs:string?, $encoding	 as xs:string) as xs:string* external;
+
+(:~
+ : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-unparsed-text-available";>fn:unparsed-text-available</a>
+ :)
+declare function fn:unparsed-text-available(	$href	 as xs:string?, $encoding	 as xs:string) as xs:boolean external;
+
+(:~
+ : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-uri-collection";>fn:uri-collection</a>
+ :)
+declare function fn:uri-collection() as xs:anyURI* external;
+
+(:~
+ : @see for semantics please check <a href="http://www.w3.org/TR/xpath-functions-30/#func-uri-collection";>fn:uri-collection</a>
+ :)
+declare function fn:uri-collection($arg as xs:string?) as xs:anyURI* external;

=== modified file 'schemas/CMakeLists.txt'
--- schemas/CMakeLists.txt	2012-04-11 20:22:52 +0000
+++ schemas/CMakeLists.txt	2012-04-27 13:22:48 +0000
@@ -19,6 +19,18 @@
 DECLARE_ZORBA_SCHEMA(URI "http://www.w3.org/2010/xslt-xquery-serialization";
   FILE xslt-xquery-serialization.xsd)
 
+# XDM and PUL
+DECLARE_ZORBA_SCHEMA(URI "http://www.zorba-xquery.com/schemas/pul";
+  FILE pul.xsd)
+DECLARE_ZORBA_SCHEMA(URI "http://www.zorba-xquery.com/schemas/complete-pul";
+  FILE complete-pul.xsd)
+DECLARE_ZORBA_SCHEMA(URI "http://www.zorba-xquery.com/schemas/xdm";
+  FILE xdm.xsd)
+
+# XQueryX
+DECLARE_ZORBA_SCHEMA(URI "http://www.w3.org/2005/XQueryX";
+FILE XQueryX.xsd)
+
 # The following are DTDs, not schemas, but (currently at least) we
 # only ever load them when an imported schema file references them
 # (which, in turn, only happens in error cases - see bug 921624). So,

=== added file 'schemas/XQueryX.xsd'
--- schemas/XQueryX.xsd	1970-01-01 00:00:00 +0000
+++ schemas/XQueryX.xsd	2012-04-27 13:22:48 +0000
@@ -0,0 +1,1962 @@
+<?xml version="1.0"?>
+<!--  ================================================================================  -->
+<!--  NOTES TO READERS OF THIS SCHEMA:                                                  -->
+<!--  The default value for both minOccurs and maxOccurs is "1".                        -->
+<!--  The XQueryX schema has been designed to provide the ability to extend definitions -->
+<!--    of top-level elements in extensions such as Full-Text and the Update Facility.  -->
+<!--    The nature of the modification is to define named complex types and redefine    -->
+<!--    those top-level elements in terms of the named complex types.                   -->
+<!--  ================================================================================  -->
+<!--  Changes from Recommendation (edition 1):                                          -->
+<!--  * Element defs using anon complex types changed to use named types (bug #4924)    -->
+<!--  * In Example 4, replaced xqx:parentheziedExpr with xqx:sequenceExpr (bug #4963)   -->
+<!--  * In XSLT stylesheet, deleted template for xqx:parenthesizedExpr (bug #4963)      -->
+<!--  * Replaced link to grammar applet with correct link (bug #5323)                   -->
+<!--  * In XSLT stylesheet, corrected template for xqx:namespaceDeclaration (bug #5343) -->
+<!--  Changes from Recommendation (edition 2):                                          -->
+<!--  * Added support for new Windowing clause in FLWOR expression                      -->
+<!--  * Added support for new Group By Clause in FLWOR expression                       -->
+<!--  * Added support for new Count Clause in FLWOR expression                          -->
+<!--  * Added support for keyword "outer" on for expression                             -->
+<!--  * Modified structure of FLWOR clause per "simplified FLWOR expressions"           -->
+<!--  * Modified validation syntax per Bugzilla Bug 5472                                -->
+<!--  * Modified function declaration so that external functions can be nondeterminstic -->
+<!--  * Modified variable declaration so external variables can have an initial value   -->
+<!--  * Added support for new try-catch expression                                      -->
+<!--  * Added support for new decimal formatting declaration                            -->
+<!--  * Added support for encoding in the version declaration                           -->
+<!--  * Added support for new context item declaration                                  -->
+<!--  * Added support for computed namespace constructor                                -->
+<!--  * Made changes triggered by Bugzilla Bugs 6309, 6310, and 6311                    -->
+<!--  * Modified errlist syntax per Bugzilla Bug 7053                                   -->
+<!--  * Added support for public/private functions                                      -->
+<!--  * Replaced "outer for" support with support for "allowing empty"                  -->
+<!--  * Added support for higher-order functions                                        -->
+<!--  * Added support for value-based "switch" expression                               -->
+<!--  * Use pattern to prohibit "#)" in pragma contents per Bugzilla Bug 2711           -->
+<!--  * Changed functionItemExpr child element QName to be functionName for consistency -->
+<!--  * Replaced "public", "private", and "[non]deterministic" with %-annotations       -->
+<!--  * Added EQName to permit "URI-literal":NCNAME as alternative to NCName:NCName     -->
+<!--  * Changed type of atomicType to EQName, so it's really atomicOrUnionType          -->
+<!--  ================================================================================  -->
+<!--  Errata applied:                                                                   -->
+<!--    XQX.E1 - Editorial (Bugzilla Bug 4924)                                          -->
+<!--    XQX.E7 - Substantive (Bugzilla Bug 2711)                                        -->
+<!--  ================================================================================  -->
+<!--  Modifications:                                                                    -->
+<!--    2008-07-30 - Add XQuery 1.1 grouping and windowing support                      -->
+<!--    2008-09-18 - Add XQuery 1.1 count and outer-for support, simplified FLWOR       -->
+<!--    2008-09-27 - Add validation type, nondeterministic function declarations,       -->
+<!--                 initial values for external variables, try-catch expression        -->
+<!--    2008-11-25 - Add support for number formatting, Snelson's version declaration   -->
+<!--                 proposal, context item declaration, computed namespace constructor,-->
+<!--                 fixes for validate expression, and change to allow the count       -->
+<!--                 clause to only be an intermediate expression                       -->
+<!--    2009-01-13 - Bugs 6309 and 6310 (fixes to details of certain windowing clauses  -->
+<!--    2009-03-03 - tumblingWindowClause syntax now matches slidingWindowClause syntax -->
+<!--    2009-09-06 - Modified errlist syntax per Bugzilla Bug 7053                      -->
+<!--    2009-10-09 - Added support for private/public functions                         -->
+<!--                 Replace "outer for" with "allowing empty"                          -->
+<!--    2009-10-22 - Add support for higher-order functions & switch expression         -->
+<!--    2010-04-06 - Changed functionItemExpr child QName -> functionName (consistency) -->
+<!--    2010-05-10 - Added %-annotation support for varDecl and functionDecl            -->
+<!--    2010-06-23 - Added support for partial function application                     -->
+<!--    2011-02-02 - Added support for EQNames and atomicOrUnionType                    -->
+<!--    2011-05-04 - Updated structure of catch component of try-catch expression       -->
+<!--    2011-05-04 - Updated validationexpr, mode/type alternatives, type is EQName     -->
+<!--  ================================================================================  -->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
+            xmlns="http://www.w3.org/2005/XQueryX";
+            targetNamespace="http://www.w3.org/2005/XQueryX";
+            elementFormDefault="qualified" attributeFormDefault="qualified">
+
+
+<!-- A few helper declarations                                                          -->
+  <xsd:complexType name="emptyContent"/>
+
+  <xsd:element name="NCName" type="xsd:NCName"/>
+
+  <xsd:complexType name="QName">
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:NCName">
+        <xsd:attribute name="prefix" type="xsd:NCName" use="optional"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+  <xsd:complexType name="EQName">
+    <xsd:simpleContent>
+      <xsd:extension base="xsd:NCName">
+        <xsd:attribute name="prefix" type="xsd:NCName" use="optional"/>
+        <xsd:attribute name="URI" type="xsd:string" use="optional"/>
+      </xsd:extension>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- The base expression class                                                          -->
+  <xsd:complexType name="expr"/>
+
+  <xsd:element name="expr" type="expr" abstract="true"/>
+
+
+<!-- A list of expressions                                                              -->
+  <xsd:complexType name="exprList">
+    <xsd:sequence>
+      <xsd:element ref="expr" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+<!-- A list of expressions or placeholders                                              -->
+<!-- 2010-06-23 - Added support for partial function application                        -->
+  <xsd:complexType name="exprOrPlaceholderList">
+    <xsd:sequence>
+      <xsd:choice minOccurs="0" maxOccurs="unbounded">
+        <xsd:element ref="expr"/>
+        <xsd:element name="argumentPlaceholder" type="emptyContent"/>
+      </xsd:choice>
+    </xsd:sequence>
+  </xsd:complexType>
+
+<!-- A type to be used by elements that comprise an optional expr                       -->
+  <xsd:complexType name="exprWrapperOptional">
+    <xsd:sequence>
+      <xsd:element ref="expr" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+<!-- Simple wrapper class                                                               -->
+  <xsd:complexType name="exprWrapper">
+    <xsd:sequence>
+      <xsd:element ref="expr"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+<!-- constant expressions. We have 4 different subclasses for this                      -->
+  <xsd:complexType name="constantExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="value" type="xsd:anyType"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="constantExpr" type="constantExpr" abstract="true"
+               substitutionGroup="expr"/>
+
+
+  <xsd:complexType name="integerConstantExpr">
+    <xsd:complexContent>
+      <xsd:restriction base="constantExpr">
+        <xsd:sequence>
+          <xsd:element name="value" type="xsd:integer"/>
+        </xsd:sequence>
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="integerConstantExpr" type="integerConstantExpr"
+               substitutionGroup="constantExpr"/>
+
+
+  <xsd:complexType name="decimalConstantExpr">
+    <xsd:complexContent>
+      <xsd:restriction base="constantExpr">
+        <xsd:sequence>
+          <xsd:element name="value" type="xsd:decimal"/>
+        </xsd:sequence>
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="decimalConstantExpr" type="decimalConstantExpr"
+               substitutionGroup="constantExpr"/>
+
+
+  <xsd:complexType name="doubleConstantExpr">
+    <xsd:complexContent>
+      <xsd:restriction base="constantExpr">
+        <xsd:sequence>
+          <xsd:element name="value" type="xsd:double"/>
+        </xsd:sequence>
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="doubleConstantExpr" type="doubleConstantExpr"
+               substitutionGroup="constantExpr"/>
+
+
+  <xsd:complexType name="stringConstantExpr">
+    <xsd:complexContent>
+      <xsd:restriction base="constantExpr">
+        <xsd:sequence>
+          <xsd:element name="value" type="xsd:string"/>
+        </xsd:sequence>
+      </xsd:restriction>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="stringConstantExpr" type="stringConstantExpr"
+               substitutionGroup="constantExpr"/>
+
+
+<!-- Variables                                                                          -->
+  <xsd:complexType name="varRef">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="name" type="EQName"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="varRef" type="varRef" substitutionGroup="expr"/>
+
+
+<!-- root and context-item expressions                                                  -->
+<!-- rootExpr deleted per Bugzilla Bug #2523                                            -->
+  <xsd:complexType name="contextItemExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr"/>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="contextItemExpr" type="contextItemExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- Pragmas and extension expressions                                                  -->
+<!--   2010-01-01, JM replaced pragmaContents elem def'n with one that has a pattern    -->
+  <xsd:complexType name="pragma">
+    <xsd:sequence>
+      <xsd:element name="pragmaName" type="EQName"/>
+      <xsd:element name="pragmaContents">
+        <xsd:simpleType>
+          <xsd:restriction base="xsd:string">
+            <xsd:pattern value="(([^#]|#+[^\)#])*#*)"/>
+          </xsd:restriction>
+        </xsd:simpleType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="pragma" type="pragma"/>
+
+
+  <xsd:complexType name="extensionExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element ref="pragma" maxOccurs="unbounded"/>
+          <xsd:element name="argExpr" type="exprWrapper" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="extensionExpr" type="extensionExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- Function call expressions                                                          -->
+<!-- 2010-06-23 - Added support for partial function application                        -->
+  <xsd:complexType name="functionCallExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="functionName" type="EQName"/>
+          <xsd:element name="arguments" type="exprOrPlaceholderList" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="functionCallExpr" type="functionCallExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- Constructor functions                                                              -->
+  <xsd:complexType name="constructorFunctionExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="typeName" type="EQName"/>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="constructorFunctionExpr" type="constructorFunctionExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- Sequence expressions                                                               -->
+  <xsd:complexType name="sequenceExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element ref="expr" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="sequenceExpr" type="sequenceExpr" substitutionGroup="expr"/>
+
+
+  <xsd:complexType name="rangeSequenceExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="startExpr" type="exprWrapper"/>
+          <xsd:element name="endExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="rangeSequenceExpr" type="rangeSequenceExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- Builtin operator expressions                                                       -->
+  <xsd:complexType name="operatorExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr"/>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+
+  <xsd:complexType name="unaryOperatorExpr">
+    <xsd:complexContent>
+      <xsd:extension base="operatorExpr">
+        <xsd:sequence>
+          <xsd:element name="operand" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+
+  <xsd:complexType name="binaryOperatorExpr">
+    <xsd:complexContent>
+      <xsd:extension base="operatorExpr">
+        <xsd:sequence>
+          <xsd:element name="firstOperand" type="exprWrapper"/>
+          <xsd:element name="secondOperand" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+
+  <xsd:element name="operatorExpr" type="operatorExpr"
+               abstract="true" substitutionGroup="expr"/>
+
+  <xsd:element name="arithmeticOp" type="operatorExpr"
+               abstract="true" substitutionGroup="operatorExpr"/>
+
+  <xsd:element name="addOp" type="binaryOperatorExpr"
+               substitutionGroup="arithmeticOp"/>
+
+  <xsd:element name="subtractOp" type="binaryOperatorExpr"
+               substitutionGroup="arithmeticOp"/>
+
+  <xsd:element name="multiplyOp" type="binaryOperatorExpr"
+               substitutionGroup="arithmeticOp"/>
+
+  <xsd:element name="divOp" type="binaryOperatorExpr"
+               substitutionGroup="arithmeticOp"/>
+
+  <xsd:element name="idivOp" type="binaryOperatorExpr"
+               substitutionGroup="arithmeticOp"/>
+
+  <xsd:element name="modOp" type="binaryOperatorExpr"
+               substitutionGroup="arithmeticOp"/>
+
+  <xsd:element name="unaryMinusOp" type="unaryOperatorExpr"
+               substitutionGroup="arithmeticOp"/>
+
+  <xsd:element name="unaryPlusOp" type="unaryOperatorExpr"
+               substitutionGroup="arithmeticOp"/>
+
+  <xsd:element name="comparisonOp" type="binaryOperatorExpr" abstract="true"
+               substitutionGroup="operatorExpr"/>
+
+  <xsd:element name="valueComparisonOp" type="binaryOperatorExpr" abstract="true"
+               substitutionGroup="operatorExpr"/>
+
+  <xsd:element name="eqOp" type="binaryOperatorExpr"
+               substitutionGroup="valueComparisonOp"/>
+
+  <xsd:element name="neOp" type="binaryOperatorExpr"
+               substitutionGroup="valueComparisonOp"/>
+
+  <xsd:element name="gtOp" type="binaryOperatorExpr"
+               substitutionGroup="valueComparisonOp"/>
+
+  <xsd:element name="geOp" type="binaryOperatorExpr"
+               substitutionGroup="valueComparisonOp"/>
+
+  <xsd:element name="ltOp" type="binaryOperatorExpr"
+               substitutionGroup="valueComparisonOp"/>
+
+  <xsd:element name="leOp" type="binaryOperatorExpr"
+               substitutionGroup="valueComparisonOp"/>
+
+  <xsd:element name="generalComparisonOp" type="binaryOperatorExpr" abstract="true"
+               substitutionGroup="operatorExpr"/>
+
+  <xsd:element name="equalOp" type="binaryOperatorExpr"
+               substitutionGroup="generalComparisonOp"/>
+
+  <xsd:element name="notEqualOp" type="binaryOperatorExpr"
+               substitutionGroup="generalComparisonOp"/>
+
+  <xsd:element name="lessThanOp" type="binaryOperatorExpr"
+               substitutionGroup="generalComparisonOp"/>
+
+  <xsd:element name="lessThanOrEqualOp" type="binaryOperatorExpr"
+               substitutionGroup="generalComparisonOp"/>
+
+  <xsd:element name="greaterThanOp" type="binaryOperatorExpr"
+               substitutionGroup="generalComparisonOp"/>
+
+  <xsd:element name="greaterThanOrEqualOp" type="binaryOperatorExpr"
+               substitutionGroup="generalComparisonOp"/>
+
+  <xsd:element name="nodeComparisonOp" type="binaryOperatorExpr" abstract="true"
+               substitutionGroup="operatorExpr"/>
+
+  <xsd:element name="isOp" type="binaryOperatorExpr"
+               substitutionGroup="nodeComparisonOp"/>
+
+  <xsd:element name="orderComparisonOp" type="binaryOperatorExpr" abstract="true"
+               substitutionGroup="operatorExpr"/>
+
+  <xsd:element name="nodeBeforeOp" type="binaryOperatorExpr"
+               substitutionGroup="orderComparisonOp"/>
+
+  <xsd:element name="nodeAfterOp" type="binaryOperatorExpr"
+               substitutionGroup="orderComparisonOp"/>
+
+  <xsd:element name="logicalOp" type="binaryOperatorExpr" abstract="true"
+               substitutionGroup="operatorExpr"/>
+
+  <xsd:element name="andOp" type="binaryOperatorExpr"
+               substitutionGroup="logicalOp"/>
+
+  <xsd:element name="orOp" type="binaryOperatorExpr"
+               substitutionGroup="logicalOp"/>
+
+  <xsd:element name="setOp" type="binaryOperatorExpr"
+               abstract="true" substitutionGroup="operatorExpr"/>
+
+  <xsd:element name="unionOp" type="binaryOperatorExpr"
+               substitutionGroup="setOp"/>
+
+  <xsd:element name="intersectOp" type="binaryOperatorExpr"
+               substitutionGroup="setOp"/>
+
+  <xsd:element name="exceptOp" type="binaryOperatorExpr"
+               substitutionGroup="setOp"/>
+
+
+<!-- Basic typenames                                                                    -->
+<!-- By changing the type attribute from QName to EQName, this is now atomicOrUnionType -->
+<!--   However, for backwards compatibility w/XQueryX 1.0, the name had to stay the same-->
+  <xsd:element name="atomicType" type="EQName" substitutionGroup="itemType"/>
+
+
+<!-- Used in castable expression and cast expression                                    -->
+  <xsd:complexType name="singleType">
+    <xsd:sequence>
+      <xsd:element ref="atomicType"/>
+      <xsd:element name="optional" type="emptyContent" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="singleType" type="singleType"/>
+
+
+<!-- Item type schema types and elements                                                -->
+  <xsd:element name="itemType" abstract="true"/>
+
+
+  <xsd:complexType name="emptyItemTypeContent"/>
+
+  <xsd:element name="anyItemType" type="emptyItemTypeContent"
+               substitutionGroup="itemType"/>
+
+
+  <xsd:simpleType name="occurrenceIndicator">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="?"/>
+      <xsd:enumeration value="*"/>
+      <xsd:enumeration value="+"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+<!-- Sequence type                                                                      -->
+  <xsd:complexType name="sequenceType">
+    <xsd:choice>
+      <xsd:element name="voidSequenceType" type="emptyContent"/>
+      <xsd:sequence>
+        <xsd:element ref="itemType"/>
+        <xsd:element name="occurrenceIndicator" type="occurrenceIndicator"
+                     minOccurs="0"/>
+      </xsd:sequence>
+    </xsd:choice>
+  </xsd:complexType>
+
+  <xsd:element name="sequenceType" type="sequenceType"/>
+
+  <xsd:element name="typeDeclaration" type="sequenceType"/>
+
+
+<!-- Represents a "typed" variable (for clause, let clause etc)                         -->
+  <xsd:complexType name="typedVariableBinding">
+    <xsd:sequence>
+      <xsd:element name="varName" type="EQName"/>
+      <xsd:element ref="typeDeclaration" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="typedVariableBinding" type="typedVariableBinding"/>
+
+
+<!-- Represents an untyped variable for the "at" clause in a for clause                 -->
+  <xsd:element name="positionalVariableBinding" type="EQName"/>
+
+  <xsd:element name="variableBinding" type="EQName"/>
+
+
+<!-- Represents all variable bindings in a for or let clause except typed and           -->
+<!--   positional variable bindings                                                     -->
+  <xsd:element name="forLetClauseItemExtensions" abstract="true"/>
+
+
+<!-- Major syntax productions: FLWOR clause components                                  -->
+<!-- for clause                                                                         -->
+  <xsd:complexType name="forClauseItem">
+    <xsd:sequence>
+      <xsd:element ref="typedVariableBinding"/>
+      <xsd:element name="allowingEmpty" type="emptyContent"
+                   minOccurs="0"/>
+      <xsd:element ref="positionalVariableBinding" minOccurs="0" maxOccurs="1"/>
+      <xsd:element ref="forLetClauseItemExtensions" minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="forExpr" type="exprWrapper"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="forClauseItem" type="forClauseItem"/>
+
+
+  <xsd:complexType name="forClause">
+    <xsd:sequence>
+      <xsd:element ref="forClauseItem" minOccurs="1" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="forClause" type="forClause"/>
+
+
+<!-- let clause                                                                         -->
+  <xsd:complexType name="letClauseItem">
+    <xsd:sequence>
+      <xsd:choice>
+        <xsd:sequence>
+          <xsd:element ref="typedVariableBinding"/>
+          <xsd:element ref="forLetClauseItemExtensions"
+                       minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:element ref="forLetClauseItemExtensions"
+                     minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:choice>
+      <xsd:element name="letExpr" type="exprWrapper"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="letClauseItem" type="letClauseItem"/>
+
+
+  <xsd:complexType name="letClause">
+    <xsd:sequence>
+      <xsd:element ref="letClauseItem" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="letClause" type="letClause"/>
+
+
+<!-- This is the windowClause (part of FLWOR expression)                                -->
+<!-- It corresponds to the following XQuery grammar                                     -->
+<!-- WindowClause ::= "for" (TumblingWindowClause | SlidingWindowClause)               -->
+  <xsd:complexType name="windowClause">
+    <xsd:choice>
+      <xsd:element ref="tumblingWindowClause"/>
+      <xsd:element ref="slidingWindowClause"/>
+    </xsd:choice>
+  </xsd:complexType>
+
+  <xsd:element name="windowClause" type="windowClause"/>
+
+
+<!-- This is the tumblingWindowClause                                                   -->
+<!-- It corresponds to the following XQuery grammar                                     -->
+<!-- TumblingWindowClause ::= "tumbling" "window" "$" VarName TypeDeclaration?          -->
+<!--                           "in" ExprSingle WindowStartCondition WindowEndCondition? -->
+  <xsd:complexType name="tumblingWindowClause">
+    <xsd:sequence>
+      <xsd:element ref="typedVariableBinding"/>
+      <xsd:element name="bindingSequence" type="exprWrapper"/>
+      <xsd:element ref="windowStartCondition"/>
+      <xsd:element ref="windowEndCondition" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="tumblingWindowClause" type="tumblingWindowClause"/>
+
+
+<!-- This is the slidingWindowClause                                                    -->
+<!-- It corresponds to the following XQuery grammar                                     -->
+<!-- SlidingWindowClause ::= "sliding" "window" "$" VarName TypeDeclaration?            -->
+<!--                         "in" ExprSingle WindowStartCondition WindowEndCondition    -->
+  <xsd:complexType name="slidingWindowClause">
+    <xsd:sequence>
+      <xsd:element ref="typedVariableBinding"/>
+      <xsd:element name="bindingSequence" type="exprWrapper"/>
+      <xsd:element ref="windowStartCondition"/>
+      <xsd:element ref="windowEndCondition"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="slidingWindowClause" type="slidingWindowClause"/>
+
+
+<!-- windowStartCondition                                                               -->
+<!-- Corresponds to the following XQuery grammar                                        -->
+<!-- WindowStartCondition ::= "start" WindowVars "when" ExprSingle                      -->
+  <xsd:complexType name="windowStartCondition">
+    <xsd:sequence>
+      <xsd:element ref="windowVars" minOccurs="0"/>
+      <xsd:element name="winStartExpr" type="exprWrapper"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="windowStartCondition" type="windowStartCondition"/>
+
+
+<!-- windowEndCondition                                                                 -->
+<!-- Corresponds to the following XQuery grammar                                        -->
+<!-- WindowEndCondition         ::=          "only"? "end" WindowVars "when" ExprSingle        -->
+  <xsd:complexType name="windowEndCondition">
+    <xsd:sequence>
+      <xsd:element ref="windowVars" minOccurs="0"/>
+      <xsd:element name="winEndExpr" type="exprWrapper"/>
+    </xsd:sequence>
+    <xsd:attribute name="onlyEnd" type="xsd:boolean" default="false"/>
+  </xsd:complexType>
+
+  <xsd:element name="windowEndCondition" type="windowEndCondition"/>
+
+
+<!-- windowVars                                                                         -->
+<!-- Corresponds to the following XQuery grammar                                        -->
+<!-- WindowVars ::= ("$" \)? PositionalVar? ("previous" "$" PreviousItem)?    -->
+<!--                ("next" "$" NextItem)?                                              -->
+  <xsd:complexType name="windowVars">
+    <xsd:sequence>
+      <xsd:element name="currentItem" type="EQName" minOccurs="0"/>
+      <xsd:element ref="positionalVariableBinding" minOccurs="0"/>
+      <xsd:element name="previousItem" type="EQName" minOccurs="0"/>
+      <xsd:element name="nextItem" type="EQName" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="windowVars" type="windowVars"/>
+
+
+<!-- countClause (part of FLWOR expression)                                             -->
+  <xsd:complexType name="countClause">
+    <xsd:sequence>
+      <xsd:element ref="varRef"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="countClause" type="countClause"/>
+
+
+<!-- whereClause (part of FLWOR expression)                                             -->
+  <xsd:element name="whereClause" type="exprWrapper"/>
+
+
+<!-- groupByClause (part of FLWOR expression)                                           -->
+<!-- Corresponds to the following XQuery syntax                                         -->
+<!-- GroupByClause ::= "group" "by" GroupingSpecList                                    -->
+<!-- GroupingSpecList ::= GroupingSpec ("," GroupingSpec)*                              -->
+  <xsd:complexType name="groupByClause">
+    <xsd:sequence maxOccurs="unbounded">
+      <xsd:element ref="groupingSpec"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="groupByClause" type="groupByClause"/>
+
+
+<!-- Corresponds to the following XQuery syntax                                         -->
+<!-- GroupingSpec ::= "$" VarName ("collation" URILiteral)?                             -->
+  <xsd:complexType name="groupingSpec">
+    <xsd:sequence>
+      <xsd:element name="varName" type="EQName"/>
+      <xsd:element name="collation" type="xsd:string" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="groupingSpec" type="groupingSpec"/>
+
+
+<!-- order by clause                                                                    -->
+  <xsd:simpleType name="emptyOrderingMode">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="empty greatest"/>
+      <xsd:enumeration value="empty least"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="orderingKind">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="ascending"/>
+      <xsd:enumeration value="descending"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+  <xsd:complexType name="orderModifier">
+    <xsd:sequence>
+      <xsd:element name="orderingKind" type="orderingKind" minOccurs="0"/>
+      <xsd:element name="emptyOrderingMode" type="emptyOrderingMode" minOccurs="0"/>
+      <xsd:element name="collation" type="xsd:string" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="orderModifier" type="orderModifier"/>
+
+
+  <xsd:complexType name="orderBySpec">
+    <xsd:sequence>
+      <xsd:element name="orderByExpr" type="exprWrapper"/>
+      <xsd:element ref="orderModifier" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="orderBySpec" type="orderBySpec"/>
+
+
+  <xsd:complexType name="orderByClause">
+    <xsd:sequence>
+      <xsd:element name="stable" type="emptyContent" minOccurs="0"/>
+      <xsd:element ref="orderBySpec" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="orderByClause" type="orderByClause"/>
+
+
+<!-- return clause                                                                      -->
+  <xsd:element name="returnClause" type="exprWrapper"/>
+
+
+<!-- This is the XQuery 1.1 flwor expression                                            -->
+<!-- Corresponds to the following XQuery syntax:                                        -->
+<!-- 1.1 FLWORExpr ::= (ForClause | LetClause | WindowClause)                           -->
+<!--                   (ForClause | LetClause | WindowClause | CountClause |            -->
+<!--                    WhereClause | GroupByClause | OrderByClause)*                   -->
+<!--                   ReturnClause                                                     -->
+  <xsd:complexType name="flworExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:choice>
+            <xsd:element ref="forClause"/>
+            <xsd:element ref="letClause"/>
+            <xsd:element ref="windowClause"/>
+          </xsd:choice>
+          <xsd:sequence>
+            <xsd:choice minOccurs="0" maxOccurs="unbounded">
+              <xsd:element ref="forClause"/>
+              <xsd:element ref="letClause"/>
+              <xsd:element ref="windowClause"/>
+              <xsd:element ref="countClause"/>
+              <xsd:element ref="whereClause"/>
+              <xsd:element ref="groupByClause"/>
+              <xsd:element ref="orderByClause"/>
+            </xsd:choice>
+          <xsd:element ref="returnClause"/>
+        </xsd:sequence>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="flworExpr" type="flworExpr" substitutionGroup="expr"/>
+
+
+<!-- conditional expressions                                                            -->
+  <xsd:complexType name="ifThenElseExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="ifClause" type="exprWrapper"/>
+          <xsd:element name="thenClause" type="exprWrapper"/>
+          <xsd:element name="elseClause" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="ifThenElseExpr" type="ifThenElseExpr" 
+               substitutionGroup="expr"/>
+
+
+<!-- The following clauses describe quantified expressions                              -->
+  <xsd:simpleType name="quantifier">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="some"/>
+      <xsd:enumeration value="every"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+  <xsd:complexType name="quantifiedExprInClause">
+    <xsd:sequence>
+      <xsd:element ref="typedVariableBinding"/>
+      <xsd:element name="sourceExpr" type="exprWrapper"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="quantifiedExprInClause" type="quantifiedExprInClause"/>
+
+
+  <xsd:complexType name="quantifiedExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="quantifier" type="quantifier"/>
+          <xsd:element ref="quantifiedExprInClause" maxOccurs="unbounded"/>
+          <xsd:element name="predicateExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="quantifiedExpr" type="quantifiedExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- handle the switch expression                                                       -->
+<!-- Note: no substitutionGroup as we cannot use this anywhere except within switch     -->
+  <xsd:complexType name="switchExprCaseClause">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="switchCaseExpr" type="exprWrapper" maxOccurs="unbounded"/>
+          <xsd:element name="resultExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="switchExprCaseClause"
+               type="switchExprCaseClause"/>
+
+
+<!-- Note: no substitutionGroup as we cannot use this anywhere except within switch     -->
+  <xsd:complexType name="switchExprDefaultClause">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="resultExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="switchExprDefaultClause"
+               type="switchExprDefaultClause"/>
+
+
+  <xsd:complexType name="switchExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+          <xsd:element ref="switchExprCaseClause" maxOccurs="unbounded"/>
+          <xsd:element ref="switchExprDefaultClause"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="switchExpr" type="switchExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- handle the typeswitch expression                                                   -->
+<!-- Note: no substitutionGroup as we cannot use this anywhere except within typeswitch -->
+  <xsd:complexType name="typeswitchExprCaseClause">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element ref="variableBinding" minOccurs="0"/>
+          <xsd:element ref="sequenceType"/>
+          <xsd:element name="resultExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="typeswitchExprCaseClause"
+               type="typeswitchExprCaseClause"/>
+
+
+<!-- Note: no substitutionGroup as we cannot use this anywhere except within typeswitch -->
+  <xsd:complexType name="typeswitchExprDefaultClause">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element ref="variableBinding" minOccurs="0"/>
+          <xsd:element name="resultExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="typeswitchExprDefaultClause"
+               type="typeswitchExprDefaultClause"/>
+
+
+  <xsd:complexType name="typeswitchExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+          <xsd:element ref="typeswitchExprCaseClause" maxOccurs="unbounded"/>
+          <xsd:element ref="typeswitchExprDefaultClause"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="typeswitchExpr" type="typeswitchExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- TryCatchExpression                                                                 -->
+<!-- Corresponds to the following XQuery syntax                                         -->
+<!-- TryCatchExpression ::= TryClause CatchClause+                                      -->
+<!-- TryClause ::= "{" TryTargetExpr "}"                                                -->
+<!-- TryTargetExpr ::= Expr                                                             -->
+  <xsd:complexType name="tryCatchExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="tryClause" type="exprWrapper"/>
+          <xsd:element ref="catchClause" maxOccurs="unbounded"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="tryCatchExpr" type="tryCatchExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- CatchClause (part of the TryCatchExpression)                                       -->
+<!-- Corresponds to the following XQuery syntax                                         -->
+<!-- CatchClause ::= "catch" CatchErrorList "{" Expr "}"                                -->
+  <xsd:complexType name="catchClause">
+    <xsd:sequence>
+      <xsd:element ref="catchErrorList"/>
+      <xsd:element name="catchExpr" type="exprWrapper"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="catchClause" type="catchClause"/>
+
+
+<!-- CatchErrorList (part of the TryCatchExpression)                                    -->
+<!-- Corresponds to the following XQuery syntax                                         -->
+<!-- CatchErrorList ::= NameTest ( "|" NameTest )*                                      -->
+<!-- (remembering that NameTest is either QName or Wildcard)                            -->
+  <xsd:complexType name="catchErrorList">
+    <xsd:sequence maxOccurs="unbounded">
+      <xsd:choice>
+        <xsd:element ref="nameTest"/>
+        <xsd:element ref="Wildcard"/>
+      </xsd:choice>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="catchErrorList" type="catchErrorList"/>
+
+
+<!-- instance-of expressions                                                            -->
+  <xsd:complexType name="instanceOfExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+          <xsd:element ref="sequenceType"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="instanceOfExpr" type="instanceOfExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- treat-as expressions                                                               -->
+  <xsd:complexType name="treatExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+          <xsd:element ref="sequenceType"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="treatExpr" type="treatExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- castable and cast expressions                                                      -->
+  <xsd:complexType name="castableExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+          <xsd:element ref="singleType"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="castableExpr" type="castableExpr"
+               substitutionGroup="expr"/>
+
+
+  <xsd:complexType name="castExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+          <xsd:element ref="singleType"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="castExpr" type="castExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- Validate expressions                                                               -->
+  <xsd:simpleType name="validationMode">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="lax"/>
+      <xsd:enumeration value="strict"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:complexType name="validateExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:choice>
+            <xsd:element name="validationMode" type="validationMode" minOccurs="0"/>
+            <xsd:element name="typeName" type="EQName" minOccurs="0"/>
+          </xsd:choice>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="validateExpr" type="validateExpr"
+               substitutionGroup="expr"/>
+
+
+<!-- Direct constructors. Only elementConstructor for now                               -->
+<!-- Note the absence of constructors corresponding to                                  -->
+<!-- the directCommentConstructor and the directPIConstructor                           -->
+<!-- productions in the XQuery grammar. This is because they are                        -->
+<!-- trivially identical to the computed variants                                       -->
+
+<!-- attributeConstructor is no longer a subclass of expr                               -->
+  <xsd:complexType name="attributeConstructor">
+    <xsd:sequence>
+      <xsd:element name="attributeName" type="QName"/>
+      <xsd:choice>
+        <xsd:element name="attributeValueExpr" type="exprList"/>
+        <xsd:element name="attributeValue" type="xsd:string"/>
+      </xsd:choice>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:complexType name="namespaceDeclaration">
+    <xsd:sequence>
+      <xsd:element name="prefix" type="xsd:NCName" minOccurs="0"/>
+      <xsd:element name="uri" type="xsd:string"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- element constructors                                                               -->
+  <xsd:complexType name="attributeList">
+    <xsd:sequence>
+      <xsd:choice maxOccurs="unbounded">
+        <xsd:element name="attributeConstructor" type="attributeConstructor"/>
+        <xsd:element name="namespaceDeclaration" type="namespaceDeclaration"/>
+      </xsd:choice>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="attributeList" type="attributeList"/>
+
+
+  <xsd:element name="elementContent" type="exprList"/>
+
+
+  <xsd:complexType name="elementConstructor">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="tagName" type="QName"/>
+          <xsd:element ref="attributeList" minOccurs="0"/>
+          <xsd:element ref="elementContent" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="elementConstructor" type="elementConstructor"
+               substitutionGroup="expr"/>
+
+
+<!-- computed constructors                                                              -->
+<!-- computed element constructor                                                       -->
+  <xsd:complexType name="computedElementConstructor">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:choice>
+            <xsd:element name="tagName" type="EQName"/>
+            <xsd:element name="tagNameExpr" type="exprWrapper"/>
+          </xsd:choice>
+          <xsd:element name="contentExpr" type="exprWrapper" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="computedElementConstructor" type="computedElementConstructor"
+               substitutionGroup="expr"/>
+
+
+<!-- computed attribute constructor                                                     -->
+  <xsd:complexType name="computedAttributeConstructor">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:choice>
+            <xsd:element name="tagName" type="EQName"/>
+            <xsd:element name="tagNameExpr" type="exprWrapper"/>
+          </xsd:choice>
+          <xsd:element name="valueExpr" type="exprWrapper" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="computedAttributeConstructor" type="computedAttributeConstructor"
+               substitutionGroup="expr"/>
+
+
+<!-- computed document constructor                                                      -->
+  <xsd:complexType name="computedDocumentConstructor">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="computedDocumentConstructor" type="computedDocumentConstructor"
+               substitutionGroup="expr"/>
+
+
+<!-- computed text constructor                                                          -->
+  <xsd:complexType name="computedTextConstructor">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="computedTextConstructor" type="computedTextConstructor"
+               substitutionGroup="expr"/>
+
+
+<!-- computed comment constructor                                                       -->
+  <xsd:complexType name="computedCommentConstructor">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="computedCommentConstructor" type="computedCommentConstructor"
+               substitutionGroup="expr"/>
+
+
+<!-- computed namespace constructor                                                     -->
+  <xsd:complexType name="computedNamespaceConstructor">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:choice>
+            <xsd:element name="prefix" type="xsd:NCName"/>
+            <xsd:element name="prefixExpr" type="exprWrapper"/>
+          </xsd:choice>
+          <xsd:element name="URIExpr" type="exprWrapper" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="computedNamespaceConstructor" type="computedNamespaceConstructor"
+               substitutionGroup="expr"/>
+
+
+<!-- computed processing instruction constructor                                        -->
+  <xsd:complexType name="computedPIConstructor">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:choice>
+            <xsd:element name="piTarget" type="xsd:NCName"/>
+            <xsd:element name="piTargetExpr" type="exprWrapper"/>
+          </xsd:choice>
+          <xsd:element name="piValueExpr" type="exprWrapper" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="computedPIConstructor" type="computedPIConstructor"
+               substitutionGroup="expr"/>
+
+
+<!-- ordered and unordered expressions                                                  -->
+  <xsd:complexType name="unorderedExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="unorderedExpr" type="unorderedExpr" substitutionGroup="expr"/>
+
+
+  <xsd:complexType name="orderedExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="argExpr" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="orderedExpr" type="orderedExpr" substitutionGroup="expr"/>
+
+
+<!-- function item expressions                                                          -->
+<!-- literal function item expression                                                   -->
+<!-- 2010-04-06: Jim changed child element QName to be functionName for consistency     -->
+  <xsd:complexType name="literalFunctionItemExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="functionName" type="EQName"/>
+          <xsd:element name="integerConstantExpr" type="integerConstantExpr"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="literalFunctionItemExpr" type="literalFunctionItemExpr" substitutionGroup="expr"/>
+
+
+<!-- inline function item expression                                                    -->
+  <xsd:complexType name="inlineFunctionItemExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element ref="paramList"/>
+          <xsd:element ref="typeDeclaration" minOccurs="0"/>
+          <xsd:element name="functionBody" type="exprWrapper"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="inlineFunctionItemExpr" type="inlineFunctionItemExpr" substitutionGroup="expr"/>
+
+
+<!-- dynamic function invocations                                                       -->
+<!-- 2010-06-23 - Added support for partial function application                        -->
+  <xsd:complexType name="dynamicFunctionInvocationExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:sequence>
+          <xsd:element name="functionItem">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:group ref="filterExpr"/>
+              </xsd:sequence>
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="predicates" type="exprList" minOccurs="0"/>
+          <xsd:element name="arguments" type="exprOrPlaceholderList" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="dynamicFunctionInvocationExpr" type="dynamicFunctionInvocationExpr" substitutionGroup="expr"/>
+
+
+<!-- wildcards                                                                          -->
+  <xsd:complexType name="simpleWildcard">
+    <xsd:choice>
+      <xsd:element name="QName" type="EQName"/>
+      <xsd:element name="star" type="emptyContent"/>
+    </xsd:choice>
+  </xsd:complexType>
+
+<!-- 2011-06-10: Redesigned to allow "URliteral:*"                                                  -->
+<!-- Corresponds to the following XQuery syntax:                                                    -->
+<!--   [44] Wildcard ::= "*"                                                                        -->
+<!--                  | (NCName ":" "*")                                                            -->
+<!--                  | ("*" ":" NCName)                                                            -->
+<!--                  | (URILiteral ":" "*")                                                        -->
+
+  <xsd:complexType name="Wildcard">
+    <xsd:choice minOccurs="0">
+      <xsd:sequence>
+        <xsd:element name="star" type="emptyContent"/>
+        <xsd:element ref="NCName"/>
+      </xsd:sequence>
+      <xsd:sequence>
+        <xsd:element ref="NCName"/>
+        <xsd:element name="star" type="emptyContent"/>
+      </xsd:sequence>
+      <xsd:sequence>
+        <xsd:element name="uri" type="xsd:string"/>
+        <xsd:element name="star" type="emptyContent"/>
+      </xsd:sequence>
+    </xsd:choice>
+  </xsd:complexType>
+
+  <xsd:element name="Wildcard" type="Wildcard"/>
+
+
+<!-- tests (name and/or type)                                                           -->
+  <xsd:element name="schemaAttributeTest" type="EQName"
+               substitutionGroup="kindTest"/>
+
+
+  <xsd:complexType name="attributeTest">
+    <xsd:complexContent>
+      <xsd:extension base="emptyItemTypeContent">
+        <xsd:sequence minOccurs="0">
+          <xsd:element name="attributeName" type="simpleWildcard"/>
+          <xsd:element name="typeName" type="EQName" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="attributeTest" type="attributeTest"
+               substitutionGroup="kindTest"/>
+
+
+  <xsd:element name="anyElementTest" abstract="true"
+               substitutionGroup="kindTest"/>
+
+
+  <xsd:element name="schemaElementTest" type="EQName"
+               substitutionGroup="anyElementTest"/>
+
+
+  <xsd:complexType name="elementTest">
+    <xsd:complexContent>
+      <xsd:extension base="emptyItemTypeContent">
+        <xsd:sequence minOccurs="0">
+          <xsd:element name="elementName" type="simpleWildcard"/>
+          <xsd:sequence minOccurs="0">
+            <xsd:element name="typeName" type="EQName"/>
+            <xsd:element name="nillable" type="emptyContent" minOccurs="0"/>
+          </xsd:sequence>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="elementTest" type="elementTest"
+               substitutionGroup="anyElementTest"/>
+
+
+  <xsd:complexType name="documentTest">
+    <xsd:complexContent>
+      <xsd:extension base="emptyItemTypeContent">
+        <xsd:sequence>
+           <xsd:element ref="anyElementTest" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="documentTest" type="documentTest"
+               substitutionGroup="kindTest"/>
+
+
+  <xsd:complexType name="piTest">
+    <xsd:complexContent>
+      <xsd:extension base="emptyItemTypeContent">
+        <xsd:sequence>
+          <xsd:element name="piTarget" type="xsd:NCName" minOccurs="0"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="piTest" type="piTest" substitutionGroup="kindTest"/>
+
+
+  <xsd:element name="nameTest" type="EQName"/>
+
+  <xsd:element name="kindTest" substitutionGroup="itemType"/>
+
+  <xsd:element name="textTest" type="emptyItemTypeContent"
+               substitutionGroup="kindTest"/>
+
+  <xsd:element name="commentTest" type="emptyItemTypeContent"
+               substitutionGroup="kindTest"/>
+
+  <xsd:element name="namespaceTest" type="emptyItemTypeContent"
+               substitutionGroup="kindTest"/>
+
+  <xsd:element name="anyKindTest" type="emptyItemTypeContent"
+               substitutionGroup="kindTest"/>
+
+
+<!-- functionTest variations -->
+  <xsd:element name="anyFunctionTest" type="emptyItemTypeContent" substitutionGroup="itemType"/>
+
+  <xsd:complexType name="typedFunctionTest">
+    <xsd:complexContent>
+      <xsd:extension base="emptyItemTypeContent">
+        <xsd:sequence>
+          <xsd:element ref="paramTypeList" minOccurs="0"/>
+          <xsd:element ref="sequenceType"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="typedFunctionTest" type="typedFunctionTest" substitutionGroup="itemType"/>
+
+
+  <xsd:complexType name="paramTypeList">
+    <xsd:sequence>
+      <xsd:element ref="sequenceType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="paramTypeList" type="paramTypeList"/>
+
+
+  <xsd:complexType name="parenthesizedItemType">
+    <xsd:complexContent>
+      <xsd:extension base="emptyItemTypeContent">
+        <xsd:sequence>
+          <xsd:element ref="itemType"/>
+        </xsd:sequence>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="parenthesizedItemType" type="parenthesizedItemType" substitutionGroup="itemType"/>
+
+
+<!-- XPath axes                                                                         -->
+  <xsd:simpleType name="xpathAxis">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="child"/>
+      <xsd:enumeration value="attribute"/>
+      <xsd:enumeration value="self"/>
+      <xsd:enumeration value="parent"/>
+      <xsd:enumeration value="descendant-or-self"/>
+      <xsd:enumeration value="descendant"/>
+      <xsd:enumeration value="following"/>
+      <xsd:enumeration value="following-sibling"/>
+      <xsd:enumeration value="ancestor"/>
+      <xsd:enumeration value="ancestor-or-self"/>
+      <xsd:enumeration value="preceding"/>
+      <xsd:enumeration value="preceding-sibling"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:element name="xpathAxis" type="xpathAxis"/>
+
+
+<!-- filter expressions                                                                 -->
+<!-- added literalFunctionItemExpr, inlineFunctionItemExpr, and                         -->
+<!--   dynamicFunctionInvocation for higher-order functions                             -->
+  <xsd:group name="filterExpr">
+    <xsd:choice>
+      <xsd:element ref="constantExpr"/>
+      <xsd:element ref="varRef"/>
+      <xsd:element ref="contextItemExpr"/>
+      <xsd:element ref="functionCallExpr"/>
+      <xsd:element ref="sequenceExpr"/>
+      <xsd:element ref="elementConstructor"/>
+      <xsd:element ref="computedElementConstructor"/>
+      <xsd:element ref="computedAttributeConstructor"/>
+      <xsd:element ref="computedDocumentConstructor"/>
+      <xsd:element ref="computedTextConstructor"/>
+      <xsd:element ref="computedCommentConstructor"/>
+      <xsd:element ref="computedNamespaceConstructor"/>
+      <xsd:element ref="computedPIConstructor"/>
+      <xsd:element ref="orderedExpr"/>
+      <xsd:element ref="unorderedExpr"/>
+      <xsd:element ref="literalFunctionItemExpr"/>
+      <xsd:element ref="inlineFunctionItemExpr"/>
+      <xsd:element ref="dynamicFunctionInvocationExpr"/>
+    </xsd:choice>
+  </xsd:group>
+
+
+<!-- step expression                                                                    -->
+<!-- removed nameTest and Wildcard outer choices per Bugzilla Bug #2523                 -->
+<!-- replaced element "predicates" with choice of "predicates" & "dynamicfunctioninv'n" -->
+  <xsd:complexType name="stepExpr">
+    <xsd:sequence>
+      <xsd:choice>
+        <xsd:sequence>
+          <xsd:element ref="xpathAxis"/>
+          <xsd:choice>
+            <xsd:element ref="kindTest"/>
+            <xsd:element ref="nameTest"/>
+            <xsd:element ref="Wildcard"/>
+          </xsd:choice>
+        </xsd:sequence>
+        <xsd:element name="filterExpr">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:group ref="filterExpr"/>
+            </xsd:sequence>
+          </xsd:complexType>
+        </xsd:element>
+      </xsd:choice>
+      <xsd:element name="predicates" type="exprList" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="stepExpr" type="stepExpr"/>
+
+
+<!-- path expression                                                                    -->
+<!-- rewrote pathExpr definition per Bugzilla Bug #2523                                 -->
+  <xsd:complexType name="pathExpr">
+    <xsd:complexContent>
+      <xsd:extension base="expr">
+        <xsd:choice>
+          <xsd:sequence>
+            <xsd:element name="rootExpr" type="emptyContent"/>
+            <xsd:element ref="stepExpr" minOccurs="0" maxOccurs="unbounded"/>
+          </xsd:sequence>
+          <xsd:element ref="stepExpr" maxOccurs="unbounded"/>
+        </xsd:choice>
+      </xsd:extension>
+    </xsd:complexContent>
+  </xsd:complexType>
+
+  <xsd:element name="pathExpr" type="pathExpr" substitutionGroup="expr"/>
+
+
+<!-- The following constructs deal with the query prolog                                -->
+  <xsd:complexType name="module">
+    <xsd:sequence>
+      <xsd:element ref="versionDecl" minOccurs="0"/>
+      <xsd:choice>
+        <xsd:element ref="mainModule"/>
+        <xsd:element ref="libraryModule"/>
+      </xsd:choice>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="module" type="module"/>
+
+
+  <xsd:complexType name="mainModule">
+    <xsd:sequence>
+      <xsd:element ref="prolog" minOccurs="0"/>
+      <xsd:element name="queryBody" type="exprWrapper"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="mainModule" type="mainModule"/>
+
+
+  <xsd:complexType name="libraryModule">
+    <xsd:sequence>
+      <xsd:element ref="moduleDecl"/>
+      <xsd:element ref="prolog" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="libraryModule" type="libraryModule"/>
+
+
+  <xsd:complexType name="versionDecl">
+    <xsd:sequence>
+      <xsd:element name="version" type="xsd:string" minOccurs="0"/>
+      <xsd:element name="encoding" type="xsd:string" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="versionDecl" type="versionDecl"/>
+
+
+  <xsd:complexType name="prolog">
+    <xsd:sequence>
+            <xsd:element ref="prologPartOneItem" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element ref="prologPartTwoItem" minOccurs="0" maxOccurs="unbounded"/>
+          </xsd:sequence>
+        </xsd:complexType>
+
+  <xsd:element name="prolog" type="prolog"/>
+
+
+  <xsd:element name="prologPartOneItem" abstract="true"/>
+
+
+  <xsd:element name="prologPartTwoItem" abstract="true"/>
+
+
+  <xsd:simpleType name="boundarySpaceDecl">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="strip"/>
+      <xsd:enumeration value="preserve"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:element name="boundarySpaceDecl" type="boundarySpaceDecl"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:element name="defaultCollationDecl" type="xsd:string"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:element name="baseUriDecl" type="xsd:string"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:simpleType name="constructionDecl">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="strip"/>
+      <xsd:enumeration value="preserve"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:element name="constructionDecl" type="constructionDecl"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:simpleType name="orderingModeDecl">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="ordered"/>
+      <xsd:enumeration value="unordered"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:element name="orderingModeDecl" type="orderingModeDecl"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:element name="emptyOrderingDecl" type="emptyOrderingMode"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:complexType name="copyNamespacesDecl">
+    <xsd:sequence>
+      <xsd:element name="preserveMode">
+        <xsd:simpleType>
+          <xsd:restriction base="xsd:NMTOKEN">
+            <xsd:enumeration value="preserve"/>
+            <xsd:enumeration value="no-preserve"/>
+          </xsd:restriction>
+        </xsd:simpleType>
+      </xsd:element>
+      <xsd:element name="inheritMode">
+        <xsd:simpleType>
+          <xsd:restriction base="xsd:NMTOKEN">
+            <xsd:enumeration value="inherit"/>
+            <xsd:enumeration value="no-inherit"/>
+          </xsd:restriction>
+        </xsd:simpleType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="copyNamespacesDecl" type="copyNamespacesDecl"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:simpleType name="defaultNamespaceCategory">
+    <xsd:restriction base="xsd:NMTOKEN">
+      <xsd:enumeration value="function"/>
+      <xsd:enumeration value="element"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+  <xsd:complexType name="defaultNamespaceDecl">
+    <xsd:sequence>
+      <xsd:element name="defaultNamespaceCategory" type="defaultNamespaceCategory"/>
+      <xsd:element name="uri" type="xsd:string"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="defaultNamespaceDecl" type="defaultNamespaceDecl"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:complexType name="namespaceDeclType">
+    <xsd:sequence>
+      <xsd:element name="prefix" type="xsd:NCName"/>
+      <xsd:element name="uri" type="xsd:string"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="namespaceDecl" type="namespaceDeclType"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:element name="moduleDecl" type="namespaceDeclType"/>
+
+
+  <xsd:complexType name="decimalFormatDeclType">
+        <xsd:sequence>
+          <xsd:element name="decimalFormatName" type="EQName" minOccurs="0"/>
+          <xsd:element name="decimalFormatParam" minOccurs="0" maxOccurs="unbounded">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="decimalFormatParamName">
+                  <xsd:simpleType>
+                    <xsd:restriction base="xsd:NMTOKEN">
+                      <xsd:enumeration value="decimal-separator"/>
+                      <xsd:enumeration value="grouping-separator"/>
+                      <xsd:enumeration value="infinity"/>
+                      <xsd:enumeration value="minus-sign"/>
+                      <xsd:enumeration value="NaN"/>
+                      <xsd:enumeration value="percent"/>
+                      <xsd:enumeration value="per-mille"/>
+                      <xsd:enumeration value="zero-digit"/>
+                      <xsd:enumeration value="digit"/>
+                      <xsd:enumeration value="pattern-separator"/>
+                    </xsd:restriction>
+                  </xsd:simpleType>
+                </xsd:element>
+                <xsd:element name="decimalFormatParamValue" type="xsd:string"/>
+              </xsd:sequence>
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="default" default="false">
+          <xsd:simpleType>
+            <xsd:restriction base="xsd:NMTOKEN">
+              <xsd:enumeration value="true"/>
+              <xsd:enumeration value="false"/>
+            </xsd:restriction>
+          </xsd:simpleType>
+        </xsd:attribute>
+  </xsd:complexType>
+
+  <xsd:element name="decimalFormatDecl" type="decimalFormatDeclType"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:complexType name="schemaImport">
+    <xsd:sequence>
+      <xsd:choice minOccurs="0">
+        <xsd:element name="namespacePrefix" type="xsd:NCName"/>
+        <xsd:element name="defaultElementNamespace" type="emptyContent"/>
+      </xsd:choice>
+      <xsd:element name="targetNamespace" type="xsd:string"/>
+      <xsd:element name="targetLocation" type="xsd:string"
+                   minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="schemaImport" type="schemaImport"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:complexType name="moduleImport">
+    <xsd:sequence>
+      <xsd:element name="namespacePrefix" type="xsd:NCName" minOccurs="0"/>
+      <xsd:element name="targetNamespace" type="xsd:string"/>
+      <xsd:element name="targetLocation" type="xsd:string"
+                   minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="moduleImport" type="moduleImport"
+               substitutionGroup="prologPartOneItem"/>
+
+
+  <xsd:complexType name="contextItemDecl">
+    <xsd:sequence>
+      <xsd:element ref="typeDeclaration" minOccurs="0"/>
+      <xsd:choice>
+        <xsd:element name="varValue" type="exprWrapper"/>
+        <xsd:sequence>
+          <xsd:element name="external">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="varValue" type="exprWrapper" minOccurs="0"/>
+              </xsd:sequence>
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:sequence>
+      </xsd:choice>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="contextItemDecl" type="contextItemDecl"
+               substitutionGroup="prologPartTwoItem"/>
+
+
+<!-- For %-annotations                                                                  -->
+  <xsd:complexType name="annotation">
+    <xsd:sequence>
+      <xsd:element name="annotationName" type="EQName"/>
+      <xsd:element name="arguments" type="exprList" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+  <xsd:complexType name="varDecl">
+    <xsd:sequence>
+      <xsd:element name="annotation" type="annotation"
+                   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="varName" type="EQName"/>
+      <xsd:element ref="typeDeclaration" minOccurs="0"/>
+      <xsd:choice>
+        <xsd:element name="varValue" type="exprWrapper"/>
+        <xsd:sequence>
+          <xsd:element name="external">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="varValue" type="exprWrapper" minOccurs="0"/>
+              </xsd:sequence>
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:sequence>
+      </xsd:choice>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="varDecl" type="varDecl"
+               substitutionGroup="prologPartTwoItem"/>
+
+
+  <xsd:complexType name="optionDecl">
+    <xsd:sequence>
+      <xsd:element name="optionName" type="EQName"/>
+      <xsd:element name="optionContents" type="xsd:string"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="optionDecl" type="optionDecl"
+               substitutionGroup="prologPartTwoItem"/>
+
+
+  <xsd:complexType name="functionDecl">
+    <xsd:sequence>
+      <xsd:element name="annotation" type="annotation"
+                   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="functionName" type="EQName"/>
+      <xsd:element ref="paramList"/>
+      <xsd:element ref="typeDeclaration" minOccurs="0"/>
+      <xsd:choice>
+        <xsd:element name="functionBody" type="exprWrapper"/>
+        <xsd:element name="externalDefinition" type="emptyContent"/>
+      </xsd:choice>
+    </xsd:sequence>
+    <xsd:attribute name="nondeterministic" use="optional"
+                   type="xsd:boolean" default="false"/>
+    <xsd:attribute name="private" use="optional"
+                   type="xsd:boolean" default="false"/>
+  </xsd:complexType>
+
+  <xsd:element name="functionDecl" type="functionDecl"
+               substitutionGroup="prologPartTwoItem"/>
+
+
+  <xsd:complexType name="param">
+    <xsd:sequence>
+      <xsd:element name="varName" type="EQName"/>
+      <xsd:element ref="typeDeclaration" minOccurs="0"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="param" type="param"/>
+
+
+  <xsd:complexType name="paramList">
+    <xsd:sequence>
+      <xsd:element ref="param" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:element name="paramList" type="paramList"/>
+
+
+</xsd:schema>
\ No newline at end of file

=== added file 'schemas/complete-pul.xsd'
--- schemas/complete-pul.xsd	1970-01-01 00:00:00 +0000
+++ schemas/complete-pul.xsd	2012-04-27 13:22:48 +0000
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ************************************************************************
+  Zorba schema for representing a complete Pending Update List as XML
+  A complete PUL contains the necessary information for reverting changes.
+  ************************************************************************
+--><xs:schema
+    xmlns:xs="http://www.w3.org/2001/XMLSchema";
+    targetNamespace="http://www.zorba-xquery.com/schemas/complete-pul";
+    xmlns:pul="http://www.zorba-xquery.com/schemas/pul";
+    xmlns:cpul="http://www.zorba-xquery.com/schemas/complete-pul";
+    xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm";
+    elementFormDefault="qualified">
+
+  <xs:import namespace="http://www.zorba-xquery.com/schemas/xdm"; schemaLocation="xdm.xsd"/>
+  <xs:import namespace="http://www.zorba-xquery.com/schemas/pul"; schemaLocation="pul.xsd"/>
+
+    <!--
+    ****************
+    The root element
+    ****************
+  -->
+  <xs:element name="complete-pending-update-list">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="insertBefore" type="pul:insert-type"/>
+        <xs:element name="insertAfter" type="pul:insert-type"/>
+        <xs:element name="insertInto" type="pul:insert-type"/>
+        <xs:element name="insertIntoAsFirst" type="pul:insert-type"/>
+        <xs:element name="insertIntoAsLast" type="pul:insert-type"/>
+        <xs:element name="insertAttributes" type="pul:insertAttributes-type"/>
+        <xs:element name="complete-delete" type="cpul:complete-delete-type"/>
+        <xs:element name="complete-replaceNode" type="cpul:complete-replaceNode-type"/>
+        <xs:element name="complete-replaceValue" type="cpul:complete-replaceValue-type"/>
+        <xs:element name="complete-replaceElementContent" type="cpul:complete-replaceElementContent-type"/>
+        <xs:element name="complete-rename" type="cpul:complete-rename-type"/>
+        <xs:element name="put" type="pul:put-type"/>
+        <xs:element name="createCollection" type="pul:createCollection-type"/>
+        <xs:element name="insertAfterIntoCollection" type="pul:insertNodesRelative-type"/>
+        <xs:element name="insertBeforeIntoCollection" type="pul:insertNodesRelative-type"/>
+        <xs:element name="insertAsFirstIntoCollection" type="pul:insertNodesAbsolute-type"/>
+        <xs:element name="insertAsLastIntoCollection" type="pul:insertNodesAbsolute-type"/>
+        <xs:element name="insertIntoCollection" type="pul:insertNodes-type"/>
+        <xs:element name="deleteNodesFromCollection" type="pul:deleteNodes-type"/>
+        <xs:element name="createDocument" type="pul:createDocument-type"/>
+        <xs:element name="complete-deleteDocument" type="cpul:complete-deleteDocument-type"/>
+        <xs:element name="complete-deleteCollection" type="cpul:complete-deleteCollection-type"/>
+        <xs:element name="activateIntegrityConstraint" type="pul:activateIntegrityConstraint-type"/>
+        <xs:element name="deActivateIntegrityConstraint" type="pul:deActivateIntegrityConstraint-type"/>
+        <xs:element name="createIndex" type="pul:createIndex-type"/>
+        <xs:element name="deleteIndex" type="pul:deleteIndex-type"/>
+        <xs:element name="refreshIndex" type="pul:refreshIndex-type"/>
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <!--
+    *****************************************************
+    Definition of completed update primitives
+    *****************************************************
+  -->
+   <xs:complexType name="complete-delete-type">
+     <xs:complexContent>
+        <xs:extension base="pul:delete-type">
+          <xs:sequence>
+            <xs:element name="parent" type="xs:anyURI"/>      
+            <xs:element name="left-sibling" type="xs:anyURI" minOccurs="0"/>
+            <xs:element name="deleted-node" type="xdm:one-node-no-namespace-type"/>          
+          </xs:sequence>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+
+  <xs:complexType name="complete-replaceNode-type">
+    <xs:complexContent>
+      <xs:extension base="pul:replaceNode-type">
+        <xs:sequence>
+          <xs:element name="parent" type="xs:anyURI"/>      
+          <xs:element name="left-sibling" type="xs:anyURI" minOccurs="0"/>
+          <xs:element name="replaced-node" type="xdm:one-node-no-namespace-type"/>          
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  
+  <xs:complexType name="complete-replaceValue-type">
+    <xs:complexContent>
+      <xs:extension base="pul:replaceValue-type">
+        <xs:sequence>
+          <xs:element name="old-string-value" type="xs:string"/>      
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="complete-replaceElementContent-type">
+    <xs:complexContent>
+      <xs:extension base="pul:replaceElementContent-type">
+        <xs:sequence>
+          <xs:element name="replaced-nodes" type="xdm:children-sequence-type"/>          
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  
+  <xs:complexType name="complete-rename-type">
+    <xs:complexContent>
+      <xs:extension base="pul:rename-type">
+        <xs:sequence>
+          <xs:element name="oldName" type="xs:QName"/>          
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  
+  <xs:complexType name="complete-deleteCollection-type">
+    <xs:complexContent>
+      <xs:extension base="pul:deleteCollection-type">
+        <xs:sequence>
+          <xs:element name="deleted-nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  
+  <xs:complexType name="complete-deleteDocument-type">
+    <xs:complexContent>
+      <xs:extension base="pul:deleteDocument-type">
+        <xs:sequence>
+          <xs:element name="deleted-node-reference" type="xs:anyURI"/>          
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  
+</xs:schema>

=== added file 'schemas/pul.xsd'
--- schemas/pul.xsd	1970-01-01 00:00:00 +0000
+++ schemas/pul.xsd	2012-04-27 13:22:48 +0000
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ************************************************************
+  28msec schema for representing a Pending Update List as XML.
+  ************************************************************
+-->
+<xs:schema
+    xmlns:xs="http://www.w3.org/2001/XMLSchema";
+    targetNamespace="http://www.zorba-xquery.com/schemas/pul";
+    xmlns:pul="http://www.zorba-xquery.com/schemas/pul";
+    xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm";
+    xmlns:xqx="http://www.w3.org/2005/XQueryX";
+    elementFormDefault="qualified">
+
+  <xs:import namespace="http://www.zorba-xquery.com/schemas/xdm"; schemaLocation="xdm.xsd"/>
+  <xs:import namespace="http://www.w3.org/2005/XQueryX"; schemaLocation="../../../../org/w3/www/2005/XQueryX.xsd"/>
+  
+    <!--
+    ****************
+    The root element
+    ****************
+  -->
+  <xs:element name="pending-update-list">
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="insertBefore" type="pul:insert-type"/>
+        <xs:element name="insertAfter" type="pul:insert-type"/>
+        <xs:element name="insertInto" type="pul:insert-type"/>
+        <xs:element name="insertIntoAsFirst" type="pul:insert-type"/>
+        <xs:element name="insertIntoAsLast" type="pul:insert-type"/>
+        <xs:element name="insertAttributes" type="pul:insertAttributes-type"/>
+        <xs:element name="delete" type="pul:delete-type"/>
+        <xs:element name="replaceNode" type="pul:replaceNode-type"/>
+        <xs:element name="replaceValue" type="pul:replaceValue-type"/>
+        <xs:element name="replaceElementContent" type="pul:replaceElementContent-type"/>
+        <xs:element name="rename" type="pul:rename-type"/>
+        <xs:element name="put" type="pul:put-type"/>
+        <xs:element name="createCollection" type="pul:createCollection-type"/>
+        <xs:element name="insertAfterIntoCollection" type="pul:insertNodesRelative-type"/>
+        <xs:element name="insertBeforeIntoCollection" type="pul:insertNodesRelative-type"/>
+        <xs:element name="insertAsFirstIntoCollection" type="pul:insertNodesAbsolute-type"/>
+        <xs:element name="insertAsLastIntoCollection" type="pul:insertNodesAbsolute-type"/>
+        <xs:element name="insertIntoCollection" type="pul:insertNodes-type"/>
+        <xs:element name="deleteNodesFromCollection" type="pul:deleteNodes-type"/>
+        <xs:element name="deleteCollection" type="pul:deleteCollection-type"/>
+        <xs:element name="createDocument" type="pul:createDocument-type"/>
+        <xs:element name="deleteDocument" type="pul:deleteDocument-type"/>
+        <xs:element name="activateIntegrityConstraint" type="pul:activateIntegrityConstraint-type"/>
+        <xs:element name="deActivateIntegrityConstraint" type="pul:deActivateIntegrityConstraint-type"/>
+        <xs:element name="createIndex" type="pul:createIndex-type"/>
+        <xs:element name="deleteIndex" type="pul:deleteIndex-type"/>
+        <xs:element name="refreshIndex" type="pul:refreshIndex-type"/>
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+
+  <!--
+    *****************************************************
+    Definition of a PUL and the 11 XQUF update primitives
+    *****************************************************
+  -->
+  <xs:complexType name="insert-type">
+    <xs:sequence>
+      <xs:element name="target" type="xs:anyURI"/>
+      <xs:element name="content" type="xdm:children-sequence-type"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="insertAttributes-type">
+    <xs:sequence>
+      <xs:element name="target" type="xs:anyURI"/>
+      <xs:element name="content" type="xdm:attributes-sequence-type"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="delete-type">
+    <xs:sequence>
+      <xs:element name="target" type="xs:anyURI"/>
+    </xs:sequence>
+  </xs:complexType>
+    <!-- Must check upon delivery that:
+      o if target is an attribute node, all nodes in content are attributes.
+      o if target is a text/PI/comment/element node, all nodes in content are text/PI/comment/element nodes.
+      The definition of pul:children-or-attributes-only-type already makes sure that one of these two cases is met.
+      But one still needs to make sure that it is the right one of the two depending on the target.
+    -->
+  <xs:complexType name="replaceNode-type">
+    <xs:sequence>
+      <xs:element name="target" type="xs:anyURI"/>
+      <xs:element name="replacement" type="xdm:children-or-attributes-sequence-type"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="replaceValue-type">
+    <xs:sequence>
+      <xs:element name="target" type="xs:anyURI"/>
+      <xs:element name="string-value" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="replaceElementContent-type">
+    <xs:sequence>
+      <xs:element name="target" type="xs:anyURI"/>
+      <xs:element name="text" type="xdm:zero-or-one-text-node-type"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="rename-type">
+    <xs:sequence>
+      <xs:element name="target" type="xs:anyURI"/>
+      <xs:element name="newName" type="xs:QName"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="put-type">
+    <xs:sequence>
+      <xs:element name="node" type="xdm:one-document-or-element-node-type"/>
+      <xs:element name="uri" type="xs:anyURI"/>
+    </xs:sequence>
+  </xs:complexType>
+
+
+<!--
+  ******************************************************
+  Definition of proprietary collection update primitives
+  ******************************************************
+-->
+  <xs:complexType name="createCollection-type">
+    <xs:sequence>
+      <xs:element name="name" type="xs:QName"/>
+      <xs:element name="type" minOccurs="0">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element ref="xqx:sequenceType"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="annotation" type="xqx:annotation" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="insertNodesRelative-type">
+    <xs:sequence>
+      <xs:element name="collection" type="xs:QName"/>
+      <xs:element name="target" type="xs:anyURI"/>
+      <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="insertNodesAbsolute-type">
+    <xs:sequence>
+      <xs:element name="collection" type="xs:QName"/>
+      <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="insertNodes-type">
+    <xs:sequence>
+      <xs:element name="collection" type="xs:QName"/>
+      <xs:element name="nodes" type="xdm:nodes-sequence-no-namespaces-type"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="deleteNodes-type">
+    <xs:sequence>
+      <xs:element name="collection" type="xs:QName"/>
+      <xs:element name="target" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="deleteCollection-type">
+    <xs:sequence>
+      <xs:element name="collection" type="xs:QName"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <!--
+  ******************************************************
+  Definition of proprietary document primitives
+  ******************************************************
+-->
+  <xs:complexType name="createDocument-type">
+    <xs:sequence>
+      <xs:element name="uri" type="xs:anyURI"/>
+      <xs:element name="node-reference" type="xs:anyURI"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="deleteDocument-type">
+    <xs:sequence>
+      <xs:element name="uri" type="xs:anyURI"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <!--
+  ****************************************************************
+  Definition of proprietary integrity constraint update primitives
+  ****************************************************************
+-->
+  <xs:complexType name="activateIntegrityConstraint-type">
+    <xs:sequence>
+      <xs:element name="identity-constraint-name" type="xs:QName"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="deActivateIntegrityConstraint-type">
+    <xs:sequence>
+      <xs:element name="identity-constraint-name" type="xs:QName"/>
+    </xs:sequence>
+  </xs:complexType>
+    
+<!--
+  *************************************************
+  Definition of proprietary index update primitives
+  *************************************************
+-->
+  <xs:complexType name="createIndex-type">
+    <xs:sequence>
+      <xs:element name="index-name" type="xs:QName"/>
+      <xs:element name="domain-expression">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element ref="xqx:expr"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="key-expressions">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element ref="xqx:expr" maxOccurs="unbounded"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="annotation" type="xqx:annotation" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="deleteIndex-type">
+    <xs:sequence>
+      <xs:element name="index-name" type="xs:QName"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="refreshIndex-type">
+    <xs:sequence>
+      <xs:element name="index-name" type="xs:QName"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>

=== added file 'schemas/xdm.xsd'
--- schemas/xdm.xsd	1970-01-01 00:00:00 +0000
+++ schemas/xdm.xsd	2012-04-27 13:22:48 +0000
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ******************************************************
+  28msec schema for representing an XDM instance as XML.
+  ******************************************************
+-->
+<xs:schema
+    xmlns:xs="http://www.w3.org/2001/XMLSchema";
+    targetNamespace="http://www.zorba-xquery.com/schemas/xdm";
+    xmlns:xdm="http://www.zorba-xquery.com/schemas/xdm";
+    elementFormDefault="qualified">
+
+  <!--
+    ****************
+    The root element
+    ****************
+  -->
+  <xs:element name="sequence-of-items" type="xdm:sequence-of-items-type"/>
+
+  <!--
+    ************************************************
+    Serialization of an atomic item (type specified)
+    ************************************************
+  -->
+  <xs:element name="atomic-value">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute name="type" type="xs:QName"/>
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+  
+  <!--
+    **********************************************************************************
+    XDM-to-XML Proprietary serialization: the seven kinds of nodes and their accessors
+    For each node kind, the accessors that are always empty are ignored.
+    **********************************************************************************
+  -->
+  <xs:element name="document">
+    <xs:complexType>
+      <xs:sequence>
+        <!--
+          dm:children($n as node()) as node()*
+
+          The dm:children accessor returns the children of a node as a sequence containing
+          zero or more nodes.
+        -->
+        <xs:element name="children" type="xdm:children-sequence-type" minOccurs="0"/>
+      </xs:sequence>
+      <!--
+        dm:base-uri($n as node()) as xs:anyURI?
+        
+        The dm:base-uri accessor returns the base URI of a node as a sequence containing
+        zero or one URI reference. For more information about base URIs, see [XML Base].
+      -->
+      <xs:attribute name="base-uri" type="xs:anyURI"/>
+      <!--
+        dm:document-uri($node as node()) as xs:anyURI?
+        
+        The dm:document-uri accessor returns the absolute URI of the resource from which
+        the Document Node was constructed, if the absolute URI is available. If there is
+        no URI available, or if it cannot be made absolute when the Document Node is
+        constructed, or if it is used on a node other than a Document Node, the empty
+        sequence is returned.
+      -->
+      <xs:attribute name="document-uri" type="xs:anyURI"/>
+      <!--
+        dm:reference-uri($node as node()) as xs:anyURI?
+        
+        An additional, proprietary accessor reference-uri is used to store Sausalito's
+        UUID references.
+      -->
+      <xs:attribute name="reference-uri" type="xs:anyURI"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element">
+    <xs:complexType>
+      <xs:sequence>
+        <!--
+          dm:attributes($n as node()) as attribute()*
+          
+          The dm:attributes accessor returns the attributes of a node as a sequence
+          containing zero or more Attribute Nodes. The order of Attribute Nodes is
+          stable but implementation dependent.
+        -->
+        <xs:element name="attributes" type="xdm:attributes-sequence-type" minOccurs="0"/>
+        <xs:element name="children" type="xdm:children-sequence-type" minOccurs="0"/>
+        <!--
+          dm:namespace-nodes($n as node()) as node()*
+          
+          The dm:namespace-nodes accessor returns the dynamic, in-scope namespaces associated
+          with a node as a sequence containing zero or more Namespace Nodes. The order of Namespace
+          Nodes is stable but implementation dependent.
+        -->
+        <xs:element name="namespace-nodes" type="xdm:namespaces-sequence-type" minOccurs="0"/>
+      </xs:sequence>
+      <!--
+        dm:node-name($n as node()) as xs:QName?
+        
+        The dm:node-name accessor returns the name of the node as a sequence of zero or one
+        xs:QNames. Note that the QName value includes an optional prefix as described in 3.3.3
+        QNames and NOTATIONS.
+      -->
+      <xs:attribute name="node-name" type="xs:QName" use="required"/>
+      <!--
+        dm:type-name($n as node()) as xs:QName?
+        
+        The dm:type-name accessor returns the name of the schema type of a node as a sequence of
+        zero or one xs:QNames.
+      -->
+      <xs:attribute name="type-name" type="xs:QName" use="required"/>
+      <!--
+        dm:is-id($node as node()) as xs:boolean?
+        
+        The dm:is-id accessor returns true if the node is an XML ID. Exactly what constitutes
+        an ID depends in part on how the data model was constructed, see 6.2 Element Nodes
+        and 6.3 Attribute Nodes.
+      -->
+      <xs:attribute name="is-id" type="xs:boolean" default="false"/>
+      <!--
+        dm:is-idrefs($node as node()) as xs:boolean?
+
+        The dm:is-idrefs accessor returns true if the node is an XML IDREF or IDREFS. Exactly
+        what constitutes an IDREF or IDREFS depends in part on how the data model was
+        constructed, see 6.2 Element Nodes and 6.3 Attribute Nodes.
+      -->
+      <xs:attribute name="is-idrefs" type="xs:boolean" default="false"/>
+      <!--
+        dm:nilled($n as node()) as xs:boolean?
+        
+        The dm:nilled accessor returns true if the node is "nilled". [Schema Part 1] introduced
+        the nilled mechanism to signal that an element should be accepted as valid when it has
+        no content even when it has a content type which does not require or even necessarily
+        allow empty content.
+      -->
+      <xs:attribute name="nilled" type="xs:boolean" default="false"/>
+      <xs:attribute name="reference-uri" type="xs:anyURI"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="attribute">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute name="node-name" type="xs:QName" use="required"/>
+          <xs:attribute name="type-name" type="xs:QName" use="required"/>
+          <xs:attribute name="is-id" type="xs:boolean" default="false"/>
+          <xs:attribute name="is-idrefs" type="xs:boolean" default="false"/>
+          <xs:attribute name="reference-uri" type="xs:anyURI"/>
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="namespace">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute name="node-name" type="xs:QName" use="required"/>
+          <xs:attribute name="reference-uri" type="xs:anyURI"/>
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="processing-instruction">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute name="node-name" type="xs:NCName" use="required"/>
+          <xs:attribute name="reference-uri" type="xs:anyURI"/>
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="comment">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute name="reference-uri" type="xs:anyURI"/>
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="text">
+    <xs:complexType>
+      <xs:simpleContent>
+        <xs:extension base="xs:string">
+          <xs:attribute name="reference-uri" type="xs:anyURI"/>
+        </xs:extension>
+      </xs:simpleContent>
+    </xs:complexType>
+  </xs:element>
+
+  <!--
+    *************************************************************************************
+    Types that are sequences of items (restricted on the kinds of nodes that are allowed)
+    *************************************************************************************
+  -->
+  <xs:complexType name="sequence-of-items-type">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element ref="xdm:document"/>
+      <xs:element ref="xdm:element"/>
+      <xs:element ref="xdm:comment"/>
+      <xs:element ref="xdm:text"/>
+      <xs:element ref="xdm:processing-instruction"/>
+      <xs:element ref="xdm:attribute"/>
+      <xs:element ref="xdm:namespace"/>
+      <xs:element ref="xdm:atomic-value"/>
+    </xs:choice>
+  </xs:complexType>
+
+  <xs:complexType name="attributes-sequence-type">
+    <xs:sequence minOccurs="0" maxOccurs="unbounded">
+      <xs:element ref="xdm:attribute"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="children-sequence-type">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element ref="xdm:element"/>
+      <xs:element ref="xdm:comment"/>
+      <xs:element ref="xdm:text"/>
+      <xs:element ref="xdm:processing-instruction"/>
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="namespaces-sequence-type">
+    <xs:sequence>
+      <xs:element ref="xdm:namespace" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="children-or-attributes-sequence-type">
+    <xs:choice>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="xdm:element"/>
+        <xs:element ref="xdm:comment"/>
+        <xs:element ref="xdm:text"/>
+        <xs:element ref="xdm:processing-instruction"/>
+      </xs:choice>
+      <xs:element ref="xdm:attribute" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:choice>
+  </xs:complexType>
+  
+  <xs:complexType name="zero-or-one-text-node-type">
+    <xs:sequence>
+      <xs:element ref="xdm:text" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="one-document-or-element-node-type">
+    <xs:choice>
+      <xs:element ref="xdm:document"/>
+      <xs:element ref="xdm:element"/>
+    </xs:choice>
+  </xs:complexType>
+  
+  <xs:complexType name="one-document-node-type">
+    <xs:choice>
+      <xs:element ref="xdm:document"/>
+    </xs:choice>
+  </xs:complexType>
+  
+  <xs:complexType name="nodes-sequence-no-namespaces-type">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element ref="xdm:document"/>
+      <xs:element ref="xdm:element"/>
+      <xs:element ref="xdm:comment"/>
+      <xs:element ref="xdm:text"/>
+      <xs:element ref="xdm:processing-instruction"/>
+      <xs:element ref="xdm:attribute"/>
+    </xs:choice>
+  </xs:complexType>
+
+  <xs:complexType name="one-node-no-namespace-type">
+    <xs:choice>
+      <xs:element ref="xdm:document"/>
+      <xs:element ref="xdm:element"/>
+      <xs:element ref="xdm:comment"/>
+      <xs:element ref="xdm:text"/>
+      <xs:element ref="xdm:processing-instruction"/>
+      <xs:element ref="xdm:attribute"/>
+    </xs:choice>
+  </xs:complexType>
+</xs:schema>

=== modified file 'scripts/CMakeLists.txt'
--- scripts/CMakeLists.txt	2012-04-11 20:22:52 +0000
+++ scripts/CMakeLists.txt	2012-04-27 13:22:48 +0000
@@ -52,9 +52,11 @@
   ADD_CUSTOM_COMMAND(OUTPUT "${CMAKE_SOURCE_DIR}/NOTICE.txt"
     COMMAND "${ZORBA_EXE}" "-q" "${CMAKE_CURRENT_BINARY_DIR}/notice-generator.xq" "-f" "--omit-xml-declaration"
     MAIN_DEPENDENCY "${CMAKE_CURRENT_BINARY_DIR}/notice-generator.xq" 
-    DEPENDS "${CMAKE_SOURCE_DIR}/NOTICE.xml" "${CMAKE_SOURCE_DIR}/CMakeLists.txt")
+    DEPENDS "${CMAKE_SOURCE_DIR}/NOTICE.xml"
+    "${CMAKE_SOURCE_DIR}/CMakeLists.txt"
+    zorbacmd)
   ADD_CUSTOM_TARGET(NOTICE ALL
-    DEPENDS "${CMAKE_SOURCE_DIR}/NOTICE.txt" zorbacmd
+    DEPENDS "${CMAKE_SOURCE_DIR}/NOTICE.txt"
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     )
 

=== modified file 'src/CMakeLists.txt'
--- src/CMakeLists.txt	2012-04-11 20:22:52 +0000
+++ src/CMakeLists.txt	2012-04-27 13:22:48 +0000
@@ -59,7 +59,10 @@
 #
 # Next, add the files to be compiled into the library
 #
+
+MESSAGE(STATUS  "PRECOMPILED HEADERS: " ${ZORBA_PRECOMPILED_HEADERS})
 SET(ZORBA_PRECOMPILED_HEADERS OFF CACHE BOOL "Activate Zorba precompiled headers.")
+MESSAGE(STATUS  "PRECOMPILED HEADERS: " ${ZORBA_PRECOMPILED_HEADERS})
 
 SET(ZORBA_SRCS)
 ADD_SRC_SUBFOLDER(ZORBA_SRCS api API_SRCS)
@@ -97,6 +100,7 @@
 ENDIF(ZORBA_WITH_DEBUGGER)
 ADD_SRC_SUBFOLDER(ZORBA_SRCS unit_tests UNIT_TEST_SRCS)
 
+MESSAGE(STATUS  "PRECOMPILED HEADERS: " ${ZORBA_PRECOMPILED_HEADERS})
 IF(ZORBA_PRECOMPILED_HEADERS)
   ADD_SRC_SUBFOLDER(ZORBA_SRCS precompiled ZORBAMISC_SRCS)
   INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/src/precompiled")

=== modified file 'src/annotations/annotations.h'
--- src/annotations/annotations.h	2012-04-11 20:22:52 +0000
+++ src/annotations/annotations.h	2012-04-27 13:22:48 +0000
@@ -83,7 +83,7 @@
   };
 
 protected:
-  typedef std::bitset<zann_end + 1> RuleBitSet;
+  typedef std::bitset<static_cast<int>(zann_end) + 1> RuleBitSet;
 
 protected:
   static std::vector<store::Item_t>      theAnnotId2NameMap;

=== modified file 'src/api/serialization/serializer.cpp'
--- src/api/serialization/serializer.cpp	2012-04-11 20:22:52 +0000
+++ src/api/serialization/serializer.cpp	2012-04-27 13:22:48 +0000
@@ -182,7 +182,6 @@
   for (; chars < chars_end; chars++ )
   {
 
-#ifndef ZORBA_NO_UNICODE
     // the input string is UTF-8
     int char_length = utf8::char_length(*chars);
     if (char_length == 0)
@@ -225,7 +224,6 @@
 
       continue;
     }
-#endif//ZORBA_NO_UNICODE
 
     // raise an error iff (1) the serialization format is XML 1.0 and (2) the given character is an invalid XML 1.0 character
     if (ser && ser->method == PARAMETER_VALUE_XML &&
@@ -340,14 +338,12 @@
     {
       tr << (char)0xEF << (char)0xBB << (char)0xBF;
     }
-#ifndef ZORBA_NO_UNICODE
     else if (ser->encoding == PARAMETER_VALUE_UTF_16)
     {
       // Little-endian
       tr.verbatim((char)0xFF);
       tr.verbatim((char)0xFE);
     }
-#endif
   }
 }
 
@@ -875,13 +871,17 @@
   emitter::emit_declaration();
 
   if (ser->omit_xml_declaration == PARAMETER_VALUE_NO) {
-    tr << "<?xml version=\"" << ser->version << "\" encoding=\"";
-    if (ser->encoding == PARAMETER_VALUE_UTF_8) {
-      tr << "UTF-8";
-#ifndef ZORBA_NO_UNICODE
-    } else if (ser->encoding == PARAMETER_VALUE_UTF_16) {
-      tr << "UTF-16";
-#endif
+    tr << "<?xml version=\"" << ser->version;
+    switch (ser->encoding) {
+      case PARAMETER_VALUE_UTF_8:
+      case PARAMETER_VALUE_UTF_16:
+        tr << "\" encoding=\"";
+        switch (ser->encoding) {
+          case PARAMETER_VALUE_UTF_8 : tr << "UTF-8" ; break;
+          case PARAMETER_VALUE_UTF_16: tr << "UTF-16"; break;
+          default                    : ZORBA_ASSERT(false);
+        }
+        break;
     }
     tr << "\"";
 
@@ -1568,14 +1568,18 @@
       }
 
       tr << "<meta http-equiv=\"content-type\" content=\""
-         << ser->media_type << "; charset=";
-
-      if (ser->encoding == PARAMETER_VALUE_UTF_8)
-        tr << "UTF-8";
-#ifndef ZORBA_NO_UNICODE
-      else if (ser->encoding == PARAMETER_VALUE_UTF_16)
-        tr << "UTF-16";
-#endif
+         << ser->media_type;
+      switch (ser->encoding) {
+        case PARAMETER_VALUE_UTF_8:
+        case PARAMETER_VALUE_UTF_16:
+          tr << "\" charset=\"";
+          switch (ser->encoding) {
+            case PARAMETER_VALUE_UTF_8 : tr << "UTF-8" ; break;
+            case PARAMETER_VALUE_UTF_16: tr << "UTF-16"; break;
+            default                    : ZORBA_ASSERT(false);
+          }
+          break;
+      }
       tr << "\"";
       // closed_parent_tag = 1;
     }
@@ -1765,14 +1769,18 @@
         }
 
         tr << "<meta http-equiv=\"content-type\" content=\""
-           << ser->media_type << "; charset=";
-
-        if (ser->encoding == PARAMETER_VALUE_UTF_8)
-          tr << "UTF-8";
-#ifndef ZORBA_NO_UNICODE
-        else if (ser->encoding == PARAMETER_VALUE_UTF_16)
-          tr << "UTF-16";
-#endif
+           << ser->media_type;
+        switch (ser->encoding) {
+          case PARAMETER_VALUE_UTF_8:
+          case PARAMETER_VALUE_UTF_16:
+            tr << "\" charset=\"";
+            switch (ser->encoding) {
+              case PARAMETER_VALUE_UTF_8 : tr << "UTF-8" ; break;
+              case PARAMETER_VALUE_UTF_16: tr << "UTF-16"; break;
+              default                    : ZORBA_ASSERT(false);
+            }
+            break;
+        }
         tr << "\"/";
         //closed_parent_tag = 1;
       }
@@ -2510,10 +2518,8 @@
   {
     if (!strcmp(aValue, "UTF-8"))
       encoding = PARAMETER_VALUE_UTF_8;
-#ifndef ZORBA_NO_UNICODE
     else if (!strcmp(aValue, "UTF-16"))
       encoding = PARAMETER_VALUE_UTF_16;
-#endif
     else
       throw XQUERY_EXCEPTION(
         err::SEPM0016, ERROR_PARAMS( aValue, aName, ZED( GoodValuesAreUTF8 ) )
@@ -2741,8 +2747,11 @@
     // the "JSONIQ" method is consider "XML-based", although you will certainly
     // get errors if you attempt to serialize JDM this way.
     if (method != PARAMETER_VALUE_XML &&
-        method != PARAMETER_VALUE_XHTML &&
-        method != PARAMETER_VALUE_JSONIQ) {
+        method != PARAMETER_VALUE_XHTML
+#ifdef ZORBA_WITH_JSON
+        && method != PARAMETER_VALUE_JSONIQ
+#endif
+      ) {
       throw ZORBA_EXCEPTION(
         zerr::ZAPI0070_INVALID_SERIALIZATION_METHOD_FOR_SAX,
         ERROR_PARAMS( method )

=== modified file 'src/api/serialization/serializer.h'
--- src/api/serialization/serializer.h	2012-04-11 20:22:52 +0000
+++ src/api/serialization/serializer.h	2012-04-27 13:22:48 +0000
@@ -76,10 +76,8 @@
     PARAMETER_VALUE_APPENDED,
 #endif
 
-    PARAMETER_VALUE_UTF_8
-#ifndef ZORBA_NO_UNICODE
-    ,PARAMETER_VALUE_UTF_16
-#endif
+    PARAMETER_VALUE_UTF_8,
+    PARAMETER_VALUE_UTF_16
   } PARAMETER_VALUE_TYPE;
 
 protected:

=== modified file 'src/api/staticcollectionmanagerimpl.cpp'
--- src/api/staticcollectionmanagerimpl.cpp	2012-04-11 20:22:52 +0000
+++ src/api/staticcollectionmanagerimpl.cpp	2012-04-27 13:22:48 +0000
@@ -104,6 +104,7 @@
 {
   Zorba_CompilerHints_t lHints;
   std::ostringstream lProlog;
+  lProlog << "xquery version '3.0';";
   lProlog << "import module namespace d = '" << theColDDLNamespace << "';";
   lProlog << "import module namespace iddl = '" << theIdxDDLNamespace << "';";
   aCtx->loadProlog(lProlog.str(), lHints);

=== modified file 'src/api/staticcontextimpl.cpp'
--- src/api/staticcontextimpl.cpp	2012-04-11 20:22:52 +0000
+++ src/api/staticcontextimpl.cpp	2012-04-27 13:22:48 +0000
@@ -25,6 +25,7 @@
 #include <zorba/typeident.h>
 #include <zorba/util/path.h>
 #include <zorba/empty_sequence.h>
+#include <zorba/singleton_item_sequence.h>
 
 #include "store/api/item_factory.h"
 #include "store/api/temp_seq.h"
@@ -1539,5 +1540,50 @@
   ZORBA_CATCH
 }
 
+Item
+StaticContextImpl::fetch(const String& aURI) const
+{
+  return fetch(aURI, "SOME_CONTENT");
+}
+
+Item
+StaticContextImpl::fetch(
+    const String& aURI,
+    const String& aEntityKind) const
+{
+  ZORBA_TRY
+  {
+    Zorba* lZorba = Zorba::getInstance(0);
+    ItemFactory* lFactory = lZorba->getItemFactory();
+
+    Item lQName = lFactory->createQName(static_context::ZORBA_FETCH_FN_NS,
+                                          "content");
+
+    // create a streamable string item
+    std::vector<ItemSequence_t> lArgs;
+    lArgs.push_back(new SingletonItemSequence(lFactory->createString(aURI)));
+    lArgs.push_back(
+        new SingletonItemSequence(lFactory->createString(aEntityKind)));
+
+    StaticContext_t lCtx = createChildContext();
+
+    Zorba_CompilerHints_t lHints;
+    std::ostringstream lProlog;
+    lProlog
+      << "import module namespace d = '" << static_context::ZORBA_FETCH_FN_NS  << "';";
+
+    lCtx->loadProlog(lProlog.str(), lHints);
+
+    ItemSequence_t lSeq = lCtx->invoke(lQName, lArgs);
+    Iterator_t lIter = lSeq->getIterator();
+    lIter->open();
+    Item lRes;
+    lIter->next(lRes);
+    return lRes;
+  }
+  ZORBA_CATCH
+  return 0;
+}
+
 } /* namespace zorba */
 /* vim:set et sw=2 ts=2: */

=== modified file 'src/api/staticcontextimpl.h'
--- src/api/staticcontextimpl.h	2012-04-11 20:22:52 +0000
+++ src/api/staticcontextimpl.h	2012-04-27 13:22:48 +0000
@@ -281,6 +281,12 @@
   virtual void
   getFullLibPath(std::vector<String>& aLibPath) const;
 
+  virtual Item
+  fetch(const String& aURI) const;
+
+  virtual Item
+  fetch(const String& aURI, const String& aEntityKind) const;
+
 protected:
   String
   createInvokeQuery(const Function_t&, size_t aArity) const;

=== modified file 'src/api/zorbaimpl.cpp'
--- src/api/zorbaimpl.cpp	2012-04-11 20:22:52 +0000
+++ src/api/zorbaimpl.cpp	2012-04-27 13:22:48 +0000
@@ -35,6 +35,7 @@
 #include "diagnostics/xquery_diagnostics.h"
 
 #include "system/globalenv.h"
+#include "system/properties.h"
 
 #include "context/static_context.h"
 
@@ -269,6 +270,15 @@
 }
 
 
+/*******************************************************************************
+
+********************************************************************************/
+PropertiesGlobal* ZorbaImpl::getPropertiesGlobal()
+{
+  return Properties::instance();
+}
+
+
 void ZorbaImpl::notifyError( DiagnosticHandler *eh, ZorbaException const &ze ) {
   eh->error( ze );
 }

=== modified file 'src/api/zorbaimpl.h'
--- src/api/zorbaimpl.h	2012-04-11 20:22:52 +0000
+++ src/api/zorbaimpl.h	2012-04-27 13:22:48 +0000
@@ -134,6 +134,8 @@
 
   audit::Provider* getAuditProvider();
 
+  PropertiesGlobal* getPropertiesGlobal();
+
 protected:
   ZorbaImpl();
 

=== modified file 'src/compiler/expression/expr.cpp'
--- src/compiler/expression/expr.cpp	2012-04-12 09:18:43 +0000
+++ src/compiler/expression/expr.cpp	2012-04-27 13:22:48 +0000
@@ -52,8 +52,6 @@
 namespace zorba 
 {
 
-SERIALIZABLE_CLASS_VERSIONS(expr)
-
 SERIALIZABLE_CLASS_VERSIONS(catch_clause)
 
 SERIALIZABLE_CLASS_VERSIONS(trycatch_expr)
@@ -68,16 +66,8 @@
 
 SERIALIZABLE_CLASS_VERSIONS(wrapper_expr)
 
-SERIALIZABLE_CLASS_VERSIONS(namespace_context_base_expr)
-
-SERIALIZABLE_CLASS_VERSIONS(cast_or_castable_base_expr)
-
-SERIALIZABLE_CLASS_VERSIONS(cast_base_expr)
-
 SERIALIZABLE_CLASS_VERSIONS(promote_expr)
 
-SERIALIZABLE_CLASS_VERSIONS(castable_base_expr)
-
 SERIALIZABLE_CLASS_VERSIONS(instanceof_expr)
 
 SERIALIZABLE_CLASS_VERSIONS(treat_expr)

=== modified file 'src/compiler/expression/expr_utils.h'
--- src/compiler/expression/expr_utils.h	2012-04-12 09:18:43 +0000
+++ src/compiler/expression/expr_utils.h	2012-04-27 13:22:48 +0000
@@ -33,7 +33,7 @@
   bool         theEmptyLeast;
   std::string  theCollation;
 
-  SERIALIZABLE_ABSTRACT_CLASS(OrderModifier)
+  SERIALIZABLE_CLASS(OrderModifier)
   SERIALIZABLE_CLASS_CONSTRUCTOR2(OrderModifier, SimpleRCObject)
   void serialize(::zorba::serialization::Archiver& ar)
   {

=== modified file 'src/compiler/expression/flwor_expr.cpp'
--- src/compiler/expression/flwor_expr.cpp	2012-04-12 09:18:43 +0000
+++ src/compiler/expression/flwor_expr.cpp	2012-04-27 13:22:48 +0000
@@ -39,10 +39,6 @@
 namespace zorba
 {
 
-SERIALIZABLE_CLASS_VERSIONS(flwor_clause)
-
-SERIALIZABLE_CLASS_VERSIONS(forletwin_clause)
-
 SERIALIZABLE_CLASS_VERSIONS(for_clause)
 
 SERIALIZABLE_CLASS_VERSIONS(let_clause)

=== modified file 'src/compiler/expression/ftnode.cpp'
--- src/compiler/expression/ftnode.cpp	2012-04-12 09:18:43 +0000
+++ src/compiler/expression/ftnode.cpp	2012-04-27 13:22:48 +0000
@@ -52,24 +52,14 @@
 
 SERIALIZABLE_CLASS_VERSIONS(ftlanguage_option)
 
-SERIALIZABLE_CLASS_VERSIONS(ftmatch_option)
-
 SERIALIZABLE_CLASS_VERSIONS(ftmatch_options)
 
 SERIALIZABLE_CLASS_VERSIONS(ftmild_not)
 
-SERIALIZABLE_CLASS_VERSIONS(ftnode)
-
-SERIALIZABLE_CLASS_VERSIONS(ftnode_list)
-
 SERIALIZABLE_CLASS_VERSIONS(ftor)
 
 SERIALIZABLE_CLASS_VERSIONS(ftorder_filter)
 
-SERIALIZABLE_CLASS_VERSIONS(ftpos_filter)
-
-SERIALIZABLE_CLASS_VERSIONS(ftprimary)
-
 SERIALIZABLE_CLASS_VERSIONS(ftprimary_with_options)
 
 SERIALIZABLE_CLASS_VERSIONS(ftrange)

=== modified file 'src/compiler/expression/update_exprs.cpp'
--- src/compiler/expression/update_exprs.cpp	2012-04-12 09:18:43 +0000
+++ src/compiler/expression/update_exprs.cpp	2012-04-27 13:22:48 +0000
@@ -27,8 +27,6 @@
 namespace zorba 
 {
 
-SERIALIZABLE_CLASS_VERSIONS(update_expr_base)
-
 SERIALIZABLE_CLASS_VERSIONS(insert_expr)
 
 SERIALIZABLE_CLASS_VERSIONS(delete_expr)

=== modified file 'src/compiler/parser/xquery_parser.cpp'
--- src/compiler/parser/xquery_parser.cpp	2012-04-11 20:22:52 +0000
+++ src/compiler/parser/xquery_parser.cpp	2012-04-27 13:22:48 +0000
@@ -38,7 +38,7 @@
 /* First part of user declarations.  */
 
 /* Line 311 of lalr1.cc  */
-#line 87 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 87 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 
 
 #include "common/common.h"
@@ -75,7 +75,7 @@
 
 
 /* Line 311 of lalr1.cc  */
-#line 79 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 79 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 
 
 #include "xquery_parser.hpp"
@@ -83,7 +83,7 @@
 /* User implementation prologue.  */
 
 /* Line 317 of lalr1.cc  */
-#line 902 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 902 "/home/mbrantner/zorba/jsandbox/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...
@@ -95,7 +95,7 @@
 }
 
 /* Line 317 of lalr1.cc  */
-#line 1018 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1018 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 
 #include "compiler/parser/xquery_scanner.h"
 
@@ -105,7 +105,7 @@
 
 
 /* Line 317 of lalr1.cc  */
-#line 109 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 109 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 
 #ifndef YY_
 # if YYENABLE_NLS
@@ -174,7 +174,7 @@
 namespace zorba {
 
 /* Line 380 of lalr1.cc  */
-#line 178 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 178 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 #if YYERROR_VERBOSE
 
   /* Return YYSTR after stripping away unnecessary quotes and
@@ -277,2513 +277,2513 @@
         case 110: /* "\"'DECIMAL'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 900 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 900 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->decval); };
 
 /* Line 480 of lalr1.cc  */
-#line 285 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 285 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 124: /* "\"'DOUBLE'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 899 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 899 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->dval); };
 
 /* Line 480 of lalr1.cc  */
-#line 294 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 294 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 149: /* "\"'INTEGER'\"" */
 
 /* Line 480 of lalr1.cc  */
-#line 898 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 898 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->ival); };
 
 /* Line 480 of lalr1.cc  */
-#line 303 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 303 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 335: /* "VersionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 312 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 312 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 336: /* "MainModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 321 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 321 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 337: /* "LibraryModule" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 330 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 330 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 338: /* "ModuleDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 339 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 339 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 339: /* "SIND_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 348 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 348 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 340: /* "SIND_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 357 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 357 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 341: /* "Setter" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 366 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 366 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 342: /* "BoundarySpaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 375 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 375 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 343: /* "DefaultCollationDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 384 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 384 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 344: /* "BaseURIDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 393 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 393 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 345: /* "ConstructionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 402 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 402 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 346: /* "OrderingModeDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 411 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 411 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 347: /* "EmptyOrderDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 420 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 420 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 348: /* "CopyNamespacesDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 429 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 429 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 349: /* "Import" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 438 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 438 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 350: /* "SchemaImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 447 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 447 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 351: /* "URILiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 456 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 456 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 352: /* "SchemaPrefix" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 465 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 465 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 353: /* "ModuleImport" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 474 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 474 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 354: /* "NamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 483 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 483 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 355: /* "DefaultNamespaceDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 492 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 492 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 356: /* "VFO_DeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 501 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 501 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 357: /* "VFO_Decl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 510 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 510 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 358: /* "DecimalFormatDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 519 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 519 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 359: /* "DecimalFormatParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->vstrpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 528 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 528 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 360: /* "DecimalFormatParam" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->strpair); };
 
 /* Line 480 of lalr1.cc  */
-#line 537 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 537 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 362: /* "OptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 546 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 546 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 363: /* "FTOptionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 555 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 555 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 364: /* "CtxItemDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 564 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 564 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 365: /* "CtxItemDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 573 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 573 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 366: /* "CtxItemDecl3" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 582 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 582 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 367: /* "CtxItemDecl4" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 591 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 591 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 368: /* "VarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 600 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 600 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 369: /* "VarNameAndType" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->varnametype); };
 
 /* Line 480 of lalr1.cc  */
-#line 609 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 609 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 370: /* "AnnotationList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 618 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 618 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 371: /* "Annotation" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 627 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 627 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 372: /* "AnnotationLiteralList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 636 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 636 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 373: /* "FunctionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 645 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 645 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 374: /* "FunctionDecl2" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 654 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 654 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 375: /* "FunctionDeclSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 663 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 663 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 376: /* "FunctionDeclUpdating" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 672 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 672 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 377: /* "FunctionSig" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->fnsig); };
 
 /* Line 480 of lalr1.cc  */
-#line 681 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 681 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 378: /* "ParamList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 690 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 690 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 379: /* "Param" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 699 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 699 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 380: /* "CollectionDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 708 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 708 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 382: /* "IndexDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 717 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 717 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 383: /* "IndexKeyList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 726 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 726 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 384: /* "IndexKeySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 735 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 735 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 385: /* "IntegrityConstraintDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 744 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 744 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 386: /* "QueryBody" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 753 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 753 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 387: /* "StatementsAndOptionalExprTop" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 762 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 762 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 388: /* "StatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 771 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 771 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 389: /* "StatementsAndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 780 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 780 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 390: /* "Statements" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 789 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 789 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 391: /* "Statement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 798 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 798 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 392: /* "BlockStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 807 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 807 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 393: /* "BlockExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 816 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 816 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 394: /* "EnclosedStatementsAndOptionalExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 825 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 825 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 395: /* "VarDeclStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 834 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 834 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 398: /* "AssignStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 843 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 843 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 399: /* "ApplyStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 852 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 852 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 400: /* "ExitStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 861 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 861 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 401: /* "WhileStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 870 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 870 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 402: /* "FlowCtlStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 879 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 879 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 403: /* "FLWORStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 888 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 888 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 404: /* "ReturnStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 897 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 897 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 405: /* "IfStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 906 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 906 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 406: /* "TryStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 915 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 915 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 407: /* "CatchListStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 924 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 924 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 408: /* "CatchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 933 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 933 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 409: /* "Expr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 942 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 942 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 410: /* "ExprSingle" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 951 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 951 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 411: /* "ExprSimple" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 960 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 960 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 412: /* "FLWORExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 969 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 969 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 413: /* "ReturnExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 978 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 978 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 416: /* "FLWORWinCond" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 987 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 987 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 417: /* "WindowClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 996 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 996 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 418: /* "CountClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1005 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1005 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 419: /* "ForLetWinClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1014 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1014 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 421: /* "FLWORClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1023 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1023 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 422: /* "ForClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1032 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1032 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 423: /* "VarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1041 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1041 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 424: /* "VarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1050 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1050 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 425: /* "PositionalVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1059 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1059 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 426: /* "FTScoreVar" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1068 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1068 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 427: /* "LetClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1077 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1077 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 428: /* "VarGetsDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1086 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1086 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 429: /* "VarGetsDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1095 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1095 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 430: /* "WindowVarDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1104 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1104 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 431: /* "WindowVars" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1113 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1113 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 432: /* "WindowVars3" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1122 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1122 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 433: /* "WindowVars2" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1131 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1131 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 434: /* "WhereClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1140 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1140 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 435: /* "GroupByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1149 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1149 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 436: /* "GroupSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1158 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1158 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 437: /* "GroupSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1167 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1167 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 438: /* "GroupCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1176 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1176 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 439: /* "OrderByClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1185 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1185 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 440: /* "OrderSpecList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1194 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1194 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 441: /* "OrderSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1203 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1203 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 442: /* "OrderModifier" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1212 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1212 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 443: /* "OrderDirSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1221 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1221 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 444: /* "OrderEmptySpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1230 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1230 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 445: /* "OrderCollationSpec" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1239 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1239 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 446: /* "QuantifiedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1248 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1248 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 447: /* "QVarInDeclList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1257 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1257 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 448: /* "QVarInDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1266 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1266 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 449: /* "SwitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1275 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1275 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 450: /* "SwitchCaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1284 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1284 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 451: /* "SwitchCaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1293 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1293 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 452: /* "SwitchCaseOperandList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1302 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1302 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 453: /* "SwitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1311 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1311 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 456: /* "TypeswitchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1320 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1320 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 457: /* "TypeswitchStatement" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1329 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1329 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 458: /* "CaseClauseList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1338 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1338 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 459: /* "CaseClause" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1347 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1347 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 462: /* "IfExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1356 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1356 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 463: /* "OrExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1365 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1365 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 464: /* "AndExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1374 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1374 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 465: /* "ComparisonExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1383 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1383 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 467: /* "FTContainsExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1392 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1392 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 468: /* "StringConcatExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1401 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1401 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 469: /* "opt_FTIgnoreOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1410 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1410 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 470: /* "RangeExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1419 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1419 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 471: /* "AdditiveExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1428 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1428 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 472: /* "MultiplicativeExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1437 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1437 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 473: /* "UnionExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1446 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1446 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 474: /* "IntersectExceptExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1455 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1455 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 475: /* "InstanceofExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1464 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1464 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 476: /* "TreatExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1473 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1473 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 477: /* "CastableExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1482 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1482 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 478: /* "CastExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1491 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1491 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 479: /* "UnaryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1500 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1500 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 480: /* "SignList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1509 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1509 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 481: /* "ValueExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1518 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1518 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 482: /* "ValueComp" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1527 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1527 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 483: /* "NodeComp" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1536 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1536 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 484: /* "ValidateExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1545 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1545 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 485: /* "ExtensionExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1554 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1554 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 486: /* "Pragma_list" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1563 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1563 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 487: /* "Pragma" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1572 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1572 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 488: /* "PathExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1581 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1581 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 490: /* "RelativePathExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1590 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1590 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 491: /* "StepExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1599 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1599 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 492: /* "AxisStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1608 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1608 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 493: /* "ForwardStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1617 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1617 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 494: /* "ForwardAxis" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1626 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1626 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 495: /* "AbbrevForwardStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1635 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1635 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 496: /* "ReverseStep" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1644 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1644 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 497: /* "ReverseAxis" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1653 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1653 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 498: /* "NodeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1662 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1662 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 499: /* "NameTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1671 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1671 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 500: /* "Wildcard" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1680 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1680 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 501: /* "FilterExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1689 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1689 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 502: /* "PredicateList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1698 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1698 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 503: /* "Predicate" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1707 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1707 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 504: /* "PrimaryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1716 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1716 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 505: /* "Literal" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1725 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1725 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 506: /* "NumericLiteral" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1734 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1734 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 507: /* "VarRef" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1743 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1743 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 508: /* "ParenthesizedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1752 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1752 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 509: /* "ContextItemExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1761 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1761 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 510: /* "OrderedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1770 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1770 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 511: /* "UnorderedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1779 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1779 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 512: /* "FunctionCall" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1788 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1788 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 513: /* "ArgList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1797 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1797 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 514: /* "Constructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1806 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1806 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 515: /* "DirectConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1815 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1815 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 516: /* "DirElemConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1824 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1824 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 517: /* "DirElemContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1833 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1833 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 518: /* "DirAttributeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1842 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1842 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 519: /* "DirAttr" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1851 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1851 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 521: /* "DirAttributeValue" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1860 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1860 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 522: /* "opt_QuoteAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1869 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1869 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 523: /* "QuoteAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1878 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1878 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 524: /* "opt_AposAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1887 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1887 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 525: /* "AposAttrContentList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1896 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1896 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 526: /* "QuoteAttrValueContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1905 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1905 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 527: /* "AposAttrValueContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1914 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1914 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 528: /* "DirElemContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1923 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1923 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 529: /* "CommonContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1932 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1932 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 530: /* "DirCommentConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1941 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1941 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 531: /* "DirPIConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1950 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1950 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 532: /* "CDataSection" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1959 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1959 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 533: /* "ComputedConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1968 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1968 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 534: /* "CompDocConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1977 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1977 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 535: /* "CompElemConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1986 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1986 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 536: /* "CompAttrConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 1995 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 1995 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 537: /* "CompTextConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2004 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2004 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 538: /* "CompCommentConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2013 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2013 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 539: /* "CompPIConstructor" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2022 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2022 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 540: /* "SingleType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2031 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2031 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 541: /* "TypeDeclaration" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2040 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2040 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 542: /* "SequenceType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2049 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2049 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 543: /* "OccurrenceIndicator" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2058 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2058 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 544: /* "ItemType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2067 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2067 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 545: /* "TypeList" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2076 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2076 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 546: /* "AtomicType" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2085 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2085 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 547: /* "KindTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2094 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2094 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 548: /* "AnyKindTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2103 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2103 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 549: /* "DocumentTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2112 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2112 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 550: /* "TextTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2121 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2121 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 551: /* "CommentTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2130 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2130 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 552: /* "PITest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2139 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2139 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 553: /* "AttributeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2148 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2148 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 554: /* "SchemaAttributeTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2157 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2157 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 555: /* "ElementTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2166 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2166 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 556: /* "SchemaElementTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2175 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2175 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 557: /* "TypeName" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2184 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2184 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 558: /* "TypeName_WITH_HOOK" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2193 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2193 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 559: /* "StringLiteral" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2202 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2202 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 564: /* "AnyFunctionTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2211 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2211 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 565: /* "TypedFunctionTest" */
 
 /* Line 480 of lalr1.cc  */
-#line 914 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 914 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2220 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2220 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 568: /* "InsertExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2229 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2229 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 569: /* "DeleteExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2238 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2238 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 570: /* "ReplaceExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2247 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2247 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 571: /* "RenameExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2256 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2256 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 572: /* "TransformExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2265 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2265 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 573: /* "VarNameList" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2274 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2274 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 574: /* "VarNameDecl" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2283 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2283 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 575: /* "TryExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2292 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2292 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 576: /* "CatchListExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2301 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2301 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 577: /* "CatchExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2310 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2310 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 578: /* "BracedExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2319 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2319 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 579: /* "NameTestList" */
 
 /* Line 480 of lalr1.cc  */
-#line 926 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 926 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ delete (yyvaluep->name_test_list); };
 
 /* Line 480 of lalr1.cc  */
-#line 2328 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2328 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 580: /* "FTSelection" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2337 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2337 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 583: /* "FTOr" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2346 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2346 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 584: /* "FTAnd" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2355 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2355 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 585: /* "FTMildNot" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2364 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2364 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 586: /* "FTUnaryNot" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2373 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2373 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 587: /* "FTPrimaryWithOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2382 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2382 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 588: /* "opt_FTMatchOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2391 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2391 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 590: /* "FTWeight" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2400 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2400 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 591: /* "FTPrimary" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2409 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2409 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 592: /* "opt_FTTimes" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2418 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2418 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 593: /* "FTExtensionSelection" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2427 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2427 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 595: /* "FTWords" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2436 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2436 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 596: /* "FTWordsValue" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2445 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2445 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 598: /* "FTAnyallOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2454 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2454 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 601: /* "FTPosFilter" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2463 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2463 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 602: /* "FTOrder" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2472 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2472 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 603: /* "FTWindow" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2481 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2481 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 604: /* "FTDistance" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2490 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2490 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 605: /* "FTUnit" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2499 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2499 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 606: /* "FTMatchOptions" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2508 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2508 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 607: /* "FTMatchOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2517 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2517 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 608: /* "FTCaseOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2526 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2526 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 609: /* "FTDiacriticsOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2535 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2535 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 610: /* "FTExtensionOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2544 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2544 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 611: /* "FTStemOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2553 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2553 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 612: /* "FTThesaurusOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2562 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2562 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 616: /* "FTThesaurusID" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2571 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2571 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 619: /* "FTStopWordOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2580 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2580 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 620: /* "FTStopWords" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2589 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2589 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 624: /* "FTStopWordsInclExcl" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2598 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2598 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 625: /* "FTLanguageOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2607 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2607 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 626: /* "FTWildCardOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2616 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2616 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 627: /* "FTContent" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2625 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2625 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 628: /* "FTTimes" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2634 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2634 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 629: /* "FTRange" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2643 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2643 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 630: /* "FTScope" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2652 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2652 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 631: /* "FTBigUnit" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->node) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2661 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2661 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 632: /* "FTIgnoreOption" */
 
 /* Line 480 of lalr1.cc  */
-#line 917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2670 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 633: /* "JSONObjectConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2679 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 634: /* "JSONPairList" */
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->node) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2688 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 635: /* "JSONArrayConstructor" */
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2697 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 636: /* "JSONSimpleObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2706 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 637: /* "JSONAccumulatorObjectUnion" */
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2715 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2670 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 633: /* "JSONArrayConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2679 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 634: /* "JSONSimpleObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2688 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 635: /* "JSONAccumulatorObjectUnion" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2697 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 636: /* "JSONObjectConstructor" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2706 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 637: /* "JSONPairList" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->node) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2715 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 638: /* "JSONInsertExpr" */
 
 /* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2724 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 639: /* "JSONDeleteExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2733 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 640: /* "JSONRenameExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2742 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 641: /* "JSONReplaceExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2751 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
-	break;
-      case 642: /* "JSONAppendExpr" */
-
-/* Line 480 of lalr1.cc  */
-#line 920 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
-	{ release_hack( (yyvaluep->expr) ); };
-
-/* Line 480 of lalr1.cc  */
-#line 2760 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2724 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 639: /* "JSONAppendExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2733 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 640: /* "JSONDeleteExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2742 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 641: /* "JSONRenameExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2751 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
+	break;
+      case 642: /* "JSONReplaceExpr" */
+
+/* Line 480 of lalr1.cc  */
+#line 920 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
+	{ release_hack( (yyvaluep->expr) ); };
+
+/* Line 480 of lalr1.cc  */
+#line 2760 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 649: /* "QNAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2769 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2769 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 650: /* "FUNCTION_NAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2778 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2778 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
       case 651: /* "EQNAME" */
 
 /* Line 480 of lalr1.cc  */
-#line 923 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 923 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 	{ release_hack( (yyvaluep->expr) ); };
 
 /* Line 480 of lalr1.cc  */
-#line 2787 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2787 "/home/mbrantner/zorba/jbuild/src/compiler/parser/xquery_parser.cpp"
 	break;
 
 	default:
@@ -2862,13 +2862,13 @@
     /* User initialization code.  */
     
 /* Line 553 of lalr1.cc  */
-#line 140 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 140 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
 {
     yylloc.begin.filename = yylloc.end.filename = &(driver.theFilename2);
 }
 
 /* Line 553 of lalr1.cc  */
-#line 2872 "/home/markos/zorba/repo/jsoniq/build/src/compiler/parser/xquery_parser.cpp"
+#line 2872 "/home/mbrantner/zorba/jbuild/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
@@ -2987,7 +2987,7 @@
 	  case 3:
 
 /* Line 678 of lalr1.cc  */
-#line 1036 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1036 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
       }
@@ -2996,7 +2996,7 @@
   case 4:
 
 /* Line 678 of lalr1.cc  */
-#line 1045 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1045 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
         (yyval.node) = NULL; YYABORT;
       }
@@ -3005,7 +3005,7 @@
   case 5:
 
 /* Line 678 of lalr1.cc  */
-#line 1054 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1054 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3015,7 +3015,7 @@
   case 6:
 
 /* Line 678 of lalr1.cc  */
-#line 1060 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1060 "/home/mbrantner/zorba/jsandbox/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)) );
@@ -3027,7 +3027,7 @@
   case 7:
 
 /* Line 678 of lalr1.cc  */
-#line 1068 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1068 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
       driver.set_expr( (yyval.node) );
@@ -3037,7 +3037,7 @@
   case 8:
 
 /* Line 678 of lalr1.cc  */
-#line 1074 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1074 "/home/mbrantner/zorba/jsandbox/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)) );
@@ -3049,7 +3049,7 @@
   case 9:
 
 /* Line 678 of lalr1.cc  */
-#line 1085 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1085 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (3)].sval)), "utf-8" );
     }
@@ -3058,7 +3058,7 @@
   case 10:
 
 /* Line 678 of lalr1.cc  */
-#line 1090 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1090 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VersionDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
     }
@@ -3067,7 +3067,7 @@
   case 11:
 
 /* Line 678 of lalr1.cc  */
-#line 1098 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1098 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (1)].node)), NULL);
 
@@ -3078,7 +3078,7 @@
   case 12:
 
 /* Line 678 of lalr1.cc  */
-#line 1105 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1105 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (1)].node)));
 
@@ -3089,7 +3089,7 @@
   case 13:
 
 /* Line 678 of lalr1.cc  */
-#line 1112 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1112 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (1)].node)),
@@ -3102,7 +3102,7 @@
   case 14:
 
 /* Line 678 of lalr1.cc  */
-#line 1121 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1121 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new MainModule( LOC((yyloc)), static_cast<QueryBody*>((yysemantic_stack_[(1) - (1)].expr)), NULL );
     }
@@ -3111,7 +3111,7 @@
   case 15:
 
 /* Line 678 of lalr1.cc  */
-#line 1128 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1128 "/home/mbrantner/zorba/jsandbox/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();
@@ -3123,7 +3123,7 @@
   case 16:
 
 /* Line 678 of lalr1.cc  */
-#line 1136 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1136 "/home/mbrantner/zorba/jsandbox/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();
@@ -3135,7 +3135,7 @@
   case 17:
 
 /* Line 678 of lalr1.cc  */
-#line 1144 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1144 "/home/mbrantner/zorba/jsandbox/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();
@@ -3147,7 +3147,7 @@
   case 18:
 
 /* Line 678 of lalr1.cc  */
-#line 1152 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1152 "/home/mbrantner/zorba/jsandbox/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();
@@ -3159,7 +3159,7 @@
   case 19:
 
 /* Line 678 of lalr1.cc  */
-#line 1163 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1163 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new LibraryModule(LOC((yyloc)), static_cast<ModuleDecl*>((yysemantic_stack_[(1) - (1)].node)), NULL);
     }
@@ -3168,7 +3168,7 @@
   case 20:
 
 /* Line 678 of lalr1.cc  */
-#line 1168 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1168 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), static_cast<SIND_DeclList*>((yysemantic_stack_[(3) - (2)].node)), NULL);
 
@@ -3179,7 +3179,7 @@
   case 21:
 
 /* Line 678 of lalr1.cc  */
-#line 1175 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1175 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)), NULL, static_cast<VFO_DeclList*>((yysemantic_stack_[(3) - (2)].node)));
 
@@ -3190,7 +3190,7 @@
   case 22:
 
 /* Line 678 of lalr1.cc  */
-#line 1182 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1182 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       Prolog* prolog = new Prolog(LOC((yyloc)),
                                   static_cast<SIND_DeclList*>((yysemantic_stack_[(5) - (2)].node)),
@@ -3203,7 +3203,7 @@
   case 23:
 
 /* Line 678 of lalr1.cc  */
-#line 1194 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1194 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(6) - (3)].sval)), SYMTAB((yysemantic_stack_[(6) - (5)].sval)) );
 
@@ -3214,7 +3214,7 @@
   case 24:
 
 /* Line 678 of lalr1.cc  */
-#line 1204 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1204 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       SIND_DeclList *sdl = new SIND_DeclList( LOC((yyloc)) );
       sdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3225,7 +3225,7 @@
   case 25:
 
 /* Line 678 of lalr1.cc  */
-#line 1211 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1211 "/home/mbrantner/zorba/jsandbox/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);
@@ -3235,7 +3235,7 @@
   case 26:
 
 /* Line 678 of lalr1.cc  */
-#line 1218 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1218 "/home/mbrantner/zorba/jsandbox/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
@@ -3248,7 +3248,7 @@
   case 40:
 
 /* Line 678 of lalr1.cc  */
-#line 1253 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1253 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::preserve_space);
     }
@@ -3257,7 +3257,7 @@
   case 41:
 
 /* Line 678 of lalr1.cc  */
-#line 1258 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1258 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BoundarySpaceDecl(LOC((yyloc)), StaticContextConsts::strip_space);
     }
@@ -3266,7 +3266,7 @@
   case 42:
 
 /* Line 678 of lalr1.cc  */
-#line 1266 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1266 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultCollationDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (4)].sval)) );
     }
@@ -3275,7 +3275,7 @@
   case 43:
 
 /* Line 678 of lalr1.cc  */
-#line 1274 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1274 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new BaseURIDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)) );
     }
@@ -3284,7 +3284,7 @@
   case 44:
 
 /* Line 678 of lalr1.cc  */
-#line 1282 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1282 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_preserve);
     }
@@ -3293,7 +3293,7 @@
   case 45:
 
 /* Line 678 of lalr1.cc  */
-#line 1287 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1287 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ConstructionDecl(LOC((yyloc)), StaticContextConsts::cons_strip);
     }
@@ -3302,7 +3302,7 @@
   case 46:
 
 /* Line 678 of lalr1.cc  */
-#line 1295 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1295 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::ordered);
     }
@@ -3311,7 +3311,7 @@
   case 47:
 
 /* Line 678 of lalr1.cc  */
-#line 1300 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1300 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new OrderingModeDecl(LOC((yyloc)), StaticContextConsts::unordered);
     }
@@ -3320,7 +3320,7 @@
   case 48:
 
 /* Line 678 of lalr1.cc  */
-#line 1308 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1308 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_greatest);
     }
@@ -3329,7 +3329,7 @@
   case 49:
 
 /* Line 678 of lalr1.cc  */
-#line 1313 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1313 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new EmptyOrderDecl(LOC((yyloc)), StaticContextConsts::empty_least);
     }
@@ -3338,7 +3338,7 @@
   case 50:
 
 /* Line 678 of lalr1.cc  */
-#line 1321 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1321 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::preserve_ns,
@@ -3349,7 +3349,7 @@
   case 51:
 
 /* Line 678 of lalr1.cc  */
-#line 1328 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1328 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::preserve_ns,
@@ -3360,7 +3360,7 @@
   case 52:
 
 /* Line 678 of lalr1.cc  */
-#line 1335 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1335 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::no_preserve_ns,
@@ -3371,7 +3371,7 @@
   case 53:
 
 /* Line 678 of lalr1.cc  */
-#line 1342 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1342 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CopyNamespacesDecl(LOC((yyloc)),
                                   StaticContextConsts::no_preserve_ns,
@@ -3382,7 +3382,7 @@
   case 56:
 
 /* Line 678 of lalr1.cc  */
-#line 1357 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1357 "/home/mbrantner/zorba/jsandbox/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\".");
@@ -3393,7 +3393,7 @@
   case 57:
 
 /* Line 678 of lalr1.cc  */
-#line 1367 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1367 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport( LOC((yyloc)), NULL, SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL );
     }
@@ -3402,7 +3402,7 @@
   case 58:
 
 /* Line 678 of lalr1.cc  */
-#line 1372 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1372 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(4) - (3)].node)),
@@ -3414,7 +3414,7 @@
   case 59:
 
 /* Line 678 of lalr1.cc  */
-#line 1380 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1380 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             NULL,
@@ -3426,7 +3426,7 @@
   case 60:
 
 /* Line 678 of lalr1.cc  */
-#line 1388 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1388 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaImport(LOC((yyloc)),
                             dynamic_cast<SchemaPrefix*>((yysemantic_stack_[(6) - (3)].node)),
@@ -3438,7 +3438,7 @@
   case 61:
 
 /* Line 678 of lalr1.cc  */
-#line 1399 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1399 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       URILiteralList *ull = new URILiteralList( LOC((yyloc)));
       ull->push_back( SYMTAB((yysemantic_stack_[(1) - (1)].sval)) );
@@ -3449,7 +3449,7 @@
   case 62:
 
 /* Line 678 of lalr1.cc  */
-#line 1406 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1406 "/home/mbrantner/zorba/jsandbox/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)) );
@@ -3461,7 +3461,7 @@
   case 63:
 
 /* Line 678 of lalr1.cc  */
-#line 1417 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1417 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (2)].sval)) );
     }
@@ -3470,7 +3470,7 @@
   case 64:
 
 /* Line 678 of lalr1.cc  */
-#line 1422 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1422 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new SchemaPrefix( LOC((yyloc)), true );
     }
@@ -3479,7 +3479,7 @@
   case 65:
 
 /* Line 678 of lalr1.cc  */
-#line 1430 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1430 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)), SYMTAB((yysemantic_stack_[(3) - (3)].sval)), NULL);
 
@@ -3490,7 +3490,7 @@
   case 66:
 
 /* Line 678 of lalr1.cc  */
-#line 1437 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1437 "/home/mbrantner/zorba/jsandbox/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);
 
@@ -3501,7 +3501,7 @@
   case 67:
 
 /* Line 678 of lalr1.cc  */
-#line 1444 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1444 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(5) - (3)].sval)),
@@ -3514,7 +3514,7 @@
   case 68:
 
 /* Line 678 of lalr1.cc  */
-#line 1453 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1453 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ModuleImport(LOC((yyloc)),
                             SYMTAB((yysemantic_stack_[(8) - (4)].sval)),
@@ -3528,7 +3528,7 @@
   case 69:
 
 /* Line 678 of lalr1.cc  */
-#line 1466 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1466 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new NamespaceDecl( LOC((yyloc)), SYMTAB((yysemantic_stack_[(5) - (3)].sval)), SYMTAB((yysemantic_stack_[(5) - (5)].sval)) );
     }
@@ -3537,7 +3537,7 @@
   case 70:
 
 /* Line 678 of lalr1.cc  */
-#line 1474 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1474 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_element_default,
@@ -3548,7 +3548,7 @@
   case 71:
 
 /* Line 678 of lalr1.cc  */
-#line 1481 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1481 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DefaultNamespaceDecl(LOC((yyloc)),
                                     ParseConstants::ns_function_default,
@@ -3559,7 +3559,7 @@
   case 72:
 
 /* Line 678 of lalr1.cc  */
-#line 1491 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1491 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       VFO_DeclList *vdl = new VFO_DeclList( LOC((yyloc)));
       vdl->push_back( (yysemantic_stack_[(1) - (1)].node) );
@@ -3570,7 +3570,7 @@
   case 73:
 
 /* Line 678 of lalr1.cc  */
-#line 1498 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1498 "/home/mbrantner/zorba/jsandbox/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);
@@ -3580,7 +3580,7 @@
   case 74:
 
 /* Line 678 of lalr1.cc  */
-#line 1505 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1505 "/home/mbrantner/zorba/jsandbox/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();
@@ -3592,7 +3592,7 @@
   case 83:
 
 /* Line 678 of lalr1.cc  */
-#line 1528 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1528 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new DecimalFormatNode(LOC((yyloc)), (yysemantic_stack_[(4) - (4)].vstrpair));
       delete (yysemantic_stack_[(4) - (4)].vstrpair);
@@ -3602,7 +3602,7 @@
   case 84:
 
 /* Line 678 of lalr1.cc  */
-#line 1534 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1534 "/home/mbrantner/zorba/jsandbox/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);
@@ -3612,7 +3612,7 @@
   case 85:
 
 /* Line 678 of lalr1.cc  */
-#line 1543 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1543 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.vstrpair) = new vector<string_pair_t>();
       (yyval.vstrpair)->push_back( *(yysemantic_stack_[(1) - (1)].strpair) );
@@ -3623,7 +3623,7 @@
   case 86:
 
 /* Line 678 of lalr1.cc  */
-#line 1550 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1550 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yysemantic_stack_[(2) - (1)].vstrpair)->push_back( *(yysemantic_stack_[(2) - (2)].strpair) );
       delete (yysemantic_stack_[(2) - (2)].strpair);
@@ -3634,7 +3634,7 @@
   case 87:
 
 /* Line 678 of lalr1.cc  */
-#line 1560 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1560 "/home/mbrantner/zorba/jsandbox/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() );
@@ -3645,77 +3645,77 @@
   case 88:
 
 /* Line 678 of lalr1.cc  */
-#line 1569 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1569 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "decimal-separator"; }
     break;
 
   case 89:
 
 /* Line 678 of lalr1.cc  */
-#line 1570 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1570 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "digit"; }
     break;
 
   case 90:
 
 /* Line 678 of lalr1.cc  */
-#line 1571 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1571 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "grouping-separator"; }
     break;
 
   case 91:
 
 /* Line 678 of lalr1.cc  */
-#line 1572 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1572 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "infinty"; }
     break;
 
   case 92:
 
 /* Line 678 of lalr1.cc  */
-#line 1573 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1573 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "minus-sign"; }
     break;
 
   case 93:
 
 /* Line 678 of lalr1.cc  */
-#line 1574 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1574 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "NaN"; }
     break;
 
   case 94:
 
 /* Line 678 of lalr1.cc  */
-#line 1575 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1575 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "pattern-separator"; }
     break;
 
   case 95:
 
 /* Line 678 of lalr1.cc  */
-#line 1576 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1576 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "percent"; }
     break;
 
   case 96:
 
 /* Line 678 of lalr1.cc  */
-#line 1577 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1577 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "per-mille"; }
     break;
 
   case 97:
 
 /* Line 678 of lalr1.cc  */
-#line 1578 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1578 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     { (yyval.strval) = "zero-digit"; }
     break;
 
   case 98:
 
 /* Line 678 of lalr1.cc  */
-#line 1584 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1584 "/home/mbrantner/zorba/jsandbox/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)));
     }
@@ -3724,7 +3724,7 @@
   case 99:
 
 /* Line 678 of lalr1.cc  */
-#line 1592 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1592 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTOptionDecl( LOC((yyloc)), dynamic_cast<FTMatchOptions*>((yysemantic_stack_[(3) - (3)].node)) );
     }
@@ -3733,7 +3733,7 @@
   case 100:
 
 /* Line 678 of lalr1.cc  */
-#line 1600 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1600 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(4) - (4)].node);
     }
@@ -3742,7 +3742,7 @@
   case 101:
 
 /* Line 678 of lalr1.cc  */
-#line 1608 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1608 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(3) - (3)].node));
       d->theType = (yysemantic_stack_[(3) - (2)].node);
@@ -3753,7 +3753,7 @@
   case 102:
 
 /* Line 678 of lalr1.cc  */
-#line 1615 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1615 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -3762,7 +3762,7 @@
   case 103:
 
 /* Line 678 of lalr1.cc  */
-#line 1623 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1623 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       CtxItemDecl* d = dynamic_cast<CtxItemDecl*>((yysemantic_stack_[(1) - (1)].node));
       d->theIsExternal = false;
@@ -3773,7 +3773,7 @@
   case 104:
 
 /* Line 678 of lalr1.cc  */
-#line 1630 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1630 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), NULL);
     }
@@ -3782,7 +3782,7 @@
   case 105:
 
 /* Line 678 of lalr1.cc  */
-#line 1635 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1635 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(2) - (2)].node);
     }
@@ -3791,7 +3791,7 @@
   case 106:
 
 /* Line 678 of lalr1.cc  */
-#line 1643 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1643 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CtxItemDecl(LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -3800,7 +3800,7 @@
   case 107:
 
 /* Line 678 of lalr1.cc  */
-#line 1651 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1651 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(4) - (2)].varnametype)));
 
@@ -3819,7 +3819,7 @@
   case 108:
 
 /* Line 678 of lalr1.cc  */
-#line 1666 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1666 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(3) - (2)].varnametype)));
 
@@ -3838,7 +3838,7 @@
   case 109:
 
 /* Line 678 of lalr1.cc  */
-#line 1681 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1681 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       std::auto_ptr<VarNameAndType> nt(dynamic_cast<VarNameAndType *>((yysemantic_stack_[(5) - (2)].varnametype)));
 
@@ -3857,7 +3857,7 @@
   case 110:
 
 /* Line 678 of lalr1.cc  */
-#line 1699 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1699 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL, NULL);
     }
@@ -3866,7 +3866,7 @@
   case 111:
 
 /* Line 678 of lalr1.cc  */
-#line 1704 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1704 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (3)].expr)),
@@ -3878,7 +3878,7 @@
   case 112:
 
 /* Line 678 of lalr1.cc  */
-#line 1712 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1712 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -3890,7 +3890,7 @@
   case 113:
 
 /* Line 678 of lalr1.cc  */
-#line 1720 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1720 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.varnametype) = new VarNameAndType(LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (4)].expr)),
@@ -3902,7 +3902,7 @@
   case 114:
 
 /* Line 678 of lalr1.cc  */
-#line 1731 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1731 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationListParsenode(LOC((yyloc)), static_cast<AnnotationParsenode*>((yysemantic_stack_[(1) - (1)].node)));
     }
@@ -3911,7 +3911,7 @@
   case 115:
 
 /* Line 678 of lalr1.cc  */
-#line 1736 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1736 "/home/mbrantner/zorba/jsandbox/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);
@@ -3921,7 +3921,7 @@
   case 116:
 
 /* Line 678 of lalr1.cc  */
-#line 1745 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1745 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval))), NULL);
     }
@@ -3930,7 +3930,7 @@
   case 117:
 
 /* Line 678 of lalr1.cc  */
-#line 1750 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1750 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval))),
@@ -3941,7 +3941,7 @@
   case 118:
 
 /* Line 678 of lalr1.cc  */
-#line 1757 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1757 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)), new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(1) - (1)].sval)), true), NULL);
     }
@@ -3950,7 +3950,7 @@
   case 119:
 
 /* Line 678 of lalr1.cc  */
-#line 1762 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1762 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationParsenode(LOC((yyloc)),
                                    new QName(LOC((yyloc)), SYMTAB((yysemantic_stack_[(4) - (1)].sval)), true),
@@ -3961,7 +3961,7 @@
   case 120:
 
 /* Line 678 of lalr1.cc  */
-#line 1772 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1772 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AnnotationLiteralListParsenode(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr));
     }
@@ -3970,7 +3970,7 @@
   case 121:
 
 /* Line 678 of lalr1.cc  */
-#line 1777 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1777 "/home/mbrantner/zorba/jsandbox/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);
@@ -3980,7 +3980,7 @@
   case 122:
 
 /* Line 678 of lalr1.cc  */
-#line 1786 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1786 "/home/mbrantner/zorba/jsandbox/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);
@@ -3990,7 +3990,7 @@
   case 123:
 
 /* Line 678 of lalr1.cc  */
-#line 1792 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1792 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       FunctionDecl* fdecl = static_cast<FunctionDecl*>((yysemantic_stack_[(3) - (3)].node));
 
@@ -4004,7 +4004,7 @@
   case 124:
 
 /* Line 678 of lalr1.cc  */
-#line 1805 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1805 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4013,7 +4013,7 @@
   case 125:
 
 /* Line 678 of lalr1.cc  */
-#line 1810 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1810 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
     }
@@ -4022,7 +4022,7 @@
   case 126:
 
 /* Line 678 of lalr1.cc  */
-#line 1818 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1818 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4038,7 +4038,7 @@
   case 127:
 
 /* Line 678 of lalr1.cc  */
-#line 1829 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1829 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4054,7 +4054,7 @@
   case 128:
 
 /* Line 678 of lalr1.cc  */
-#line 1844 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1844 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC ((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4070,7 +4070,7 @@
   case 129:
 
 /* Line 678 of lalr1.cc  */
-#line 1856 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1856 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FunctionDecl(LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4086,7 +4086,7 @@
   case 130:
 
 /* Line 678 of lalr1.cc  */
-#line 1871 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1871 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL);
     }
@@ -4095,7 +4095,7 @@
   case 131:
 
 /* Line 678 of lalr1.cc  */
-#line 1876 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1876 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(dynamic_cast<ParamList*>((yysemantic_stack_[(3) - (2)].node)));
     }
@@ -4104,7 +4104,7 @@
   case 132:
 
 /* Line 678 of lalr1.cc  */
-#line 1881 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1881 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.fnsig) = new FunctionSig(NULL, dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (4)].node)));
     }
@@ -4113,7 +4113,7 @@
   case 133:
 
 /* Line 678 of lalr1.cc  */
-#line 1886 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1886 "/home/mbrantner/zorba/jsandbox/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)));
     }
@@ -4122,7 +4122,7 @@
   case 134:
 
 /* Line 678 of lalr1.cc  */
-#line 1894 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1894 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       ParamList *pl = new ParamList( LOC((yyloc)) );
       pl->push_back( dynamic_cast<Param*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4133,7 +4133,7 @@
   case 135:
 
 /* Line 678 of lalr1.cc  */
-#line 1901 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1901 "/home/mbrantner/zorba/jsandbox/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)) );
@@ -4145,7 +4145,7 @@
   case 136:
 
 /* Line 678 of lalr1.cc  */
-#line 1912 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1912 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -4154,7 +4154,7 @@
   case 137:
 
 /* Line 678 of lalr1.cc  */
-#line 1917 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1917 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new Param(LOC((yyloc)),
                      static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4165,7 +4165,7 @@
   case 138:
 
 /* Line 678 of lalr1.cc  */
-#line 1927 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1927 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)),
@@ -4177,7 +4177,7 @@
   case 139:
 
 /* Line 678 of lalr1.cc  */
-#line 1934 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1934 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                               static_cast<QName*>((yysemantic_stack_[(5) - (3)].expr)),
@@ -4189,7 +4189,7 @@
   case 140:
 
 /* Line 678 of lalr1.cc  */
-#line 1941 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1941 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(4) - (4)].expr)),
@@ -4201,7 +4201,7 @@
   case 141:
 
 /* Line 678 of lalr1.cc  */
-#line 1948 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1948 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CollectionDecl( LOC((yyloc)),
                                static_cast<QName*>((yysemantic_stack_[(6) - (4)].expr)),
@@ -4213,7 +4213,7 @@
   case 142:
 
 /* Line 678 of lalr1.cc  */
-#line 1958 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1958 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].node), NULL));
     }
@@ -4222,7 +4222,7 @@
   case 143:
 
 /* Line 678 of lalr1.cc  */
-#line 1962 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1962 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = static_cast<parsenode*>(new SequenceType(LOC((yyloc)),
                                                     (yysemantic_stack_[(2) - (1)].node),
@@ -4233,7 +4233,7 @@
   case 144:
 
 /* Line 678 of lalr1.cc  */
-#line 1972 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1972 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(8) - (3)].expr)),
@@ -4246,7 +4246,7 @@
   case 145:
 
 /* Line 678 of lalr1.cc  */
-#line 1980 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1980 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new AST_IndexDecl(LOC((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(9) - (4)].expr)),
@@ -4259,7 +4259,7 @@
   case 146:
 
 /* Line 678 of lalr1.cc  */
-#line 1991 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1991 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       IndexKeyList* keyList = new IndexKeyList(LOC((yyloc)));
       keyList->addKeySpec(dynamic_cast<IndexKeySpec*>((yysemantic_stack_[(1) - (1)].node)));
@@ -4270,7 +4270,7 @@
   case 147:
 
 /* Line 678 of lalr1.cc  */
-#line 1997 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 1997 "/home/mbrantner/zorba/jsandbox/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);
@@ -4280,7 +4280,7 @@
   case 148:
 
 /* Line 678 of lalr1.cc  */
-#line 2006 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2006 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL, NULL);
     }
@@ -4289,7 +4289,7 @@
   case 149:
 
 /* Line 678 of lalr1.cc  */
-#line 2011 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2011 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4301,7 +4301,7 @@
   case 150:
 
 /* Line 678 of lalr1.cc  */
-#line 2018 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2018 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(2) - (1)].expr),
@@ -4313,7 +4313,7 @@
   case 151:
 
 /* Line 678 of lalr1.cc  */
-#line 2025 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2025 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new IndexKeySpec(LOC((yyloc)),
                             (yysemantic_stack_[(3) - (1)].expr),
@@ -4325,7 +4325,7 @@
   case 152:
 
 /* Line 678 of lalr1.cc  */
-#line 2037 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2037 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollSimpleCheck(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(11) - (4)].expr)),
@@ -4338,7 +4338,7 @@
   case 153:
 
 /* Line 678 of lalr1.cc  */
-#line 2047 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2047 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollUniqueKeyCheck(LOC((yyloc)),
                                     static_cast<QName*>((yysemantic_stack_[(14) - (4)].expr)),
@@ -4351,7 +4351,7 @@
   case 154:
 
 /* Line 678 of lalr1.cc  */
-#line 2057 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2057 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICCollForeachNode(LOC((yyloc)),
                                  static_cast<QName*>((yysemantic_stack_[(13) - (4)].expr)),
@@ -4364,7 +4364,7 @@
   case 155:
 
 /* Line 678 of lalr1.cc  */
-#line 2068 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2068 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ICForeignKey( LOC((yyloc)),
                             static_cast<QName*>((yysemantic_stack_[(22) - (4)].expr)),
@@ -4380,7 +4380,7 @@
   case 156:
 
 /* Line 678 of lalr1.cc  */
-#line 2084 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2084 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       if ((yysemantic_stack_[(1) - (1)].expr) == NULL)
       {
@@ -4401,7 +4401,7 @@
   case 157:
 
 /* Line 678 of lalr1.cc  */
-#line 2104 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2104 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4410,7 +4410,7 @@
   case 158:
 
 /* Line 678 of lalr1.cc  */
-#line 2108 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2108 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4419,7 +4419,7 @@
   case 159:
 
 /* Line 678 of lalr1.cc  */
-#line 2112 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2112 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) =  NULL;
     }
@@ -4428,7 +4428,7 @@
   case 160:
 
 /* Line 678 of lalr1.cc  */
-#line 2120 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2120 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4437,7 +4437,7 @@
   case 161:
 
 /* Line 678 of lalr1.cc  */
-#line 2124 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2124 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4446,7 +4446,7 @@
   case 162:
 
 /* Line 678 of lalr1.cc  */
-#line 2128 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2128 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) =  new BlockBody(LOC((yyloc)));
     }
@@ -4455,7 +4455,7 @@
   case 163:
 
 /* Line 678 of lalr1.cc  */
-#line 2136 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2136 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4464,7 +4464,7 @@
   case 164:
 
 /* Line 678 of lalr1.cc  */
-#line 2141 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2141 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4477,7 +4477,7 @@
   case 165:
 
 /* Line 678 of lalr1.cc  */
-#line 2153 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2153 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = new BlockBody(LOC((yyloc)));
       blk->add((yysemantic_stack_[(1) - (1)].expr));
@@ -4488,7 +4488,7 @@
   case 166:
 
 /* Line 678 of lalr1.cc  */
-#line 2160 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2160 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* blk = static_cast<BlockBody*>((yysemantic_stack_[(2) - (1)].expr));
 
@@ -4501,7 +4501,7 @@
   case 179:
 
 /* Line 678 of lalr1.cc  */
-#line 2189 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2189 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4510,7 +4510,7 @@
   case 180:
 
 /* Line 678 of lalr1.cc  */
-#line 2194 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2194 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new BlockBody(LOC((yyloc)));
     }
@@ -4519,7 +4519,7 @@
   case 181:
 
 /* Line 678 of lalr1.cc  */
-#line 2202 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2202 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       if (dynamic_cast<BlockBody*>((yysemantic_stack_[(3) - (2)].expr)) == NULL)
       {
@@ -4537,7 +4537,7 @@
   case 182:
 
 /* Line 678 of lalr1.cc  */
-#line 2219 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2219 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr);
     }
@@ -4546,7 +4546,7 @@
   case 183:
 
 /* Line 678 of lalr1.cc  */
-#line 2227 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2227 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(2) - (1)].expr);
     }
@@ -4555,7 +4555,7 @@
   case 184:
 
 /* Line 678 of lalr1.cc  */
-#line 2235 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2235 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = static_cast<VarDeclStmt*>((yysemantic_stack_[(3) - (1)].expr));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4566,7 +4566,7 @@
   case 185:
 
 /* Line 678 of lalr1.cc  */
-#line 2242 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2242 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), NULL);
       vdecl->add((yysemantic_stack_[(2) - (2)].node));
@@ -4577,7 +4577,7 @@
   case 186:
 
 /* Line 678 of lalr1.cc  */
-#line 2249 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2249 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDeclStmt* vdecl = new VarDeclStmt(LOC((yyloc)), static_cast<AnnotationListParsenode*>((yysemantic_stack_[(3) - (1)].node)));
       vdecl->add((yysemantic_stack_[(3) - (3)].node));
@@ -4588,7 +4588,7 @@
   case 187:
 
 /* Line 678 of lalr1.cc  */
-#line 2259 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2259 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)),
@@ -4605,7 +4605,7 @@
   case 188:
 
 /* Line 678 of lalr1.cc  */
-#line 2271 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2271 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -4623,7 +4623,7 @@
   case 189:
 
 /* Line 678 of lalr1.cc  */
-#line 2284 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2284 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -4640,7 +4640,7 @@
   case 190:
 
 /* Line 678 of lalr1.cc  */
-#line 2296 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2296 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       VarDecl* vd = new VarDecl(LOC((yyloc)),
                                 static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -4657,7 +4657,7 @@
   case 191:
 
 /* Line 678 of lalr1.cc  */
-#line 2312 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2312 "/home/mbrantner/zorba/jsandbox/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));
     }
@@ -4666,7 +4666,7 @@
   case 192:
 
 /* Line 678 of lalr1.cc  */
-#line 2320 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2320 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ApplyExpr(LOC((yyloc)), (yysemantic_stack_[(2) - (1)].expr));
     }
@@ -4675,7 +4675,7 @@
   case 193:
 
 /* Line 678 of lalr1.cc  */
-#line 2328 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2328 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ExitExpr(LOC((yyloc)), (yysemantic_stack_[(4) - (3)].expr));
     }
@@ -4684,7 +4684,7 @@
   case 194:
 
 /* Line 678 of lalr1.cc  */
-#line 2336 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2336 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       BlockBody* bb = dynamic_cast<BlockBody *>((yysemantic_stack_[(5) - (5)].expr));
       if (bb == NULL)
@@ -4700,7 +4700,7 @@
   case 195:
 
 /* Line 678 of lalr1.cc  */
-#line 2351 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2351 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement(LOC((yyloc)), FlowCtlStatement::BREAK);
     }
@@ -4709,7 +4709,7 @@
   case 196:
 
 /* Line 678 of lalr1.cc  */
-#line 2356 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2356 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new FlowCtlStatement( LOC((yyloc)), FlowCtlStatement::CONTINUE );
     }
@@ -4718,7 +4718,7 @@
   case 197:
 
 /* Line 678 of lalr1.cc  */
-#line 2364 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2364 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr* re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4733,7 +4733,7 @@
   case 198:
 
 /* Line 678 of lalr1.cc  */
-#line 2378 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2378 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       exprnode* retExpr = (yysemantic_stack_[(2) - (2)].expr);
 
@@ -4751,7 +4751,7 @@
   case 199:
 
 /* Line 678 of lalr1.cc  */
-#line 2395 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2395 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       exprnode* thenExpr = (yysemantic_stack_[(8) - (6)].expr);
       exprnode* elseExpr = (yysemantic_stack_[(8) - (8)].expr);
@@ -4777,7 +4777,7 @@
   case 200:
 
 /* Line 678 of lalr1.cc  */
-#line 2420 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2420 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TryExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (2)].expr), (yysemantic_stack_[(3) - (3)].expr));
     }
@@ -4786,7 +4786,7 @@
   case 201:
 
 /* Line 678 of lalr1.cc  */
-#line 2428 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2428 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr* cle = new CatchListExpr( LOC((yyloc)) );
       cle->push_back( static_cast<CatchExpr*>((yysemantic_stack_[(1) - (1)].expr)) );
@@ -4797,7 +4797,7 @@
   case 202:
 
 /* Line 678 of lalr1.cc  */
-#line 2435 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2435 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       CatchListExpr *cle = dynamic_cast<CatchListExpr*>((yysemantic_stack_[(2) - (1)].expr));
       if ( cle )
@@ -4809,7 +4809,7 @@
   case 203:
 
 /* Line 678 of lalr1.cc  */
-#line 2446 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2446 "/home/mbrantner/zorba/jsandbox/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);
@@ -4819,7 +4819,7 @@
   case 204:
 
 /* Line 678 of lalr1.cc  */
-#line 2456 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2456 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -4828,7 +4828,7 @@
   case 205:
 
 /* Line 678 of lalr1.cc  */
-#line 2461 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2461 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       Expr* expr = dynamic_cast<Expr*>((yysemantic_stack_[(3) - (1)].expr));
       if ( !expr )
@@ -4844,7 +4844,7 @@
   case 224:
 
 /* Line 678 of lalr1.cc  */
-#line 2506 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2506 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       ReturnExpr *re = dynamic_cast<ReturnExpr*>((yysemantic_stack_[(2) - (2)].expr));
       (yyval.expr) = new FLWORExpr(LOC((yyloc)),
@@ -4859,7 +4859,7 @@
   case 225:
 
 /* Line 678 of lalr1.cc  */
-#line 2520 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2520 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new ReturnExpr( LOC((yyloc)), (yysemantic_stack_[(2) - (2)].expr) );
     }
@@ -4868,7 +4868,7 @@
   case 226:
 
 /* Line 678 of lalr1.cc  */
-#line 2528 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2528 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_sliding;
     }
@@ -4877,7 +4877,7 @@
   case 227:
 
 /* Line 678 of lalr1.cc  */
-#line 2533 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2533 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_tumbling;
     }
@@ -4886,7 +4886,7 @@
   case 228:
 
 /* Line 678 of lalr1.cc  */
-#line 2541 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2541 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_start;
     }
@@ -4895,7 +4895,7 @@
   case 229:
 
 /* Line 678 of lalr1.cc  */
-#line 2546 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2546 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.strval) = parser::the_end;
     }
@@ -4904,7 +4904,7 @@
   case 230:
 
 /* Line 678 of lalr1.cc  */
-#line 2551 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2551 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
     (yyval.strval) = parser::the_only_end;
   }
@@ -4913,7 +4913,7 @@
   case 231:
 
 /* Line 678 of lalr1.cc  */
-#line 2559 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2559 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             dynamic_cast<WindowVars*>((yysemantic_stack_[(4) - (2)].node)),
@@ -4926,7 +4926,7 @@
   case 232:
 
 /* Line 678 of lalr1.cc  */
-#line 2568 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2568 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FLWORWinCond(LOC((yyloc)),
                             NULL,
@@ -4939,7 +4939,7 @@
   case 233:
 
 /* Line 678 of lalr1.cc  */
-#line 2580 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2580 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(5) - (2)].strval) == parser::the_tumbling ?
@@ -4954,7 +4954,7 @@
   case 234:
 
 /* Line 678 of lalr1.cc  */
-#line 2590 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2590 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowClause (LOC ((yyloc)),
                              ((yysemantic_stack_[(4) - (2)].strval) == parser::the_tumbling ?
@@ -4968,7 +4968,7 @@
   case 235:
 
 /* Line 678 of lalr1.cc  */
-#line 2603 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2603 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CountClause(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -4977,7 +4977,7 @@
   case 244:
 
 /* Line 678 of lalr1.cc  */
-#line 2627 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2627 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       FLWORClauseList *fcl = new FLWORClauseList( LOC((yyloc)) );
       fcl->push_back( dynamic_cast<FLWORClause*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -4988,7 +4988,7 @@
   case 245:
 
 /* Line 678 of lalr1.cc  */
-#line 2634 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2634 "/home/mbrantner/zorba/jsandbox/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)) );
@@ -4999,7 +4999,7 @@
   case 246:
 
 /* Line 678 of lalr1.cc  */
-#line 2644 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2644 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new ForClause(LOC((yyloc)), dynamic_cast<VarInDeclList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5008,7 +5008,7 @@
   case 247:
 
 /* Line 678 of lalr1.cc  */
-#line 2652 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2652 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       VarInDeclList *vdl = new VarInDeclList( LOC((yyloc)) );
       vdl->push_back( dynamic_cast<VarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5019,7 +5019,7 @@
   case 248:
 
 /* Line 678 of lalr1.cc  */
-#line 2659 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2659 "/home/mbrantner/zorba/jsandbox/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)) );
@@ -5030,7 +5030,7 @@
   case 249:
 
 /* Line 678 of lalr1.cc  */
-#line 2669 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2669 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (1)].expr)),
@@ -5045,7 +5045,7 @@
   case 250:
 
 /* Line 678 of lalr1.cc  */
-#line 2679 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2679 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5060,7 +5060,7 @@
   case 251:
 
 /* Line 678 of lalr1.cc  */
-#line 2689 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2689 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5075,7 +5075,7 @@
   case 252:
 
 /* Line 678 of lalr1.cc  */
-#line 2699 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2699 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5090,7 +5090,7 @@
   case 253:
 
 /* Line 678 of lalr1.cc  */
-#line 2709 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2709 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5105,7 +5105,7 @@
   case 254:
 
 /* Line 678 of lalr1.cc  */
-#line 2719 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2719 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5120,7 +5120,7 @@
   case 255:
 
 /* Line 678 of lalr1.cc  */
-#line 2729 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2729 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5135,7 +5135,7 @@
   case 256:
 
 /* Line 678 of lalr1.cc  */
-#line 2739 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2739 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(7) - (1)].expr)),
@@ -5150,7 +5150,7 @@
   case 257:
 
 /* Line 678 of lalr1.cc  */
-#line 2750 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2750 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5164,7 +5164,7 @@
   case 258:
 
 /* Line 678 of lalr1.cc  */
-#line 2759 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2759 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5179,7 +5179,7 @@
   case 259:
 
 /* Line 678 of lalr1.cc  */
-#line 2769 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2769 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(5) - (1)].expr)),
@@ -5194,7 +5194,7 @@
   case 260:
 
 /* Line 678 of lalr1.cc  */
-#line 2779 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2779 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarInDecl(LOC ((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(6) - (1)].expr)),
@@ -5209,7 +5209,7 @@
   case 261:
 
 /* Line 678 of lalr1.cc  */
-#line 2795 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2795 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new PositionalVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5218,7 +5218,7 @@
   case 262:
 
 /* Line 678 of lalr1.cc  */
-#line 2804 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2804 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new FTScoreVar(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5227,7 +5227,7 @@
   case 263:
 
 /* Line 678 of lalr1.cc  */
-#line 2813 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2813 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new LetClause( LOC((yyloc)), dynamic_cast<VarGetsDeclList*>((yysemantic_stack_[(2) - (2)].node)) );
         }
@@ -5236,7 +5236,7 @@
   case 264:
 
 /* Line 678 of lalr1.cc  */
-#line 2821 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2821 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             VarGetsDeclList *vgdl = new VarGetsDeclList( LOC((yyloc)) );
             vgdl->push_back( dynamic_cast<VarGetsDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5247,7 +5247,7 @@
   case 265:
 
 /* Line 678 of lalr1.cc  */
-#line 2827 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2827 "/home/mbrantner/zorba/jsandbox/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)) );
@@ -5258,7 +5258,7 @@
   case 266:
 
 /* Line 678 of lalr1.cc  */
-#line 2839 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2839 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5271,7 +5271,7 @@
   case 267:
 
 /* Line 678 of lalr1.cc  */
-#line 2847 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2847 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5284,7 +5284,7 @@
   case 268:
 
 /* Line 678 of lalr1.cc  */
-#line 2857 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2857 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            dynamic_cast<FTScoreVar*>((yysemantic_stack_[(3) - (1)].node))->get_var_name(),
@@ -5297,7 +5297,7 @@
   case 269:
 
 /* Line 678 of lalr1.cc  */
-#line 2865 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2865 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new VarGetsDecl(LOC ((yyloc)),
                            static_cast<QName*>((yysemantic_stack_[(6) - (2)].expr)),
@@ -5310,7 +5310,7 @@
   case 270:
 
 /* Line 678 of lalr1.cc  */
-#line 2877 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2877 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(4) - (2)].expr)),
@@ -5321,7 +5321,7 @@
   case 271:
 
 /* Line 678 of lalr1.cc  */
-#line 2883 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2883 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVarDecl(LOC ((yyloc)),
                              static_cast<QName*>((yysemantic_stack_[(5) - (2)].expr)),
@@ -5333,7 +5333,7 @@
   case 273:
 
 /* Line 678 of lalr1.cc  */
-#line 2896 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2896 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL, NULL);
     }
@@ -5342,7 +5342,7 @@
   case 274:
 
 /* Line 678 of lalr1.cc  */
-#line 2900 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2900 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5352,7 +5352,7 @@
   case 275:
 
 /* Line 678 of lalr1.cc  */
-#line 2908 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2908 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), dynamic_cast<PositionalVar*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL, NULL);
     }
@@ -5361,7 +5361,7 @@
   case 276:
 
 /* Line 678 of lalr1.cc  */
-#line 2912 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2912 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5371,7 +5371,7 @@
   case 278:
 
 /* Line 678 of lalr1.cc  */
-#line 2921 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2921 "/home/mbrantner/zorba/jsandbox/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)));
     }
@@ -5380,7 +5380,7 @@
   case 279:
 
 /* Line 678 of lalr1.cc  */
-#line 2925 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2925 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)));
     }
@@ -5389,7 +5389,7 @@
   case 280:
 
 /* Line 678 of lalr1.cc  */
-#line 2929 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2929 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WindowVars(LOC((yyloc)), NULL, NULL, static_cast<QName*>((yysemantic_stack_[(3) - (3)].expr)), NULL);
     }
@@ -5398,7 +5398,7 @@
   case 281:
 
 /* Line 678 of lalr1.cc  */
-#line 2939 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2939 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new WhereClause(LOC ((yyloc)), (yysemantic_stack_[(2) - (2)].expr));
     }
@@ -5407,7 +5407,7 @@
   case 282:
 
 /* Line 678 of lalr1.cc  */
-#line 2947 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2947 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupByClause(LOC((yyloc)), dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (3)].node)));
     }
@@ -5416,7 +5416,7 @@
   case 283:
 
 /* Line 678 of lalr1.cc  */
-#line 2954 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2954 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             GroupSpecList *gsl = new GroupSpecList( LOC((yyloc)) );
             gsl->push_back( dynamic_cast<GroupSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5427,7 +5427,7 @@
   case 284:
 
 /* Line 678 of lalr1.cc  */
-#line 2960 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2960 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             GroupSpecList *gsl = dynamic_cast<GroupSpecList*>((yysemantic_stack_[(3) - (1)].node));
             if ( gsl )
@@ -5439,7 +5439,7 @@
   case 285:
 
 /* Line 678 of lalr1.cc  */
-#line 2971 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2971 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)), static_cast<QName*>((yysemantic_stack_[(2) - (2)].expr)), NULL);
     }
@@ -5448,7 +5448,7 @@
   case 286:
 
 /* Line 678 of lalr1.cc  */
-#line 2975 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2975 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new GroupSpec(LOC((yyloc)),
                          static_cast<QName*>((yysemantic_stack_[(3) - (2)].expr)),
@@ -5459,7 +5459,7 @@
   case 287:
 
 /* Line 678 of lalr1.cc  */
-#line 2984 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2984 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new GroupCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
@@ -5468,7 +5468,7 @@
   case 288:
 
 /* Line 678 of lalr1.cc  */
-#line 2992 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2992 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(3) - (3)].node))
@@ -5479,7 +5479,7 @@
   case 289:
 
 /* Line 678 of lalr1.cc  */
-#line 2998 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 2998 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderByClause(
                 LOC((yyloc)), dynamic_cast<OrderSpecList*>((yysemantic_stack_[(4) - (4)].node)), true
@@ -5490,7 +5490,7 @@
   case 290:
 
 /* Line 678 of lalr1.cc  */
-#line 3008 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3008 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             OrderSpecList *osl = new OrderSpecList( LOC((yyloc)) );
             osl->push_back( dynamic_cast<OrderSpec*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5501,7 +5501,7 @@
   case 291:
 
 /* Line 678 of lalr1.cc  */
-#line 3014 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3014 "/home/mbrantner/zorba/jsandbox/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)) );
@@ -5512,7 +5512,7 @@
   case 292:
 
 /* Line 678 of lalr1.cc  */
-#line 3024 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3024 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderSpec( LOC((yyloc)), (yysemantic_stack_[(1) - (1)].expr), NULL );
         }
@@ -5521,7 +5521,7 @@
   case 293:
 
 /* Line 678 of lalr1.cc  */
-#line 3028 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3028 "/home/mbrantner/zorba/jsandbox/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))
@@ -5532,7 +5532,7 @@
   case 294:
 
 /* Line 678 of lalr1.cc  */
-#line 3038 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3038 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), dynamic_cast<OrderDirSpec*>((yysemantic_stack_[(1) - (1)].node)), NULL, NULL
@@ -5543,7 +5543,7 @@
   case 295:
 
 /* Line 678 of lalr1.cc  */
-#line 3044 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3044 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, dynamic_cast<OrderEmptySpec*>((yysemantic_stack_[(1) - (1)].node)), NULL
@@ -5554,7 +5554,7 @@
   case 296:
 
 /* Line 678 of lalr1.cc  */
-#line 3050 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3050 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)), NULL, NULL, dynamic_cast<OrderCollationSpec*>((yysemantic_stack_[(1) - (1)].node))
@@ -5565,7 +5565,7 @@
   case 297:
 
 /* Line 678 of lalr1.cc  */
-#line 3056 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3056 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5579,7 +5579,7 @@
   case 298:
 
 /* Line 678 of lalr1.cc  */
-#line 3065 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3065 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5593,7 +5593,7 @@
   case 299:
 
 /* Line 678 of lalr1.cc  */
-#line 3074 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3074 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5607,7 +5607,7 @@
   case 300:
 
 /* Line 678 of lalr1.cc  */
-#line 3083 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3083 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderModifierPN(
                 LOC((yyloc)),
@@ -5621,7 +5621,7 @@
   case 301:
 
 /* Line 678 of lalr1.cc  */
-#line 3096 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3096 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_ascending );
         }
@@ -5630,7 +5630,7 @@
   case 302:
 
 /* Line 678 of lalr1.cc  */
-#line 3100 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3100 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderDirSpec( LOC((yyloc)), ParseConstants::dir_descending );
         }
@@ -5639,7 +5639,7 @@
   case 303:
 
 /* Line 678 of lalr1.cc  */
-#line 3108 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3108 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_greatest
@@ -5650,7 +5650,7 @@
   case 304:
 
 /* Line 678 of lalr1.cc  */
-#line 3114 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3114 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderEmptySpec(
                 LOC((yyloc)), StaticContextConsts::empty_least
@@ -5661,7 +5661,7 @@
   case 305:
 
 /* Line 678 of lalr1.cc  */
-#line 3124 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3124 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new OrderCollationSpec( LOC((yyloc)), SYMTAB((yysemantic_stack_[(2) - (2)].sval)) );
         }
@@ -5670,7 +5670,7 @@
   case 306:
 
 /* Line 678 of lalr1.cc  */
-#line 3132 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3132 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5684,7 +5684,7 @@
   case 307:
 
 /* Line 678 of lalr1.cc  */
-#line 3141 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3141 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new QuantifiedExpr(
                 LOC((yyloc)),
@@ -5698,7 +5698,7 @@
   case 308:
 
 /* Line 678 of lalr1.cc  */
-#line 3154 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3154 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       QVarInDeclList *qvidl = new QVarInDeclList( LOC((yyloc)) );
       qvidl->push_back( dynamic_cast<QVarInDecl*>((yysemantic_stack_[(1) - (1)].node)) );
@@ -5710,7 +5710,7 @@
   case 309:
 
 /* Line 678 of lalr1.cc  */
-#line 3161 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3161 "/home/mbrantner/zorba/jsandbox/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)) );
@@ -5721,7 +5721,7 @@
   case 310:
 
 /* Line 678 of lalr1.cc  */
-#line 3173 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3173 "/home/mbrantner/zorba/jsandbox/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));
     }
@@ -5730,7 +5730,7 @@
   case 311:
 
 /* Line 678 of lalr1.cc  */
-#line 3177 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3177 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new QVarInDecl(LOC((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(4) - (1)].expr)),
@@ -5742,7 +5742,7 @@
   case 312:
 
 /* Line 678 of lalr1.cc  */
-#line 3189 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3189 "/home/mbrantner/zorba/jsandbox/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));
     }
@@ -5751,7 +5751,7 @@
   case 313:
 
 /* Line 678 of lalr1.cc  */
-#line 3196 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3196 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5762,7 +5762,7 @@
   case 314:
 
 /* Line 678 of lalr1.cc  */
-#line 3202 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3202 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5773,7 +5773,7 @@
   case 315:
 
 /* Line 678 of lalr1.cc  */
-#line 3211 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3211 "/home/mbrantner/zorba/jsandbox/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));
     }
@@ -5782,7 +5782,7 @@
   case 316:
 
 /* Line 678 of lalr1.cc  */
-#line 3218 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3218 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       SwitchCaseOperandList* sco_list_p = new SwitchCaseOperandList(LOC((yyloc)));
       sco_list_p->push_back((yysemantic_stack_[(2) - (2)].expr));
@@ -5793,7 +5793,7 @@
   case 317:
 
 /* Line 678 of lalr1.cc  */
-#line 3224 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3224 "/home/mbrantner/zorba/jsandbox/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));
@@ -5804,7 +5804,7 @@
   case 318:
 
 /* Line 678 of lalr1.cc  */
-#line 3235 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3235 "/home/mbrantner/zorba/jsandbox/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));
     }
@@ -5813,7 +5813,7 @@
   case 319:
 
 /* Line 678 of lalr1.cc  */
-#line 3242 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3242 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5824,7 +5824,7 @@
   case 320:
 
 /* Line 678 of lalr1.cc  */
-#line 3248 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3248 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5835,7 +5835,7 @@
   case 321:
 
 /* Line 678 of lalr1.cc  */
-#line 3257 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3257 "/home/mbrantner/zorba/jsandbox/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));
     }
@@ -5844,7 +5844,7 @@
   case 322:
 
 /* Line 678 of lalr1.cc  */
-#line 3266 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3266 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -5856,7 +5856,7 @@
   case 323:
 
 /* Line 678 of lalr1.cc  */
-#line 3273 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3273 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -5869,7 +5869,7 @@
   case 324:
 
 /* Line 678 of lalr1.cc  */
-#line 3284 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3284 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC((yyloc)),
                               (yysemantic_stack_[(8) - (3)].expr),
@@ -5881,7 +5881,7 @@
   case 325:
 
 /* Line 678 of lalr1.cc  */
-#line 3291 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3291 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new TypeswitchExpr(LOC ((yyloc)),
                               (yysemantic_stack_[(10) - (3)].expr),
@@ -5894,7 +5894,7 @@
   case 326:
 
 /* Line 678 of lalr1.cc  */
-#line 3303 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3303 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5905,7 +5905,7 @@
   case 327:
 
 /* Line 678 of lalr1.cc  */
-#line 3309 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3309 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5916,7 +5916,7 @@
   case 328:
 
 /* Line 678 of lalr1.cc  */
-#line 3321 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3321 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
@@ -5927,7 +5927,7 @@
   case 329:
 
 /* Line 678 of lalr1.cc  */
-#line 3327 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3327 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -5939,7 +5939,7 @@
   case 330:
 
 /* Line 678 of lalr1.cc  */
-#line 3338 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3338 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5950,7 +5950,7 @@
   case 331:
 
 /* Line 678 of lalr1.cc  */
-#line 3344 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3344 "/home/mbrantner/zorba/jsandbox/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)));
@@ -5961,7 +5961,7 @@
   case 332:
 
 /* Line 678 of lalr1.cc  */
-#line 3355 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3355 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           dynamic_cast<SequenceType*>((yysemantic_stack_[(4) - (2)].node)),
@@ -5972,7 +5972,7 @@
   case 333:
 
 /* Line 678 of lalr1.cc  */
-#line 3361 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3361 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.node) = new CaseClause(LOC ((yyloc)),
                           static_cast<QName*>((yysemantic_stack_[(7) - (3)].expr)),
@@ -5984,7 +5984,7 @@
   case 334:
 
 /* Line 678 of lalr1.cc  */
-#line 3372 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3372 "/home/mbrantner/zorba/jsandbox/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));
     }
@@ -5993,7 +5993,7 @@
   case 335:
 
 /* Line 678 of lalr1.cc  */
-#line 3381 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3381 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
     }
@@ -6002,7 +6002,7 @@
   case 336:
 
 /* Line 678 of lalr1.cc  */
-#line 3385 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3385 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
       (yyval.expr) = new OrExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
     }
@@ -6011,7 +6011,7 @@
   case 337:
 
 /* Line 678 of lalr1.cc  */
-#line 3394 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3394 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6020,7 +6020,7 @@
   case 338:
 
 /* Line 678 of lalr1.cc  */
-#line 3398 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3398 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new AndExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6029,7 +6029,7 @@
   case 339:
 
 /* Line 678 of lalr1.cc  */
-#line 3406 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3406 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6038,7 +6038,7 @@
   case 340:
 
 /* Line 678 of lalr1.cc  */
-#line 3410 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3410 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "eq" | "ne" | "lt" | "le" | "gt" | "ge" */
             (yyval.expr) = new ComparisonExpr(
@@ -6053,7 +6053,7 @@
   case 341:
 
 /* Line 678 of lalr1.cc  */
-#line 3420 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3420 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             /*  ::=  "is" | "<<" | ">>" */
             (yyval.expr) = new ComparisonExpr(
@@ -6065,7 +6065,7 @@
   case 342:
 
 /* Line 678 of lalr1.cc  */
-#line 3427 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3427 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6079,7 +6079,7 @@
   case 343:
 
 /* Line 678 of lalr1.cc  */
-#line 3436 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3436 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6093,7 +6093,7 @@
   case 344:
 
 /* Line 678 of lalr1.cc  */
-#line 3445 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3445 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             /* this call is needed */
             driver.lexer->interpretAsLessThan();
@@ -6103,7 +6103,7 @@
   case 345:
 
 /* Line 678 of lalr1.cc  */
-#line 3450 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3450 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6117,7 +6117,7 @@
   case 346:
 
 /* Line 678 of lalr1.cc  */
-#line 3459 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3459 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6131,7 +6131,7 @@
   case 347:
 
 /* Line 678 of lalr1.cc  */
-#line 3468 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3468 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6145,7 +6145,7 @@
   case 348:
 
 /* Line 678 of lalr1.cc  */
-#line 3477 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3477 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ComparisonExpr(
                 LOC((yyloc)),
@@ -6159,7 +6159,7 @@
   case 349:
 
 /* Line 678 of lalr1.cc  */
-#line 3490 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3490 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6168,7 +6168,7 @@
   case 350:
 
 /* Line 678 of lalr1.cc  */
-#line 3494 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3494 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new FTContainsExpr(
                 LOC((yyloc)),
@@ -6182,7 +6182,7 @@
   case 351:
 
 /* Line 678 of lalr1.cc  */
-#line 3506 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3506 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6191,7 +6191,7 @@
   case 352:
 
 /* Line 678 of lalr1.cc  */
-#line 3510 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3510 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
           (yyval.expr) = new StringConcatExpr(LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr));
         }
@@ -6200,7 +6200,7 @@
   case 353:
 
 /* Line 678 of lalr1.cc  */
-#line 3517 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3517 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = NULL;
         }
@@ -6209,7 +6209,7 @@
   case 354:
 
 /* Line 678 of lalr1.cc  */
-#line 3521 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3521 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(1) - (1)].node);
         }
@@ -6218,7 +6218,7 @@
   case 355:
 
 /* Line 678 of lalr1.cc  */
-#line 3528 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3528 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6227,7 +6227,7 @@
   case 356:
 
 /* Line 678 of lalr1.cc  */
-#line 3532 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3532 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new RangeExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6236,7 +6236,7 @@
   case 357:
 
 /* Line 678 of lalr1.cc  */
-#line 3541 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3541 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6245,7 +6245,7 @@
   case 358:
 
 /* Line 678 of lalr1.cc  */
-#line 3545 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3545 "/home/mbrantner/zorba/jsandbox/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) );
         }
@@ -6254,7 +6254,7 @@
   case 359:
 
 /* Line 678 of lalr1.cc  */
-#line 3549 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3549 "/home/mbrantner/zorba/jsandbox/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) );
         }
@@ -6263,7 +6263,7 @@
   case 360:
 
 /* Line 678 of lalr1.cc  */
-#line 3557 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3557 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6272,7 +6272,7 @@
   case 361:
 
 /* Line 678 of lalr1.cc  */
-#line 3561 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3561 "/home/mbrantner/zorba/jsandbox/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)
@@ -6283,7 +6283,7 @@
   case 362:
 
 /* Line 678 of lalr1.cc  */
-#line 3567 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3567 "/home/mbrantner/zorba/jsandbox/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)
@@ -6294,7 +6294,7 @@
   case 363:
 
 /* Line 678 of lalr1.cc  */
-#line 3573 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3573 "/home/mbrantner/zorba/jsandbox/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)
@@ -6305,7 +6305,7 @@
   case 364:
 
 /* Line 678 of lalr1.cc  */
-#line 3579 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3579 "/home/mbrantner/zorba/jsandbox/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)
@@ -6316,7 +6316,7 @@
   case 365:
 
 /* Line 678 of lalr1.cc  */
-#line 3589 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3589 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6325,7 +6325,7 @@
   case 366:
 
 /* Line 678 of lalr1.cc  */
-#line 3593 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3593 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6334,7 +6334,7 @@
   case 367:
 
 /* Line 678 of lalr1.cc  */
-#line 3597 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3597 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new UnionExpr( LOC((yyloc)), (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr) );
         }
@@ -6343,7 +6343,7 @@
   case 368:
 
 /* Line 678 of lalr1.cc  */
-#line 3605 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3605 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6352,7 +6352,7 @@
   case 369:
 
 /* Line 678 of lalr1.cc  */
-#line 3609 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3609 "/home/mbrantner/zorba/jsandbox/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)
@@ -6363,7 +6363,7 @@
   case 370:
 
 /* Line 678 of lalr1.cc  */
-#line 3615 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3615 "/home/mbrantner/zorba/jsandbox/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)
@@ -6374,7 +6374,7 @@
   case 371:
 
 /* Line 678 of lalr1.cc  */
-#line 3625 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3625 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6383,7 +6383,7 @@
   case 372:
 
 /* Line 678 of lalr1.cc  */
-#line 3629 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3629 "/home/mbrantner/zorba/jsandbox/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))
@@ -6394,7 +6394,7 @@
   case 373:
 
 /* Line 678 of lalr1.cc  */
-#line 3639 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3639 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6403,7 +6403,7 @@
   case 374:
 
 /* Line 678 of lalr1.cc  */
-#line 3643 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3643 "/home/mbrantner/zorba/jsandbox/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))
@@ -6414,7 +6414,7 @@
   case 375:
 
 /* Line 678 of lalr1.cc  */
-#line 3653 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3653 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6423,7 +6423,7 @@
   case 376:
 
 /* Line 678 of lalr1.cc  */
-#line 3657 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3657 "/home/mbrantner/zorba/jsandbox/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))
@@ -6434,7 +6434,7 @@
   case 377:
 
 /* Line 678 of lalr1.cc  */
-#line 3667 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3667 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6443,7 +6443,7 @@
   case 378:
 
 /* Line 678 of lalr1.cc  */
-#line 3671 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3671 "/home/mbrantner/zorba/jsandbox/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))
@@ -6454,7 +6454,7 @@
   case 379:
 
 /* Line 678 of lalr1.cc  */
-#line 3681 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3681 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6463,7 +6463,7 @@
   case 380:
 
 /* Line 678 of lalr1.cc  */
-#line 3685 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3685 "/home/mbrantner/zorba/jsandbox/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) );
         }
@@ -6472,7 +6472,7 @@
   case 381:
 
 /* Line 678 of lalr1.cc  */
-#line 3693 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3693 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), true );
         }
@@ -6481,7 +6481,7 @@
   case 382:
 
 /* Line 678 of lalr1.cc  */
-#line 3697 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3697 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new SignList( LOC((yyloc)), false );
         }
@@ -6490,7 +6490,7 @@
   case 383:
 
 /* Line 678 of lalr1.cc  */
-#line 3701 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3701 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = (yysemantic_stack_[(2) - (1)].node);
         }
@@ -6499,7 +6499,7 @@
   case 384:
 
 /* Line 678 of lalr1.cc  */
-#line 3705 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3705 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             if ( SignList *sl = dynamic_cast<SignList*>((yysemantic_stack_[(2) - (1)].node)) )
                 sl->negate();
@@ -6510,7 +6510,7 @@
   case 385:
 
 /* Line 678 of lalr1.cc  */
-#line 3715 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3715 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6519,7 +6519,7 @@
   case 386:
 
 /* Line 678 of lalr1.cc  */
-#line 3719 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3719 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6528,7 +6528,7 @@
   case 387:
 
 /* Line 678 of lalr1.cc  */
-#line 3723 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3723 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = (yysemantic_stack_[(1) - (1)].expr);
         }
@@ -6537,7 +6537,7 @@
   case 388:
 
 /* Line 678 of lalr1.cc  */
-#line 3731 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3731 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_eq );
         }
@@ -6546,7 +6546,7 @@
   case 389:
 
 /* Line 678 of lalr1.cc  */
-#line 3735 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3735 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ne );
         }
@@ -6555,7 +6555,7 @@
   case 390:
 
 /* Line 678 of lalr1.cc  */
-#line 3739 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3739 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_lt );
         }
@@ -6564,7 +6564,7 @@
   case 391:
 
 /* Line 678 of lalr1.cc  */
-#line 3743 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3743 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_le );
         }
@@ -6573,7 +6573,7 @@
   case 392:
 
 /* Line 678 of lalr1.cc  */
-#line 3747 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3747 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_gt );
         }
@@ -6582,7 +6582,7 @@
   case 393:
 
 /* Line 678 of lalr1.cc  */
-#line 3751 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3751 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new ValueComp( LOC((yyloc)), ParseConstants::op_val_ge );
         }
@@ -6591,7 +6591,7 @@
   case 394:
 
 /* Line 678 of lalr1.cc  */
-#line 3759 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3759 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_is );
         }
@@ -6600,7 +6600,7 @@
   case 395:
 
 /* Line 678 of lalr1.cc  */
-#line 3763 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3763 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_precedes );
         }
@@ -6609,7 +6609,7 @@
   case 396:
 
 /* Line 678 of lalr1.cc  */
-#line 3767 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3767 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.node) = new NodeComp( LOC((yyloc)), ParseConstants::op_follows );
         }
@@ -6618,7 +6618,7 @@
   case 397:
 
 /* Line 678 of lalr1.cc  */
-#line 3775 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3775 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(4) - (3)].expr) );
         }
@@ -6627,7 +6627,7 @@
   case 398:
 
 /* Line 678 of lalr1.cc  */
-#line 3779 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3779 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "lax", (yysemantic_stack_[(5) - (4)].expr) );
         }
@@ -6636,7 +6636,7 @@
   case 399:
 
 /* Line 678 of lalr1.cc  */
-#line 3783 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3783 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ValidateExpr( LOC((yyloc)), "strict", (yysemantic_stack_[(5) - (4)].expr) );
         }
@@ -6645,7 +6645,7 @@
   case 400:
 
 /* Line 678 of lalr1.cc  */
-#line 3787 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3787 "/home/mbrantner/zorba/jsandbox/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)
@@ -6657,7 +6657,7 @@
   case 401:
 
 /* Line 678 of lalr1.cc  */
-#line 3798 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3798 "/home/mbrantner/zorba/jsandbox/src/compiler/parser/xquery_parser.y"
     {
             (yyval.expr) = new ExtensionExpr(
                 LOC((yyloc)), dynamic_cast<PragmaList*>((yysemantic_stack_[(3) - (1)].node)), NULL
@@ -6668,7 +6668,7 @@
   case 402:
 
 /* Line 678 of lalr1.cc  */
-#line 3804 "/home/markos/zorba/repo/jsoniq/src/compiler/parser/xquery_parser.y"
+#line 3804 "/home/mbrantner/zorba/jsandbox/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)
@@ -6679,7 +6679,7 @@
   case 403:
 
 /* Line 678 of lalr1.cc  */
-#line 3814 "/home/marko

Follow ups