1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 /* 19 * $Id: Constants.java 468643 2006-10-28 06:56:03Z minchau $ 20 */ 21 package org.apache.xalan.templates; 22 23 24 /** 25 * Primary constants used in the TransformerImpl classes. 26 * @xsl.usage advanced 27 */ 28 public class Constants extends org.apache.xml.utils.Constants 29 { 30 31 /** 32 * IDs for XSL element types. These are associated 33 * with the string literals in the TransformerImpl class. 34 * Don't change the numbers. NOTE THAT THESE ARE NOT IN 35 * ALPHABETICAL ORDER! 36 * (It's a pity Java doesn't have a real Enumerated Mnemonic 37 * datatype... or a C-like preprocessor in lieu thereof which 38 * could be used to generate and maintain synch between these lists.) 39 */ 40 public static final int ELEMNAME_UNDEFINED = -1, ELEMNAME_WITHPARAM = 2, 41 ELEMNAME_ADDATTRIBUTE = 4, ELEMNAME_ANCHOR = 22, 42 43 // ELEMNAME_ANCHOR_PATTERN = 23, 44 ELEMNAME_APPLY_TEMPLATES = 50, ELEMNAME_USE = 34, ELEMNAME_CHILDREN = 6, 45 ELEMNAME_CHOOSE = 37, ELEMNAME_COMMENT = 59, // my own 46 ELEMNAME_CONSTRUCT = 7, // my own 47 ELEMNAME_CONTENTS = 8, ELEMNAME_COPY = 9, 48 ELEMNAME_COPY_OF = 74, 49 ELEMNAME_DECIMALFORMAT = 83, 50 ELEMNAME_DEFINEATTRIBUTESET = 40, 51 52 // ELEMNAME_DEFINECONSTANT = 29, 53 // ELEMNAME_DEFINEMACRO = 10, 54 ELEMNAME_DEFINESCRIPT = 11, ELEMNAME_DISPLAYIF = 12, // my own 55 ELEMNAME_EMPTY = 14, ELEMNAME_EVAL = 15, 56 ELEMNAME_EXPECTEDCHILDREN = 16, 57 ELEMNAME_EXTENSION = 54, 58 ELEMNAME_EXTENSIONHANDLER = 63, 59 ELEMNAME_FOREACH = 28, ELEMNAME_KEY = 31, 60 ELEMNAME_IF = 36, ELEMNAME_IMPORT = 26, 61 ELEMNAME_INCLUDE = 27, 62 ELEMNAME_CALLTEMPLATE = 17, 63 ELEMNAME_PARAMVARIABLE = 41, 64 ELEMNAME_NUMBER = 35, ELEMNAME_NSALIAS = 84, 65 ELEMNAME_OTHERWISE = 39, ELEMNAME_PI = 58, 66 ELEMNAME_PRESERVESPACE = 33, 67 ELEMNAME_REMOVEATTRIBUTE = 5, 68 ELEMNAME_TEMPLATE = 19, ELEMNAME_SORT = 64, 69 ELEMNAME_STRIPSPACE = 32, 70 ELEMNAME_STYLESHEET = 25, ELEMNAME_TEXT = 42, 71 ELEMNAME_VALUEOF = 30, ELEMNAME_WHEN = 38, 72 73 // Pattern by example support 74 ELEMNAME_ROOT = 44, ELEMNAME_ANY = 45, ELEMNAME_ELEMENT = 46, 75 ELEMNAME_TARGETELEMENT = 47, ELEMNAME_ATTRIBUTE = 48, 76 ELEMNAME_TARGETATTRIBUTE = 49, ELEMNAME_URL = 52, // my own 77 ELEMNAME_CALL = 55, // my own 78 79 // ELEMNAME_WITHPARAM = 56, 80 ELEMNAME_FALLBACK = 57, // my own 81 ELEMNAME_TARGETPI = 60, // my own 82 ELEMNAME_TARGETCOMMENT = 61, // my own 83 ELEMNAME_TARGETTEXT = 62, // my own 84 ELEMNAME_CSSSTYLECONVERSION = 65, // my own 85 ELEMNAME_COUNTER = 66, ELEMNAME_COUNTERS = 67, 86 ELEMNAME_COUNTERINCREMENT = 68, ELEMNAME_COUNTERRESET = 69, 87 ELEMNAME_COUNTERSCOPE = 71, ELEMNAME_APPLY_IMPORTS = 72, 88 ELEMNAME_VARIABLE = 73, ELEMNAME_MESSAGE = 75, ELEMNAME_LOCALE = 76, 89 ELEMNAME_LITERALRESULT = 77, ELEMNAME_TEXTLITERALRESULT = 78, 90 ELEMNAME_EXTENSIONCALL = 79, ELEMNAME_EXTENSIONDECL = 85, 91 ELEMNAME_EXTENSIONSCRIPT = 86, ELEMNAME_OUTPUT = 80, 92 ELEMNAME_COMPONENT = 81, ELEMNAME_SCRIPT = 82; 93 94 // Next free number: 90 (88 and 89 used for EXSLT elements); 95 96 /** 97 * Literals for XSL element names. Note that there are more 98 * names than IDs, because some names map to the same ID. 99 */ 100 public static final String 101 ELEMNAME_ANCHOR_STRING = "anchor", 102 ELEMNAME_ANY_STRING = "any", // pattern-by-example support 103 ELEMNAME_APPLY_IMPORTS_STRING = "apply-imports", 104 ELEMNAME_APPLY_TEMPLATES_STRING = "apply-templates", 105 ELEMNAME_ARG_STRING = "arg", 106 ELEMNAME_ATTRIBUTESET_STRING = "attribute-set", 107 ELEMNAME_ATTRIBUTE_STRING = "attribute", // pattern-by-example support 108 ELEMNAME_CALLTEMPLATEARG_STRING = "invoke-arg", 109 ELEMNAME_CALLTEMPLATE_STRING = "call-template", 110 ELEMNAME_CALL_STRING = "call", 111 ELEMNAME_CHILDREN_STRING = "children", 112 ELEMNAME_CHOOSE_STRING = "choose", 113 ELEMNAME_COMMENT_STRING = "comment", 114 ELEMNAME_COMPONENT_STRING = "component", 115 ELEMNAME_CONSTRUCT_STRING = "construct", // my own 116 ELEMNAME_CONTENTS_STRING = "contents", 117 ELEMNAME_COPY_OF_STRING ="copy-of", 118 ELEMNAME_COPY_STRING = "copy", 119 ELEMNAME_COUNTERINCREMENT_STRING = "counter-increment", 120 ELEMNAME_COUNTERRESET_STRING = "counter-reset", 121 ELEMNAME_COUNTERSCOPE_STRING = "counter-scope", 122 ELEMNAME_COUNTERS_STRING = "counters", 123 ELEMNAME_COUNTER_STRING = "counter", 124 ELEMNAME_CSSSTYLECONVERSION_STRING = "css-style-conversion", 125 ELEMNAME_DECIMALFORMAT_STRING = "decimal-format", 126 ELEMNAME_DISPLAYIF_STRING = "display-if", // my own 127 ELEMNAME_ELEMENT_STRING = "element", // pattern-by-example support 128 ELEMNAME_EMPTY_STRING = "empty", 129 ELEMNAME_EVAL_STRING = "eval", 130 ELEMNAME_EXPECTEDCHILDREN_STRING = "expectedchildren", 131 ELEMNAME_EXTENSIONHANDLER_STRING = "code-dispatcher", 132 ELEMNAME_EXTENSION_STRING = "functions", 133 ELEMNAME_FALLBACK_STRING = "fallback", 134 ELEMNAME_FOREACH_STRING = "for-each", 135 ELEMNAME_IF_STRING = "if", 136 ELEMNAME_IMPORT_STRING = "import", 137 ELEMNAME_INCLUDE_STRING = "include", 138 ELEMNAME_KEY_STRING = "key", 139 ELEMNAME_LOCALE_STRING = "locale", 140 ELEMNAME_MESSAGE_STRING = "message", 141 ELEMNAME_NSALIAS_STRING = "namespace-alias", 142 ELEMNAME_NUMBER_STRING = "number", 143 ELEMNAME_OTHERWISE_STRING = "otherwise", 144 ELEMNAME_OUTPUT_STRING = "output", 145 ELEMNAME_PARAMVARIABLE_STRING = "param", 146 ELEMNAME_PI_OLD_STRING = "pi", 147 ELEMNAME_PI_STRING = "processing-instruction", 148 ELEMNAME_PRESERVESPACE_STRING = "preserve-space", 149 ELEMNAME_ROOT_STRING = "root", // pattern-by-example support 150 ELEMNAME_SCRIPT_STRING = "script", 151 ELEMNAME_SORT_STRING = "sort", 152 ELEMNAME_STRIPSPACE_STRING = "strip-space", 153 ELEMNAME_STYLESHEET_STRING = "stylesheet", 154 ELEMNAME_TARGETATTRIBUTE_STRING = "target-attribute", // pattern-by-example support 155 ELEMNAME_TARGETCOMMENT_STRING = "target-comment", 156 ELEMNAME_TARGETELEMENT_STRING = "target-element", // pattern-by-example support 157 ELEMNAME_TARGETPI_STRING = "target-pi", 158 ELEMNAME_TARGETTEXT_STRING = "target-text", 159 ELEMNAME_TEMPLATE_STRING = "template", 160 ELEMNAME_TEXT_STRING = "text", 161 ELEMNAME_TRANSFORM_STRING = "transform", 162 ELEMNAME_URL_STRING = "uri", // pattern-by-example support 163 ELEMNAME_USE_STRING = "use", 164 ELEMNAME_VALUEOF_STRING = "value-of", 165 ELEMNAME_VARIABLE_STRING = "variable", 166 ELEMNAME_WHEN_STRING = "when", 167 ELEMNAME_WITHPARAM_STRING = "with-param"; 168 169 /** 170 * Literals for EXSLT function elements. 171 */ 172 public static final String 173 EXSLT_ELEMNAME_FUNCTION_STRING = "function", 174 EXSLT_ELEMNAME_FUNCRESULT_STRING = "result"; 175 public static final int 176 EXSLT_ELEMNAME_FUNCTION = 88, 177 EXSLT_ELEMNAME_FUNCRESULT = 89; 178 179 180 /** 181 * Literals for XSL attribute names. Note that there may be more 182 * names than IDs, because some names may map to the same ID. 183 */ 184 public static final String 185 ATTRNAME_AMOUNT = "amount", 186 ATTRNAME_ANCESTOR = "ancestor", 187 ATTRNAME_ARCHIVE = "archive", 188 ATTRNAME_ATTRIBUTE = "attribute", 189 ATTRNAME_ATTRIBUTE_SET = "attribute-set", 190 ATTRNAME_CASEORDER = "case-order", 191 ATTRNAME_CLASS = "class", 192 ATTRNAME_CLASSID = "classid", 193 ATTRNAME_CODEBASE = "codebase", 194 ATTRNAME_CODETYPE = "type", 195 ATTRNAME_CONDITION = "condition", 196 ATTRNAME_COPYTYPE = "copy-type", 197 ATTRNAME_COUNT = "count", 198 ATTRNAME_DATATYPE = "data-type", 199 ATTRNAME_DECIMALSEPARATOR = "decimal-separator", 200 ATTRNAME_DEFAULT = "default", 201 ATTRNAME_DEFAULTSPACE = "default-space", 202 ATTRNAME_DEPTH = "with-children", 203 ATTRNAME_DIGIT = "digit", 204 ATTRNAME_DIGITGROUPSEP = "digit-group-sep", 205 ATTRNAME_DISABLE_OUTPUT_ESCAPING = "disable-output-escaping", 206 ATTRNAME_ELEMENT = "element", 207 ATTRNAME_ELEMENTS = "elements", 208 ATTRNAME_EXCLUDE_RESULT_PREFIXES ="exclude-result-prefixes", 209 ATTRNAME_EXPR = "expr", 210 ATTRNAME_EXTENSIONELEMENTPREFIXES = "extension-element-prefixes", 211 ATTRNAME_FORMAT = "format", 212 ATTRNAME_FROM = "from", 213 ATTRNAME_GROUPINGSEPARATOR = "grouping-separator", 214 ATTRNAME_GROUPINGSIZE = "grouping-size", 215 ATTRNAME_HREF = "href", 216 ATTRNAME_ID = "id", 217 ATTRNAME_IMPORTANCE = "importance", 218 ATTRNAME_INDENTRESULT = "indent-result", 219 ATTRNAME_INFINITY = "infinity", 220 ATTRNAME_LANG = "lang", 221 ATTRNAME_LETTERVALUE = "letter-value", 222 ATTRNAME_LEVEL = "level", 223 ATTRNAME_MATCH = "match", 224 ATTRNAME_METHOD = "calls", 225 ATTRNAME_MINUSSIGN = "minus-sign", 226 ATTRNAME_MODE = "mode", 227 ATTRNAME_NAME = "name", 228 ATTRNAME_NAMESPACE = "namespace", 229 ATTRNAME_NAN = "NaN", 230 ATTRNAME_NDIGITSPERGROUP = "n-digits-per-group", 231 ATTRNAME_NS = "ns", 232 ATTRNAME_ONLY = "only", 233 ATTRNAME_ORDER = "order", 234 ATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS = "cdata-section-elements", 235 ATTRNAME_OUTPUT_DOCTYPE_PUBLIC = "doctype-public", 236 ATTRNAME_OUTPUT_DOCTYPE_SYSTEM = "doctype-system", 237 ATTRNAME_OUTPUT_ENCODING = "encoding", 238 ATTRNAME_OUTPUT_INDENT = "indent", 239 ATTRNAME_OUTPUT_MEDIATYPE = "media-type", 240 ATTRNAME_OUTPUT_METHOD = "method", // qname, 241 ATTRNAME_OUTPUT_OMITXMLDECL = "omit-xml-declaration", 242 ATTRNAME_OUTPUT_STANDALONE = "standalone", 243 ATTRNAME_OUTPUT_VERSION = "version", 244 ATTRNAME_PATTERNSEPARATOR = "pattern-separator", 245 ATTRNAME_PERCENT = "percent", 246 ATTRNAME_PERMILLE = "per-mille", 247 ATTRNAME_PRIORITY = "priority", 248 ATTRNAME_REFID = "refID", 249 ATTRNAME_RESULTNS = "result-ns", 250 ATTRNAME_RESULT_PREFIX = "result-prefix", 251 ATTRNAME_SELECT = "select", 252 ATTRNAME_SEQUENCESRC = "sequence-src", 253 ATTRNAME_STYLE = "style", 254 ATTRNAME_STYLESHEET_PREFIX = "stylesheet-prefix", 255 ATTRNAME_TERMINATE = "terminate", 256 ATTRNAME_TEST = "test", 257 ATTRNAME_TOSTRING = "to-string", 258 ATTRNAME_TYPE = "type", 259 ATTRNAME_USE = "use", 260 ATTRNAME_USEATTRIBUTESETS = "use-attribute-sets", 261 ATTRNAME_VALUE = "value", 262 ATTRNAME_VERSION = "version", 263 ATTRNAME_XMLNS = "xmlns:", // namespace declaration prefix -- NOT an attribute by itself 264 ATTRNAME_XMLNSDEF = "xmlns", // default namespace 265 ATTRNAME_XMLSPACE = "xml:space", 266 ATTRNAME_ZERODIGIT = "zero-digit"; 267 268 /** IDs for XSL attribute types. These are associated 269 * with the string literals in the TransformerImpl class. 270 * Don't change the numbers. NOTE THAT THESE ARE NOT IN 271 * ALPHABETICAL ORDER! 272 */ 273 public static final int TATTRNAME_OUTPUT_METHOD = 1, TATTRNAME_AMOUNT = 2, 274 TATTRNAME_ANCESTOR = 3, TATTRNAME_ARCHIVE = 4, 275 TATTRNAME_ATTRIBUTE = 5, 276 TATTRNAME_ATTRIBUTE_SET = 6, 277 TATTRNAME_CASEORDER = 7, TATTRNAME_CLASS = 8, 278 TATTRNAME_CLASSID = 9, TATTRNAME_CODEBASE = 10, 279 TATTRNAME_CODETYPE = 11, TATTRNAME_CONDITION = 12, 280 TATTRNAME_COPYTYPE = 13, TATTRNAME_COUNT = 14, 281 TATTRNAME_DATATYPE = 15, TATTRNAME_DEFAULT = 16, 282 TATTRNAME_DEFAULTSPACE = 17, TATTRNAME_DEPTH = 18, 283 TATTRNAME_DIGITGROUPSEP = 19, 284 TATTRNAME_DISABLE_OUTPUT_ESCAPING = 20, 285 TATTRNAME_ELEMENT = 21, TATTRNAME_ELEMENTS = 22, 286 TATTRNAME_EXPR = 23, 287 TATTRNAME_EXTENSIONELEMENTPREFIXES = 24, 288 TATTRNAME_FORMAT = 25, TATTRNAME_FROM = 26, 289 TATTRNAME_GROUPINGSEPARATOR = 27, 290 TATTRNAME_GROUPINGSIZE = 28, TATTRNAME_HREF = 29, 291 TATTRNAME_ID = 30, TATTRNAME_IMPORTANCE = 31, 292 TATTRNAME_INDENTRESULT = 32, TATTRNAME_LANG = 33, 293 TATTRNAME_LETTERVALUE = 34, TATTRNAME_LEVEL = 35, 294 TATTRNAME_MATCH = 36, TATTRNAME_METHOD = 37, 295 TATTRNAME_MODE = 38, TATTRNAME_NAME = 39, 296 TATTRNAME_NAMESPACE = 40, 297 TATTRNAME_NDIGITSPERGROUP = 41, TATTRNAME_NS = 42, 298 TATTRNAME_ONLY = 43, TATTRNAME_ORDER = 44, 299 TATTRNAME_OUTPUT_CDATA_SECTION_ELEMENTS = 45, 300 TATTRNAME_OUTPUT_DOCTYPE_PUBLIC = 46, 301 TATTRNAME_OUTPUT_DOCTYPE_SYSTEM = 47, 302 TATTRNAME_OUTPUT_ENCODING = 48, 303 TATTRNAME_OUTPUT_INDENT = 49, 304 TATTRNAME_OUTPUT_MEDIATYPE = 50, 305 TATTRNAME_OUTPUT_STANDALONE = 51, 306 TATTRNAME_OUTPUT_VERSION = 52, 307 TATTRNAME_OUTPUT_OMITXMLDECL = 53, 308 TATTRNAME_PRIORITY = 54, TATTRNAME_REFID = 55, 309 TATTRNAME_RESULTNS = 56, TATTRNAME_SELECT = 57, 310 TATTRNAME_SEQUENCESRC = 58, TATTRNAME_STYLE = 59, 311 TATTRNAME_TEST = 60, TATTRNAME_TOSTRING = 61, 312 TATTRNAME_TYPE = 62, TATTRNAME_USE = 63, 313 TATTRNAME_USEATTRIBUTESETS = 64, 314 TATTRNAME_VALUE = 65, TATTRNAME_XMLNSDEF = 66, 315 TATTRNAME_XMLNS = 67, TATTRNAME_XMLSPACE = 68, 316 TATTRNAME_EXCLUDE_RESULT_PREFIXES = 69; 317 318 /** Mnemonics for the possible values of the xsl:output element's 319 * method= attribute: 320 * <ul> 321 * <li>ATTRVAL_OUTPUT_METHOD_XML = Use an XML formatter to 322 * produce the output document (basic XSLT operation).</li> 323 * <li>ATTRVAL_OUTPUT_METHOD_HTML: Use an HTML formatter to 324 * produce the output document. When generating HTML documents, 325 * this may yield better results; it does things like escaping 326 * characters in href attributes.</li> 327 * </li>ATTRVAL_OUTPUT_METHOD_TEXT: Use a Text formatter to 328 * produce the output document. Generally the right choice if your 329 * stylesheet wants to take over _all_ the details of formatting, 330 * most often when producing something that isn't an XML or HTML 331 * document.</li> 332 * </ul> 333 * */ 334 public static final String ATTRVAL_OUTPUT_METHOD_HTML = "html", 335 ATTRVAL_OUTPUT_METHOD_XML = "xml", 336 ATTRVAL_OUTPUT_METHOD_TEXT = "text"; 337 338 339 /* For space-att*/ 340 public static final int ATTRVAL_PRESERVE = 1, ATTRVAL_STRIP = 2; 341 342 343 /** For indent-result */ 344 public static final boolean ATTRVAL_YES = true, ATTRVAL_NO = false; 345 346 347 /** For letter-value attribute (part of conversion attributes). */ 348 public static final String ATTRVAL_ALPHABETIC = "alphabetic", 349 ATTRVAL_OTHER = "other", 350 ATTRVAL_TRADITIONAL = "traditional"; 351 352 353 /** For level attribute in xsl:number. */ 354 public static final String ATTRVAL_SINGLE = "single", 355 ATTRVAL_MULTI = "multiple", ATTRVAL_ANY = "any"; 356 357 358 /** For Stylesheet-prefix and result-prefix in xsl:namespace-alias */ 359 public static final String ATTRVAL_DEFAULT_PREFIX = "#default"; 360 361 /** Integer equivalents for above */ 362 public static final int NUMBERLETTER_ALPHABETIC = 1, NUMBERLETTER_TRADITIONAL = 2; 363 364 /** Integer equivelents for above */ 365 public static final int NUMBERLEVEL_SINGLE = 1, NUMBERLEVEL_MULTI = 2, 366 NUMBERLEVEL_ANY = 3, MAX_MULTI_COUNTING_DEPTH = 32; 367 368 369 /** some stuff for my patterns-by-example */ 370 public static final String ATTRVAL_THIS = ".", ATTRVAL_PARENT = "..", 371 ATTRVAL_ANCESTOR = "ancestor", ATTRVAL_ID = "id"; 372 373 374 /** Stuff for sorting */ 375 public static final String ATTRVAL_DATATYPE_TEXT = "text", 376 ATTRVAL_DATATYPE_NUMBER = "number", 377 ATTRVAL_ORDER_ASCENDING = "ascending", 378 ATTRVAL_ORDER_DESCENDING = "descending", 379 ATTRVAL_CASEORDER_UPPER = "upper-first", 380 ATTRVAL_CASEORDER_LOWER = "lower-first"; 381 382 /** Integer equivelents for DATATYPE attribute */ 383 public static final int SORTDATATYPE_TEXT = 1, SORTDATATYPE_NUMBER = 2; 384 385 /** Integer equivelents for ORDER attribute */ 386 public static final int SORTORDER_ASCENDING = 1, SORTORDER_DESCENDING = 2; 387 388 /** Integer equivelents for CASE-ORDER attribute */ 389 public static final int SORTCASEORDER_UPPERFIRST = 1, SORTCASEORDER_LOWERFIRST = 2; 390 391 /** some stuff for Decimal-format */ 392 public static final String ATTRVAL_INFINITY = "Infinity", 393 ATTRVAL_NAN = "NaN", 394 DEFAULT_DECIMAL_FORMAT = "#default"; 395 396 397 /** temp dummy */ 398 public static final String ATTRNAME_XXXX = "XXXX"; 399 } 400