SyntaxHighlighter.brushes.XQuery = function() {

    var keywords = 'element to div mod text or and child parent self attribute comment document document-node'
		+ ' collection ancestor descendant descendant-or-self ancestor-or-self preceding-sibling following-sibling following'
		+ ' preceding item empty version xquery variable namespace if then else for let default function external as union'
		+ ' intersect except order by some every is isnot module import at cast return instance of declare collation'
		+ ' boundary-space preserve strip ordering construction ordered unordered typeswitch encoding base-uri'
		+ ' update replace delete value insert with into rename option case validate schema'
		+ 'treat no-preserve inherit no-inherit';

    var operators = 'and or intersect union div idiv eq ne le ge =';

    this.regexList = [
        { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' },
        { regex: new RegExp(this.getKeywords(operators), 'gmi'), css: 'color1' },
        { regex: new RegExp('\\(:\\s*.*\\s*?:\\)', 'gm'), css: 'comments' },
        { regex: new XRegExp('(\\&lt;|<)!--\\s*.*?\\s*--(\\&gt;|>)', 'gm'), css: 'comments' },
        { regex: /\$[\w-_.]+/g, css: 'variable' },
        { regex: new RegExp('<\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\]>', 'gm'), css: 'cdata' },
        { regex: SyntaxHighlighter.regexLib.doubleQuotedString,	css: 'string' },
		{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }
    ];
};

SyntaxHighlighter.brushes.XQuery.prototype = new SyntaxHighlighter.Highlighter();

SyntaxHighlighter.brushes.XQuery.aliases	= ['xquery', 'xql', 'XQuery'];
