]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/xmode/modes/xq.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / xq.xml
index b49dc68f2e40c282b4b5b7d8346cfbc22e2e6ec0..af5df76f652ea43a25319036b1c4747afa129030 100644 (file)
-<?xml version="1.0"?>\r
-\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />\r
-               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />\r
-               <PROPERTY NAME="commentStart" VALUE="(:" />\r
-               <PROPERTY NAME="commentEnd" VALUE=":)" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=":,+=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <!-- <PROPERTY NAME="indentOpenBrackets" VALUE="{" /> -->\r
-               <!-- <PROPERTY NAME="indentCloseBrackets" VALUE="}" /> -->\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <!-- set this to 'true' if you want to use GNU coding style -->\r
-               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
-               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />\r
-       </PROPS>\r
-       <RULES>\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-\r
-               <!-- DTD Entity declarations -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="ENTITY-TAGS">\r
-                       <BEGIN>&lt;!ENTITY</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- CDATA sections -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="CDATA">\r
-                       <BEGIN>&lt;![CDATA[</BEGIN>\r
-                       <END>]]&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- DTD instructions -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="DTD-TAGS">\r
-                       <BEGIN>&lt;!</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- PI directives -->\r
-               <SPAN TYPE="KEYWORD3">\r
-                       <BEGIN>&lt;?</BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- markup tags -->\r
-               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="TAGS">\r
-                       <BEGIN><![CDATA[<[a-zA-Z/]\w*]]></BEGIN>\r
-                       <END>&gt;</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- SGML entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>&amp;</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-       </RULES>\r
-\r
-       <RULES SET="TAGS" DEFAULT="MARKUP" NO_WORD_SEP="-_">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-\r
-               <SEQ TYPE="MARKUP">/</SEQ>\r
-               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
-       </RULES>\r
-\r
-       <RULES SET="DTD-TAGS" DEFAULT="KEYWORD2" IGNORE_CASE="FALSE">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>--</BEGIN>\r
-                       <END>--</END>\r
-               </SPAN>\r
-\r
-               <!-- Parameter entities -->\r
-               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
-                       <BEGIN>%</BEGIN>\r
-                       <END>;</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <!-- This appears in some SGML documents -->\r
-               <SPAN TYPE="KEYWORD2" DELEGATE="MAIN">\r
-                       <BEGIN>[</BEGIN>\r
-                       <END>]</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">(</SEQ>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>CDATA</KEYWORD1>\r
-                       <KEYWORD1>EMPTY</KEYWORD1>\r
-                       <KEYWORD1>INCLUDE</KEYWORD1>\r
-                       <KEYWORD1>IGNORE</KEYWORD1>\r
-                       <KEYWORD1>NDATA</KEYWORD1>\r
-                       <KEYWORD1>#IMPLIED</KEYWORD1>\r
-                       <KEYWORD1>#PCDATA</KEYWORD1>\r
-                       <KEYWORD1>#REQUIRED</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="ENTITY-TAGS" DEFAULT="KEYWORD2">\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>&lt;!--</BEGIN>\r
-                       <END>--&gt;</END>\r
-               </SPAN>\r
-\r
-               <!-- SGML comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>--</BEGIN>\r
-                       <END>--</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <KEYWORD1>SYSTEM</KEYWORD1>\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="CDATA" DEFAULT="COMMENT2">\r
-               <!-- no rules -->\r
-       </RULES>\r
-\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x\p{XDigit}+[lL]?|\d+(e\d*)?[lLdDfF]?)">\r
-\r
-               <!-- XQuery style comment -->\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>(:</BEGIN>\r
-                       <END>:)</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>\r
-\r
-\r
-\r
-               <!-- Function calls -->\r
-               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">)</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-<!--\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
- -->\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-\r
-               <!-- unary -/+ ? -->\r
-\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">//</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <OPERATOR>some</OPERATOR>\r
-                       <OPERATOR>every</OPERATOR>\r
-\r
-                       <OPERATOR>or</OPERATOR>\r
-                       <OPERATOR>and</OPERATOR>\r
-\r
-                       <OPERATOR>instance of</OPERATOR>\r
-\r
-                       <OPERATOR>treat as</OPERATOR>\r
-\r
-                       <OPERATOR>castable as</OPERATOR>\r
-\r
-                       <OPERATOR>cast as</OPERATOR>\r
-\r
-                       <OPERATOR>eq</OPERATOR>\r
-                       <OPERATOR>ne</OPERATOR>\r
-                       <OPERATOR>lt</OPERATOR>\r
-                       <OPERATOR>gt</OPERATOR>\r
-                       <OPERATOR>ge</OPERATOR>\r
-                       <OPERATOR>is</OPERATOR>\r
-\r
-                       <OPERATOR>to</OPERATOR>\r
-\r
-                       <OPERATOR>div</OPERATOR>\r
-                       <OPERATOR>idiv</OPERATOR>\r
-                       <OPERATOR>mod</OPERATOR>\r
-\r
-                       <OPERATOR>union</OPERATOR>\r
-\r
-                       <OPERATOR>intersect</OPERATOR>\r
-                       <OPERATOR>except</OPERATOR>\r
-\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>to</KEYWORD1>\r
-                       <KEYWORD1>at</KEYWORD1>\r
-\r
-                       <KEYWORD1>let</KEYWORD1>\r
-                       <KEYWORD1>:=</KEYWORD1>\r
-\r
-                       <KEYWORD1>where</KEYWORD1>\r
-\r
-                       <KEYWORD1>stable</KEYWORD1>\r
-                       <KEYWORD1>order</KEYWORD1>\r
-                       <KEYWORD1>by</KEYWORD1>\r
-\r
-                       <LITERAL2>ascending</LITERAL2>\r
-                       <LITERAL2>descending</LITERAL2>\r
-\r
-                       <LITERAL2>greatest</LITERAL2>\r
-                       <LITERAL2>least</LITERAL2>\r
-                       <LITERAL2>collation</LITERAL2>\r
-\r
-                       <KEYWORD3>typeswitch</KEYWORD3>\r
-                       <KEYWORD3>default</KEYWORD3>\r
-\r
-                       <KEYWORD1>cast</KEYWORD1>\r
-                       <KEYWORD1>as</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>then</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-\r
-                       <LITERAL2>true</LITERAL2>\r
-                       <LITERAL2>false</LITERAL2>\r
-\r
-                       <KEYWORD3>xquery</KEYWORD3>\r
-                       <KEYWORD3>version</KEYWORD3>\r
-\r
-                       <KEYWORD3>declare</KEYWORD3>\r
-                       <KEYWORD3>function</KEYWORD3>\r
-                       <KEYWORD3>library</KEYWORD3>\r
-                       <KEYWORD3>variable</KEYWORD3>\r
-                       <KEYWORD3>module</KEYWORD3>\r
-                       <KEYWORD3>namespace</KEYWORD3>\r
-                       <KEYWORD3>local</KEYWORD3>\r
-\r
-                       <KEYWORD3>validate</KEYWORD3>\r
-                       <KEYWORD3>import</KEYWORD3>\r
-                       <KEYWORD3>schema</KEYWORD3>\r
-                       <KEYWORD3>validation</KEYWORD3>\r
-                       <KEYWORD3>collection</KEYWORD3>\r
-\r
-                       <KEYWORD3>ancestor</KEYWORD3>\r
-                       <KEYWORD3>descendant</KEYWORD3>\r
-                       <KEYWORD3>self</KEYWORD3>\r
-                       <KEYWORD3>parent</KEYWORD3>\r
-                       <KEYWORD3>child</KEYWORD3>\r
-                       <KEYWORD3>self</KEYWORD3>\r
-                       <KEYWORD3>descendant-or-self</KEYWORD3>\r
-                       <KEYWORD3>ancestor-or-self</KEYWORD3>\r
-                       <KEYWORD3>preceding-sibling</KEYWORD3>\r
-                       <KEYWORD3>following-sibling</KEYWORD3>\r
-                       <KEYWORD3>following</KEYWORD3>\r
-                       <KEYWORD3>preceding</KEYWORD3>\r
-\r
-                       <KEYWORD4>xs:integer</KEYWORD4>\r
-                       <KEYWORD4>xs:decimal</KEYWORD4>\r
-                       <KEYWORD4>xs:double</KEYWORD4>\r
-                       <KEYWORD4>xs:string</KEYWORD4>\r
-                       <KEYWORD4>xs:date</KEYWORD4>\r
-                       <KEYWORD4>xs:time</KEYWORD4>\r
-                       <KEYWORD4>xs:dateTime</KEYWORD4>\r
-                       <KEYWORD4>xs:boolean</KEYWORD4>\r
-\r
-                       <KEYWORD4>item</KEYWORD4>\r
-                       <KEYWORD4>element</KEYWORD4>\r
-                       <KEYWORD4>attribute</KEYWORD4>\r
-                       <KEYWORD4>comment</KEYWORD4>\r
-                       <KEYWORD4>document</KEYWORD4>\r
-                       <KEYWORD4>document-node</KEYWORD4>\r
-                       <KEYWORD4>node</KEYWORD4>\r
-                       <KEYWORD4>empty</KEYWORD4>\r
-\r
-                       <FUNCTION>zero-or-one</FUNCTION>\r
-                       <FUNCTION>avg</FUNCTION>\r
-                       <FUNCTION>base-uri</FUNCTION>\r
-                       <FUNCTION>boolean</FUNCTION>\r
-                       <FUNCTION>ceiling</FUNCTION>\r
-                       <FUNCTION>codepoints-to-string</FUNCTION>\r
-                       <FUNCTION>collection</FUNCTION>\r
-                       <FUNCTION>compare</FUNCTION>\r
-                       <FUNCTION>concat</FUNCTION>\r
-                       <FUNCTION>contains</FUNCTION>\r
-                       <FUNCTION>count</FUNCTION>\r
-                       <FUNCTION>current-date</FUNCTION>\r
-                       <FUNCTION>current-dateTime</FUNCTION>\r
-                       <FUNCTION>current-time</FUNCTION>\r
-                       <FUNCTION>data</FUNCTION>\r
-                       <FUNCTION>day-from-date</FUNCTION>\r
-                       <FUNCTION>day-from-dateTime</FUNCTION>\r
-                       <FUNCTION>days-from-duration</FUNCTION>\r
-                       <FUNCTION>deep-equal</FUNCTION>\r
-                       <FUNCTION>distinct-values</FUNCTION>\r
-                       <FUNCTION>doc</FUNCTION>\r
-                       <FUNCTION>adjust-time-to-timezone</FUNCTION>\r
-                       <FUNCTION>adjust-dateTime-to-timezone</FUNCTION>\r
-                       <FUNCTION>string-length</FUNCTION>\r
-                       <FUNCTION>string-join</FUNCTION>\r
-                       <FUNCTION>string</FUNCTION>\r
-                       <FUNCTION>starts-with</FUNCTION>\r
-                       <FUNCTION>seconds-from-time</FUNCTION>\r
-                       <FUNCTION>seconds-from-duration</FUNCTION>\r
-                       <FUNCTION>seconds-from-dateTime</FUNCTION>\r
-                       <FUNCTION>round-half-to-even</FUNCTION>\r
-                       <FUNCTION>round</FUNCTION>\r
-                       <FUNCTION>root</FUNCTION>\r
-                       <FUNCTION>reverse</FUNCTION>\r
-                       <FUNCTION>replace</FUNCTION>\r
-                       <FUNCTION>remove</FUNCTION>\r
-                       <FUNCTION>prefix-from-QName</FUNCTION>\r
-                       <FUNCTION>position</FUNCTION>\r
-                       <FUNCTION>one-or-more</FUNCTION>\r
-                       <FUNCTION>number</FUNCTION>\r
-                       <FUNCTION>QName</FUNCTION>\r
-                       <FUNCTION>abs</FUNCTION>\r
-                       <FUNCTION>adjust-date-to-timezone</FUNCTION>\r
-                       <FUNCTION>doc-available</FUNCTION>\r
-                       <FUNCTION>doctype</FUNCTION>\r
-                       <FUNCTION>document</FUNCTION>\r
-                       <FUNCTION>last</FUNCTION>\r
-                       <FUNCTION>local-name</FUNCTION>\r
-                       <FUNCTION>local-name-from-QName</FUNCTION>\r
-                       <FUNCTION>lower-case</FUNCTION>\r
-                       <FUNCTION>match-all</FUNCTION>\r
-                       <FUNCTION>match-any</FUNCTION>\r
-                       <FUNCTION>matches</FUNCTION>\r
-                       <FUNCTION>max</FUNCTION>\r
-                       <FUNCTION>min</FUNCTION>\r
-                       <FUNCTION>minutes-from-dateTime</FUNCTION>\r
-                       <FUNCTION>minutes-from-duration</FUNCTION>\r
-                       <FUNCTION>minutes-from-time</FUNCTION>\r
-                       <FUNCTION>month-from-date</FUNCTION>\r
-                       <FUNCTION>month-from-dateTime</FUNCTION>\r
-                       <FUNCTION>name</FUNCTION>\r
-                       <FUNCTION>namespace-uri</FUNCTION>\r
-                       <FUNCTION>namespace-uri-for-prefix</FUNCTION>\r
-                       <FUNCTION>namespace-uri-from-QName</FUNCTION>\r
-                       <FUNCTION>node-name</FUNCTION>\r
-                       <FUNCTION>normalize-space</FUNCTION>\r
-                       <FUNCTION>lang</FUNCTION>\r
-                       <FUNCTION>item-at</FUNCTION>\r
-                       <FUNCTION>document-uri</FUNCTION>\r
-                       <FUNCTION>empty</FUNCTION>\r
-                       <FUNCTION>encode-for-uri</FUNCTION>\r
-                       <FUNCTION>ends-with</FUNCTION>\r
-                       <FUNCTION>error</FUNCTION>\r
-                       <FUNCTION>escape-html-uri</FUNCTION>\r
-                       <FUNCTION>escape-uri</FUNCTION>\r
-                       <FUNCTION>exactly-one</FUNCTION>\r
-                       <FUNCTION>exists</FUNCTION>\r
-                       <FUNCTION>false</FUNCTION>\r
-                       <FUNCTION>floor</FUNCTION>\r
-                       <FUNCTION>hours-from-dateTime</FUNCTION>\r
-                       <FUNCTION>hours-from-duration</FUNCTION>\r
-                       <FUNCTION>hours-from-time</FUNCTION>\r
-                       <FUNCTION>id</FUNCTION>\r
-                       <FUNCTION>implicit-timezone</FUNCTION>\r
-                       <FUNCTION>in-scope-prefixes</FUNCTION>\r
-                       <FUNCTION>index-of</FUNCTION>\r
-                       <FUNCTION>insert-before</FUNCTION>\r
-                       <FUNCTION>iri-to-uri</FUNCTION>\r
-                       <FUNCTION>string-pad</FUNCTION>\r
-                       <FUNCTION>string-to-codepoints</FUNCTION>\r
-                       <FUNCTION>sum</FUNCTION>\r
-                       <FUNCTION>timezone-from-date</FUNCTION>\r
-                       <FUNCTION>timezone-from-dateTime</FUNCTION>\r
-                       <FUNCTION>timezone-from-time</FUNCTION>\r
-                       <FUNCTION>not</FUNCTION>\r
-                       <FUNCTION>tokenize</FUNCTION>\r
-                       <FUNCTION>translate</FUNCTION>\r
-                       <FUNCTION>true</FUNCTION>\r
-                       <FUNCTION>unordered</FUNCTION>\r
-                       <FUNCTION>upper-case</FUNCTION>\r
-                       <FUNCTION>xcollection</FUNCTION>\r
-                       <FUNCTION>year-from-date</FUNCTION>\r
-                       <FUNCTION>year-from-dateTime</FUNCTION>\r
-                       <FUNCTION>substring-before</FUNCTION>\r
-                       <FUNCTION>subsequence</FUNCTION>\r
-                       <FUNCTION>substring</FUNCTION>\r
-                       <FUNCTION>substring-after</FUNCTION>\r
-\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-</MODE>\r
+<?xml version="1.0"?>
+
+<!DOCTYPE MODE SYSTEM "xmode.dtd">
+
+<MODE>
+       <PROPS>
+               <PROPERTY NAME="commentStart" VALUE="&lt;!--" />
+               <PROPERTY NAME="commentEnd" VALUE="--&gt;" />
+               <PROPERTY NAME="commentStart" VALUE="(:" />
+               <PROPERTY NAME="commentEnd" VALUE=":)" />
+               <PROPERTY NAME="wordBreakChars" VALUE=":,+=&lt;&gt;/?^&amp;*" />
+
+               <!-- Auto indent -->
+               <!-- <PROPERTY NAME="indentOpenBrackets" VALUE="{" /> -->
+               <!-- <PROPERTY NAME="indentCloseBrackets" VALUE="}" /> -->
+               <PROPERTY NAME="indentNextLine"
+                       VALUE="\s*(((if)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
+               <!-- set this to 'true' if you want to use GNU coding style -->
+               <PROPERTY NAME="doubleBracketIndent" VALUE="false" />
+               <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />
+       </PROPS>
+       <RULES>
+               <!-- SGML comment -->
+               <SPAN TYPE="COMMENT1">
+                       <BEGIN>&lt;!--</BEGIN>
+                       <END>--&gt;</END>
+               </SPAN>
+
+
+               <!-- DTD Entity declarations -->
+               <SPAN TYPE="KEYWORD2" DELEGATE="ENTITY-TAGS">
+                       <BEGIN>&lt;!ENTITY</BEGIN>
+                       <END>&gt;</END>
+               </SPAN>
+
+               <!-- CDATA sections -->
+               <SPAN TYPE="KEYWORD2" DELEGATE="CDATA">
+                       <BEGIN>&lt;![CDATA[</BEGIN>
+                       <END>]]&gt;</END>
+               </SPAN>
+
+               <!-- DTD instructions -->
+               <SPAN TYPE="KEYWORD2" DELEGATE="DTD-TAGS">
+                       <BEGIN>&lt;!</BEGIN>
+                       <END>&gt;</END>
+               </SPAN>
+
+               <!-- PI directives -->
+               <SPAN TYPE="KEYWORD3">
+                       <BEGIN>&lt;?</BEGIN>
+                       <END>&gt;</END>
+               </SPAN>
+
+               <!-- markup tags -->
+               <SPAN_REGEXP HASH_CHAR="&lt;" TYPE="MARKUP" DELEGATE="TAGS">
+                       <BEGIN><![CDATA[<[a-zA-Z/]\w*]]></BEGIN>
+                       <END>&gt;</END>
+               </SPAN_REGEXP>
+
+               <!-- SGML entities -->
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">
+                       <BEGIN>&amp;</BEGIN>
+                       <END>;</END>
+               </SPAN>
+       </RULES>
+
+       <RULES SET="TAGS" DEFAULT="MARKUP" NO_WORD_SEP="-_">
+               <!-- SGML comment -->
+               <SPAN TYPE="COMMENT1">
+                       <BEGIN>&lt;!--</BEGIN>
+                       <END>--&gt;</END>
+               </SPAN>
+
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
+                       <BEGIN>"</BEGIN>
+                       <END>"</END>
+               </SPAN>
+
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
+                       <BEGIN>'</BEGIN>
+                       <END>'</END>
+               </SPAN>
+
+
+               <SEQ TYPE="MARKUP">/</SEQ>
+               <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>
+       </RULES>
+
+       <RULES SET="DTD-TAGS" DEFAULT="KEYWORD2" IGNORE_CASE="FALSE">
+               <!-- SGML comment -->
+               <SPAN TYPE="COMMENT1">
+                       <BEGIN>&lt;!--</BEGIN>
+                       <END>--&gt;</END>
+               </SPAN>
+
+               <!-- SGML comment -->
+               <SPAN TYPE="COMMENT1">
+                       <BEGIN>--</BEGIN>
+                       <END>--</END>
+               </SPAN>
+
+               <!-- Parameter entities -->
+               <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">
+                       <BEGIN>%</BEGIN>
+                       <END>;</END>
+               </SPAN>
+
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
+                       <BEGIN>"</BEGIN>
+                       <END>"</END>
+               </SPAN>
+
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
+                       <BEGIN>'</BEGIN>
+                       <END>'</END>
+               </SPAN>
+
+               <!-- This appears in some SGML documents -->
+               <SPAN TYPE="KEYWORD2" DELEGATE="MAIN">
+                       <BEGIN>[</BEGIN>
+                       <END>]</END>
+               </SPAN>
+
+               <SEQ TYPE="OPERATOR">(</SEQ>
+               <SEQ TYPE="OPERATOR">)</SEQ>
+               <SEQ TYPE="OPERATOR">|</SEQ>
+               <SEQ TYPE="OPERATOR">?</SEQ>
+               <SEQ TYPE="OPERATOR">*</SEQ>
+               <SEQ TYPE="OPERATOR">+</SEQ>
+               <SEQ TYPE="OPERATOR">,</SEQ>
+
+               <KEYWORDS>
+                       <KEYWORD1>CDATA</KEYWORD1>
+                       <KEYWORD1>EMPTY</KEYWORD1>
+                       <KEYWORD1>INCLUDE</KEYWORD1>
+                       <KEYWORD1>IGNORE</KEYWORD1>
+                       <KEYWORD1>NDATA</KEYWORD1>
+                       <KEYWORD1>#IMPLIED</KEYWORD1>
+                       <KEYWORD1>#PCDATA</KEYWORD1>
+                       <KEYWORD1>#REQUIRED</KEYWORD1>
+               </KEYWORDS>
+       </RULES>
+
+       <RULES SET="ENTITY-TAGS" DEFAULT="KEYWORD2">
+               <!-- SGML comment -->
+               <SPAN TYPE="COMMENT1">
+                       <BEGIN>&lt;!--</BEGIN>
+                       <END>--&gt;</END>
+               </SPAN>
+
+               <!-- SGML comment -->
+               <SPAN TYPE="COMMENT1">
+                       <BEGIN>--</BEGIN>
+                       <END>--</END>
+               </SPAN>
+
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
+                       <BEGIN>"</BEGIN>
+                       <END>"</END>
+               </SPAN>
+
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
+                       <BEGIN>'</BEGIN>
+                       <END>'</END>
+               </SPAN>
+
+               <SEQ TYPE="OPERATOR">=</SEQ>
+
+               <SEQ TYPE="OPERATOR">%</SEQ>
+
+               <KEYWORDS>
+                       <KEYWORD1>SYSTEM</KEYWORD1>
+               </KEYWORDS>
+       </RULES>
+
+       <RULES SET="CDATA" DEFAULT="COMMENT2">
+               <!-- no rules -->
+       </RULES>
+
+       <RULES IGNORE_CASE="FALSE"
+               HIGHLIGHT_DIGITS="TRUE"
+               DIGIT_RE="(0x\p{XDigit}+[lL]?|\d+(e\d*)?[lLdDfF]?)">
+
+               <!-- XQuery style comment -->
+               <SPAN TYPE="COMMENT1">
+                       <BEGIN>(:</BEGIN>
+                       <END>:)</END>
+               </SPAN>
+
+               <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
+                       <BEGIN>"</BEGIN>
+                       <END>"</END>
+               </SPAN>
+               <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
+                       <BEGIN>'</BEGIN>
+                       <END>'</END>
+               </SPAN>
+
+               <MARK_FOLLOWING TYPE="KEYWORD2">$</MARK_FOLLOWING>
+
+               <!-- Function calls -->
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
+               <SEQ TYPE="OPERATOR">)</SEQ>
+
+               <SEQ TYPE="OPERATOR">,</SEQ>
+
+               <SEQ TYPE="OPERATOR">=</SEQ>
+               <SEQ TYPE="OPERATOR">!=</SEQ>
+               <SEQ TYPE="OPERATOR">&gt;</SEQ>
+               <SEQ TYPE="OPERATOR">&gt;=</SEQ>
+               <SEQ TYPE="OPERATOR">&lt;</SEQ>
+               <SEQ TYPE="OPERATOR">&lt;=</SEQ>
+
+               <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>
+               <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>
+
+               <SEQ TYPE="OPERATOR">+</SEQ>
+<!--
+               <SEQ TYPE="OPERATOR">-</SEQ>
+ -->
+               <SEQ TYPE="OPERATOR">*</SEQ>
+
+               <!-- unary -/+ ? -->
+
+               <SEQ TYPE="OPERATOR">|</SEQ>
+
+               <SEQ TYPE="OPERATOR">/</SEQ>
+               <SEQ TYPE="OPERATOR">//</SEQ>
+
+               <SEQ TYPE="OPERATOR">}</SEQ>
+               <SEQ TYPE="OPERATOR">{</SEQ>
+
+               <KEYWORDS>
+                       <OPERATOR>some</OPERATOR>
+                       <OPERATOR>every</OPERATOR>
+
+                       <OPERATOR>or</OPERATOR>
+                       <OPERATOR>and</OPERATOR>
+
+                       <OPERATOR>instance of</OPERATOR>
+
+                       <OPERATOR>treat as</OPERATOR>
+
+                       <OPERATOR>castable as</OPERATOR>
+
+                       <OPERATOR>cast as</OPERATOR>
+
+                       <OPERATOR>eq</OPERATOR>
+                       <OPERATOR>ne</OPERATOR>
+                       <OPERATOR>lt</OPERATOR>
+                       <OPERATOR>gt</OPERATOR>
+                       <OPERATOR>ge</OPERATOR>
+                       <OPERATOR>is</OPERATOR>
+
+                       <OPERATOR>to</OPERATOR>
+
+                       <OPERATOR>div</OPERATOR>
+                       <OPERATOR>idiv</OPERATOR>
+                       <OPERATOR>mod</OPERATOR>
+
+                       <OPERATOR>union</OPERATOR>
+
+                       <OPERATOR>intersect</OPERATOR>
+                       <OPERATOR>except</OPERATOR>
+
+                       <KEYWORD1>return</KEYWORD1>
+                       <KEYWORD1>for</KEYWORD1>
+                       <KEYWORD1>in</KEYWORD1>
+                       <KEYWORD1>to</KEYWORD1>
+                       <KEYWORD1>at</KEYWORD1>
+
+                       <KEYWORD1>let</KEYWORD1>
+                       <KEYWORD1>:=</KEYWORD1>
+
+                       <KEYWORD1>where</KEYWORD1>
+
+                       <KEYWORD1>stable</KEYWORD1>
+                       <KEYWORD1>order</KEYWORD1>
+                       <KEYWORD1>by</KEYWORD1>
+
+                       <LITERAL2>ascending</LITERAL2>
+                       <LITERAL2>descending</LITERAL2>
+
+                       <LITERAL2>greatest</LITERAL2>
+                       <LITERAL2>least</LITERAL2>
+                       <LITERAL2>collation</LITERAL2>
+
+                       <KEYWORD3>typeswitch</KEYWORD3>
+                       <KEYWORD3>default</KEYWORD3>
+
+                       <KEYWORD1>cast</KEYWORD1>
+                       <KEYWORD1>as</KEYWORD1>
+                       <KEYWORD1>if</KEYWORD1>
+                       <KEYWORD1>then</KEYWORD1>
+                       <KEYWORD1>else</KEYWORD1>
+
+                       <LITERAL2>true</LITERAL2>
+                       <LITERAL2>false</LITERAL2>
+
+                       <KEYWORD3>xquery</KEYWORD3>
+                       <KEYWORD3>version</KEYWORD3>
+
+                       <KEYWORD3>declare</KEYWORD3>
+                       <KEYWORD3>function</KEYWORD3>
+                       <KEYWORD3>library</KEYWORD3>
+                       <KEYWORD3>variable</KEYWORD3>
+                       <KEYWORD3>module</KEYWORD3>
+                       <KEYWORD3>namespace</KEYWORD3>
+                       <KEYWORD3>local</KEYWORD3>
+
+                       <KEYWORD3>validate</KEYWORD3>
+                       <KEYWORD3>import</KEYWORD3>
+                       <KEYWORD3>schema</KEYWORD3>
+                       <KEYWORD3>validation</KEYWORD3>
+                       <KEYWORD3>collection</KEYWORD3>
+
+                       <KEYWORD3>ancestor</KEYWORD3>
+                       <KEYWORD3>descendant</KEYWORD3>
+                       <KEYWORD3>self</KEYWORD3>
+                       <KEYWORD3>parent</KEYWORD3>
+                       <KEYWORD3>child</KEYWORD3>
+                       <KEYWORD3>self</KEYWORD3>
+                       <KEYWORD3>descendant-or-self</KEYWORD3>
+                       <KEYWORD3>ancestor-or-self</KEYWORD3>
+                       <KEYWORD3>preceding-sibling</KEYWORD3>
+                       <KEYWORD3>following-sibling</KEYWORD3>
+                       <KEYWORD3>following</KEYWORD3>
+                       <KEYWORD3>preceding</KEYWORD3>
+
+                       <KEYWORD4>xs:integer</KEYWORD4>
+                       <KEYWORD4>xs:decimal</KEYWORD4>
+                       <KEYWORD4>xs:double</KEYWORD4>
+                       <KEYWORD4>xs:string</KEYWORD4>
+                       <KEYWORD4>xs:date</KEYWORD4>
+                       <KEYWORD4>xs:time</KEYWORD4>
+                       <KEYWORD4>xs:dateTime</KEYWORD4>
+                       <KEYWORD4>xs:boolean</KEYWORD4>
+
+                       <KEYWORD4>item</KEYWORD4>
+                       <KEYWORD4>element</KEYWORD4>
+                       <KEYWORD4>attribute</KEYWORD4>
+                       <KEYWORD4>comment</KEYWORD4>
+                       <KEYWORD4>document</KEYWORD4>
+                       <KEYWORD4>document-node</KEYWORD4>
+                       <KEYWORD4>node</KEYWORD4>
+                       <KEYWORD4>empty</KEYWORD4>
+
+                       <FUNCTION>zero-or-one</FUNCTION>
+                       <FUNCTION>avg</FUNCTION>
+                       <FUNCTION>base-uri</FUNCTION>
+                       <FUNCTION>boolean</FUNCTION>
+                       <FUNCTION>ceiling</FUNCTION>
+                       <FUNCTION>codepoints-to-string</FUNCTION>
+                       <FUNCTION>collection</FUNCTION>
+                       <FUNCTION>compare</FUNCTION>
+                       <FUNCTION>concat</FUNCTION>
+                       <FUNCTION>contains</FUNCTION>
+                       <FUNCTION>count</FUNCTION>
+                       <FUNCTION>current-date</FUNCTION>
+                       <FUNCTION>current-dateTime</FUNCTION>
+                       <FUNCTION>current-time</FUNCTION>
+                       <FUNCTION>data</FUNCTION>
+                       <FUNCTION>day-from-date</FUNCTION>
+                       <FUNCTION>day-from-dateTime</FUNCTION>
+                       <FUNCTION>days-from-duration</FUNCTION>
+                       <FUNCTION>deep-equal</FUNCTION>
+                       <FUNCTION>distinct-values</FUNCTION>
+                       <FUNCTION>doc</FUNCTION>
+                       <FUNCTION>adjust-time-to-timezone</FUNCTION>
+                       <FUNCTION>adjust-dateTime-to-timezone</FUNCTION>
+                       <FUNCTION>string-length</FUNCTION>
+                       <FUNCTION>string-join</FUNCTION>
+                       <FUNCTION>string</FUNCTION>
+                       <FUNCTION>starts-with</FUNCTION>
+                       <FUNCTION>seconds-from-time</FUNCTION>
+                       <FUNCTION>seconds-from-duration</FUNCTION>
+                       <FUNCTION>seconds-from-dateTime</FUNCTION>
+                       <FUNCTION>round-half-to-even</FUNCTION>
+                       <FUNCTION>round</FUNCTION>
+                       <FUNCTION>root</FUNCTION>
+                       <FUNCTION>reverse</FUNCTION>
+                       <FUNCTION>replace</FUNCTION>
+                       <FUNCTION>remove</FUNCTION>
+                       <FUNCTION>prefix-from-QName</FUNCTION>
+                       <FUNCTION>position</FUNCTION>
+                       <FUNCTION>one-or-more</FUNCTION>
+                       <FUNCTION>number</FUNCTION>
+                       <FUNCTION>QName</FUNCTION>
+                       <FUNCTION>abs</FUNCTION>
+                       <FUNCTION>adjust-date-to-timezone</FUNCTION>
+                       <FUNCTION>doc-available</FUNCTION>
+                       <FUNCTION>doctype</FUNCTION>
+                       <FUNCTION>document</FUNCTION>
+                       <FUNCTION>last</FUNCTION>
+                       <FUNCTION>local-name</FUNCTION>
+                       <FUNCTION>local-name-from-QName</FUNCTION>
+                       <FUNCTION>lower-case</FUNCTION>
+                       <FUNCTION>match-all</FUNCTION>
+                       <FUNCTION>match-any</FUNCTION>
+                       <FUNCTION>matches</FUNCTION>
+                       <FUNCTION>max</FUNCTION>
+                       <FUNCTION>min</FUNCTION>
+                       <FUNCTION>minutes-from-dateTime</FUNCTION>
+                       <FUNCTION>minutes-from-duration</FUNCTION>
+                       <FUNCTION>minutes-from-time</FUNCTION>
+                       <FUNCTION>month-from-date</FUNCTION>
+                       <FUNCTION>month-from-dateTime</FUNCTION>
+                       <FUNCTION>name</FUNCTION>
+                       <FUNCTION>namespace-uri</FUNCTION>
+                       <FUNCTION>namespace-uri-for-prefix</FUNCTION>
+                       <FUNCTION>namespace-uri-from-QName</FUNCTION>
+                       <FUNCTION>node-name</FUNCTION>
+                       <FUNCTION>normalize-space</FUNCTION>
+                       <FUNCTION>lang</FUNCTION>
+                       <FUNCTION>item-at</FUNCTION>
+                       <FUNCTION>document-uri</FUNCTION>
+                       <FUNCTION>empty</FUNCTION>
+                       <FUNCTION>encode-for-uri</FUNCTION>
+                       <FUNCTION>ends-with</FUNCTION>
+                       <FUNCTION>error</FUNCTION>
+                       <FUNCTION>escape-html-uri</FUNCTION>
+                       <FUNCTION>escape-uri</FUNCTION>
+                       <FUNCTION>exactly-one</FUNCTION>
+                       <FUNCTION>exists</FUNCTION>
+                       <FUNCTION>false</FUNCTION>
+                       <FUNCTION>floor</FUNCTION>
+                       <FUNCTION>hours-from-dateTime</FUNCTION>
+                       <FUNCTION>hours-from-duration</FUNCTION>
+                       <FUNCTION>hours-from-time</FUNCTION>
+                       <FUNCTION>id</FUNCTION>
+                       <FUNCTION>implicit-timezone</FUNCTION>
+                       <FUNCTION>in-scope-prefixes</FUNCTION>
+                       <FUNCTION>index-of</FUNCTION>
+                       <FUNCTION>insert-before</FUNCTION>
+                       <FUNCTION>iri-to-uri</FUNCTION>
+                       <FUNCTION>string-pad</FUNCTION>
+                       <FUNCTION>string-to-codepoints</FUNCTION>
+                       <FUNCTION>sum</FUNCTION>
+                       <FUNCTION>timezone-from-date</FUNCTION>
+                       <FUNCTION>timezone-from-dateTime</FUNCTION>
+                       <FUNCTION>timezone-from-time</FUNCTION>
+                       <FUNCTION>not</FUNCTION>
+                       <FUNCTION>tokenize</FUNCTION>
+                       <FUNCTION>translate</FUNCTION>
+                       <FUNCTION>true</FUNCTION>
+                       <FUNCTION>unordered</FUNCTION>
+                       <FUNCTION>upper-case</FUNCTION>
+                       <FUNCTION>xcollection</FUNCTION>
+                       <FUNCTION>year-from-date</FUNCTION>
+                       <FUNCTION>year-from-dateTime</FUNCTION>
+                       <FUNCTION>substring-before</FUNCTION>
+                       <FUNCTION>subsequence</FUNCTION>
+                       <FUNCTION>substring</FUNCTION>
+                       <FUNCTION>substring-after</FUNCTION>
+
+               </KEYWORDS>
+       </RULES>
+
+</MODE>