1 /******************************************************************************
2  * $Id$
3  *
4  * Project:  MapServer
5  * Purpose:  Keyword definitions for the mapfiles and symbolfiles.
6  * Author:   Steve Lime and the MapServer team.
7  *
8  ******************************************************************************
9  * Copyright (c) 1996-2005 Regents of the University of Minnesota.
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included in
19  * all copies of this Software or works derived from this Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  ****************************************************************************/
29 
30 
31 #ifndef MAPFILE_H
32 #define MAPFILE_H
33 
34 enum MS_LEXER_STATES {MS_TOKENIZE_DEFAULT=0, MS_TOKENIZE_FILE, MS_TOKENIZE_STRING, MS_TOKENIZE_EXPRESSION, MS_TOKENIZE_URL_VARIABLE, MS_TOKENIZE_URL_STRING, MS_TOKENIZE_VALUE, MS_TOKENIZE_NAME};
35 enum MS_TOKEN_SOURCES {MS_FILE_TOKENS=0, MS_STRING_TOKENS, MS_URL_TOKENS};
36 
37 /*
38 ** Keyword definitions for the mapfiles and symbolfiles (used by lexer)
39 */
40 #define ANGLE 1000
41 #define ANTIALIAS 1001
42 #define BACKGROUNDCOLOR 1002
43 #define BUFFER 1003
44 #define CLASS 1004
45 #define CLASSITEM 1005
46 #define COLOR 1006
47 #define DATA 1007
48 #define DD 1008
49 
50 #define EMPTY 1010
51 #define END 1011
52 #define ERROR 1012
53 #define EXPRESSION 1013
54 #define EXTENT 1014
55 #define FEATURE 1015
56 #define FILLED 1016
57 #define FOOTER 1017
58 #define FONT 1018
59 #define FONTSET 1019
60 #define FROM 1020
61 #define GROUP 1021
62 #define HEADER 1022
63 #define IMAGE 1023
64 #define IMAGECOLOR 1024
65 #define IMAGEPATH 1025
66 #define IMAGEURL 1026
67 #define INDEX 1027
68 #define INTERLACE 1028
69 #define INTERVALS 1029
70 #define JOIN 1030
71 #define KEYSIZE 1031
72 #define KEYSPACING 1032
73 #define LABEL 1033
74 #define LABELCACHE 1035
75 #define LABELITEM 1036
76 #define LABELMAXSCALE 1037
77 #define LABELMINSCALE 1038
78 #define LAYER 1040
79 #define LEGEND 1041
80 
81 #define LOG 1043
82 #define MAP 1044
83 
84 
85 #define MAXFEATURES 1047
86 #define MAXSCALE 1048
87 #define MAXSIZE 1049
88 #define MAXTEMPLATE 1050
89 #define MINDISTANCE 1051
90 #define MINFEATURESIZE 1053
91 #define MINSCALE 1054
92 #define MINSIZE 1055
93 #define MINTEMPLATE 1056
94 #define NAME 1057
95 #define NFTEMPLATE 1058
96 
97 #define OFFSET 1060
98 #define OFFSITE 1061
99 #define OUTLINECOLOR 1062
100 #define PARTIALS 1063
101 #define POINTS 1064
102 #define POSITION 1065
103 #define POSTLABELCACHE 1098
104 #define PROJECTION 1066
105 #define QUERY 1067
106 #define QUERYITEM 1068
107 #define QUERYMAP 1069
108 #define REFERENCE 1070
109 #define SCALE 1071
110 #define SCALEBAR 1072
111 
112 #define SHADOWCOLOR 1074
113 #define SHADOWSIZE 1075
114 #define SHAPEPATH 1076
115 #define SIZE 1077
116 #define STATUS 1078
117 
118 #define STYLE 1080
119 #define SYMBOL 1081
120 #define SYMBOLSCALE 1082
121 #define TABLE 1083
122 #define TEMPLATE 1084
123 #define TEXT 1085
124 #define TEXTITEM 1086
125 
126 #define TILEINDEX 1088
127 #define TILEITEM 1089
128 #define TOLERANCE 1090
129 #define TO 1091
130 #define TRANSPARENT 1092
131 #define TRANSFORM 1093
132 #define TYPE 1094
133 #define UNITS 1095
134 #define WEB 1096
135 #define WRAP 1097
136 
137 #define FORCE 1098
138 #define TOLERANCEUNITS 1099
139 #define CHARACTER 1100
140 
141 #define CONNECTION 1101
142 #define CONNECTIONTYPE 1102
143 
144 #define SYMBOLSET 1105
145 
146 #define OVERLAYBACKGROUNDCOLOR 1106
147 #define OVERLAYCOLOR 1107
148 #define OVERLAYMAXSIZE 1108
149 #define OVERLAYMINSIZE 1109
150 #define OVERLAYOUTLINECOLOR 1110
151 #define OVERLAYSIZE 1111
152 #define OVERLAYSYMBOL 1112
153 
154 #define IMAGETYPE 1113
155 #define IMAGEQUALITY 1114
156 
157 #define GAP 1115
158 
159 #define FILTER 1116
160 #define FILTERITEM 1117
161 
162 #define REQUIRES 1118
163 #define LABELREQUIRES 1119
164 
165 #define METADATA 1120
166 #define LATLON 1121
167 
168 #define RESOLUTION 1122
169 
170 #define SIZEUNITS 1123
171 
172 #define STYLEITEM 1124
173 
174 #define DUMP 1125
175 
176 #define TITLE 1126
177 
178 #define LINECAP 1127
179 #define LINEJOIN 1128
180 #define LINEJOINMAXSIZE 1129
181 
182 #define TRANSPARENCY 1130
183 
184 #define MARKER 1131
185 #define MARKERSIZE 1132
186 #define MINBOXSIZE 1133
187 #define MAXBOXSIZE 1134
188 
189 #define OUTPUTFORMAT 1135
190 #define MIMETYPE 1136
191 #define DRIVER 1137
192 #define IMAGEMODE 1138
193 #define FORMATOPTION 1139
194 
195 #define GRATICULE 1140
196 #define GRID 1141
197 
198 #define MAXARCS 1142
199 #define MINARCS 1143
200 #define MAXINTERVAL 1144
201 #define MININTERVAL 1145
202 #define MAXSUBDIVIDE 1146
203 #define MINSUBDIVIDE  1147
204 #define LABELFORMAT  1148
205 
206 #define DATAPATTERN 1150
207 #define FILEPATTERN 1151
208 #define TEMPLATEPATTERN 1152
209 
210 #define PROCESSING  1153
211 
212 /* The DEBUG macro is also used to request debugging output.  Redefine
213    for keyword purposes.  */
214 
215 #ifdef DEBUG
216 #undef DEBUG
217 #endif
218 
219 #define DEBUG 1154
220 
221 #define EXTENSION 1155
222 
223 #define KEYIMAGE 1156
224 #define QUERYFORMAT 1157
225 
226 #define CONFIG 1158
227 #define BANDSITEM 1159
228 
229 #define ENCODING 1162
230 
231 #define WIDTH 1163
232 #define MINWIDTH 1164
233 #define MAXWIDTH 1165
234 
235 #define OUTLINEWIDTH 1166
236 
237 /* Color Range support (was Gradient Support)*/
238 #define COLORRANGE 1170
239 #define DATARANGE 1172
240 #define RANGEITEM 1173
241 
242 /* WKT support (bug 1466) */
243 #define WKT 1180
244 
245 #define LEGENDFORMAT 1190 /* bug 1518 */
246 #define BROWSEFORMAT 1191
247 
248 #define RELATIVETO 1192
249 
250 #define OPACITY 1193
251 #define PRIORITY 1194
252 #define PATTERN 1195
253 
254 #define MAXSCALEDENOM 1196
255 #define MINSCALEDENOM 1197
256 #define LABELMAXSCALEDENOM 1198
257 #define LABELMINSCALEDENOM 1199
258 #define SYMBOLSCALEDENOM 1200
259 #define SCALEDENOM 1201
260 
261 #define CLASSGROUP 1202
262 
263 #define ALIGN 1203 /* bug 2468 */
264 
265 #define MAXGEOWIDTH 1204
266 #define MINGEOWIDTH 1205
267 
268 #define ITEMS 1206
269 
270 /* rfc40 label wrapping */
271 #define MAXLENGTH 1210
272 #define MINLENGTH 1211
273 
274 /* rfc44 URL configuration support */
275 #define VALIDATION 1212
276 
277 /* rfc48 geometry transforms */
278 #define GEOMTRANSFORM 1220
279 
280 /* rfc55 output resolution */
281 #define DEFRESOLUTION 1221
282 
283 /* label repeat enhancement */
284 #define REPEATDISTANCE 1222
285 
286 /* rfc60 label collision detection */
287 #define MAXOVERLAPANGLE 1223
288 
289 /* rfc66 temporary path */
290 #define TEMPPATH 1224
291 
292 /* rfc68 union connection type */
293 #define UNION 1225
294 
295 /* rfc69 cluster */
296 #define CLUSTER 1226
297 #define MAXDISTANCE 1227
298 #define REGION 1228
299 
300 #define INITIALGAP 1229
301 #define ANCHORPOINT 1230
302 
303 #define MASK 1250
304 
305 #define POLAROFFSET 1251
306 
307 /* rfc78 leader-lines labels */
308 #define LEADER 1260
309 #define GRIDSTEP 1261
310 
311 /* rfc 86 scale-dependant token substitutions */
312 #define SCALETOKEN 1270
313 #define VALUES 1271
314 
315 #define TILESRS 1272
316 
317 /* rfc 93 support for utfgrid */
318 #define UTFDATA 1280
319 #define UTFITEM 1281
320 
321 /* rfc 113 layer compositing */
322 #define COMPOSITE 1290
323 #define COMPOP 1291
324 #define COMPFILTER 1292
325 
326 
327 #define BOM 1300
328 
329 /* rfc59 bindvals objects */
330 #define BINDVALS 2000
331 
332 #define CONNECTIONOPTIONS 2001
333 
334 #endif /* MAPFILE_H */
335