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