You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ro...@apache.org on 2015/03/23 13:06:56 UTC

[22/52] [partial] fauxton commit: updated refs/heads/master to 2222dcd

http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/067b0880/assets/js/libs/ace/mode-jsoniq.js
----------------------------------------------------------------------
diff --git a/assets/js/libs/ace/mode-jsoniq.js b/assets/js/libs/ace/mode-jsoniq.js
index 8233635..a9ecba6 100644
--- a/assets/js/libs/ace/mode-jsoniq.js
+++ b/assets/js/libs/ace/mode-jsoniq.js
@@ -1,384 +1,6 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Distributed under the BSD license:
- *
- * Copyright (c) 2010, Ajax.org B.V.
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *     * Redistributions of source code must retain the above copyright
- *       notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above copyright
- *       notice, this list of conditions and the following disclaimer in the
- *       documentation and/or other materials provided with the distribution.
- *     * Neither the name of Ajax.org B.V. nor the
- *       names of its contributors may be used to endorse or promote products
- *       derived from this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * ***** END LICENSE BLOCK ***** */
-define('ace/mode/jsoniq', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/mode/xquery/JSONiqLexer', 'ace/range', 'ace/mode/behaviour/xquery', 'ace/mode/folding/cstyle'], function(require, exports, module) {
-
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var JSONiqLexer = require("./xquery/JSONiqLexer").JSONiqLexer;
-var Range = require("../range").Range;
-var XQueryBehaviour = require("./behaviour/xquery").XQueryBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-
-var Mode = function() {
-    this.$tokenizer   = new JSONiqLexer();
-    this.$behaviour   = new XQueryBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-};
-
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-        var match = line.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);
-        if (match)
-            indent += tab;
-        return indent;
-    };
-    
-    this.checkOutdent = function(state, line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*[\}\)]/.test(input);
-    };
-    
-    this.autoOutdent = function(state, doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*[\}\)])/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.toggleCommentLines = function(state, doc, startRow, endRow) {
-        var i, line;
-        var outdent = true;
-        var re = /^\s*\(:(.*):\)/;
-
-        for (i=startRow; i<= endRow; i++) {
-            if (!re.test(doc.getLine(i))) {
-                outdent = false;
-                break;
-            }
-        }
-
-        var range = new Range(0, 0, 0, 0);
-        for (i=startRow; i<= endRow; i++) {
-            line = doc.getLine(i);
-            range.start.row  = i;
-            range.end.row    = i;
-            range.end.column = line.length;
-
-            doc.replace(range, outdent ? line.match(re)[1] : "(:" + line + ":)");
-        }
-    };
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});
- 
-define('ace/mode/xquery/JSONiqLexer', ['require', 'exports', 'module' , 'ace/mode/xquery/JSONiqTokenizer'], function(require, exports, module) {
-  
-  var JSONiqTokenizer = require("./JSONiqTokenizer").JSONiqTokenizer;
-  
-  var TokenHandler = function(code) {
-      
-    var input = code;
-    
-    this.tokens = [];
- 
-    this.reset = function(code) {
-      input = input;
-      this.tokens = [];
-    };
-    
-    this.startNonterminal = function(name, begin) {};
-
-    this.endNonterminal = function(name, end) {};
-
-    this.terminal = function(name, begin, end) {
-      this.tokens.push({
-        name: name,
-        value: input.substring(begin, end)
-      });
-    };
-
-    this.whitespace = function(begin, end) {
-      this.tokens.push({
-        name: "WS",
-        value: input.substring(begin, end)
-      });
-    };
-  };
-    var keys = "NaN|after|allowing|ancestor|ancestor-or-self|and|append|array|as|ascending|at|attribute|base-uri|before|boundary-space|break|by|case|cast|castable|catch|child|collation|comment|constraint|construction|contains|context|continue|copy|copy-namespaces|count|decimal-format|decimal-separator|declare|default|delete|descendant|descendant-or-self|descending|digit|div|document|document-node|element|else|empty|empty-sequence|encoding|end|eq|every|except|exit|external|false|first|following|following-sibling|for|from|ft-option|function|ge|greatest|group|grouping-separator|gt|idiv|if|import|in|index|infinity|insert|instance|integrity|intersect|into|is|item|json|json-item|jsoniq|last|lax|le|least|let|loop|lt|minus-sign|mod|modify|module|namespace|namespace-node|ne|next|node|nodes|not|null|object|of|only|option|or|order|ordered|ordering|paragraphs|parent|pattern-separator|per-mille|percent|preceding|preceding-sibling|previous|processing-instruction|rename|replace|return|returning|re
 validation|satisfies|schema|schema-attribute|schema-element|score|select|self|sentences|sliding|some|stable|start|strict|switch|text|then|times|to|treat|true|try|tumbling|type|typeswitch|union|unordered|updating|validate|value|variable|version|when|where|while|window|with|words|xquery|zero-digit".split("|");
-    var keywords = keys.map(
-      function(val) { return { name: "'" + val + "'", token: "keyword" }; }
-    );
-    
-    var ncnames = keys.map(
-      function(val) { return { name: "'" + val + "'", token: "text", next: function(stack){ stack.pop(); } }; }
-    );
-
-    var cdata = "constant.language";
-    var number = "constant";
-    var xmlcomment = "comment";
-    var pi = "xml-pe";
-    var pragma = "constant.buildin";
-    
-    var Rules = {
-      start: [
-        { name: "'(#'", token: pragma, next: function(stack){ stack.push("Pragma"); } },
-        { name: "'(:'", token: "comment", next: function(stack){ stack.push("Comment"); } },
-        { name: "'(:~'", token: "comment.doc", next: function(stack){ stack.push("CommentDoc"); } },
-        { name: "'<!--'", token: xmlcomment, next: function(stack){ stack.push("XMLComment"); } },
-        { name: "'<?'", token: pi, next: function(stack) { stack.push("PI"); } },
-        { name: "''''", token: "string", next: function(stack){ stack.push("AposString"); } },
-        { name: "'\"'", token: "string", next: function(stack){ stack.push("QuotString"); } },
-        { name: "Annotation", token: "support.function" },
-        { name: "ModuleDecl", token: "keyword", next: function(stack){ stack.push("Prefix"); } },
-        { name: "OptionDecl", token: "keyword", next: function(stack){ stack.push("_EQName"); } },
-        { name: "AttrTest", token: "support.type" },
-        { name: "Variable",  token: "variable" },
-        { name: "'<![CDATA['", token: cdata, next: function(stack){ stack.push("CData"); } },
-        { name: "IntegerLiteral", token: number },
-        { name: "DecimalLiteral", token: number },
-        { name: "DoubleLiteral", token: number },
-        { name: "Operator", token: "keyword.operator" },
-        { name: "EQName", token: function(val) { return keys.indexOf(val) !== -1 ? "keyword" : "support.function"; } },
-        { name: "'('", token:"lparen" },
-        { name: "')'", token:"rparen" },
-        { name: "Tag", token: "meta.tag", next: function(stack){ stack.push("StartTag"); } },
-        { name: "'}'", token: "text", next: function(stack){ if(stack.length > 1) stack.pop();  } },
-        { name: "'{'", token: "text", next: function(stack){ stack.push("start"); } } //, next: function(stack){ if(stack.length > 1) { stack.pop(); } } }
-      ].concat(keywords),
-      _EQName: [
-        { name: "EQName", token: "text", next: function(stack) { stack.pop(); } }
-      ].concat(ncnames),
-      Prefix: [
-        { name: "NCName", token: "text", next: function(stack) { stack.pop(); } }
-      ].concat(ncnames),
-      StartTag: [
-        { name: "'>'", token: "meta.tag", next: function(stack){ stack.push("TagContent"); } },
-        { name: "QName", token: "entity.other.attribute-name" },
-        { name: "'='", token: "text" },
-        { name: "''''", token: "string", next: function(stack){ stack.push("AposAttr"); } },
-        { name: "'\"'", token: "string", next: function(stack){ stack.push("QuotAttr"); } },
-        { name: "'/>'", token: "meta.tag.r", next: function(stack){ stack.pop(); } }
-      ],
-      TagContent: [
-        { name: "ElementContentChar", token: "text" },
-        { name: "'<![CDATA['", token: cdata, next: function(stack){ stack.push("CData"); } },
-        { name: "'<!--'", token: xmlcomment, next: function(stack){ stack.push("XMLComment"); } },
-        { name: "Tag", token: "meta.tag", next: function(stack){ stack.push("StartTag"); } },
-        { name: "PredefinedEntityRef", token: "constant.language.escape" },
-        { name: "CharRef", token: "constant.language.escape" },
-        { name: "'{{'", token: "text" },
-        { name: "'}}'", token: "text" },
-        { name: "'{'", token: "text", next: function(stack){ stack.push("start"); } },
-        { name: "EndTag", token: "meta.tag", next: function(stack){ stack.pop(); stack.pop(); } }
-      ],
-      AposAttr: [
-        { name: "''''", token: "string", next: function(stack){ stack.pop(); } },
-        { name: "EscapeApos", token: "constant.language.escape" },
-        { name: "AposAttrContentChar", token: "string" },
-        { name: "PredefinedEntityRef", token: "constant.language.escape" },
-        { name: "CharRef", token: "constant.language.escape" },
-        { name: "'{{'", token: "string" },
-        { name: "'}}'", token: "string" },
-        { name: "'{'", token: "text", next: function(stack){ stack.push("start"); } }
-      ],
-      QuotAttr: [
-        { name: "'\"'", token: "string", next: function(stack){ stack.pop(); } },
-        { name: "EscapeQuot", token: "constant.language.escape" },
-        { name: "QuotAttrContentChar", token: "string" },
-        { name: "PredefinedEntityRef", token: "constant.language.escape" },
-        { name: "CharRef", token: "constant.language.escape" },
-        { name: "'{{'", token: "string" },
-        { name: "'}}'", token: "string" },
-        { name: "'{'", token: "text", next: function(stack){ stack.push("start"); } }
-      ],
-      Pragma: [
-        { name: "PragmaContents", token: pragma },
-        { name: "'#'", token: pragma },
-        { name: "'#)'", token: pragma, next: function(stack){ stack.pop(); } }
-      ],
-      Comment: [
-        { name: "CommentContents", token: "comment" },
-        { name: "'(:'", token: "comment", next: function(stack){ stack.push("Comment"); } },
-        { name: "':)'", token: "comment", next: function(stack){ stack.pop(); } }
-      ],
-      CommentDoc: [
-        { name: "DocCommentContents", token: "comment.doc" },
-        { name: "DocTag", token: "comment.doc.tag" },
-        { name: "'(:'", token: "comment.doc", next: function(stack){ stack.push("CommentDoc"); } },
-        { name: "':)'", token: "comment.doc", next: function(stack){ stack.pop(); } }
-      ],
-      XMLComment: [
-        { name: "DirCommentContents", token: xmlcomment },
-        { name: "'-->'", token: xmlcomment, next: function(stack){ stack.pop(); } }
-      ],
-      CData: [
-        { name: "CDataSectionContents", token: cdata },
-        { name: "']]>'", token: cdata, next: function(stack){ stack.pop(); } }
-      ],
-      PI: [
-        { name: "DirPIContents", token: pi },
-        { name: "'?'", token: pi },
-        { name: "'?>'", token: pi, next: function(stack){ stack.pop(); } }
-      ],
-      AposString: [
-        { name: "''''", token: "string", next: function(stack){ stack.pop(); } },
-        { name: "PredefinedEntityRef", token: "constant.language.escape" },
-        { name: "CharRef", token: "constant.language.escape" },
-        { name: "EscapeApos", token: "constant.language.escape" },
-        { name: "AposChar", token: "string" }
-      ],
-      QuotString: [
-        { name: "'\"'", token: "string", next: function(stack){ stack.pop(); } },
-        { name: "PredefinedEntityRef", token: "constant.language.escape" },
-        { name: "CharRef", token: "constant.language.escape" },
-        { name: "EscapeQuot", token: "constant.language.escape" },
-        { name: "QuotChar", token: "string" }
-      ]
-    };
-    
-exports.JSONiqLexer = function() {
-  
-  this.tokens = [];
-  
-  this.getLineTokens = function(line, state, row) {
-    state = (state === "start" || !state) ? '["start"]' : state;
-    var stack = JSON.parse(state);
-    var h = new TokenHandler(line);
-    var tokenizer = new JSONiqTokenizer(line, h);
-    var tokens = [];
-    
-    while(true) {
-      var currentState = stack[stack.length - 1];
-      try {
-        
-        h.tokens = [];
-        tokenizer["parse_" + currentState]();
-        var info = null;
-        
-        if(h.tokens.length > 1 && h.tokens[0].name === "WS") {
-          tokens.push({
-            type: "text",
-            value: h.tokens[0].value
-          });
-          h.tokens.splice(0, 1);
-        }
-        
-        var token = h.tokens[0];
-        var rules  = Rules[currentState];
-        for(var k = 0; k < rules.length; k++) {
-          var rule = Rules[currentState][k];
-          if((typeof(rule.name) === "function" && rule.name(token)) || rule.name === token.name) {
-            info = rule;
-            break;
-          }
-        }
-        
-        if(token.name === "EOF") { break; }
-        if(token.value === "") { throw "Encountered empty string lexical rule."; }
-        
-        tokens.push({
-          type: info === null ? "text" : (typeof(info.token) === "function" ? info.token(token.value) : info.token),
-          value: token.value
-        });
-        
-        if(info && info.next) {
-          info.next(stack);    
-        }
-      
-      } catch(e) {
-        if(e instanceof tokenizer.ParseException) {
-          var index = 0;
-          for(var i=0; i < tokens.length; i++) {
-            index += tokens[i].value.length;
-          }
-          tokens.push({ type: "text", value: line.substring(index) });
-          return {
-            tokens: tokens,
-            state: JSON.stringify(["start"])
-          };
-        } else {
-          throw e;
-        }  
-      }
-    }
-   
-    
-    if(this.tokens[row] !== undefined) {
-      var cachedLine = this.lines[row];
-      var begin = sharedStart([line, cachedLine]);
-      var diff = cachedLine.length - line.length;
-      var idx = 0;
-      var col = 0;
-      for(var i = 0; i < tokens.length; i++) {
-        var token = tokens[i];
-        for(var j = 0; j < this.tokens[row].length; j++) {
-          var semanticToken = this.tokens[row][j];
-          if(
-             ((col + token.value.length) <= begin.length && semanticToken.sc === col && semanticToken.ec === (col + token.value.length)) ||
-             (semanticToken.sc === (col + diff) && semanticToken.ec === (col + token.value.length + diff))
-            ) {
-            idx = i;
-            tokens[i].type = semanticToken.type;
-          }
-        }
-        col += token.value.length;
-      }
-    }
-
-    return {
-      tokens: tokens,
-      state: JSON.stringify(stack)
-    };
-  };
-  
-  function sharedStart(A) {
-    var tem1, tem2, s, A = A.slice(0).sort();
-    tem1 = A[0];
-    s = tem1.length;
-    tem2 = A.pop();
-    while(s && tem2.indexOf(tem1) == -1) {
-        tem1 = tem1.substring(0, --s);
-    }
-    return tem1;
-  }
-};
-});
-
-                                                            define('ace/mode/xquery/JSONiqTokenizer', ['require', 'exports', 'module' ], function(require, exports, module) {
+define("ace/mode/xquery/jsoniq_lexer",["require","exports","module"], function(require, exports, module) {
+module.exports = (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({
+1:[function(_dereq_,module,exports){
                                                             var JSONiqTokenizer = exports.JSONiqTokenizer = function JSONiqTokenizer(string, parsingEventHandler)
                                                             {
                                                               init(string, parsingEventHandler);
@@ -472,104 +94,107 @@ exports.JSONiqLexer = function() {
     lookahead1W(14);                // ModuleDecl | Annotation | OptionDecl | Operator | Variable | Tag | AttrTest |
     switch (l1)
     {
-    case 55:                        // '<![CDATA['
-      shift(55);                    // '<![CDATA['
+    case 58:                        // '<![CDATA['
+      shift(58);                    // '<![CDATA['
+      break;
+    case 57:                        // '<!--'
+      shift(57);                    // '<!--'
       break;
-    case 54:                        // '<!--'
-      shift(54);                    // '<!--'
+    case 59:                        // '<?'
+      shift(59);                    // '<?'
       break;
-    case 56:                        // '<?'
-      shift(56);                    // '<?'
+    case 43:                        // '(#'
+      shift(43);                    // '(#'
       break;
-    case 40:                        // '(#'
-      shift(40);                    // '(#'
+    case 45:                        // '(:~'
+      shift(45);                    // '(:~'
       break;
-    case 42:                        // '(:~'
-      shift(42);                    // '(:~'
+    case 44:                        // '(:'
+      shift(44);                    // '(:'
       break;
-    case 41:                        // '(:'
-      shift(41);                    // '(:'
+    case 37:                        // '"'
+      shift(37);                    // '"'
       break;
-    case 35:                        // '"'
-      shift(35);                    // '"'
+    case 41:                        // "'"
+      shift(41);                    // "'"
       break;
-    case 38:                        // "'"
-      shift(38);                    // "'"
+    case 277:                       // '}'
+      shift(277);                   // '}'
       break;
-    case 274:                       // '}'
-      shift(274);                   // '}'
+    case 274:                       // '{'
+      shift(274);                   // '{'
       break;
-    case 271:                       // '{'
-      shift(271);                   // '{'
+    case 42:                        // '('
+      shift(42);                    // '('
       break;
-    case 39:                        // '('
-      shift(39);                    // '('
+    case 46:                        // ')'
+      shift(46);                    // ')'
       break;
-    case 43:                        // ')'
-      shift(43);                    // ')'
+    case 52:                        // '/'
+      shift(52);                    // '/'
       break;
-    case 49:                        // '/'
-      shift(49);                    // '/'
+    case 65:                        // '['
+      shift(65);                    // '['
       break;
-    case 62:                        // '['
-      shift(62);                    // '['
+    case 66:                        // ']'
+      shift(66);                    // ']'
       break;
-    case 63:                        // ']'
-      shift(63);                    // ']'
+    case 49:                        // ','
+      shift(49);                    // ','
       break;
-    case 46:                        // ','
-      shift(46);                    // ','
+    case 51:                        // '.'
+      shift(51);                    // '.'
       break;
-    case 48:                        // '.'
-      shift(48);                    // '.'
+    case 56:                        // ';'
+      shift(56);                    // ';'
       break;
-    case 53:                        // ';'
-      shift(53);                    // ';'
+    case 54:                        // ':'
+      shift(54);                    // ':'
       break;
-    case 51:                        // ':'
-      shift(51);                    // ':'
+    case 36:                        // '!'
+      shift(36);                    // '!'
       break;
-    case 34:                        // '!'
-      shift(34);                    // '!'
+    case 276:                       // '|'
+      shift(276);                   // '|'
       break;
-    case 273:                       // '|'
-      shift(273);                   // '|'
+    case 40:                        // '$$'
+      shift(40);                    // '$$'
       break;
-    case 2:                         // Annotation
-      shift(2);                     // Annotation
+    case 5:                         // Annotation
+      shift(5);                     // Annotation
       break;
-    case 1:                         // ModuleDecl
-      shift(1);                     // ModuleDecl
+    case 4:                         // ModuleDecl
+      shift(4);                     // ModuleDecl
       break;
-    case 3:                         // OptionDecl
-      shift(3);                     // OptionDecl
+    case 6:                         // OptionDecl
+      shift(6);                     // OptionDecl
       break;
-    case 12:                        // AttrTest
-      shift(12);                    // AttrTest
+    case 15:                        // AttrTest
+      shift(15);                    // AttrTest
       break;
-    case 13:                        // Wildcard
-      shift(13);                    // Wildcard
+    case 16:                        // Wildcard
+      shift(16);                    // Wildcard
       break;
-    case 15:                        // IntegerLiteral
-      shift(15);                    // IntegerLiteral
+    case 18:                        // IntegerLiteral
+      shift(18);                    // IntegerLiteral
       break;
-    case 16:                        // DecimalLiteral
-      shift(16);                    // DecimalLiteral
+    case 19:                        // DecimalLiteral
+      shift(19);                    // DecimalLiteral
       break;
-    case 17:                        // DoubleLiteral
-      shift(17);                    // DoubleLiteral
+    case 20:                        // DoubleLiteral
+      shift(20);                    // DoubleLiteral
       break;
-    case 5:                         // Variable
-      shift(5);                     // Variable
+    case 8:                         // Variable
+      shift(8);                     // Variable
       break;
-    case 6:                         // Tag
-      shift(6);                     // Tag
+    case 9:                         // Tag
+      shift(9);                     // Tag
       break;
-    case 4:                         // Operator
-      shift(4);                     // Operator
+    case 7:                         // Operator
+      shift(7);                     // Operator
       break;
-    case 33:                        // EOF
-      shift(33);                    // EOF
+    case 35:                        // EOF
+      shift(35);                    // EOF
       break;
     default:
       parse_EQName();
@@ -583,26 +208,26 @@ exports.JSONiqLexer = function() {
     lookahead1W(8);                 // QName | S^WS | EOF | '"' | "'" | '/>' | '=' | '>'
     switch (l1)
     {
-    case 58:                        // '>'
-      shift(58);                    // '>'
+    case 61:                        // '>'
+      shift(61);                    // '>'
       break;
-    case 50:                        // '/>'
-      shift(50);                    // '/>'
+    case 53:                        // '/>'
+      shift(53);                    // '/>'
       break;
-    case 27:                        // QName
-      shift(27);                    // QName
+    case 29:                        // QName
+      shift(29);                    // QName
       break;
-    case 57:                        // '='
-      shift(57);                    // '='
+    case 60:                        // '='
+      shift(60);                    // '='
       break;
-    case 35:                        // '"'
-      shift(35);                    // '"'
+    case 37:                        // '"'
+      shift(37);                    // '"'
       break;
-    case 38:                        // "'"
-      shift(38);                    // "'"
+    case 41:                        // "'"
+      shift(41);                    // "'"
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("StartTag", e0);
   };
@@ -613,38 +238,38 @@ exports.JSONiqLexer = function() {
     lookahead1(11);                 // Tag | EndTag | PredefinedEntityRef | ElementContentChar | CharRef | EOF |
     switch (l1)
     {
-    case 23:                        // ElementContentChar
-      shift(23);                    // ElementContentChar
+    case 25:                        // ElementContentChar
+      shift(25);                    // ElementContentChar
       break;
-    case 6:                         // Tag
-      shift(6);                     // Tag
+    case 9:                         // Tag
+      shift(9);                     // Tag
       break;
-    case 7:                         // EndTag
-      shift(7);                     // EndTag
+    case 10:                        // EndTag
+      shift(10);                    // EndTag
       break;
-    case 55:                        // '<![CDATA['
-      shift(55);                    // '<![CDATA['
+    case 58:                        // '<![CDATA['
+      shift(58);                    // '<![CDATA['
       break;
-    case 54:                        // '<!--'
-      shift(54);                    // '<!--'
+    case 57:                        // '<!--'
+      shift(57);                    // '<!--'
       break;
-    case 18:                        // PredefinedEntityRef
-      shift(18);                    // PredefinedEntityRef
+    case 21:                        // PredefinedEntityRef
+      shift(21);                    // PredefinedEntityRef
       break;
-    case 29:                        // CharRef
-      shift(29);                    // CharRef
+    case 31:                        // CharRef
+      shift(31);                    // CharRef
       break;
-    case 272:                       // '{{'
-      shift(272);                   // '{{'
+    case 275:                       // '{{'
+      shift(275);                   // '{{'
       break;
-    case 275:                       // '}}'
-      shift(275);                   // '}}'
+    case 278:                       // '}}'
+      shift(278);                   // '}}'
       break;
-    case 271:                       // '{'
-      shift(271);                   // '{'
+    case 274:                       // '{'
+      shift(274);                   // '{'
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("TagContent", e0);
   };
@@ -655,32 +280,32 @@ exports.JSONiqLexer = function() {
     lookahead1(10);                 // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | EOF | "'" |
     switch (l1)
     {
-    case 20:                        // EscapeApos
-      shift(20);                    // EscapeApos
+    case 23:                        // EscapeApos
+      shift(23);                    // EscapeApos
       break;
-    case 25:                        // AposAttrContentChar
-      shift(25);                    // AposAttrContentChar
+    case 27:                        // AposAttrContentChar
+      shift(27);                    // AposAttrContentChar
       break;
-    case 18:                        // PredefinedEntityRef
-      shift(18);                    // PredefinedEntityRef
+    case 21:                        // PredefinedEntityRef
+      shift(21);                    // PredefinedEntityRef
       break;
-    case 29:                        // CharRef
-      shift(29);                    // CharRef
+    case 31:                        // CharRef
+      shift(31);                    // CharRef
       break;
-    case 272:                       // '{{'
-      shift(272);                   // '{{'
+    case 275:                       // '{{'
+      shift(275);                   // '{{'
       break;
-    case 275:                       // '}}'
-      shift(275);                   // '}}'
+    case 278:                       // '}}'
+      shift(278);                   // '}}'
       break;
-    case 271:                       // '{'
-      shift(271);                   // '{'
+    case 274:                       // '{'
+      shift(274);                   // '{'
       break;
-    case 38:                        // "'"
-      shift(38);                    // "'"
+    case 41:                        // "'"
+      shift(41);                    // "'"
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("AposAttr", e0);
   };
@@ -691,32 +316,32 @@ exports.JSONiqLexer = function() {
     lookahead1(9);                  // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | EOF | '"' |
     switch (l1)
     {
-    case 19:                        // EscapeQuot
-      shift(19);                    // EscapeQuot
+    case 22:                        // EscapeQuot
+      shift(22);                    // EscapeQuot
       break;
-    case 24:                        // QuotAttrContentChar
-      shift(24);                    // QuotAttrContentChar
+    case 26:                        // QuotAttrContentChar
+      shift(26);                    // QuotAttrContentChar
       break;
-    case 18:                        // PredefinedEntityRef
-      shift(18);                    // PredefinedEntityRef
+    case 21:                        // PredefinedEntityRef
+      shift(21);                    // PredefinedEntityRef
       break;
-    case 29:                        // CharRef
-      shift(29);                    // CharRef
+    case 31:                        // CharRef
+      shift(31);                    // CharRef
       break;
-    case 272:                       // '{{'
-      shift(272);                   // '{{'
+    case 275:                       // '{{'
+      shift(275);                   // '{{'
       break;
-    case 275:                       // '}}'
-      shift(275);                   // '}}'
+    case 278:                       // '}}'
+      shift(278);                   // '}}'
       break;
-    case 271:                       // '{'
-      shift(271);                   // '{'
+    case 274:                       // '{'
+      shift(274);                   // '{'
       break;
-    case 35:                        // '"'
-      shift(35);                    // '"'
+    case 37:                        // '"'
+      shift(37);                    // '"'
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("QuotAttr", e0);
   };
@@ -727,14 +352,14 @@ exports.JSONiqLexer = function() {
     lookahead1(1);                  // CDataSectionContents | EOF | ']]>'
     switch (l1)
     {
-    case 11:                        // CDataSectionContents
-      shift(11);                    // CDataSectionContents
+    case 14:                        // CDataSectionContents
+      shift(14);                    // CDataSectionContents
       break;
-    case 64:                        // ']]>'
-      shift(64);                    // ']]>'
+    case 67:                        // ']]>'
+      shift(67);                    // ']]>'
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("CData", e0);
   };
@@ -745,14 +370,14 @@ exports.JSONiqLexer = function() {
     lookahead1(0);                  // DirCommentContents | EOF | '-->'
     switch (l1)
     {
-    case 9:                         // DirCommentContents
-      shift(9);                     // DirCommentContents
+    case 12:                        // DirCommentContents
+      shift(12);                    // DirCommentContents
       break;
-    case 47:                        // '-->'
-      shift(47);                    // '-->'
+    case 50:                        // '-->'
+      shift(50);                    // '-->'
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("XMLComment", e0);
   };
@@ -763,17 +388,17 @@ exports.JSONiqLexer = function() {
     lookahead1(3);                  // DirPIContents | EOF | '?' | '?>'
     switch (l1)
     {
-    case 10:                        // DirPIContents
-      shift(10);                    // DirPIContents
+    case 13:                        // DirPIContents
+      shift(13);                    // DirPIContents
       break;
-    case 59:                        // '?'
-      shift(59);                    // '?'
+    case 62:                        // '?'
+      shift(62);                    // '?'
       break;
-    case 60:                        // '?>'
-      shift(60);                    // '?>'
+    case 63:                        // '?>'
+      shift(63);                    // '?>'
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("PI", e0);
   };
@@ -784,17 +409,17 @@ exports.JSONiqLexer = function() {
     lookahead1(2);                  // PragmaContents | EOF | '#' | '#)'
     switch (l1)
     {
-    case 8:                         // PragmaContents
-      shift(8);                     // PragmaContents
+    case 11:                        // PragmaContents
+      shift(11);                    // PragmaContents
       break;
-    case 36:                        // '#'
-      shift(36);                    // '#'
+    case 38:                        // '#'
+      shift(38);                    // '#'
       break;
-    case 37:                        // '#)'
-      shift(37);                    // '#)'
+    case 39:                        // '#)'
+      shift(39);                    // '#)'
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("Pragma", e0);
   };
@@ -805,17 +430,17 @@ exports.JSONiqLexer = function() {
     lookahead1(4);                  // CommentContents | EOF | '(:' | ':)'
     switch (l1)
     {
-    case 52:                        // ':)'
-      shift(52);                    // ':)'
+    case 55:                        // ':)'
+      shift(55);                    // ':)'
       break;
-    case 41:                        // '(:'
-      shift(41);                    // '(:'
+    case 44:                        // '(:'
+      shift(44);                    // '(:'
       break;
-    case 30:                        // CommentContents
-      shift(30);                    // CommentContents
+    case 32:                        // CommentContents
+      shift(32);                    // CommentContents
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("Comment", e0);
   };
@@ -823,23 +448,23 @@ exports.JSONiqLexer = function() {
   this.parse_CommentDoc = function()
   {
     eventHandler.startNonterminal("CommentDoc", e0);
-    lookahead1(5);                  // DocTag | DocCommentContents | EOF | '(:' | ':)'
+    lookahead1(6);                  // DocTag | DocCommentContents | EOF | '(:' | ':)'
     switch (l1)
     {
-    case 31:                        // DocTag
-      shift(31);                    // DocTag
+    case 33:                        // DocTag
+      shift(33);                    // DocTag
       break;
-    case 32:                        // DocCommentContents
-      shift(32);                    // DocCommentContents
+    case 34:                        // DocCommentContents
+      shift(34);                    // DocCommentContents
       break;
-    case 52:                        // ':)'
-      shift(52);                    // ':)'
+    case 55:                        // ':)'
+      shift(55);                    // ':)'
       break;
-    case 41:                        // '(:'
-      shift(41);                    // '(:'
+    case 44:                        // '(:'
+      shift(44);                    // '(:'
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("CommentDoc", e0);
   };
@@ -847,26 +472,23 @@ exports.JSONiqLexer = function() {
   this.parse_QuotString = function()
   {
     eventHandler.startNonterminal("QuotString", e0);
-    lookahead1(6);                  // PredefinedEntityRef | EscapeQuot | QuotChar | CharRef | EOF | '"'
+    lookahead1(5);                  // JSONChar | JSONCharRef | JSONPredefinedCharRef | EOF | '"'
     switch (l1)
     {
-    case 18:                        // PredefinedEntityRef
-      shift(18);                    // PredefinedEntityRef
+    case 3:                         // JSONPredefinedCharRef
+      shift(3);                     // JSONPredefinedCharRef
       break;
-    case 29:                        // CharRef
-      shift(29);                    // CharRef
+    case 2:                         // JSONCharRef
+      shift(2);                     // JSONCharRef
       break;
-    case 19:                        // EscapeQuot
-      shift(19);                    // EscapeQuot
+    case 1:                         // JSONChar
+      shift(1);                     // JSONChar
       break;
-    case 21:                        // QuotChar
-      shift(21);                    // QuotChar
-      break;
-    case 35:                        // '"'
-      shift(35);                    // '"'
+    case 37:                        // '"'
+      shift(37);                    // '"'
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("QuotString", e0);
   };
@@ -877,23 +499,23 @@ exports.JSONiqLexer = function() {
     lookahead1(7);                  // PredefinedEntityRef | EscapeApos | AposChar | CharRef | EOF | "'"
     switch (l1)
     {
-    case 18:                        // PredefinedEntityRef
-      shift(18);                    // PredefinedEntityRef
+    case 21:                        // PredefinedEntityRef
+      shift(21);                    // PredefinedEntityRef
       break;
-    case 29:                        // CharRef
-      shift(29);                    // CharRef
+    case 31:                        // CharRef
+      shift(31);                    // CharRef
       break;
-    case 20:                        // EscapeApos
-      shift(20);                    // EscapeApos
+    case 23:                        // EscapeApos
+      shift(23);                    // EscapeApos
       break;
-    case 22:                        // AposChar
-      shift(22);                    // AposChar
+    case 24:                        // AposChar
+      shift(24);                    // AposChar
       break;
-    case 38:                        // "'"
-      shift(38);                    // "'"
+    case 41:                        // "'"
+      shift(41);                    // "'"
       break;
     default:
-      shift(33);                    // EOF
+      shift(35);                    // EOF
     }
     eventHandler.endNonterminal("AposString", e0);
   };
@@ -921,53 +543,53 @@ exports.JSONiqLexer = function() {
     eventHandler.startNonterminal("EQName", e0);
     switch (l1)
     {
-    case 77:                        // 'attribute'
-      shift(77);                    // 'attribute'
+    case 80:                        // 'attribute'
+      shift(80);                    // 'attribute'
       break;
-    case 91:                        // 'comment'
-      shift(91);                    // 'comment'
+    case 94:                        // 'comment'
+      shift(94);                    // 'comment'
       break;
-    case 115:                       // 'document-node'
-      shift(115);                   // 'document-node'
+    case 118:                       // 'document-node'
+      shift(118);                   // 'document-node'
       break;
-    case 116:                       // 'element'
-      shift(116);                   // 'element'
+    case 119:                       // 'element'
+      shift(119);                   // 'element'
       break;
-    case 119:                       // 'empty-sequence'
-      shift(119);                   // 'empty-sequence'
+    case 122:                       // 'empty-sequence'
+      shift(122);                   // 'empty-sequence'
       break;
-    case 140:                       // 'function'
-      shift(140);                   // 'function'
+    case 143:                       // 'function'
+      shift(143);                   // 'function'
       break;
-    case 147:                       // 'if'
-      shift(147);                   // 'if'
+    case 150:                       // 'if'
+      shift(150);                   // 'if'
       break;
-    case 160:                       // 'item'
-      shift(160);                   // 'item'
+    case 163:                       // 'item'
+      shift(163);                   // 'item'
       break;
-    case 180:                       // 'namespace-node'
-      shift(180);                   // 'namespace-node'
+    case 183:                       // 'namespace-node'
+      shift(183);                   // 'namespace-node'
       break;
-    case 186:                       // 'node'
-      shift(186);                   // 'node'
+    case 189:                       // 'node'
+      shift(189);                   // 'node'
       break;
-    case 211:                       // 'processing-instruction'
-      shift(211);                   // 'processing-instruction'
+    case 214:                       // 'processing-instruction'
+      shift(214);                   // 'processing-instruction'
       break;
-    case 221:                       // 'schema-attribute'
-      shift(221);                   // 'schema-attribute'
+    case 224:                       // 'schema-attribute'
+      shift(224);                   // 'schema-attribute'
       break;
-    case 222:                       // 'schema-element'
-      shift(222);                   // 'schema-element'
+    case 225:                       // 'schema-element'
+      shift(225);                   // 'schema-element'
       break;
-    case 238:                       // 'switch'
-      shift(238);                   // 'switch'
+    case 241:                       // 'switch'
+      shift(241);                   // 'switch'
       break;
-    case 239:                       // 'text'
-      shift(239);                   // 'text'
+    case 242:                       // 'text'
+      shift(242);                   // 'text'
       break;
-    case 248:                       // 'typeswitch'
-      shift(248);                   // 'typeswitch'
+    case 251:                       // 'typeswitch'
+      shift(251);                   // 'typeswitch'
       break;
     default:
       parse_FunctionName();
@@ -980,344 +602,344 @@ exports.JSONiqLexer = function() {
     eventHandler.startNonterminal("FunctionName", e0);
     switch (l1)
     {
-    case 14:                        // EQName^Token
-      shift(14);                    // EQName^Token
+    case 17:                        // EQName^Token
+      shift(17);                    // EQName^Token
       break;
-    case 65:                        // 'after'
-      shift(65);                    // 'after'
+    case 68:                        // 'after'
+      shift(68);                    // 'after'
       break;
-    case 68:                        // 'ancestor'
-      shift(68);                    // 'ancestor'
+    case 71:                        // 'ancestor'
+      shift(71);                    // 'ancestor'
       break;
-    case 69:                        // 'ancestor-or-self'
-      shift(69);                    // 'ancestor-or-self'
+    case 72:                        // 'ancestor-or-self'
+      shift(72);                    // 'ancestor-or-self'
       break;
-    case 70:                        // 'and'
-      shift(70);                    // 'and'
+    case 73:                        // 'and'
+      shift(73);                    // 'and'
       break;
-    case 74:                        // 'as'
-      shift(74);                    // 'as'
+    case 77:                        // 'as'
+      shift(77);                    // 'as'
       break;
-    case 75:                        // 'ascending'
-      shift(75);                    // 'ascending'
+    case 78:                        // 'ascending'
+      shift(78);                    // 'ascending'
       break;
-    case 79:                        // 'before'
-      shift(79);                    // 'before'
+    case 82:                        // 'before'
+      shift(82);                    // 'before'
       break;
-    case 83:                        // 'case'
-      shift(83);                    // 'case'
+    case 86:                        // 'case'
+      shift(86);                    // 'case'
       break;
-    case 84:                        // 'cast'
-      shift(84);                    // 'cast'
+    case 87:                        // 'cast'
+      shift(87);                    // 'cast'
       break;
-    case 85:                        // 'castable'
-      shift(85);                    // 'castable'
+    case 88:                        // 'castable'
+      shift(88);                    // 'castable'
       break;
-    case 88:                        // 'child'
-      shift(88);                    // 'child'
+    case 91:                        // 'child'
+      shift(91);                    // 'child'
       break;
-    case 89:                        // 'collation'
-      shift(89);                    // 'collation'
+    case 92:                        // 'collation'
+      shift(92);                    // 'collation'
       break;
-    case 98:                        // 'copy'
-      shift(98);                    // 'copy'
+    case 101:                       // 'copy'
+      shift(101);                   // 'copy'
       break;
-    case 100:                       // 'count'
-      shift(100);                   // 'count'
+    case 103:                       // 'count'
+      shift(103);                   // 'count'
       break;
-    case 103:                       // 'declare'
-      shift(103);                   // 'declare'
+    case 106:                       // 'declare'
+      shift(106);                   // 'declare'
       break;
-    case 104:                       // 'default'
-      shift(104);                   // 'default'
+    case 107:                       // 'default'
+      shift(107);                   // 'default'
       break;
-    case 105:                       // 'delete'
-      shift(105);                   // 'delete'
+    case 108:                       // 'delete'
+      shift(108);                   // 'delete'
       break;
-    case 106:                       // 'descendant'
-      shift(106);                   // 'descendant'
+    case 109:                       // 'descendant'
+      shift(109);                   // 'descendant'
       break;
-    case 107:                       // 'descendant-or-self'
-      shift(107);                   // 'descendant-or-self'
+    case 110:                       // 'descendant-or-self'
+      shift(110);                   // 'descendant-or-self'
       break;
-    case 108:                       // 'descending'
-      shift(108);                   // 'descending'
+    case 111:                       // 'descending'
+      shift(111);                   // 'descending'
       break;
-    case 113:                       // 'div'
-      shift(113);                   // 'div'
+    case 116:                       // 'div'
+      shift(116);                   // 'div'
       break;
-    case 114:                       // 'document'
-      shift(114);                   // 'document'
+    case 117:                       // 'document'
+      shift(117);                   // 'document'
       break;
-    case 117:                       // 'else'
-      shift(117);                   // 'else'
+    case 120:                       // 'else'
+      shift(120);                   // 'else'
       break;
-    case 118:                       // 'empty'
-      shift(118);                   // 'empty'
+    case 121:                       // 'empty'
+      shift(121);                   // 'empty'
       break;
-    case 121:                       // 'end'
-      shift(121);                   // 'end'
+    case 124:                       // 'end'
+      shift(124);                   // 'end'
       break;
-    case 123:                       // 'eq'
-      shift(123);                   // 'eq'
+    case 126:                       // 'eq'
+      shift(126);                   // 'eq'
       break;
-    case 124:                       // 'every'
-      shift(124);                   // 'every'
+    case 127:                       // 'every'
+      shift(127);                   // 'every'
       break;
-    case 126:                       // 'except'
-      shift(126);                   // 'except'
+    case 129:                       // 'except'
+      shift(129);                   // 'except'
       break;
-    case 129:                       // 'first'
-      shift(129);                   // 'first'
+    case 132:                       // 'first'
+      shift(132);                   // 'first'
       break;
-    case 130:                       // 'following'
-      shift(130);                   // 'following'
+    case 133:                       // 'following'
+      shift(133);                   // 'following'
       break;
-    case 131:                       // 'following-sibling'
-      shift(131);                   // 'following-sibling'
+    case 134:                       // 'following-sibling'
+      shift(134);                   // 'following-sibling'
       break;
-    case 132:                       // 'for'
-      shift(132);                   // 'for'
+    case 135:                       // 'for'
+      shift(135);                   // 'for'
       break;
-    case 141:                       // 'ge'
-      shift(141);                   // 'ge'
+    case 144:                       // 'ge'
+      shift(144);                   // 'ge'
       break;
-    case 143:                       // 'group'
-      shift(143);                   // 'group'
+    case 146:                       // 'group'
+      shift(146);                   // 'group'
       break;
-    case 145:                       // 'gt'
-      shift(145);                   // 'gt'
+    case 148:                       // 'gt'
+      shift(148);                   // 'gt'
       break;
-    case 146:                       // 'idiv'
-      shift(146);                   // 'idiv'
+    case 149:                       // 'idiv'
+      shift(149);                   // 'idiv'
       break;
-    case 148:                       // 'import'
-      shift(148);                   // 'import'
+    case 151:                       // 'import'
+      shift(151);                   // 'import'
       break;
-    case 154:                       // 'insert'
-      shift(154);                   // 'insert'
+    case 157:                       // 'insert'
+      shift(157);                   // 'insert'
       break;
-    case 155:                       // 'instance'
-      shift(155);                   // 'instance'
+    case 158:                       // 'instance'
+      shift(158);                   // 'instance'
       break;
-    case 157:                       // 'intersect'
-      shift(157);                   // 'intersect'
+    case 160:                       // 'intersect'
+      shift(160);                   // 'intersect'
       break;
-    case 158:                       // 'into'
-      shift(158);                   // 'into'
+    case 161:                       // 'into'
+      shift(161);                   // 'into'
       break;
-    case 159:                       // 'is'
-      shift(159);                   // 'is'
+    case 162:                       // 'is'
+      shift(162);                   // 'is'
       break;
-    case 165:                       // 'last'
-      shift(165);                   // 'last'
+    case 168:                       // 'last'
+      shift(168);                   // 'last'
       break;
-    case 167:                       // 'le'
-      shift(167);                   // 'le'
+    case 170:                       // 'le'
+      shift(170);                   // 'le'
       break;
-    case 169:                       // 'let'
-      shift(169);                   // 'let'
+    case 172:                       // 'let'
+      shift(172);                   // 'let'
       break;
-    case 173:                       // 'lt'
-      shift(173);                   // 'lt'
+    case 176:                       // 'lt'
+      shift(176);                   // 'lt'
       break;
-    case 175:                       // 'mod'
-      shift(175);                   // 'mod'
+    case 178:                       // 'mod'
+      shift(178);                   // 'mod'
       break;
-    case 176:                       // 'modify'
-      shift(176);                   // 'modify'
+    case 179:                       // 'modify'
+      shift(179);                   // 'modify'
       break;
-    case 177:                       // 'module'
-      shift(177);                   // 'module'
+    case 180:                       // 'module'
+      shift(180);                   // 'module'
       break;
-    case 179:                       // 'namespace'
-      shift(179);                   // 'namespace'
+    case 182:                       // 'namespace'
+      shift(182);                   // 'namespace'
       break;
-    case 181:                       // 'ne'
-      shift(181);                   // 'ne'
+    case 184:                       // 'ne'
+      shift(184);                   // 'ne'
       break;
-    case 193:                       // 'only'
-      shift(193);                   // 'only'
+    case 196:                       // 'only'
+      shift(196);                   // 'only'
       break;
-    case 195:                       // 'or'
-      shift(195);                   // 'or'
+    case 198:                       // 'or'
+      shift(198);                   // 'or'
       break;
-    case 196:                       // 'order'
-      shift(196);                   // 'order'
+    case 199:                       // 'order'
+      shift(199);                   // 'order'
       break;
-    case 197:                       // 'ordered'
-      shift(197);                   // 'ordered'
+    case 200:                       // 'ordered'
+      shift(200);                   // 'ordered'
       break;
-    case 201:                       // 'parent'
-      shift(201);                   // 'parent'
+    case 204:                       // 'parent'
+      shift(204);                   // 'parent'
       break;
-    case 207:                       // 'preceding'
-      shift(207);                   // 'preceding'
+    case 210:                       // 'preceding'
+      shift(210);                   // 'preceding'
       break;
-    case 208:                       // 'preceding-sibling'
-      shift(208);                   // 'preceding-sibling'
+    case 211:                       // 'preceding-sibling'
+      shift(211);                   // 'preceding-sibling'
       break;
-    case 213:                       // 'rename'
-      shift(213);                   // 'rename'
+    case 216:                       // 'rename'
+      shift(216);                   // 'rename'
       break;
-    case 214:                       // 'replace'
-      shift(214);                   // 'replace'
+    case 217:                       // 'replace'
+      shift(217);                   // 'replace'
       break;
-    case 215:                       // 'return'
-      shift(215);                   // 'return'
+    case 218:                       // 'return'
+      shift(218);                   // 'return'
       break;
-    case 219:                       // 'satisfies'
-      shift(219);                   // 'satisfies'
+    case 222:                       // 'satisfies'
+      shift(222);                   // 'satisfies'
       break;
-    case 224:                       // 'self'
-      shift(224);                   // 'self'
+    case 227:                       // 'self'
+      shift(227);                   // 'self'
       break;
-    case 230:                       // 'some'
-      shift(230);                   // 'some'
+    case 233:                       // 'some'
+      shift(233);                   // 'some'
       break;
-    case 231:                       // 'stable'
-      shift(231);                   // 'stable'
+    case 234:                       // 'stable'
+      shift(234);                   // 'stable'
       break;
-    case 232:                       // 'start'
-      shift(232);                   // 'start'
+    case 235:                       // 'start'
+      shift(235);                   // 'start'
       break;
-    case 243:                       // 'to'
-      shift(243);                   // 'to'
+    case 246:                       // 'to'
+      shift(246);                   // 'to'
       break;
-    case 244:                       // 'treat'
-      shift(244);                   // 'treat'
+    case 247:                       // 'treat'
+      shift(247);                   // 'treat'
       break;
-    case 245:                       // 'try'
-      shift(245);                   // 'try'
+    case 248:                       // 'try'
+      shift(248);                   // 'try'
       break;
-    case 249:                       // 'union'
-      shift(249);                   // 'union'
+    case 252:                       // 'union'
+      shift(252);                   // 'union'
       break;
-    case 251:                       // 'unordered'
-      shift(251);                   // 'unordered'
+    case 254:                       // 'unordered'
+      shift(254);                   // 'unordered'
       break;
-    case 255:                       // 'validate'
-      shift(255);                   // 'validate'
+    case 258:                       // 'validate'
+      shift(258);                   // 'validate'
       break;
-    case 261:                       // 'where'
-      shift(261);                   // 'where'
+    case 264:                       // 'where'
+      shift(264);                   // 'where'
       break;
-    case 265:                       // 'with'
-      shift(265);                   // 'with'
+    case 268:                       // 'with'
+      shift(268);                   // 'with'
       break;
-    case 269:                       // 'xquery'
-      shift(269);                   // 'xquery'
+    case 272:                       // 'xquery'
+      shift(272);                   // 'xquery'
       break;
-    case 67:                        // 'allowing'
-      shift(67);                    // 'allowing'
+    case 70:                        // 'allowing'
+      shift(70);                    // 'allowing'
       break;
-    case 76:                        // 'at'
-      shift(76);                    // 'at'
+    case 79:                        // 'at'
+      shift(79);                    // 'at'
       break;
-    case 78:                        // 'base-uri'
-      shift(78);                    // 'base-uri'
+    case 81:                        // 'base-uri'
+      shift(81);                    // 'base-uri'
       break;
-    case 80:                        // 'boundary-space'
-      shift(80);                    // 'boundary-space'
+    case 83:                        // 'boundary-space'
+      shift(83);                    // 'boundary-space'
       break;
-    case 81:                        // 'break'
-      shift(81);                    // 'break'
+    case 84:                        // 'break'
+      shift(84);                    // 'break'
       break;
-    case 86:                        // 'catch'
-      shift(86);                    // 'catch'
+    case 89:                        // 'catch'
+      shift(89);                    // 'catch'
       break;
-    case 93:                        // 'construction'
-      shift(93);                    // 'construction'
+    case 96:                        // 'construction'
+      shift(96);                    // 'construction'
       break;
-    case 96:                        // 'context'
-      shift(96);                    // 'context'
+    case 99:                        // 'context'
+      shift(99);                    // 'context'
       break;
-    case 97:                        // 'continue'
-      shift(97);                    // 'continue'
+    case 100:                       // 'continue'
+      shift(100);                   // 'continue'
       break;
-    case 99:                        // 'copy-namespaces'
-      shift(99);                    // 'copy-namespaces'
+    case 102:                       // 'copy-namespaces'
+      shift(102);                   // 'copy-namespaces'
       break;
-    case 101:                       // 'decimal-format'
-      shift(101);                   // 'decimal-format'
+    case 104:                       // 'decimal-format'
+      shift(104);                   // 'decimal-format'
       break;
-    case 120:                       // 'encoding'
-      shift(120);                   // 'encoding'
+    case 123:                       // 'encoding'
+      shift(123);                   // 'encoding'
       break;
-    case 127:                       // 'exit'
-      shift(127);                   // 'exit'
+    case 130:                       // 'exit'
+      shift(130);                   // 'exit'
       break;
-    case 128:                       // 'external'
-      shift(128);                   // 'external'
+    case 131:                       // 'external'
+      shift(131);                   // 'external'
       break;
-    case 136:                       // 'ft-option'
-      shift(136);                   // 'ft-option'
+    case 139:                       // 'ft-option'
+      shift(139);                   // 'ft-option'
       break;
-    case 149:                       // 'in'
-      shift(149);                   // 'in'
+    case 152:                       // 'in'
+      shift(152);                   // 'in'
       break;
-    case 150:                       // 'index'
-      shift(150);                   // 'index'
+    case 153:                       // 'index'
+      shift(153);                   // 'index'
       break;
-    case 156:                       // 'integrity'
-      shift(156);                   // 'integrity'
+    case 159:                       // 'integrity'
+      shift(159);                   // 'integrity'
       break;
-    case 166:                       // 'lax'
-      shift(166);                   // 'lax'
+    case 169:                       // 'lax'
+      shift(169);                   // 'lax'
       break;
-    case 187:                       // 'nodes'
-      shift(187);                   // 'nodes'
+    case 190:                       // 'nodes'
+      shift(190);                   // 'nodes'
       break;
-    case 194:                       // 'option'
-      shift(194);                   // 'option'
+    case 197:                       // 'option'
+      shift(197);                   // 'option'
       break;
-    case 198:                       // 'ordering'
-      shift(198);                   // 'ordering'
+    case 201:                       // 'ordering'
+      shift(201);                   // 'ordering'
       break;
-    case 217:                       // 'revalidation'
-      shift(217);                   // 'revalidation'
+    case 220:                       // 'revalidation'
+      shift(220);                   // 'revalidation'
       break;
-    case 220:                       // 'schema'
-      shift(220);                   // 'schema'
+    case 223:                       // 'schema'
+      shift(223);                   // 'schema'
       break;
-    case 223:                       // 'score'
-      shift(223);                   // 'score'
+    case 226:                       // 'score'
+      shift(226);                   // 'score'
       break;
-    case 229:                       // 'sliding'
-      shift(229);                   // 'sliding'
+    case 232:                       // 'sliding'
+      shift(232);                   // 'sliding'
       break;
-    case 235:                       // 'strict'
-      shift(235);                   // 'strict'
+    case 238:                       // 'strict'
+      shift(238);                   // 'strict'
       break;
-    case 246:                       // 'tumbling'
-      shift(246);                   // 'tumbling'
+    case 249:                       // 'tumbling'
+      shift(249);                   // 'tumbling'
       break;
-    case 247:                       // 'type'
-      shift(247);                   // 'type'
+    case 250:                       // 'type'
+      shift(250);                   // 'type'
       break;
-    case 252:                       // 'updating'
-      shift(252);                   // 'updating'
+    case 255:                       // 'updating'
+      shift(255);                   // 'updating'
       break;
-    case 256:                       // 'value'
-      shift(256);                   // 'value'
+    case 259:                       // 'value'
+      shift(259);                   // 'value'
       break;
-    case 257:                       // 'variable'
-      shift(257);                   // 'variable'
+    case 260:                       // 'variable'
+      shift(260);                   // 'variable'
       break;
-    case 258:                       // 'version'
-      shift(258);                   // 'version'
+    case 261:                       // 'version'
+      shift(261);                   // 'version'
       break;
-    case 262:                       // 'while'
-      shift(262);                   // 'while'
+    case 265:                       // 'while'
+      shift(265);                   // 'while'
       break;
-    case 92:                        // 'constraint'
-      shift(92);                    // 'constraint'
+    case 95:                        // 'constraint'
+      shift(95);                    // 'constraint'
       break;
-    case 171:                       // 'loop'
-      shift(171);                   // 'loop'
+    case 174:                       // 'loop'
+      shift(174);                   // 'loop'
       break;
     default:
-      shift(216);                   // 'returning'
+      shift(219);                   // 'returning'
     }
     eventHandler.endNonterminal("FunctionName", e0);
   }
@@ -1327,392 +949,392 @@ exports.JSONiqLexer = function() {
     eventHandler.startNonterminal("NCName", e0);
     switch (l1)
     {
-    case 26:                        // NCName^Token
-      shift(26);                    // NCName^Token
+    case 28:                        // NCName^Token
+      shift(28);                    // NCName^Token
       break;
-    case 65:                        // 'after'
-      shift(65);                    // 'after'
+    case 68:                        // 'after'
+      shift(68);                    // 'after'
       break;
-    case 70:                        // 'and'
-      shift(70);                    // 'and'
+    case 73:                        // 'and'
+      shift(73);                    // 'and'
       break;
-    case 74:                        // 'as'
-      shift(74);                    // 'as'
+    case 77:                        // 'as'
+      shift(77);                    // 'as'
       break;
-    case 75:                        // 'ascending'
-      shift(75);                    // 'ascending'
+    case 78:                        // 'ascending'
+      shift(78);                    // 'ascending'
       break;
-    case 79:                        // 'before'
-      shift(79);                    // 'before'
+    case 82:                        // 'before'
+      shift(82);                    // 'before'
       break;
-    case 83:                        // 'case'
-      shift(83);                    // 'case'
+    case 86:                        // 'case'
+      shift(86);                    // 'case'
       break;
-    case 84:                        // 'cast'
-      shift(84);                    // 'cast'
+    case 87:                        // 'cast'
+      shift(87);                    // 'cast'
       break;
-    case 85:                        // 'castable'
-      shift(85);                    // 'castable'
+    case 88:                        // 'castable'
+      shift(88);                    // 'castable'
       break;
-    case 89:                        // 'collation'
-      shift(89);                    // 'collation'
+    case 92:                        // 'collation'
+      shift(92);                    // 'collation'
       break;
-    case 100:                       // 'count'
-      shift(100);                   // 'count'
+    case 103:                       // 'count'
+      shift(103);                   // 'count'
       break;
-    case 104:                       // 'default'
-      shift(104);                   // 'default'
+    case 107:                       // 'default'
+      shift(107);                   // 'default'
       break;
-    case 108:                       // 'descending'
-      shift(108);                   // 'descending'
+    case 111:                       // 'descending'
+      shift(111);                   // 'descending'
       break;
-    case 113:                       // 'div'
-      shift(113);                   // 'div'
+    case 116:                       // 'div'
+      shift(116);                   // 'div'
       break;
-    case 117:                       // 'else'
-      shift(117);                   // 'else'
+    case 120:                       // 'else'
+      shift(120);                   // 'else'
       break;
-    case 118:                       // 'empty'
-      shift(118);                   // 'empty'
+    case 121:                       // 'empty'
+      shift(121);                   // 'empty'
       break;
-    case 121:                       // 'end'
-      shift(121);                   // 'end'
+    case 124:                       // 'end'
+      shift(124);                   // 'end'
       break;
-    case 123:                       // 'eq'
-      shift(123);                   // 'eq'
+    case 126:                       // 'eq'
+      shift(126);                   // 'eq'
       break;
-    case 126:                       // 'except'
-      shift(126);                   // 'except'
+    case 129:                       // 'except'
+      shift(129);                   // 'except'
       break;
-    case 132:                       // 'for'
-      shift(132);                   // 'for'
+    case 135:                       // 'for'
+      shift(135);                   // 'for'
       break;
-    case 141:                       // 'ge'
-      shift(141);                   // 'ge'
+    case 144:                       // 'ge'
+      shift(144);                   // 'ge'
       break;
-    case 143:                       // 'group'
-      shift(143);                   // 'group'
+    case 146:                       // 'group'
+      shift(146);                   // 'group'
       break;
-    case 145:                       // 'gt'
-      shift(145);                   // 'gt'
+    case 148:                       // 'gt'
+      shift(148);                   // 'gt'
       break;
-    case 146:                       // 'idiv'
-      shift(146);                   // 'idiv'
+    case 149:                       // 'idiv'
+      shift(149);                   // 'idiv'
       break;
-    case 155:                       // 'instance'
-      shift(155);                   // 'instance'
+    case 158:                       // 'instance'
+      shift(158);                   // 'instance'
       break;
-    case 157:                       // 'intersect'
-      shift(157);                   // 'intersect'
+    case 160:                       // 'intersect'
+      shift(160);                   // 'intersect'
       break;
-    case 158:                       // 'into'
-      shift(158);                   // 'into'
+    case 161:                       // 'into'
+      shift(161);                   // 'into'
       break;
-    case 159:                       // 'is'
-      shift(159);                   // 'is'
+    case 162:                       // 'is'
+      shift(162);                   // 'is'
       break;
-    case 167:                       // 'le'
-      shift(167);                   // 'le'
+    case 170:                       // 'le'
+      shift(170);                   // 'le'
       break;
-    case 169:                       // 'let'
-      shift(169);                   // 'let'
+    case 172:                       // 'let'
+      shift(172);                   // 'let'
       break;
-    case 173:                       // 'lt'
-      shift(173);                   // 'lt'
+    case 176:                       // 'lt'
+      shift(176);                   // 'lt'
       break;
-    case 175:                       // 'mod'
-      shift(175);                   // 'mod'
+    case 178:                       // 'mod'
+      shift(178);                   // 'mod'
       break;
-    case 176:                       // 'modify'
-      shift(176);                   // 'modify'
+    case 179:                       // 'modify'
+      shift(179);                   // 'modify'
       break;
-    case 181:                       // 'ne'
-      shift(181);                   // 'ne'
+    case 184:                       // 'ne'
+      shift(184);                   // 'ne'
       break;
-    case 193:                       // 'only'
-      shift(193);                   // 'only'
+    case 196:                       // 'only'
+      shift(196);                   // 'only'
       break;
-    case 195:                       // 'or'
-      shift(195);                   // 'or'
+    case 198:                       // 'or'
+      shift(198);                   // 'or'
       break;
-    case 196:                       // 'order'
-      shift(196);                   // 'order'
+    case 199:                       // 'order'
+      shift(199);                   // 'order'
       break;
-    case 215:                       // 'return'
-      shift(215);                   // 'return'
+    case 218:                       // 'return'
+      shift(218);                   // 'return'
       break;
-    case 219:                       // 'satisfies'
-      shift(219);                   // 'satisfies'
+    case 222:                       // 'satisfies'
+      shift(222);                   // 'satisfies'
       break;
-    case 231:                       // 'stable'
-      shift(231);                   // 'stable'
+    case 234:                       // 'stable'
+      shift(234);                   // 'stable'
       break;
-    case 232:                       // 'start'
-      shift(232);                   // 'start'
+    case 235:                       // 'start'
+      shift(235);                   // 'start'
       break;
-    case 243:                       // 'to'
-      shift(243);                   // 'to'
+    case 246:                       // 'to'
+      shift(246);                   // 'to'
       break;
-    case 244:                       // 'treat'
-      shift(244);                   // 'treat'
+    case 247:                       // 'treat'
+      shift(247);                   // 'treat'
       break;
-    case 249:                       // 'union'
-      shift(249);                   // 'union'
+    case 252:                       // 'union'
+      shift(252);                   // 'union'
       break;
-    case 261:                       // 'where'
-      shift(261);                   // 'where'
+    case 264:                       // 'where'
+      shift(264);                   // 'where'
       break;
-    case 265:                       // 'with'
-      shift(265);                   // 'with'
+    case 268:                       // 'with'
+      shift(268);                   // 'with'
       break;
-    case 68:                        // 'ancestor'
-      shift(68);                    // 'ancestor'
+    case 71:                        // 'ancestor'
+      shift(71);                    // 'ancestor'
       break;
-    case 69:                        // 'ancestor-or-self'
-      shift(69);                    // 'ancestor-or-self'
+    case 72:                        // 'ancestor-or-self'
+      shift(72);                    // 'ancestor-or-self'
       break;
-    case 77:                        // 'attribute'
-      shift(77);                    // 'attribute'
+    case 80:                        // 'attribute'
+      shift(80);                    // 'attribute'
       break;
-    case 88:                        // 'child'
-      shift(88);                    // 'child'
+    case 91:                        // 'child'
+      shift(91);                    // 'child'
       break;
-    case 91:                        // 'comment'
-      shift(91);                    // 'comment'
+    case 94:                        // 'comment'
+      shift(94);                    // 'comment'
       break;
-    case 98:                        // 'copy'
-      shift(98);                    // 'copy'
+    case 101:                       // 'copy'
+      shift(101);                   // 'copy'
       break;
-    case 103:                       // 'declare'
-      shift(103);                   // 'declare'
+    case 106:                       // 'declare'
+      shift(106);                   // 'declare'
       break;
-    case 105:                       // 'delete'
-      shift(105);                   // 'delete'
+    case 108:                       // 'delete'
+      shift(108);                   // 'delete'
       break;
-    case 106:                       // 'descendant'
-      shift(106);                   // 'descendant'
+    case 109:                       // 'descendant'
+      shift(109);                   // 'descendant'
       break;
-    case 107:                       // 'descendant-or-self'
-      shift(107);                   // 'descendant-or-self'
+    case 110:                       // 'descendant-or-self'
+      shift(110);                   // 'descendant-or-self'
       break;
-    case 114:                       // 'document'
-      shift(114);                   // 'document'
+    case 117:                       // 'document'
+      shift(117);                   // 'document'
       break;
-    case 115:                       // 'document-node'
-      shift(115);                   // 'document-node'
+    case 118:                       // 'document-node'
+      shift(118);                   // 'document-node'
       break;
-    case 116:                       // 'element'
-      shift(116);                   // 'element'
+    case 119:                       // 'element'
+      shift(119);                   // 'element'
       break;
-    case 119:                       // 'empty-sequence'
-      shift(119);                   // 'empty-sequence'
+    case 122:                       // 'empty-sequence'
+      shift(122);                   // 'empty-sequence'
       break;
-    case 124:                       // 'every'
-      shift(124);                   // 'every'
+    case 127:                       // 'every'
+      shift(127);                   // 'every'
       break;
-    case 129:                       // 'first'
-      shift(129);                   // 'first'
+    case 132:                       // 'first'
+      shift(132);                   // 'first'
       break;
-    case 130:                       // 'following'
-      shift(130);                   // 'following'
+    case 133:                       // 'following'
+      shift(133);                   // 'following'
       break;
-    case 131:                       // 'following-sibling'
-      shift(131);                   // 'following-sibling'
+    case 134:                       // 'following-sibling'
+      shift(134);                   // 'following-sibling'
       break;
-    case 140:                       // 'function'
-      shift(140);                   // 'function'
+    case 143:                       // 'function'
+      shift(143);                   // 'function'
       break;
-    case 147:                       // 'if'
-      shift(147);                   // 'if'
+    case 150:                       // 'if'
+      shift(150);                   // 'if'
       break;
-    case 148:                       // 'import'
-      shift(148);                   // 'import'
+    case 151:                       // 'import'
+      shift(151);                   // 'import'
       break;
-    case 154:                       // 'insert'
-      shift(154);                   // 'insert'
+    case 157:                       // 'insert'
+      shift(157);                   // 'insert'
       break;
-    case 160:                       // 'item'
-      shift(160);                   // 'item'
+    case 163:                       // 'item'
+      shift(163);                   // 'item'
       break;
-    case 165:                       // 'last'
-      shift(165);                   // 'last'
+    case 168:                       // 'last'
+      shift(168);                   // 'last'
       break;
-    case 177:                       // 'module'
-      shift(177);                   // 'module'
+    case 180:                       // 'module'
+      shift(180);                   // 'module'
       break;
-    case 179:                       // 'namespace'
-      shift(179);                   // 'namespace'
+    case 182:                       // 'namespace'
+      shift(182);                   // 'namespace'
       break;
-    case 180:                       // 'namespace-node'
-      shift(180);                   // 'namespace-node'
+    case 183:                       // 'namespace-node'
+      shift(183);                   // 'namespace-node'
       break;
-    case 186:                       // 'node'
-      shift(186);                   // 'node'
+    case 189:                       // 'node'
+      shift(189);                   // 'node'
       break;
-    case 197:                       // 'ordered'
-      shift(197);                   // 'ordered'
+    case 200:                       // 'ordered'
+      shift(200);                   // 'ordered'
       break;
-    case 201:                       // 'parent'
-      shift(201);                   // 'parent'
+    case 204:                       // 'parent'
+      shift(204);                   // 'parent'
       break;
-    case 207:                       // 'preceding'
-      shift(207);                   // 'preceding'
+    case 210:                       // 'preceding'
+      shift(210);                   // 'preceding'
       break;
-    case 208:                       // 'preceding-sibling'
-      shift(208);                   // 'preceding-sibling'
+    case 211:                       // 'preceding-sibling'
+      shift(211);                   // 'preceding-sibling'
       break;
-    case 211:                       // 'processing-instruction'
-      shift(211);                   // 'processing-instruction'
+    case 214:                       // 'processing-instruction'
+      shift(214);                   // 'processing-instruction'
       break;
-    case 213:                       // 'rename'
-      shift(213);                   // 'rename'
+    case 216:                       // 'rename'
+      shift(216);                   // 'rename'
       break;
-    case 214:                       // 'replace'
-      shift(214);                   // 'replace'
+    case 217:                       // 'replace'
+      shift(217);                   // 'replace'
       break;
-    case 221:                       // 'schema-attribute'
-      shift(221);                   // 'schema-attribute'
+    case 224:                       // 'schema-attribute'
+      shift(224);                   // 'schema-attribute'
       break;
-    case 222:                       // 'schema-element'
-      shift(222);                   // 'schema-element'
+    case 225:                       // 'schema-element'
+      shift(225);                   // 'schema-element'
       break;
-    case 224:                       // 'self'
-      shift(224);                   // 'self'
+    case 227:                       // 'self'
+      shift(227);                   // 'self'
       break;
-    case 230:                       // 'some'
-      shift(230);                   // 'some'
+    case 233:                       // 'some'
+      shift(233);                   // 'some'
       break;
-    case 238:                       // 'switch'
-      shift(238);                   // 'switch'
+    case 241:                       // 'switch'
+      shift(241);                   // 'switch'
       break;
-    case 239:                       // 'text'
-      shift(239);                   // 'text'
+    case 242:                       // 'text'
+      shift(242);                   // 'text'
       break;
-    case 245:                       // 'try'
-      shift(245);                   // 'try'
+    case 248:                       // 'try'
+      shift(248);                   // 'try'
       break;
-    case 248:                       // 'typeswitch'
-      shift(248);                   // 'typeswitch'
+    case 251:                       // 'typeswitch'
+      shift(251);                   // 'typeswitch'
       break;
-    case 251:                       // 'unordered'
-      shift(251);                   // 'unordered'
+    case 254:                       // 'unordered'
+      shift(254);                   // 'unordered'
       break;
-    case 255:                       // 'validate'
-      shift(255);                   // 'validate'
+    case 258:                       // 'validate'
+      shift(258);                   // 'validate'
       break;
-    case 257:                       // 'variable'
-      shift(257);                   // 'variable'
+    case 260:                       // 'variable'
+      shift(260);                   // 'variable'
       break;
-    case 269:                       // 'xquery'
-      shift(269);                   // 'xquery'
+    case 272:                       // 'xquery'
+      shift(272); 

<TRUNCATED>