PageRenderTime 43ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-3-pre5/modes/powerdynamo.xml

#
XML | 469 lines | 420 code | 29 blank | 20 comment | 0 complexity | 311130c3141a6157fad1a6b381cffef1 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <?xml version="1.0"?>
  2. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <!--
  4. Sybase PowerDynamo mode file for jEdit - v 1.0
  5. (For the 5 people in the world who still have to program in dynamo.)
  6. By Ben Williams (benw@webmedia.com.au)
  7. 1.0 2003-11-13
  8. Initial release - supports dynamo script, SQL tags, and mostly complete support
  9. for the other tags (data, document, etc). more support planned for future.
  10. -->
  11. <MODE>
  12. <PROPS>
  13. <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
  14. <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
  15. <PROPERTY NAME="wordBreakChars" VALUE=" @ %^*()+=|\{}[]:;,.?$&amp;" />
  16. <PROPERTY NAME="commentStart" VALUE="&lt;!--" />
  17. <PROPERTY NAME="commentEnd" VALUE="--&gt;" />
  18. <PROPERTY NAME="lineComment" VALUE="//" />
  19. </PROPS>
  20. <RULES IGNORE_CASE="TRUE">
  21. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">
  22. <BEGIN>&lt;!--script</BEGIN>
  23. <END>--&gt;</END>
  24. </SPAN>
  25. <!-- these are the other dynamo tag types. for the meoment, we'll just hand them over to powerdynamo-script,
  26. but in future versions we can easily add individual processing for each of them, as they should have.
  27. -->
  28. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-data">
  29. <BEGIN>&lt;!--data</BEGIN>
  30. <END>--&gt;</END>
  31. </SPAN>
  32. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-document">
  33. <BEGIN>&lt;!--document</BEGIN>
  34. <END>--&gt;</END>
  35. </SPAN>
  36. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">
  37. <BEGIN>&lt;!--evaluate</BEGIN>
  38. <END>--&gt;</END>
  39. </SPAN>
  40. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">
  41. <BEGIN>&lt;!--execute</BEGIN>
  42. <END>--&gt;</END>
  43. </SPAN>
  44. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  45. <BEGIN>&lt;!--formatting</BEGIN>
  46. <END>--&gt;</END>
  47. </SPAN>
  48. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  49. <BEGIN>&lt;!--/formatting</BEGIN>
  50. <END>--&gt;</END>
  51. </SPAN>
  52. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  53. <BEGIN>&lt;!--include</BEGIN>
  54. <END>--&gt;</END>
  55. </SPAN>
  56. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  57. <BEGIN>&lt;!--label</BEGIN>
  58. <END>--&gt;</END>
  59. </SPAN>
  60. <SPAN TYPE="LABEL" DELEGATE="transact-sql::MAIN">
  61. <BEGIN>&lt;!--sql</BEGIN>
  62. <END>--&gt;</END>
  63. </SPAN>
  64. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  65. <BEGIN>&lt;!--sql_error_code</BEGIN>
  66. <END>--&gt;</END>
  67. </SPAN>
  68. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  69. <BEGIN>&lt;!--sql_error_info</BEGIN>
  70. <END>--&gt;</END>
  71. </SPAN>
  72. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  73. <BEGIN>&lt;!--sql_state</BEGIN>
  74. <END>--&gt;</END>
  75. </SPAN>
  76. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  77. <BEGIN>&lt;!--sql_on_no_error</BEGIN>
  78. <END>--&gt;</END>
  79. </SPAN>
  80. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  81. <BEGIN>&lt;!--/sql_on_no_error</BEGIN>
  82. <END>--&gt;</END>
  83. </SPAN>
  84. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  85. <BEGIN>&lt;!--sql_on_error</BEGIN>
  86. <END>--&gt;</END>
  87. </SPAN>
  88. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  89. <BEGIN>&lt;!--/sql_on_error</BEGIN>
  90. <END>--&gt;</END>
  91. </SPAN>
  92. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  93. <BEGIN>&lt;!--sql_on_no_rows</BEGIN>
  94. <END>--&gt;</END>
  95. </SPAN>
  96. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  97. <BEGIN>&lt;!--/sql_on_no_rows</BEGIN>
  98. <END>--&gt;</END>
  99. </SPAN>
  100. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  101. <BEGIN>&lt;!--sql_on_rows</BEGIN>
  102. <END>--&gt;</END>
  103. </SPAN>
  104. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-tag-general">
  105. <BEGIN>&lt;!--/sql_on_rows</BEGIN>
  106. <END>--&gt;</END>
  107. </SPAN>
  108. <!-- SGML comment -->
  109. <SPAN TYPE="COMMENT1">
  110. <BEGIN>&lt;!--</BEGIN>
  111. <END>--&gt;</END>
  112. </SPAN>
  113. <!-- JavaScript -->
  114. <SPAN TYPE="MARKUP" DELEGATE="html::JAVASCRIPT">
  115. <BEGIN>&lt;SCRIPT</BEGIN>
  116. <END>&lt;/SCRIPT&gt;</END>
  117. </SPAN>
  118. <!-- stylesheet -->
  119. <SPAN TYPE="MARKUP" DELEGATE="html::CSS">
  120. <BEGIN>&lt;STYLE</BEGIN>
  121. <END>&lt;/STYLE&gt;</END>
  122. </SPAN>
  123. <!-- DTD instructions -->
  124. <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">
  125. <BEGIN>&lt;!</BEGIN>
  126. <END>&gt;</END>
  127. </SPAN>
  128. <!-- markup tags -->
  129. <SPAN TYPE="MARKUP" DELEGATE="TAGS">
  130. <BEGIN>&lt;</BEGIN>
  131. <END>&gt;</END>
  132. </SPAN>
  133. <!-- SGML entities -->
  134. <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">
  135. <BEGIN>&amp;</BEGIN>
  136. <END>;</END>
  137. </SPAN>
  138. </RULES>
  139. <RULES SET="TAGS" DEFAULT="MARKUP">
  140. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">
  141. <BEGIN>&lt;!--script</BEGIN>
  142. <END>--?&gt;</END>
  143. </SPAN>
  144. <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">
  145. <BEGIN>"</BEGIN>
  146. <END>"</END>
  147. </SPAN>
  148. <SPAN TYPE="LITERAL1" DELEGATE="TAGS_LITERAL">
  149. <BEGIN>'</BEGIN>
  150. <END>'</END>
  151. </SPAN>
  152. <SEQ TYPE="OPERATOR">=</SEQ>
  153. </RULES>
  154. <RULES SET="TAGS_LITERAL" DEFAULT="LITERAL1">
  155. <SPAN TYPE="LABEL" DELEGATE="powerdynamo-script">
  156. <BEGIN>&lt;!--script</BEGIN>
  157. <END>?--&gt;</END>
  158. </SPAN>
  159. </RULES>
  160. <RULES SET="powerdynamo-script" ESCAPE="\" HIGHLIGHT_DIGITS="TRUE">
  161. <!--PROPS>
  162. <PROPERTY NAME="commentStart" VALUE="/*" />
  163. <PROPERTY NAME="lineComment" VALUE="//" />
  164. </PROPS-->
  165. <SPAN TYPE="COMMENT1">
  166. <BEGIN>/*</BEGIN>
  167. <END>*/</END>
  168. </SPAN>
  169. <SPAN TYPE="LITERAL1" DELEGATE="powerdynamo_LITERAL">
  170. <BEGIN>"</BEGIN>
  171. <END>"</END>
  172. </SPAN>
  173. <SPAN TYPE="LITERAL1" DELEGATE="powerdynamo_LITERAL">
  174. <BEGIN>'</BEGIN>
  175. <END>'</END>
  176. </SPAN>
  177. <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>
  178. <SEQ TYPE="OPERATOR">=</SEQ>
  179. <SEQ TYPE="OPERATOR">!</SEQ>
  180. <SEQ TYPE="OPERATOR">&gt;=</SEQ>
  181. <SEQ TYPE="OPERATOR">&lt;=</SEQ>
  182. <SEQ TYPE="OPERATOR">=</SEQ>
  183. <SEQ TYPE="OPERATOR">+</SEQ>
  184. <SEQ TYPE="OPERATOR">-</SEQ>
  185. <SEQ TYPE="OPERATOR">/</SEQ>
  186. <SEQ TYPE="OPERATOR">*</SEQ>
  187. <SEQ TYPE="OPERATOR">&gt;</SEQ>
  188. <SEQ TYPE="OPERATOR">&lt;</SEQ>
  189. <SEQ TYPE="OPERATOR">%</SEQ>
  190. <SEQ TYPE="OPERATOR">&amp;</SEQ>
  191. <SEQ TYPE="OPERATOR">|</SEQ>
  192. <SEQ TYPE="OPERATOR">^</SEQ>
  193. <SEQ TYPE="OPERATOR">~</SEQ>
  194. <SEQ TYPE="OPERATOR">.</SEQ>
  195. <SEQ TYPE="OPERATOR">}</SEQ>
  196. <SEQ TYPE="OPERATOR">{</SEQ>
  197. <SEQ TYPE="OPERATOR">,</SEQ>
  198. <SEQ TYPE="OPERATOR">;</SEQ>
  199. <SEQ TYPE="OPERATOR">]</SEQ>
  200. <SEQ TYPE="OPERATOR">[</SEQ>
  201. <SEQ TYPE="OPERATOR">?</SEQ>
  202. <SEQ TYPE="OPERATOR">@</SEQ>
  203. <SEQ TYPE="OPERATOR">:</SEQ>
  204. <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
  205. <!-- <MARK_PREVIOUS TYPE="FUNCTION" EXCLUDE_MATCH="TRUE"
  206. NO_WORD_BREAK="TRUE"> (</MARK_PREVIOUS> -->
  207. <!-- <MARK_FOLLOWING TYPE="FUNCTION" EXCLUDE_MATCH="TRUE"
  208. NO_WORD_BREAK="TRUE">class </MARK_FOLLOWING> -->
  209. <KEYWORDS>
  210. <!-- Language constructs (24) -->
  211. <KEYWORD1>abstract</KEYWORD1>
  212. <KEYWORD1>break</KEYWORD1>
  213. <KEYWORD1>byte</KEYWORD1>
  214. <KEYWORD1>boolean</KEYWORD1>
  215. <KEYWORD1>catch</KEYWORD1>
  216. <KEYWORD1>case</KEYWORD1>
  217. <KEYWORD1>class</KEYWORD1>
  218. <KEYWORD1>char</KEYWORD1>
  219. <KEYWORD1>continue</KEYWORD1>
  220. <KEYWORD1>default</KEYWORD1>
  221. <KEYWORD1>double</KEYWORD1>
  222. <KEYWORD1>do</KEYWORD1>
  223. <KEYWORD1>else</KEYWORD1>
  224. <KEYWORD1>exists</KEYWORD1>
  225. <KEYWORD1>extends</KEYWORD1>
  226. <KEYWORD1>false</KEYWORD1>
  227. <KEYWORD1>file</KEYWORD1>
  228. <KEYWORD1>final</KEYWORD1>
  229. <KEYWORD1>float</KEYWORD1>
  230. <KEYWORD1>for</KEYWORD1>
  231. <KEYWORD1>finally</KEYWORD1>
  232. <KEYWORD1>function</KEYWORD1>
  233. <KEYWORD1>if</KEYWORD1>
  234. <KEYWORD1>import</KEYWORD1>
  235. <KEYWORD1>implements</KEYWORD1>
  236. <KEYWORD1>int</KEYWORD1>
  237. <KEYWORD1>interface</KEYWORD1>
  238. <KEYWORD1>instanceof</KEYWORD1>
  239. <KEYWORD1>long</KEYWORD1>
  240. <KEYWORD1>length</KEYWORD1>
  241. <KEYWORD1>native</KEYWORD1>
  242. <KEYWORD1>new</KEYWORD1>
  243. <KEYWORD1>null</KEYWORD1>
  244. <KEYWORD1>package</KEYWORD1>
  245. <KEYWORD1>private</KEYWORD1>
  246. <KEYWORD1>protected</KEYWORD1>
  247. <KEYWORD1>public</KEYWORD1>
  248. <KEYWORD1>return</KEYWORD1>
  249. <KEYWORD1>switch</KEYWORD1>
  250. <KEYWORD1>synchronized</KEYWORD1>
  251. <KEYWORD1>short</KEYWORD1>
  252. <KEYWORD1>static</KEYWORD1>
  253. <KEYWORD1>super</KEYWORD1>
  254. <KEYWORD1>try</KEYWORD1>
  255. <KEYWORD1>true</KEYWORD1>
  256. <KEYWORD1>this</KEYWORD1>
  257. <KEYWORD1>throw</KEYWORD1>
  258. <KEYWORD1>throws</KEYWORD1>
  259. <KEYWORD1>threadsafe</KEYWORD1>
  260. <KEYWORD1>transient</KEYWORD1>
  261. <KEYWORD1>var</KEYWORD1>
  262. <KEYWORD1>void</KEYWORD1>
  263. <KEYWORD1>while</KEYWORD1>
  264. <!-- objects -->
  265. <KEYWORD2></KEYWORD2>
  266. <KEYWORD2>document</KEYWORD2>
  267. <KEYWORD2>connection</KEYWORD2>
  268. <KEYWORD2>file</KEYWORD2>
  269. <KEYWORD2>query</KEYWORD2>
  270. <KEYWORD2>session</KEYWORD2>
  271. <KEYWORD2>site</KEYWORD2>
  272. <KEYWORD2>system</KEYWORD2>
  273. <KEYWORD2>typeof</KEYWORD2>
  274. <!-- methods & attributes -->
  275. <KEYWORD3>AskQuestion</KEYWORD3>
  276. <KEYWORD3>autoCommit</KEYWORD3>
  277. <KEYWORD3>Close</KEYWORD3>
  278. <KEYWORD3>Commit</KEYWORD3>
  279. <KEYWORD3>Connect</KEYWORD3>
  280. <KEYWORD3>CreateConnection</KEYWORD3>
  281. <KEYWORD3>CreateDocument</KEYWORD3>
  282. <KEYWORD3>CreatePropertySheet</KEYWORD3>
  283. <KEYWORD3>CreateQuery</KEYWORD3>
  284. <KEYWORD3>CreateWizard</KEYWORD3>
  285. <KEYWORD3>cachedOutputTimeOut</KEYWORD3>
  286. <KEYWORD3>charAt</KEYWORD3>
  287. <KEYWORD3>connected</KEYWORD3>
  288. <KEYWORD3>connection</KEYWORD3>
  289. <KEYWORD3>connectionId</KEYWORD3>
  290. <KEYWORD3>connectionName</KEYWORD3>
  291. <KEYWORD3>connectionType</KEYWORD3>
  292. <KEYWORD3>connectParameters</KEYWORD3>
  293. <KEYWORD3>contentType</KEYWORD3>
  294. <KEYWORD3>DeleteConnection</KEYWORD3>
  295. <KEYWORD3>DeleteDocument</KEYWORD3>
  296. <KEYWORD3>Disconnect</KEYWORD3>
  297. <KEYWORD3>database</KEYWORD3>
  298. <KEYWORD3>dataSource</KEYWORD3>
  299. <KEYWORD3>dataSourceList</KEYWORD3>
  300. <KEYWORD3>description</KEYWORD3>
  301. <KEYWORD3>Exec</KEYWORD3>
  302. <KEYWORD3>Execute</KEYWORD3>
  303. <KEYWORD3>ExportTo</KEYWORD3>
  304. <KEYWORD3>eof</KEYWORD3>
  305. <KEYWORD3>errorNumber</KEYWORD3>
  306. <KEYWORD3>errorString</KEYWORD3>
  307. <KEYWORD3>GetColumnCount</KEYWORD3>
  308. <KEYWORD3>GetColumnIndex</KEYWORD3>
  309. <KEYWORD3>GetColumnLabel</KEYWORD3>
  310. <KEYWORD3>GetConnection</KEYWORD3>
  311. <KEYWORD3>GetConnectionIdList</KEYWORD3>
  312. <KEYWORD3>GetConnectionNameList</KEYWORD3>
  313. <KEYWORD3>GetCWD</KEYWORD3>
  314. <KEYWORD3>GetDirectory</KEYWORD3>
  315. <KEYWORD3>GetDocument</KEYWORD3>
  316. <KEYWORD3>GetEmpty</KEYWORD3>
  317. <KEYWORD3>GetEnv</KEYWORD3>
  318. <KEYWORD3>GetErrorCode</KEYWORD3>
  319. <KEYWORD3>GetErrorInfo</KEYWORD3>
  320. <KEYWORD3>GetEventList</KEYWORD3>
  321. <KEYWORD3>GetFilePtr</KEYWORD3>
  322. <KEYWORD3>GetGenerated</KEYWORD3>
  323. <KEYWORD3>GetRootDocument</KEYWORD3>
  324. <KEYWORD3>GetRowCount</KEYWORD3>
  325. <KEYWORD3>GetServerVariable</KEYWORD3>
  326. <KEYWORD3>GetState</KEYWORD3>
  327. <KEYWORD3>GetSupportedMoves</KEYWORD3>
  328. <KEYWORD3>GetValue</KEYWORD3>
  329. <KEYWORD3>ImportFrom</KEYWORD3>
  330. <KEYWORD3>Include</KEYWORD3>
  331. <KEYWORD3>id</KEYWORD3>
  332. <KEYWORD3>indexOf</KEYWORD3>
  333. <KEYWORD3>lastIndexOf</KEYWORD3>
  334. <KEYWORD3>lastModified</KEYWORD3>
  335. <KEYWORD3>length</KEYWORD3>
  336. <KEYWORD3>location</KEYWORD3>
  337. <KEYWORD3>Move</KEYWORD3>
  338. <KEYWORD3>MoveFirst</KEYWORD3>
  339. <KEYWORD3>MoveLast</KEYWORD3>
  340. <KEYWORD3>MoveNext</KEYWORD3>
  341. <KEYWORD3>MovePrevious</KEYWORD3>
  342. <KEYWORD3>MoveRelative</KEYWORD3>
  343. <KEYWORD3>mode</KEYWORD3>
  344. <KEYWORD3>name</KEYWORD3>
  345. <KEYWORD3>OnEvent</KEYWORD3>
  346. <KEYWORD3>Open</KEYWORD3>
  347. <KEYWORD3>Opened</KEYWORD3>
  348. <KEYWORD3>parent</KEYWORD3>
  349. <KEYWORD3>password</KEYWORD3>
  350. <KEYWORD3>ReadChar</KEYWORD3>
  351. <KEYWORD3>ReadLine</KEYWORD3>
  352. <KEYWORD3>Refresh</KEYWORD3>
  353. <KEYWORD3>Rollback</KEYWORD3>
  354. <KEYWORD3>redirect</KEYWORD3>
  355. <KEYWORD3>Seek</KEYWORD3>
  356. <KEYWORD3>SetEnv</KEYWORD3>
  357. <KEYWORD3>SetSQL</KEYWORD3>
  358. <KEYWORD3>ShowMessage</KEYWORD3>
  359. <KEYWORD3>substring</KEYWORD3>
  360. <KEYWORD3>server</KEYWORD3>
  361. <KEYWORD3>simulateCursors</KEYWORD3>
  362. <KEYWORD3>size</KEYWORD3>
  363. <KEYWORD3>source</KEYWORD3>
  364. <KEYWORD3>status</KEYWORD3>
  365. <KEYWORD3>timeOut</KEYWORD3>
  366. <KEYWORD3>toLowerCase</KEYWORD3>
  367. <KEYWORD3>toUpperCase</KEYWORD3>
  368. <KEYWORD3>type</KEYWORD3>
  369. <KEYWORD3>userId</KEYWORD3>
  370. <KEYWORD3>value</KEYWORD3>
  371. <KEYWORD3>WriteLine</KEYWORD3>
  372. <KEYWORD3>Write</KEYWORD3>
  373. <KEYWORD3>write</KEYWORD3>
  374. <KEYWORD3>writeln</KEYWORD3>
  375. </KEYWORDS>
  376. </RULES>
  377. <RULES IGNORE_CASE="TRUE" SET="powerdynamo-tag-general">
  378. <SPAN TYPE="LITERAL1" DELEGATE="powerdynamo_LITERAL">
  379. <BEGIN>"</BEGIN>
  380. <END>"</END>
  381. </SPAN>
  382. <SPAN TYPE="LITERAL1" DELEGATE="powerdynamo_LITERAL">
  383. <BEGIN>'</BEGIN>
  384. <END>'</END>
  385. </SPAN>
  386. <KEYWORDS>
  387. <KEYWORD2>NAME</KEYWORD2>
  388. </KEYWORDS>
  389. </RULES>
  390. <RULES IGNORE_CASE="TRUE" SET="powerdynamo-tag-data">
  391. <SPAN TYPE="LITERAL1" DELEGATE="powerdynamo_LITERAL">
  392. <BEGIN>"</BEGIN>
  393. <END>"</END>
  394. </SPAN>
  395. <SPAN TYPE="LITERAL1" DELEGATE="powerdynamo_LITERAL">
  396. <BEGIN>'</BEGIN>
  397. <END>'</END>
  398. </SPAN>
  399. <KEYWORDS>
  400. <KEYWORD2>NAME</KEYWORD2>
  401. <KEYWORD2>QUERY</KEYWORD2>
  402. </KEYWORDS>
  403. </RULES>
  404. <RULES IGNORE_CASE="TRUE" SET="powerdynamo-tag-document">
  405. <SPAN TYPE="LITERAL1" DELEGATE="powerdynamo_LITERAL">
  406. <BEGIN>"</BEGIN>
  407. <END>"</END>
  408. </SPAN>
  409. <SPAN TYPE="LITERAL1" DELEGATE="powerdynamo_LITERAL">
  410. <BEGIN>'</BEGIN>
  411. <END>'</END>
  412. </SPAN>
  413. <KEYWORDS>
  414. <KEYWORD2>CONTENT_TYPE</KEYWORD2>
  415. <KEYWORD2>REDIRECT</KEYWORD2>
  416. <KEYWORD2>STATUS</KEYWORD2>
  417. <KEYWORD2>CACHED_OUTPUT_TIMEOUT</KEYWORD2>
  418. </KEYWORDS>
  419. </RULES>
  420. </MODE>