/**
* xquery syntax highlighting support for SyntaxHighlighter
*
* @author
* Patrick Wied
* http://www.patrick-wied.at
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
function Brush()
{
// core functions, keywords and types from edit_area
// excluded admin functions because they blew up the code
// http://github.com/robwhitby/DQ/blob/master/edit_area/reg_syntax/xquery.js
var functions = 'xp:dereference xinc:node-expand xinc:link-references xinc:link-expand xhtml:restructure '+
'xhtml:clean xhtml:add-lists xdmp:zip-manifest xdmp:zip-get xdmp:zip-create xdmp:xquery-version '+
'xdmp:word-convert xdmp:with-namespaces xdmp:version xdmp:value xdmp:user-roles xdmp:user-last-login '+
'xdmp:user xdmp:url-encode xdmp:url-decode xdmp:uri-is-file xdmp:uri-format xdmp:uri-content-type xdmp:unquote '+
'xdmp:unpath xdmp:triggers-database xdmp:trace xdmp:to-json xdmp:tidy xdmp:subbinary xdmp:strftime xdmp:spawn-in '+
'xdmp:spawn xdmp:sleep xdmp:shutdown xdmp:set-session-field xdmp:set-response-encoding xdmp:set-response-content-type '+
'xdmp:set-response-code xdmp:set-request-time-limit xdmp:set xdmp:servers xdmp:server-status xdmp:server-name xdmp:server '+
'xdmp:security-database xdmp:security-assert xdmp:schema-database xdmp:save xdmp:role-roles xdmp:role xdmp:rethrow xdmp:restart '+
'xdmp:request-timestamp xdmp:request-status xdmp:request-cancel xdmp:request xdmp:redirect-response xdmp:random xdmp:quote '+
'xdmp:query-trace xdmp:query-meters xdmp:product-edition xdmp:privilege-roles xdmp:privilege xdmp:pretty-print xdmp:powerpoint-convert '+
'xdmp:platform xdmp:permission xdmp:pdf-convert xdmp:path xdmp:octal-to-integer xdmp:node-uri xdmp:node-replace xdmp:node-kind '+
'xdmp:node-insert-child xdmp:node-insert-before xdmp:node-insert-after xdmp:node-delete xdmp:node-database xdmp:mul64 xdmp:modules-root '+
'xdmp:modules-database xdmp:merging xdmp:merge-cancel xdmp:merge xdmp:md5 xdmp:logout xdmp:login xdmp:log-level xdmp:log xdmp:lock-release '+
'xdmp:lock-acquire xdmp:load xdmp:invoke-in xdmp:invoke xdmp:integer-to-octal xdmp:integer-to-hex xdmp:http-put xdmp:http-post xdmp:http-options '+
'xdmp:http-head xdmp:http-get xdmp:http-delete xdmp:hosts xdmp:host-status xdmp:host-name xdmp:host xdmp:hex-to-integer xdmp:hash64 xdmp:hash32 '+
'xdmp:has-privilege xdmp:groups xdmp:group-serves xdmp:group-servers xdmp:group-name xdmp:group-hosts xdmp:group xdmp:get-session-field-names '+
'xdmp:get-session-field xdmp:get-response-encoding xdmp:get-response-code xdmp:get-request-username xdmp:get-request-user xdmp:get-request-url '+
'xdmp:get-request-protocol xdmp:get-request-path xdmp:get-request-method xdmp:get-request-header-names xdmp:get-request-header xdmp:get-request-field-names '+
'xdmp:get-request-field-filename xdmp:get-request-field-content-type xdmp:get-request-field xdmp:get-request-client-certificate xdmp:get-request-client-address '+
'xdmp:get-request-body xdmp:get-current-user xdmp:get-current-roles xdmp:get xdmp:function-name xdmp:function-module xdmp:function xdmp:from-json xdmp:forests '+
'xdmp:forest-status xdmp:forest-restore xdmp:forest-restart xdmp:forest-name xdmp:forest-delete xdmp:forest-databases xdmp:forest-counts xdmp:forest-clear xdmp:forest-backup '+
'xdmp:forest xdmp:filesystem-file xdmp:filesystem-directory xdmp:exists xdmp:excel-convert xdmp:eval-in xdmp:eval xdmp:estimate xdmp:email xdmp:element-content-type '+
'xdmp:elapsed-time xdmp:document-set-quality xdmp:document-set-property xdmp:document-set-properties xdmp:document-set-permissions xdmp:document-set-collections '+
'xdmp:document-remove-properties xdmp:document-remove-permissions xdmp:document-remove-collections xdmp:document-properties xdmp:document-locks xdmp:document-load '+
'xdmp:document-insert xdmp:document-get-quality xdmp:document-get-properties xdmp:document-get-permissions xdmp:document-get-collections xdmp:document-get '+
'xdmp:document-forest xdmp:document-delete xdmp:document-add-properties xdmp:document-add-permissions xdmp:document-add-collections xdmp:directory-properties xdmp:directory-locks '+
'xdmp:directory-delete xdmp:directory-create xdmp:directory xdmp:diacritic-less xdmp:describe xdmp:default-permissions xdmp:default-collections xdmp:databases xdmp:database-restore-validate '+
'xdmp:database-restore-status xdmp:database-restore-cancel xdmp:database-restore xdmp:database-name xdmp:database-forests xdmp:database-backup-validate xdmp:database-backup-status '+
'xdmp:database-backup-purge xdmp:database-backup-cancel xdmp:database-backup xdmp:database xdmp:collection-properties xdmp:collection-locks xdmp:collection-delete xdmp:collation-canonical-uri '+
'xdmp:castable-as xdmp:can-grant-roles xdmp:base64-encode xdmp:base64-decode xdmp:architecture xdmp:apply xdmp:amp-roles xdmp:amp xdmp:add64 xdmp:add-response-header xdmp:access '+
'trgr:trigger-set-recursive trgr:trigger-set-permissions trgr:trigger-set-name trgr:trigger-set-module trgr:trigger-set-event trgr:trigger-set-description trgr:trigger-remove-permissions '+
'trgr:trigger-module trgr:trigger-get-permissions trgr:trigger-enable trgr:trigger-disable trgr:trigger-database-online-event trgr:trigger-data-event trgr:trigger-add-permissions '+
'trgr:remove-trigger trgr:property-content trgr:pre-commit trgr:post-commit trgr:get-trigger-by-id trgr:get-trigger trgr:document-scope trgr:document-content trgr:directory-scope '+
'trgr:create-trigger trgr:collection-scope trgr:any-property-content thsr:set-entry thsr:remove-term thsr:remove-synonym thsr:remove-entry thsr:query-lookup thsr:lookup thsr:load '+
'thsr:insert thsr:expand thsr:add-synonym spell:suggest-detailed spell:suggest spell:remove-word spell:make-dictionary spell:load spell:levenshtein-distance spell:is-correct '+
'spell:insert spell:double-metaphone spell:add-word sec:users-collection sec:user-set-roles sec:user-set-password sec:user-set-name sec:user-set-description sec:user-set-default-permissions '+
'sec:user-set-default-collections sec:user-remove-roles sec:user-privileges sec:user-get-roles sec:user-get-description sec:user-get-default-permissions sec:user-get-default-collections sec:user-doc-permissions '+
'sec:user-doc-collections sec:user-add-roles sec:unprotect-collection sec:uid-for-name sec:set-realm sec:security-version sec:security-namespace sec:security-installed sec:security-collection '+
'sec:roles-collection sec:role-set-roles sec:role-set-name sec:role-set-description sec:role-set-default-permissions sec:role-set-default-collections sec:role-remove-roles sec:role-privileges sec:role-get-roles '+
'sec:role-get-description sec:role-get-default-permissions sec:role-get-default-collections sec:role-doc-permissions sec:role-doc-collections sec:role-add-roles sec:remove-user sec:remove-role-from-users '+
'sec:remove-role-from-role sec:remove-role-from-privileges sec:remove-role-from-amps sec:remove-role sec:remove-privilege sec:remove-amp sec:protect-collection sec:privileges-collection sec:privilege-set-roles '+
'sec:privilege-set-name sec:privilege-remove-roles sec:privilege-get-roles sec:privilege-add-roles sec:priv-doc-permissions sec:priv-doc-collections sec:get-user-names sec:get-unique-elem-id sec:get-role-names '+
'sec:get-role-ids sec:get-privilege sec:get-distinct-permissions sec:get-collection sec:get-amp sec:create-user-with-role sec:create-user sec:create-role sec:create-privilege sec:create-amp '+
'sec:collections-collection sec:collection-set-permissions sec:collection-remove-permissions sec:collection-get-permissions sec:collection-add-permissions sec:check-admin sec:amps-collection '+
'sec:amp-set-roles sec:amp-remove-roles sec:amp-get-roles sec:amp-doc-permissions sec:amp-doc-collections sec:amp-add-roles search:unparse search:suggest search:snippet search:search search:resolve-nodes '+
'search:resolve search:remove-constraint search:parse search:get-default-options search:estimate search:check-options prof:value prof:reset prof:report prof:invoke prof:eval prof:enable prof:disable prof:allowed '+
'ppt:clean pki:template-set-request pki:template-set-name pki:template-set-key-type pki:template-set-key-options pki:template-set-description pki:template-in-use pki:template-get-version pki:template-get-request '+
'pki:template-get-name pki:template-get-key-type pki:template-get-key-options pki:template-get-id pki:template-get-description pki:need-certificate pki:is-temporary '+
'pki:insert-trusted-certificates pki:insert-template pki:insert-signed-certificates pki:insert-certificate-revocation-list pki:get-trusted-certificate-ids pki:get-template-ids '+
'pki:get-template-certificate-authority pki:get-template-by-name pki:get-template pki:get-pending-certificate-requests-xml pki:get-pending-certificate-requests-pem pki:get-pending-certificate-request '+
'pki:get-certificates-for-template-xml pki:get-certificates-for-template pki:get-certificates pki:get-certificate-xml pki:get-certificate-pem pki:get-certificate '+
'pki:generate-temporary-certificate-if-necessary pki:generate-temporary-certificate pki:generate-template-certificate-authority pki:generate-certificate-request pki:delete-template pki:delete-certificate '+
'pki:create-template pdf:make-toc pdf:insert-toc-headers pdf:get-toc pdf:clean p:status-transition p:state-transition p:remove p:pipelines p:insert p:get-by-id p:get p:execute p:create p:condition p:collection '+
'p:action ooxml:runs-merge ooxml:package-uris ooxml:package-parts-insert ooxml:package-parts msword:clean mcgm:polygon mcgm:point mcgm:geospatial-query-from-elements mcgm:geospatial-query mcgm:circle math:tanh '+
'math:tan math:sqrt math:sinh math:sin math:pow math:modf math:log10 math:log math:ldexp math:frexp math:fmod math:floor math:fabs math:exp math:cosh math:cos math:ceil math:atan2 math:atan math:asin math:acos map:put '+
'map:map map:keys map:get map:delete map:count map:clear lnk:to lnk:remove lnk:insert lnk:get lnk:from lnk:create kml:polygon kml:point kml:interior-polygon '+
'kml:geospatial-query-from-elements kml:geospatial-query kml:circle kml:box gml:polygon gml:point gml:interior-polygon gml:geospatial-query-from-elements gml:geospatial-query gml:circle gml:box georss:point '+
'georss:geospatial-query georss:circle geo:polygon geo:point geo:interior-polygon geo:geospatial-query-from-elements geo:geospatial-query geo:circle geo:box fn:zero-or-one fn:years-from-duration '+
'fn:year-from-dateTime fn:year-from-date fn:upper-case fn:unordered fn:true fn:translate fn:trace fn:tokenize fn:timezone-from-time fn:timezone-from-dateTime fn:timezone-from-date fn:sum '+
'fn:subtract-dateTimes-yielding-yearMonthDuration fn:subtract-dateTimes-yielding-dayTimeDuration fn:substring-before fn:substring-after fn:substring fn:subsequence fn:string-to-codepoints fn:string-pad '+
'fn:string-length fn:string-join fn:string fn:static-base-uri fn:starts-with fn:seconds-from-time fn:seconds-from-duration fn:seconds-from-dateTime fn:round-half-to-even fn:round fn:root fn:reverse fn:resolve-uri '+
'fn:resolve-QName fn:replace fn:remove fn:QName fn:prefix-from-QName fn:position fn:one-or-more fn:number fn:not fn:normalize-unicode fn:normalize-space fn:node-name fn:node-kind '+
'fn:nilled fn:namespace-uri-from-QName fn:namespace-uri-for-prefix fn:namespace-uri fn:name fn:months-from-duration fn:month-from-dateTime fn:month-from-date fn:minutes-from-time '+
'fn:minutes-from-duration fn:minutes-from-dateTime fn:min fn:max fn:matches fn:lower-case fn:local-name-from-QName fn:local-name fn:last fn:lang fn:iri-to-uri fn:insert-before fn:index-of '+
'fn:in-scope-prefixes fn:implicit-timezone fn:idref fn:id fn:hours-from-time fn:hours-from-duration fn:hours-from-dateTime fn:floor fn:false fn:expanded-QName fn:exists fn:exactly-one fn:escape-uri '+
'fn:escape-html-uri fn:error fn:ends-with fn:encode-for-uri fn:empty fn:document-uri fn:doc-available fn:doc fn:distinct-values fn:distinct-nodes fn:default-collation fn:deep-equal fn:days-from-duration '+
'fn:day-from-dateTime fn:day-from-date fn:data fn:current-time fn:current-dateTime fn:current-date fn:count fn:contains fn:concat fn:compare fn:collection fn:codepoints-to-string fn:codepoint-equal fn:ceiling '+
'fn:boolean fn:base-uri fn:avg fn:adjust-time-to-timezone fn:adjust-dateTime-to-timezone fn:adjust-date-to-timezone fn:abs feed:unsubscribe feed:subscription feed:subscribe feed:request feed:item feed:description '+
'excel:clean entity:enrich dom:set-pipelines dom:set-permissions dom:set-name dom:set-evaluation-context dom:set-domain-scope dom:set-description dom:remove-pipeline dom:remove-permissions dom:remove dom:get '+
'dom:evaluation-context dom:domains dom:domain-scope dom:create dom:configuration-set-restart-user dom:configuration-set-permissions dom:configuration-set-evaluation-context dom:configuration-set-default-domain '+
'dom:configuration-get dom:configuration-create dom:collection dom:add-pipeline dom:add-permissions dls:retention-rules dls:retention-rule-remove dls:retention-rule-insert dls:retention-rule dls:purge dls:node-expand '+
'dls:link-references dls:link-expand dls:documents-query dls:document-versions-query dls:document-version-uri dls:document-version-query dls:document-version-delete '+
'dls:document-version-as-of dls:document-version dls:document-update dls:document-unmanage dls:document-set-quality dls:document-set-property dls:document-set-properties dls:document-set-permissions '+
'dls:document-set-collections dls:document-retention-rules dls:document-remove-properties dls:document-remove-permissions dls:document-remove-collections dls:document-purge dls:document-manage '+
'dls:document-is-managed dls:document-insert-and-manage dls:document-include-query dls:document-history dls:document-get-permissions dls:document-extract-part dls:document-delete '+
'dls:document-checkout-status dls:document-checkout dls:document-checkin dls:document-add-properties dls:document-add-permissions dls:document-add-collections dls:break-checkout dls:author-query '+
'dls:as-of-query dbk:convert dbg:wait dbg:value dbg:stopped dbg:stop dbg:step dbg:status dbg:stack dbg:out dbg:next dbg:line dbg:invoke dbg:function dbg:finish dbg:expr dbg:eval dbg:disconnect '+
'dbg:detach dbg:continue dbg:connect dbg:clear dbg:breakpoints dbg:break dbg:attached dbg:attach cvt:save-converted-documents cvt:part-uri cvt:destination-uri cvt:basepath cvt:basename cts:words '+
'cts:word-query-weight cts:word-query-text cts:word-query-options cts:word-query cts:word-match cts:walk cts:uris cts:uri-match cts:train cts:tokenize cts:thresholds cts:stem cts:similar-query-weight '+
'cts:similar-query-nodes cts:similar-query cts:shortest-distance cts:search cts:score cts:reverse-query-weight cts:reverse-query-nodes cts:reverse-query cts:remainder cts:registered-query-weight '+
'cts:registered-query-options cts:registered-query-ids cts:registered-query cts:register cts:query cts:quality cts:properties-query-query cts:properties-query cts:polygon-vertices cts:polygon '+
'cts:point-longitude cts:point-latitude cts:point cts:or-query-queries cts:or-query cts:not-query-weight cts:not-query-query cts:not-query cts:near-query-weight cts:near-query-queries cts:near-query-options '+
'cts:near-query-distance cts:near-query cts:highlight cts:geospatial-co-occurrences cts:frequency cts:fitness cts:field-words cts:field-word-query-weight cts:field-word-query-text cts:field-word-query-options '+
'cts:field-word-query-field-name cts:field-word-query cts:field-word-match cts:entity-highlight cts:element-words cts:element-word-query-weight cts:element-word-query-text cts:element-word-query-options '+
'cts:element-word-query-element-name cts:element-word-query cts:element-word-match cts:element-values cts:element-value-ranges cts:element-value-query-weight '+
'cts:element-value-query-text cts:element-value-query-options cts:element-value-query-element-name cts:element-value-query cts:element-value-match cts:element-value-geospatial-co-occurrences '+
'cts:element-value-co-occurrences cts:element-range-query-weight cts:element-range-query-value cts:element-range-query-options cts:element-range-query-operator cts:element-range-query-element-name '+
'cts:element-range-query cts:element-query-query cts:element-query-element-name cts:element-query cts:element-pair-geospatial-values cts:element-pair-geospatial-value-match '+
'cts:element-pair-geospatial-query-weight cts:element-pair-geospatial-query-region cts:element-pair-geospatial-query-options cts:element-pair-geospatial-query-longitude-name '+
'cts:element-pair-geospatial-query-latitude-name cts:element-pair-geospatial-query-element-name cts:element-pair-geospatial-query cts:element-pair-geospatial-boxes cts:element-geospatial-values '+
'cts:element-geospatial-value-match cts:element-geospatial-query-weight cts:element-geospatial-query-region cts:element-geospatial-query-options cts:element-geospatial-query-element-name '+
'cts:element-geospatial-query cts:element-geospatial-boxes cts:element-child-geospatial-values cts:element-child-geospatial-value-match cts:element-child-geospatial-query-weight '+
'cts:element-child-geospatial-query-region cts:element-child-geospatial-query-options cts:element-child-geospatial-query-element-name cts:element-child-geospatial-query-child-name '+
'cts:element-child-geospatial-query cts:element-child-geospatial-boxes cts:element-attribute-words cts:element-attribute-word-query-weight cts:element-attribute-word-query-text '+
'cts:element-attribute-word-query-options cts:element-attribute-word-query-element-name cts:element-attribute-word-query-attribute-name cts:element-attribute-word-query cts:element-attribute-word-match '+
'cts:element-attribute-values cts:element-attribute-value-ranges cts:element-attribute-value-query-weight cts:element-attribute-value-query-text cts:element-attribute-value-query-options '+
'cts:element-attribute-value-query-element-name cts:element-attribute-value-query-attribute-name cts:element-attribute-value-query cts:element-attribute-value-match '+
'cts:element-attribute-value-geospatial-co-occurrences cts:element-attribute-value-co-occurrences cts:element-attribute-range-query-weight cts:element-attribute-range-query-value '+
'cts:element-attribute-range-query-options cts:element-attribute-range-query-operator cts:element-attribute-range-query-element-name cts:element-attribute-range-query-attribute-name '+
'cts:element-attribute-range-query cts:element-attribute-pair-geospatial-values cts:element-attribute-pair-geospatial-value-match cts:element-attribute-pair-geospatial-query-weight '+
'cts:element-attribute-pair-geospatial-query-region cts:element-attribute-pair-geospatial-query-options cts:element-attribute-pair-geospatial-query-longitude-name cts:element-attribute-pair-geospatial-query-latitude-name '+
'cts:element-attribute-pair-geospatial-query-element-name cts:element-attribute-pair-geospatial-query cts:element-attribute-pair-geospatial-boxes cts:document-query-uris cts:document-query cts:distance '+
'cts:directory-query-uris cts:directory-query-depth cts:directory-query cts:destination cts:deregister cts:contains cts:confidence cts:collections cts:collection-query-uris cts:collection-query '+
'cts:collection-match cts:classify cts:circle-radius cts:circle-center cts:circle cts:box-west cts:box-south cts:box-north cts:box-east cts:box cts:bearing cts:arc-intersection cts:and-query-queries '+
'cts:and-query-options cts:and-query cts:and-not-query-positive-query cts:and-not-query-negative-query cts:and-not-query css:get css:convert cpf:success cpf:failure cpf:document-set-state '+
'cpf:document-set-processing-status cpf:document-set-last-updated cpf:document-set-error cpf:document-get-state cpf:document-get-processing-status cpf:document-get-last-updated cpf:document-get-error '+
'cpf:check-transition alert:spawn-matching-actions alert:rule-user-id-query alert:rule-set-user-id alert:rule-set-query alert:rule-set-options alert:rule-set-name alert:rule-set-description alert:rule-set-action '+
'alert:rule-remove alert:rule-name-query alert:rule-insert alert:rule-id-query alert:rule-get-user-id alert:rule-get-query alert:rule-get-options alert:rule-get-name alert:rule-get-id alert:rule-get-description '+
'alert:rule-get-action alert:rule-action-query alert:remove-triggers alert:make-rule alert:make-log-action alert:make-config alert:make-action alert:invoke-matching-actions alert:get-my-rules alert:get-all-rules '+
'alert:get-actions alert:find-matching-rules alert:create-triggers alert:config-set-uri alert:config-set-trigger-ids alert:config-set-options alert:config-set-name alert:config-set-description '+
'alert:config-set-cpf-domain-names alert:config-set-cpf-domain-ids alert:config-insert alert:config-get-uri alert:config-get-trigger-ids alert:config-get-options alert:config-get-name alert:config-get-id '+
'alert:config-get-description alert:config-get-cpf-domain-names alert:config-get-cpf-domain-ids alert:config-get alert:config-delete alert:action-set-options alert:action-set-name alert:action-set-module-root '+
'alert:action-set-module-db alert:action-set-module alert:action-set-description alert:action-remove alert:action-insert alert:action-get-options alert:action-get-name alert:action-get-module-root '+
'alert:action-get-module-db alert:action-get-module alert:action-get-description '+
'zero-or-one years-from-duration '+
'year-from-dateTime year-from-date upper-case unordered true translate trace tokenize timezone-from-time timezone-from-dateTime timezone-from-date sum '+
'subtract-dateTimes-yielding-yearMonthDuration subtract-dateTimes-yielding-dayTimeDuration substring-before substring-after substring subsequence string-to-codepoints string-pad '+
'string-length string-join string static-base-uri starts-with seconds-from-time seconds-from-duration seconds-from-dateTime round-half-to-even round root reverse resolve-uri '+
'resolve-QName replace remove QName prefix-from-QName position one-or-more number not normalize-unicode normalize-space node-name node-kind '+
'nilled namespace-uri-from-QName namespace-uri-for-prefix namespace-uri name months-from-duration month-from-dateTime month-from-date minutes-from-time '+
'minutes-from-duration minutes-from-dateTime min max matches lower-case local-name-from-QName local-name last lang iri-to-uri insert-before index-of '+
'in-scope-prefixes implicit-timezone idref id hours-from-time hours-from-duration hours-from-dateTime floor false expanded-QName exists exactly-one escape-uri '+
'escape-html-uri error ends-with encode-for-uri empty document-uri doc-available doc distinct-values distinct-nodes default-collation deep-equal days-from-duration '+
'day-from-dateTime day-from-date data current-time current-dateTime current-date count contains concat compare collection codepoints-to-string codepoint-equal ceiling '+
'boolean base-uri avg adjust-time-to-timezone adjust-dateTime-to-timezone adjust-date-to-timezone abs';
var keywords = 'xquery where version variable union typeswitch treat to then text stable sortby ' +
'some self schema satisfies returns return ref processing-instruction preceding-sibling ' +
'preceding precedes parent only of node namespace module let item intersect instance in ' +
'import if function for follows following-sibling following external except every else element '+
'descending descendant-or-self descendant define default declare comment child cast case before '+
'attribute assert ascending as ancestor-or-self ancestor after';
var types = 'xs:yearMonthDuration xs:unsignedLong xs:time xs:string xs:short xs:QName xs:Name xs:long xs:integer xs:int '+
'xs:gYearMonth xs:gYear xs:gMonthDay xs:gDay xs:float xs:duration xs:double xs:decimal xs:dayTimeDuration '+
'xs:dateTime xs:date xs:byte xs:boolean xs:anyURI xf:yearMonthDuration';
var r = SyntaxHighlighter.regexLib;
// function should only be highlighted if there follows an (
// if there is no functionname() it wont be matched as function
// additional condition needed because it should not highlight functions in text|xml passages e.g. 'name'
var functionsRegex = "\\b(" + functions.replace(/\s/g,"|") + ")(?=\\()\\b";
// keywords should only be highlighted if there follows a whitespace or a (
// additional condition needed because it should not highlight keywords in text|xml passages
var keywordsRegex = "\\b(" + keywords.replace(/\s/g,"|") + ")(?=(\\(|\\s|;))\\b";
var typesRegex = "\\b("+types.replace(/\s/g,"|") + ")\\b";
this.regexList = [
{ regex: r.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings
{ regex: r.multiLineSingleQuotedString, css: 'string' }, // single quoted strings
{ regex: /\(:([^\*][\s\S]*)?:\)/gm, css: 'comments' }, // single and multiline comments
{ regex: new RegExp(functionsRegex, 'gmi'),css: 'functions' }, // functions
{ regex: new RegExp(keywordsRegex, 'gm'), css: 'keyword' }, // keywords
{ regex: new RegExp(typesRegex, 'g'), css: 'types' }, // types
{ regex: /<[^>]+>/g, css: 'xml' }, // xml elements
{ regex: /\$[A-Za-z0-9_\-]+/g, css: 'variable' } // variables
];
this.forHtmlScript(r.scriptScriptTags);
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['xq', 'xquery'];
SyntaxHighlighter.brushes.XQuery = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();