diff --git a/lib/ace/mode/xquery/xqlint.js b/lib/ace/mode/xquery/xqlint.js index 78134267..797e0edb 100644 --- a/lib/ace/mode/xquery/xqlint.js +++ b/lib/ace/mode/xquery/xqlint.js @@ -988,8 +988,6 @@ var TreeOps = _dereq_('../tree_ops').TreeOps; var ID_REGEX = /[a-zA-Z_0-9\$]/; function retrievePrecedingIdentifier(text, pos, regex) { - console.log(text); - console.log(pos); regex = regex || ID_REGEX; var buf = []; for (var i = pos-1; i >= 0; i--) { @@ -1041,6 +1039,24 @@ var nameChar = '[' + char + ']'; var nameCharRegExp = new RegExp(nameChar); //var varCharRegExp = new RegExp(varChar); +var varDeclLabels = { + 'LetBinding': 'Let binding', + 'Param': 'Function parameter', + 'QuantifiedExpr': 'Quantified expression binding', + 'VarDeclStatement': 'Local variable', + 'ForBinding': 'For binding', + 'TumblingWindowClause': 'Tumbling window binding', + 'WindowVars': 'Window variable', + 'SlidingWindowClause': 'Sliding window binding', + 'PositionalVar': 'Positional variable', + 'CurrentItem': 'Current item', + 'PreviousItem': 'Previous item', + 'NextItem': 'Next item', + 'CountClause': 'Count binding', + 'GroupingVariable': 'Grouping variable', + 'VarDecl': 'Module variable' +}; + var findCompletions = function(prefix, allIdentifiers) { allIdentifiers.sort(); var startIdx = prefixBinarySearch(allIdentifiers, prefix); @@ -1066,7 +1082,6 @@ var completePrefix = function(identifier, pos, sctx){ var match = function(name) { return { name: name + ':', - score: 8, value: name + ':' }; }; @@ -1105,7 +1120,6 @@ var completeFunction = function(identifier, pos, sctx){ var match = function(name) { return { name: name, - score: 4, value: name }; }; @@ -1123,14 +1137,17 @@ var completeVariable = function(identifier, pos, sctx){ } var decls = sctx.getVariables(); var names = []; + var types = {}; Object.keys(decls).forEach(function(key){ var i = key.indexOf('#'); var ns = key.substring(0, i); var name = key.substring(i+1); if(ns !== ''){ names.push(sctx.getPrefixByNamespace(ns) + ':' + name); + types[sctx.getPrefixByNamespace(ns) + ':' + name] = decls[key].type; } else { names.push(name); + types[name] = decls[key].type; } }); @@ -1138,17 +1155,14 @@ var completeVariable = function(identifier, pos, sctx){ var match = function(name) { return { name: '$' + name, - score: 4, - value: '$' + name + value: '$' + name, + meta: varDeclLabels[types[name]] }; }; return matches.map(match); }; var completeExpr = function(line, pos, sctx){ - console.log('line'); - console.log(line); - console.log('='); var identifier = retrievePrecedingIdentifier(line, pos.col, nameCharRegExp); var before = line.substring(0, pos.col - (identifier.length === 0 ? 0 : identifier.length)); var isVar = before[before.length - 1] === '$'; @@ -1478,77055 +1492,77055 @@ exports.JSONParseTreeHandler = function (code) { } }; },{}],8:[function(_dereq_,module,exports){ -// This file was generated on Mon Mar 24, 2014 11:18 (UTC+01) by REx v5.30 which is Copyright (c) 1979-2014 by Gunther Rademacher -// REx command line: JSONiqParser.ebnf -ll 2 -backtrack -tree -javascript -a xqlint - - // line 2 "JSONiqParser.ebnf" - var JSONiqParser = exports.JSONiqParser = function JSONiqParser(string, parsingEventHandler) - { - init(string, parsingEventHandler); - // line 9 "JSONiqParser.js" - var self = this; - - this.ParseException = function(b, e, s, o, x) - { - var - begin = b, - end = e, - state = s, - offending = o, - expected = x; - - this.getBegin = function() {return begin;}; - this.getEnd = function() {return end;}; - this.getState = function() {return state;}; - this.getExpected = function() {return expected;}; - this.getOffending = function() {return offending;}; - - this.getMessage = function() - { - return offending < 0 ? "lexical analysis failed" : "syntax error"; - }; - }; - - function init(string, parsingEventHandler) - { - eventHandler = parsingEventHandler; - input = string; - size = string.length; - reset(0, 0, 0); - } - - this.getInput = function() - { - return input; - }; - - function reset(l, b, e) - { - b0 = b; e0 = b; - l1 = l; b1 = b; e1 = e; - l2 = 0; - end = e; - ex = -1; - memo = {}; - eventHandler.reset(input); - } - - this.getOffendingToken = function(e) - { - var o = e.getOffending(); - return o >= 0 ? JSONiqParser.TOKEN[o] : null; - }; - - this.getExpectedTokenSet = function(e) - { - var expected; - if (e.getExpected() < 0) - { - expected = JSONiqParser.getTokenSet(- e.getState()); - } - else - { - expected = [JSONiqParser.TOKEN[e.getExpected()]]; - } - return expected; - }; - - this.getErrorMessage = function(e) - { - var tokenSet = this.getExpectedTokenSet(e); - var found = this.getOffendingToken(e); - var prefix = input.substring(0, e.getBegin()); - var lines = prefix.split("\n"); - var line = lines.length; - var column = lines[line - 1].length + 1; - var size = e.getEnd() - e.getBegin(); - return e.getMessage() - + (found == null ? "" : ", found " + found) - + "\nwhile expecting " - + (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]")) - + "\n" - + (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ") - + "at line " + line + ", column " + column + ":\n..." - + input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64)) - + "..."; - }; - - this.parse_XQuery = function() - { - eventHandler.startNonterminal("XQuery", e0); - lookahead1W(279); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | - // S^WS | EOF | '$' | '$$' | '%' | '(' | '(#' | '(:' | '+' | '-' | '/' | '//' | - // ';' | '<' | '' - shift(44); // '-->' - eventHandler.endNonterminal("DirCommentConstructor", e0); - } - - function try_DirCommentConstructor() - { - shiftT(56); // '' - shiftT(44); // '-->' - } - - function parse_DirPIConstructor() - { - eventHandler.startNonterminal("DirPIConstructor", e0); - shift(60); // '' - if (l1 == 21) // S - { - shift(21); // S - lookahead1(2); // DirPIContents - shift(3); // DirPIContents - } - lookahead1(9); // '?>' - shift(66); // '?>' - eventHandler.endNonterminal("DirPIConstructor", e0); - } - - function try_DirPIConstructor() - { - shiftT(60); // '' - if (l1 == 21) // S - { - shiftT(21); // S - lookahead1(2); // DirPIContents - shiftT(3); // DirPIContents - } - lookahead1(9); // '?>' - shiftT(66); // '?>' - } - - function parse_ComputedConstructor() - { - eventHandler.startNonterminal("ComputedConstructor", e0); - switch (l1) - { - case 120: // 'document' - parse_CompDocConstructor(); - break; - case 122: // 'element' - parse_CompElemConstructor(); - break; - case 83: // 'attribute' - parse_CompAttrConstructor(); - break; - case 187: // 'namespace' - parse_CompNamespaceConstructor(); - break; - case 249: // 'text' - parse_CompTextConstructor(); - break; - case 97: // 'comment' - parse_CompCommentConstructor(); - break; - default: - parse_CompPIConstructor(); - } - eventHandler.endNonterminal("ComputedConstructor", e0); - } - - function try_ComputedConstructor() - { - switch (l1) - { - case 120: // 'document' - try_CompDocConstructor(); - break; - case 122: // 'element' - try_CompElemConstructor(); - break; - case 83: // 'attribute' - try_CompAttrConstructor(); - break; - case 187: // 'namespace' - try_CompNamespaceConstructor(); - break; - case 249: // 'text' - try_CompTextConstructor(); - break; - case 97: // 'comment' - try_CompCommentConstructor(); - break; - default: - try_CompPIConstructor(); - } - } - - function parse_CompElemConstructor() - { - eventHandler.startNonterminal("CompElemConstructor", e0); - shift(122); // 'element' - lookahead1W(251); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' | - // 'ancestor-or-self' | 'and' | 'append' | 'array' | 'as' | 'ascending' | 'at' | - // 'attribute' | 'base-uri' | 'before' | 'boundary-space' | 'break' | 'case' | - // 'cast' | 'castable' | 'catch' | 'child' | 'collation' | 'comment' | - // 'constraint' | 'construction' | 'context' | 'continue' | 'copy' | - // 'copy-namespaces' | 'count' | 'decimal-format' | 'declare' | 'default' | - // 'delete' | 'descendant' | 'descendant-or-self' | 'descending' | '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' | 'group' | 'gt' | 'idiv' | 'if' | 'import' | 'in' | 'index' | - // 'insert' | 'instance' | 'integrity' | 'intersect' | 'into' | 'is' | 'item' | - // 'json' | 'json-item' | 'jsoniq' | 'last' | 'lax' | 'le' | 'let' | 'loop' | 'lt' | - // 'mod' | 'modify' | 'module' | 'namespace' | 'namespace-node' | 'ne' | 'node' | - // 'nodes' | 'null' | 'object' | 'only' | 'option' | 'or' | 'order' | 'ordered' | - // 'ordering' | 'parent' | 'preceding' | 'preceding-sibling' | - // 'processing-instruction' | 'rename' | 'replace' | 'return' | 'returning' | - // 'revalidation' | 'satisfies' | 'schema' | 'schema-attribute' | 'schema-element' | - // 'score' | 'select' | 'self' | 'sliding' | 'some' | 'stable' | 'start' | - // 'strict' | 'structured-item' | 'switch' | 'text' | 'to' | 'treat' | 'true' | - // 'try' | 'tumbling' | 'type' | 'typeswitch' | 'union' | 'unordered' | 'updating' | - // 'validate' | 'value' | 'variable' | 'version' | 'where' | 'while' | 'with' | '{' - switch (l1) - { - case 281: // '{' - shift(281); // '{' - lookahead1W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | - // S^WS | '$' | '$$' | '%' | '(' | '(#' | '(:' | '+' | '-' | '/' | '//' | '<' | - // ''", - "'.'", - "'..'", - "'/'", - "'//'", - "'/>'", - "':'", - "':)'", - "'::'", - "':='", - "';'", - "'<'", - "'' + shift(44); // '-->' + eventHandler.endNonterminal("DirCommentConstructor", e0); + } + + function try_DirCommentConstructor() + { + shiftT(56); // '' + shiftT(44); // '-->' + } + + function parse_DirPIConstructor() + { + eventHandler.startNonterminal("DirPIConstructor", e0); + shift(60); // '' + if (l1 == 21) // S + { + shift(21); // S + lookahead1(2); // DirPIContents + shift(3); // DirPIContents + } + lookahead1(9); // '?>' + shift(66); // '?>' + eventHandler.endNonterminal("DirPIConstructor", e0); + } + + function try_DirPIConstructor() + { + shiftT(60); // '' + if (l1 == 21) // S + { + shiftT(21); // S + lookahead1(2); // DirPIContents + shiftT(3); // DirPIContents + } + lookahead1(9); // '?>' + shiftT(66); // '?>' + } + + function parse_ComputedConstructor() + { + eventHandler.startNonterminal("ComputedConstructor", e0); + switch (l1) + { + case 120: // 'document' + parse_CompDocConstructor(); + break; + case 122: // 'element' + parse_CompElemConstructor(); + break; + case 83: // 'attribute' + parse_CompAttrConstructor(); + break; + case 187: // 'namespace' + parse_CompNamespaceConstructor(); + break; + case 249: // 'text' + parse_CompTextConstructor(); + break; + case 97: // 'comment' + parse_CompCommentConstructor(); + break; + default: + parse_CompPIConstructor(); + } + eventHandler.endNonterminal("ComputedConstructor", e0); + } + + function try_ComputedConstructor() + { + switch (l1) + { + case 120: // 'document' + try_CompDocConstructor(); + break; + case 122: // 'element' + try_CompElemConstructor(); + break; + case 83: // 'attribute' + try_CompAttrConstructor(); + break; + case 187: // 'namespace' + try_CompNamespaceConstructor(); + break; + case 249: // 'text' + try_CompTextConstructor(); + break; + case 97: // 'comment' + try_CompCommentConstructor(); + break; + default: + try_CompPIConstructor(); + } + } + + function parse_CompElemConstructor() + { + eventHandler.startNonterminal("CompElemConstructor", e0); + shift(122); // 'element' + lookahead1W(251); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' | + // 'ancestor-or-self' | 'and' | 'append' | 'array' | 'as' | 'ascending' | 'at' | + // 'attribute' | 'base-uri' | 'before' | 'boundary-space' | 'break' | 'case' | + // 'cast' | 'castable' | 'catch' | 'child' | 'collation' | 'comment' | + // 'constraint' | 'construction' | 'context' | 'continue' | 'copy' | + // 'copy-namespaces' | 'count' | 'decimal-format' | 'declare' | 'default' | + // 'delete' | 'descendant' | 'descendant-or-self' | 'descending' | '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' | 'group' | 'gt' | 'idiv' | 'if' | 'import' | 'in' | 'index' | + // 'insert' | 'instance' | 'integrity' | 'intersect' | 'into' | 'is' | 'item' | + // 'json' | 'json-item' | 'jsoniq' | 'last' | 'lax' | 'le' | 'let' | 'loop' | 'lt' | + // 'mod' | 'modify' | 'module' | 'namespace' | 'namespace-node' | 'ne' | 'node' | + // 'nodes' | 'null' | 'object' | 'only' | 'option' | 'or' | 'order' | 'ordered' | + // 'ordering' | 'parent' | 'preceding' | 'preceding-sibling' | + // 'processing-instruction' | 'rename' | 'replace' | 'return' | 'returning' | + // 'revalidation' | 'satisfies' | 'schema' | 'schema-attribute' | 'schema-element' | + // 'score' | 'select' | 'self' | 'sliding' | 'some' | 'stable' | 'start' | + // 'strict' | 'structured-item' | 'switch' | 'text' | 'to' | 'treat' | 'true' | + // 'try' | 'tumbling' | 'type' | 'typeswitch' | 'union' | 'unordered' | 'updating' | + // 'validate' | 'value' | 'variable' | 'version' | 'where' | 'while' | 'with' | '{' + switch (l1) + { + case 281: // '{' + shift(281); // '{' + lookahead1W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | + // S^WS | '$' | '$$' | '%' | '(' | '(#' | '(:' | '+' | '-' | '/' | '//' | '<' | + // ''", + "'.'", + "'..'", + "'/'", + "'//'", + "'/>'", + "':'", + "':)'", + "'::'", + "':='", + "';'", + "'<'", + "'' - shift(43); // '-->' - eventHandler.endNonterminal("DirCommentConstructor", e0); - } - - function try_DirCommentConstructor() - { - shiftT(55); // '' - shiftT(43); // '-->' - } - - function parse_DirPIConstructor() - { - eventHandler.startNonterminal("DirPIConstructor", e0); - shift(59); // '' - if (l1 == 21) // S - { - shift(21); // S - lookahead1(2); // DirPIContents - shift(3); // DirPIContents - } - lookahead1(9); // '?>' - shift(65); // '?>' - eventHandler.endNonterminal("DirPIConstructor", e0); - } - - function try_DirPIConstructor() - { - shiftT(59); // '' - if (l1 == 21) // S - { - shiftT(21); // S - lookahead1(2); // DirPIContents - shiftT(3); // DirPIContents - } - lookahead1(9); // '?>' - shiftT(65); // '?>' - } - - function parse_ComputedConstructor() - { - eventHandler.startNonterminal("ComputedConstructor", e0); - switch (l1) - { - case 119: // 'document' - parse_CompDocConstructor(); - break; - case 121: // 'element' - parse_CompElemConstructor(); - break; - case 82: // 'attribute' - parse_CompAttrConstructor(); - break; - case 184: // 'namespace' - parse_CompNamespaceConstructor(); - break; - case 244: // 'text' - parse_CompTextConstructor(); - break; - case 96: // 'comment' - parse_CompCommentConstructor(); - break; - default: - parse_CompPIConstructor(); - } - eventHandler.endNonterminal("ComputedConstructor", e0); - } - - function try_ComputedConstructor() - { - switch (l1) - { - case 119: // 'document' - try_CompDocConstructor(); - break; - case 121: // 'element' - try_CompElemConstructor(); - break; - case 82: // 'attribute' - try_CompAttrConstructor(); - break; - case 184: // 'namespace' - try_CompNamespaceConstructor(); - break; - case 244: // 'text' - try_CompTextConstructor(); - break; - case 96: // 'comment' - try_CompCommentConstructor(); - break; - default: - try_CompPIConstructor(); - } - } - - function parse_CompElemConstructor() - { - eventHandler.startNonterminal("CompElemConstructor", e0); - shift(121); // 'element' - lookahead1W(258); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' | - // 'ancestor-or-self' | 'and' | 'append' | 'array' | 'as' | 'ascending' | 'at' | - // 'attribute' | 'base-uri' | 'before' | 'boundary-space' | 'break' | 'case' | - // 'cast' | 'castable' | 'catch' | 'child' | 'collation' | 'comment' | - // 'constraint' | 'construction' | 'context' | 'continue' | 'copy' | - // 'copy-namespaces' | 'count' | 'decimal-format' | 'declare' | 'default' | - // 'delete' | 'descendant' | 'descendant-or-self' | 'descending' | 'div' | - // 'document' | 'document-node' | 'element' | 'else' | 'empty' | 'empty-sequence' | - // 'encoding' | 'end' | 'eq' | 'every' | 'except' | 'exit' | 'external' | 'first' | - // 'following' | 'following-sibling' | 'for' | 'ft-option' | 'function' | 'ge' | - // 'group' | 'gt' | 'idiv' | 'if' | 'import' | 'in' | 'index' | 'insert' | - // 'instance' | 'integrity' | 'intersect' | 'into' | 'is' | 'item' | 'json' | - // 'json-item' | 'last' | 'lax' | 'le' | 'let' | 'loop' | 'lt' | 'mod' | 'modify' | - // 'module' | 'namespace' | 'namespace-node' | 'ne' | 'node' | 'nodes' | 'object' | - // 'only' | 'option' | 'or' | 'order' | 'ordered' | 'ordering' | 'parent' | - // 'preceding' | 'preceding-sibling' | 'processing-instruction' | 'rename' | - // 'replace' | 'return' | 'returning' | 'revalidation' | 'satisfies' | 'schema' | - // 'schema-attribute' | 'schema-element' | 'score' | 'self' | 'sliding' | 'some' | - // 'stable' | 'start' | 'strict' | 'structured-item' | 'switch' | 'text' | 'to' | - // 'treat' | 'try' | 'tumbling' | 'type' | 'typeswitch' | 'union' | 'unordered' | - // 'updating' | 'validate' | 'value' | 'variable' | 'version' | 'where' | 'while' | - // 'with' | 'xquery' | '{' - switch (l1) - { - case 276: // '{' - shift(276); // '{' - lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | - // StringLiteral | S^WS | '$' | '%' | '(' | '(#' | '(:' | '+' | '-' | '.' | '..' | - // '/' | '//' | '<' | ''", - "'.'", - "'..'", - "'/'", - "'//'", - "'/>'", - "':'", - "':)'", - "'::'", - "':='", - "';'", - "'<'", - "'' + shift(43); // '-->' + eventHandler.endNonterminal("DirCommentConstructor", e0); + } + + function try_DirCommentConstructor() + { + shiftT(55); // '' + shiftT(43); // '-->' + } + + function parse_DirPIConstructor() + { + eventHandler.startNonterminal("DirPIConstructor", e0); + shift(59); // '' + if (l1 == 21) // S + { + shift(21); // S + lookahead1(2); // DirPIContents + shift(3); // DirPIContents + } + lookahead1(9); // '?>' + shift(65); // '?>' + eventHandler.endNonterminal("DirPIConstructor", e0); + } + + function try_DirPIConstructor() + { + shiftT(59); // '' + if (l1 == 21) // S + { + shiftT(21); // S + lookahead1(2); // DirPIContents + shiftT(3); // DirPIContents + } + lookahead1(9); // '?>' + shiftT(65); // '?>' + } + + function parse_ComputedConstructor() + { + eventHandler.startNonterminal("ComputedConstructor", e0); + switch (l1) + { + case 119: // 'document' + parse_CompDocConstructor(); + break; + case 121: // 'element' + parse_CompElemConstructor(); + break; + case 82: // 'attribute' + parse_CompAttrConstructor(); + break; + case 184: // 'namespace' + parse_CompNamespaceConstructor(); + break; + case 244: // 'text' + parse_CompTextConstructor(); + break; + case 96: // 'comment' + parse_CompCommentConstructor(); + break; + default: + parse_CompPIConstructor(); + } + eventHandler.endNonterminal("ComputedConstructor", e0); + } + + function try_ComputedConstructor() + { + switch (l1) + { + case 119: // 'document' + try_CompDocConstructor(); + break; + case 121: // 'element' + try_CompElemConstructor(); + break; + case 82: // 'attribute' + try_CompAttrConstructor(); + break; + case 184: // 'namespace' + try_CompNamespaceConstructor(); + break; + case 244: // 'text' + try_CompTextConstructor(); + break; + case 96: // 'comment' + try_CompCommentConstructor(); + break; + default: + try_CompPIConstructor(); + } + } + + function parse_CompElemConstructor() + { + eventHandler.startNonterminal("CompElemConstructor", e0); + shift(121); // 'element' + lookahead1W(258); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' | + // 'ancestor-or-self' | 'and' | 'append' | 'array' | 'as' | 'ascending' | 'at' | + // 'attribute' | 'base-uri' | 'before' | 'boundary-space' | 'break' | 'case' | + // 'cast' | 'castable' | 'catch' | 'child' | 'collation' | 'comment' | + // 'constraint' | 'construction' | 'context' | 'continue' | 'copy' | + // 'copy-namespaces' | 'count' | 'decimal-format' | 'declare' | 'default' | + // 'delete' | 'descendant' | 'descendant-or-self' | 'descending' | 'div' | + // 'document' | 'document-node' | 'element' | 'else' | 'empty' | 'empty-sequence' | + // 'encoding' | 'end' | 'eq' | 'every' | 'except' | 'exit' | 'external' | 'first' | + // 'following' | 'following-sibling' | 'for' | 'ft-option' | 'function' | 'ge' | + // 'group' | 'gt' | 'idiv' | 'if' | 'import' | 'in' | 'index' | 'insert' | + // 'instance' | 'integrity' | 'intersect' | 'into' | 'is' | 'item' | 'json' | + // 'json-item' | 'last' | 'lax' | 'le' | 'let' | 'loop' | 'lt' | 'mod' | 'modify' | + // 'module' | 'namespace' | 'namespace-node' | 'ne' | 'node' | 'nodes' | 'object' | + // 'only' | 'option' | 'or' | 'order' | 'ordered' | 'ordering' | 'parent' | + // 'preceding' | 'preceding-sibling' | 'processing-instruction' | 'rename' | + // 'replace' | 'return' | 'returning' | 'revalidation' | 'satisfies' | 'schema' | + // 'schema-attribute' | 'schema-element' | 'score' | 'self' | 'sliding' | 'some' | + // 'stable' | 'start' | 'strict' | 'structured-item' | 'switch' | 'text' | 'to' | + // 'treat' | 'try' | 'tumbling' | 'type' | 'typeswitch' | 'union' | 'unordered' | + // 'updating' | 'validate' | 'value' | 'variable' | 'version' | 'where' | 'while' | + // 'with' | 'xquery' | '{' + switch (l1) + { + case 276: // '{' + shift(276); // '{' + lookahead1W(267); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | + // StringLiteral | S^WS | '$' | '%' | '(' | '(#' | '(:' | '+' | '-' | '.' | '..' | + // '/' | '//' | '<' | ''", + "'.'", + "'..'", + "'/'", + "'//'", + "'/>'", + "':'", + "':)'", + "'::'", + "':='", + "';'", + "'<'", + "'