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