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