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