3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
6 Relational View (rview) mode by Will Sargent <wsargent@atg.com>
10 <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
11 <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
12 <PROPERTY NAME="commentStart" VALUE="/*" />
13 <PROPERTY NAME="commentEnd" VALUE="*/" />
14 <PROPERTY NAME="lineComment" VALUE="//" />
18 Unicode escapes are allowed in identifiers.
20 Digits may be returned from functions.
22 <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">
23 <SEQ TYPE="COMMENT1">/**/</SEQ>
25 <!-- Javadoc comment -->
26 <SPAN TYPE="COMMENT2" DELEGATE="java::JAVADOC">
31 <!-- Java comment (C style) -->
32 <SPAN TYPE="COMMENT1">
37 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="RVIEWSTMT">
42 <SEQ TYPE="OPERATOR">}</SEQ>
43 <SEQ TYPE="OPERATOR">{</SEQ>
44 <SEQ TYPE="OPERATOR">=</SEQ>
46 <!-- Function calls -->
47 <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
48 <SEQ TYPE="OPERATOR">)</SEQ>
50 <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
55 Keywords (WAY more than I thought there were, please
56 e-mail me if I've left one out).
58 <KEYWORD1>unique</KEYWORD1>
59 <KEYWORD1>relationalview</KEYWORD1>
60 <KEYWORD1>class</KEYWORD1>
62 <KEYWORD1>rowmap</KEYWORD1>
63 <KEYWORD1>table</KEYWORD1>
64 <KEYWORD1>function</KEYWORD1>
65 <KEYWORD1>subview</KEYWORD1>
66 <KEYWORD1>query</KEYWORD1>
68 <KEYWORD1>join</KEYWORD1>
69 <KEYWORD1>jointype</KEYWORD1>
70 <KEYWORD1>leftouter</KEYWORD1>
71 <KEYWORD1>rightouter</KEYWORD1>
73 <KEYWORD1>switch</KEYWORD1>
74 <KEYWORD1>case</KEYWORD1>
76 <KEYWORD1>sql</KEYWORD1>
77 <KEYWORD1>constraints</KEYWORD1>
78 <KEYWORD1>where</KEYWORD1>
79 <KEYWORD1>orderby</KEYWORD1>
80 <KEYWORD1>return</KEYWORD1>
81 <KEYWORD1>distinct</KEYWORD1>
86 <KEYWORD1>allow</KEYWORD1>
87 <KEYWORD1>delete</KEYWORD1>
88 <!-- also used in update function -->
89 <KEYWORD1>update</KEYWORD1>
90 <KEYWORD1>select</KEYWORD1>
91 <KEYWORD1>insert</KEYWORD1>
93 <!-- We're allowed to return primitive types -->
94 <KEYWORD3>boolean</KEYWORD3>
95 <KEYWORD3>byte</KEYWORD3>
96 <KEYWORD3>char</KEYWORD3>
97 <KEYWORD3>double</KEYWORD3>
98 <KEYWORD3>float</KEYWORD3>
99 <KEYWORD3>int</KEYWORD3>
100 <KEYWORD3>long</KEYWORD3>
101 <KEYWORD3>short</KEYWORD3>
103 <KEYWORD1>useCallableStatement</KEYWORD1>
106 JDBC mapping statements (must be UPPERCASE)
108 <KEYWORD3>CHAR</KEYWORD3>
109 <KEYWORD3>VARCHAR</KEYWORD3>
110 <KEYWORD3>LONGVARCHAR</KEYWORD3>
111 <KEYWORD3>NUMERIC</KEYWORD3>
112 <KEYWORD3>DECIMAL</KEYWORD3>
113 <KEYWORD3>BIT</KEYWORD3>
114 <KEYWORD3>TINYINT</KEYWORD3>
115 <KEYWORD3>SMALLINT</KEYWORD3>
116 <KEYWORD3>INTEGER</KEYWORD3>
117 <KEYWORD3>BIGINT</KEYWORD3>
118 <KEYWORD3>REAL</KEYWORD3>
119 <KEYWORD3>FLOAT</KEYWORD3>
120 <KEYWORD3>DOUBLE</KEYWORD3>
121 <KEYWORD3>BINARY</KEYWORD3>
122 <KEYWORD3>VARBINARY</KEYWORD3>
123 <KEYWORD3>LONGVARBINARY</KEYWORD3>
124 <KEYWORD3>DATE</KEYWORD3>
125 <KEYWORD3>TIME</KEYWORD3>
126 <KEYWORD3>TIMESTAMP</KEYWORD3>
131 Everything that happens in between quotes happens here.
133 <RULES SET="RVIEWSTMT" ESCAPE="\" DEFAULT="LITERAL1"
134 HIGHLIGHT_DIGITS="TRUE" IGNORE_CASE="TRUE">
135 <!-- Allow quoting for characters. -->
136 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
144 <SEQ TYPE="OPERATOR">+</SEQ>
145 <SEQ TYPE="OPERATOR">-</SEQ>
146 <SEQ TYPE="OPERATOR">/</SEQ>
147 <SEQ TYPE="OPERATOR">*</SEQ>
148 <SEQ TYPE="OPERATOR">=</SEQ>
153 <SEQ TYPE="OPERATOR">>=</SEQ>
154 <SEQ TYPE="OPERATOR"><=</SEQ>
155 <SEQ TYPE="OPERATOR">></SEQ>
156 <SEQ TYPE="OPERATOR"><</SEQ>
159 For callable statements, { } must be used.
161 <SEQ TYPE="OPERATOR">}</SEQ>
162 <SEQ TYPE="OPERATOR">{</SEQ>
165 Escape colons for full tables
167 <SEQ TYPE="NULL">::</SEQ>
169 <!-- Mark most colons as a label indicator -->
170 <MARK_FOLLOWING TYPE="LABEL">:</MARK_FOLLOWING>
172 <!-- Function calls (these can happen even inside quotes) -->
173 <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
174 <SEQ TYPE="OPERATOR">)</SEQ>
177 <KEYWORD1>SELECT</KEYWORD1>
178 <KEYWORD1>FROM</KEYWORD1>
179 <KEYWORD1>WHERE</KEYWORD1>
180 <KEYWORD1>AND</KEYWORD1>
181 <KEYWORD1>NOT</KEYWORD1>
182 <KEYWORD1>IN</KEYWORD1>
183 <KEYWORD1>BETWEEN</KEYWORD1>
184 <KEYWORD1>UPDATE</KEYWORD1>
185 <KEYWORD1>SET</KEYWORD1>
187 <KEYWORD1>call</KEYWORD1>
188 <KEYWORD1>desc</KEYWORD1>
191 It's possible to do casting to a particular SQL
192 type, so include the JDBC types here
194 <KEYWORD3>CHAR</KEYWORD3>
195 <KEYWORD3>VARCHAR</KEYWORD3>
196 <KEYWORD3>LONGVARCHAR</KEYWORD3>
197 <KEYWORD3>NUMERIC</KEYWORD3>
198 <KEYWORD3>DECIMAL</KEYWORD3>
199 <KEYWORD3>BIT</KEYWORD3>
200 <KEYWORD3>TINYINT</KEYWORD3>
201 <KEYWORD3>SMALLINT</KEYWORD3>
202 <KEYWORD3>INTEGER</KEYWORD3>
203 <KEYWORD3>BIGINT</KEYWORD3>
204 <KEYWORD3>REAL</KEYWORD3>
205 <KEYWORD3>FLOAT</KEYWORD3>
206 <KEYWORD3>DOUBLE</KEYWORD3>
207 <KEYWORD3>BINARY</KEYWORD3>
208 <KEYWORD3>VARBINARY</KEYWORD3>
209 <KEYWORD3>LONGVARBINARY</KEYWORD3>
210 <KEYWORD3>DATE</KEYWORD3>
211 <KEYWORD3>TIME</KEYWORD3>
212 <KEYWORD3>TIMESTAMP</KEYWORD3>