2 <!ENTITY % token_values "NULL | COMMENT1 | COMMENT2 | COMMENT3 | COMMENT4 |
3 DIGIT | FUNCTION | INVALID | KEYWORD1 | KEYWORD2 | KEYWORD3 | KEYWORD4 |
4 LABEL | LITERAL1 | LITERAL2 | LITERAL3 | LITERAL4 | MARKUP | OPERATOR" >
5 <!ENTITY % tokens "( %token_values; )" >
7 <!-- Entities for attributes shared by multiple rules -->
8 <!ENTITY % att-bool '( TRUE | FALSE ) #IMPLIED' >
9 <!ENTITY % att-type 'TYPE %tokens; #IMPLIED' >
10 <!ENTITY % att-position-mix 'AT_LINE_START %att-bool;
11 AT_WHITESPACE_END %att-bool;
12 AT_WORD_START %att-bool; ' >
13 <!ENTITY % att-match-type 'MATCH_TYPE ( %token_values; | CONTEXT | RULE ) #IMPLIED' >
14 <!ENTITY % att-delegate 'DELEGATE CDATA #IMPLIED' >
15 <!ENTITY % att-span-mix 'NO_LINE_BREAK %att-bool;
16 NO_WORD_BREAK %att-bool;
17 ESCAPE CDATA #IMPLIED '>
18 <!ENTITY % att-hash-char 'HASH_CHAR CDATA #IMPLIED
19 HASH_CHARS CDATA #IMPLIED' >
22 <!ELEMENT MODE ( PROPS?, RULES* ) >
24 <!-- MODE children -->
25 <!-- PROPS element -->
26 <!ELEMENT PROPS ( PROPERTY+ ) >
28 <!-- PROPS children -->
29 <!ELEMENT PROPERTY EMPTY >
32 VALUE CDATA #REQUIRED >
34 <!-- RULES element -->
35 <!ELEMENT RULES ( PROPS?, ( IMPORT | TERMINATE | SEQ | SEQ_REGEXP | SPAN
36 | SPAN_REGEXP | EOL_SPAN | EOL_SPAN_REGEXP | MARK_PREVIOUS
37 | MARK_FOLLOWING )*, KEYWORDS? ) >
39 <!-- RULES attributes -->
42 IGNORE_CASE %att-bool;
43 HIGHLIGHT_DIGITS %att-bool;
44 DIGIT_RE CDATA #IMPLIED
46 DEFAULT %tokens; #IMPLIED
47 NO_WORD_SEP CDATA #IMPLIED >
49 <!-- IMPORT element -->
50 <!ELEMENT IMPORT EMPTY >
51 <!ATTLIST IMPORT DELEGATE CDATA #REQUIRED >
53 <!-- TERMINATE element -->
54 <!ELEMENT TERMINATE EMPTY >
55 <!ATTLIST TERMINATE AT_CHAR CDATA #REQUIRED >
58 <!ELEMENT SEQ ( #PCDATA ) >
60 <!-- SEQ attributes -->
66 <!-- SEQ_REGEXP element -->
67 <!ELEMENT SEQ_REGEXP ( #PCDATA ) >
69 <!-- SEQ_REGEXP attributes -->
77 <!ELEMENT SPAN ( BEGIN, END ) >
79 <!-- SPAN attributes -->
87 <!-- SPAN_REGEXP element -->
88 <!ELEMENT SPAN_REGEXP ( BEGIN, END ) >
90 <!-- SPAN_REGEXP attributes -->
99 <!-- SPAN and SPAN_REGEXP children -->
100 <!ELEMENT BEGIN ( #PCDATA ) >
101 <!ELEMENT END ( #PCDATA ) >
106 <!-- EOL_SPAN element -->
107 <!ELEMENT EOL_SPAN ( #PCDATA ) >
109 <!-- EOL_SPAN attributes -->
116 <!-- EOL_SPAN_REGEXP element -->
117 <!ELEMENT EOL_SPAN_REGEXP ( #PCDATA ) >
119 <!-- EOL_SPAN_REGEXP attributes -->
120 <!ATTLIST EOL_SPAN_REGEXP
127 <!-- MARK_FOLLOWING element -->
128 <!ELEMENT MARK_FOLLOWING ( #PCDATA ) >
130 <!-- MARK_FOLLOWING attributes -->
131 <!ATTLIST MARK_FOLLOWING
136 <!-- MARK_PREVIOUS element -->
137 <!ELEMENT MARK_PREVIOUS ( #PCDATA ) >
139 <!-- MARK_PREVIOUS attributes -->
140 <!ATTLIST MARK_PREVIOUS
145 <!-- KEYWORDS element -->
146 <!ELEMENT KEYWORDS (%tokens;)+ >
148 <!-- KEYWORDS children -->
149 <!ELEMENT COMMENT1 ( #PCDATA ) >
150 <!ELEMENT COMMENT2 ( #PCDATA ) >
151 <!ELEMENT COMMENT3 ( #PCDATA ) >
152 <!ELEMENT COMMENT4 ( #PCDATA ) >
153 <!ELEMENT DIGIT ( #PCDATA ) >
154 <!ELEMENT FUNCTION ( #PCDATA ) >
155 <!ELEMENT KEYWORD1 ( #PCDATA ) >
156 <!ELEMENT KEYWORD2 ( #PCDATA ) >
157 <!ELEMENT KEYWORD3 ( #PCDATA ) >
158 <!ELEMENT KEYWORD4 ( #PCDATA ) >
159 <!ELEMENT LABEL ( #PCDATA ) >
160 <!ELEMENT LITERAL1 ( #PCDATA ) >
161 <!ELEMENT LITERAL2 ( #PCDATA ) >
162 <!ELEMENT LITERAL3 ( #PCDATA ) >
163 <!ELEMENT LITERAL4 ( #PCDATA ) >
164 <!ELEMENT MARKUP ( #PCDATA ) >
165 <!ELEMENT NULL ( #PCDATA ) >
166 <!ELEMENT OPERATOR ( #PCDATA ) >
167 <!ELEMENT INVALID ( #PCDATA ) >