/jEdit/tags/jedit-4-3-pre18/modes/html.xml

# · XML · 192 lines · 164 code · 14 blank · 14 comment · 0 complexity · 031c7db2db5e9e17e6c643f08293a14e MD5 · raw file

  1. <?xml version="1.0"?>
  2. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  3. <MODE>
  4. <PROPS>
  5. <PROPERTY NAME="commentStart" VALUE="&lt;!--" />
  6. <PROPERTY NAME="commentEnd" VALUE="--&gt;" />
  7. </PROPS>
  8. <RULES IGNORE_CASE="TRUE">
  9. <!-- SGML comment -->
  10. <SPAN TYPE="COMMENT1">
  11. <BEGIN>&lt;!--</BEGIN>
  12. <END>--&gt;</END>
  13. </SPAN>
  14. <!-- JavaScript -->
  15. <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">
  16. <BEGIN>&lt;SCRIPT</BEGIN>
  17. <END>&lt;/SCRIPT&gt;</END>
  18. </SPAN>
  19. <!-- stylesheet -->
  20. <SPAN TYPE="MARKUP" DELEGATE="CSS">
  21. <BEGIN>&lt;STYLE</BEGIN>
  22. <END>&lt;/STYLE&gt;</END>
  23. </SPAN>
  24. <!-- DTD instructions -->
  25. <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">
  26. <BEGIN>&lt;!</BEGIN>
  27. <END>&gt;</END>
  28. </SPAN>
  29. <!-- markup tags -->
  30. <SPAN TYPE="MARKUP" DELEGATE="TAGS">
  31. <BEGIN>&lt;</BEGIN>
  32. <END>&gt;</END>
  33. </SPAN>
  34. <!-- SGML entities -->
  35. <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">
  36. <BEGIN>&amp;</BEGIN>
  37. <END>;</END>
  38. </SPAN>
  39. </RULES>
  40. <!-- ESCAPE is not exactly right but it is needed to correctly
  41. handle JavaScript in on* parameters.
  42. NOTE: ESCAPE moved from RULE to SPANs! -->
  43. <RULES SET="TAGS" DEFAULT="MARKUP">
  44. <!-- Inline CSS -->
  45. <SPAN_REGEXP AT_WORD_START="TRUE" TYPE="MARKUP" DELEGATE="css::PROPERTIES" HASH_CHAR="style">
  46. <BEGIN>style\s*=\s*(["'])</BEGIN>
  47. <END>$1</END>
  48. </SPAN_REGEXP>
  49. <!-- Javascript: delegate on* attributes to Javascript mode -->
  50. <SPAN_REGEXP AT_WORD_START="TRUE" DELEGATE="javascript::MAIN" HASH_CHAR="on" TYPE="MARKUP">
  51. <BEGIN>on[a-z]+\s*=\s*(["'])</BEGIN>
  52. <END>$1</END>
  53. </SPAN_REGEXP>
  54. <!-- NOTE: no ESCAPE for quotes, at least for attributes; e.g onclick="alert(\"foo\");" is invalid! -->
  55. <SPAN TYPE="LITERAL1">
  56. <BEGIN>"</BEGIN>
  57. <END>"</END>
  58. </SPAN>
  59. <SPAN TYPE="LITERAL1">
  60. <BEGIN>'</BEGIN>
  61. <END>'</END>
  62. </SPAN>
  63. <SEQ TYPE="OPERATOR">=</SEQ>
  64. <KEYWORDS>
  65. <!-- HTML/XHTML elements, taken from http://de.selfhtml.org/html/referenz/elemente.htm -->
  66. <MARKUP>a</MARKUP>
  67. <MARKUP>abbr</MARKUP>
  68. <MARKUP>acronym</MARKUP>
  69. <MARKUP>address</MARKUP>
  70. <MARKUP>applet</MARKUP>
  71. <MARKUP>area</MARKUP>
  72. <MARKUP>b</MARKUP>
  73. <MARKUP>base</MARKUP>
  74. <MARKUP>basefont</MARKUP>
  75. <MARKUP>bdo</MARKUP>
  76. <MARKUP>big</MARKUP>
  77. <MARKUP>blockquote</MARKUP>
  78. <MARKUP>body</MARKUP>
  79. <MARKUP>br</MARKUP>
  80. <MARKUP>button</MARKUP>
  81. <MARKUP>caption</MARKUP>
  82. <MARKUP>center</MARKUP>
  83. <MARKUP>cite</MARKUP>
  84. <MARKUP>code</MARKUP>
  85. <MARKUP>col</MARKUP>
  86. <MARKUP>colgroup</MARKUP>
  87. <MARKUP>dd</MARKUP>
  88. <MARKUP>del</MARKUP>
  89. <MARKUP>dfn</MARKUP>
  90. <MARKUP>dir</MARKUP>
  91. <MARKUP>div</MARKUP>
  92. <MARKUP>dl</MARKUP>
  93. <MARKUP>dt</MARKUP>
  94. <MARKUP>em</MARKUP>
  95. <MARKUP>fieldset</MARKUP>
  96. <MARKUP>font</MARKUP>
  97. <MARKUP>form</MARKUP>
  98. <MARKUP>frame</MARKUP>
  99. <MARKUP>frameset</MARKUP>
  100. <MARKUP>h1</MARKUP>
  101. <MARKUP>h2</MARKUP>
  102. <MARKUP>h3</MARKUP>
  103. <MARKUP>h4</MARKUP>
  104. <MARKUP>h5</MARKUP>
  105. <MARKUP>h6</MARKUP>
  106. <MARKUP>head</MARKUP>
  107. <MARKUP>hr</MARKUP>
  108. <MARKUP>html</MARKUP>
  109. <MARKUP>i</MARKUP>
  110. <MARKUP>iframe</MARKUP>
  111. <MARKUP>img</MARKUP>
  112. <MARKUP>input</MARKUP>
  113. <MARKUP>ins</MARKUP>
  114. <MARKUP>isindex</MARKUP>
  115. <MARKUP>kbd</MARKUP>
  116. <MARKUP>label</MARKUP>
  117. <MARKUP>legend</MARKUP>
  118. <MARKUP>li</MARKUP>
  119. <MARKUP>link</MARKUP>
  120. <MARKUP>map</MARKUP>
  121. <MARKUP>menu</MARKUP>
  122. <MARKUP>meta</MARKUP>
  123. <MARKUP>noframes</MARKUP>
  124. <MARKUP>noscript</MARKUP>
  125. <MARKUP>object</MARKUP>
  126. <MARKUP>ol</MARKUP>
  127. <MARKUP>optgroup</MARKUP>
  128. <MARKUP>option</MARKUP>
  129. <MARKUP>p</MARKUP>
  130. <MARKUP>param</MARKUP>
  131. <MARKUP>pre</MARKUP>
  132. <MARKUP>q</MARKUP>
  133. <MARKUP>s</MARKUP>
  134. <MARKUP>samp</MARKUP>
  135. <MARKUP>script</MARKUP>
  136. <MARKUP>select</MARKUP>
  137. <MARKUP>small</MARKUP>
  138. <MARKUP>span</MARKUP>
  139. <MARKUP>strike</MARKUP>
  140. <MARKUP>strong</MARKUP>
  141. <MARKUP>style</MARKUP>
  142. <MARKUP>sub</MARKUP>
  143. <MARKUP>sup</MARKUP>
  144. <MARKUP>table</MARKUP>
  145. <MARKUP>tbody</MARKUP>
  146. <MARKUP>td</MARKUP>
  147. <MARKUP>textarea</MARKUP>
  148. <MARKUP>tfoot</MARKUP>
  149. <MARKUP>th</MARKUP>
  150. <MARKUP>thead</MARKUP>
  151. <MARKUP>title</MARKUP>
  152. <MARKUP>tr</MARKUP>
  153. <MARKUP>tt</MARKUP>
  154. <MARKUP>u</MARKUP>
  155. <MARKUP>ul</MARKUP>
  156. <MARKUP>var</MARKUP>
  157. </KEYWORDS>
  158. </RULES>
  159. <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">
  160. <SEQ TYPE="MARKUP" DELEGATE="javascript::MAIN">&gt;</SEQ>
  161. <!-- handle <SCRIPT SRC="..."> properly -->
  162. <SEQ TYPE="MARKUP" DELEGATE="BACK_TO_HTML">SRC=</SEQ>
  163. <!-- Inline CSS -->
  164. <SPAN_REGEXP TYPE="MARKUP" DELEGATE="css::PROPERTIES" HASH_CHAR="style">
  165. <BEGIN>style\s*=\s*(["'])</BEGIN>
  166. <END>$1</END>
  167. </SPAN_REGEXP>
  168. </RULES>
  169. <RULES SET="BACK_TO_HTML" DEFAULT="MARKUP">
  170. <SEQ TYPE="MARKUP" DELEGATE="html::MAIN">&gt;</SEQ>
  171. </RULES>
  172. <RULES SET="CSS" DEFAULT="MARKUP">
  173. <SEQ TYPE="MARKUP" DELEGATE="css::MAIN">&gt;</SEQ>
  174. </RULES>
  175. </MODE>