/** * 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; })();