Home | History | Annotate | Download | only in res
      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: XPATHErrorResources.java 468655 2006-10-28 07:12:06Z minchau $
     20  */
     21 package org.apache.xpath.res;
     22 
     23 import java.util.ListResourceBundle;
     24 import java.util.Locale;
     25 import java.util.MissingResourceException;
     26 import java.util.ResourceBundle;
     27 
     28 /**
     29  * Set up error messages.
     30  * We build a two dimensional array of message keys and
     31  * message strings. In order to add a new message here,
     32  * you need to first add a Static string constant for the
     33  * Key and update the contents array with Key, Value pair
     34   * Also you need to  update the count of messages(MAX_CODE)or
     35  * the count of warnings(MAX_WARNING) [ Information purpose only]
     36  * @xsl.usage advanced
     37  */
     38 public class XPATHErrorResources extends ListResourceBundle
     39 {
     40 
     41 /*
     42  * General notes to translators:
     43  *
     44  * This file contains error and warning messages related to XPath Error
     45  * Handling.
     46  *
     47  *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
     48  *     components.
     49  *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
     50  *     XSLTC is an acronym for XSLT Compiler.
     51  *
     52  *  2) A stylesheet is a description of how to transform an input XML document
     53  *     into a resultant XML document (or HTML document or text).  The
     54  *     stylesheet itself is described in the form of an XML document.
     55  *
     56  *  3) A template is a component of a stylesheet that is used to match a
     57  *     particular portion of an input document and specifies the form of the
     58  *     corresponding portion of the output document.
     59  *
     60  *  4) An element is a mark-up tag in an XML document; an attribute is a
     61  *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
     62  *     "elem" is an element name, "attr" and "attr2" are attribute names with
     63  *     the values "val" and "val2", respectively.
     64  *
     65  *  5) A namespace declaration is a special attribute that is used to associate
     66  *     a prefix with a URI (the namespace).  The meanings of element names and
     67  *     attribute names that use that prefix are defined with respect to that
     68  *     namespace.
     69  *
     70  *  6) "Translet" is an invented term that describes the class file that
     71  *     results from compiling an XML stylesheet into a Java class.
     72  *
     73  *  7) XPath is a specification that describes a notation for identifying
     74  *     nodes in a tree-structured representation of an XML document.  An
     75  *     instance of that notation is referred to as an XPath expression.
     76  *
     77  *  8) The context node is the node in the document with respect to which an
     78  *     XPath expression is being evaluated.
     79  *
     80  *  9) An iterator is an object that traverses nodes in the tree, one at a time.
     81  *
     82  *  10) NCName is an XML term used to describe a name that does not contain a
     83  *     colon (a "no-colon name").
     84  *
     85  *  11) QName is an XML term meaning "qualified name".
     86  */
     87 
     88   /*
     89    * static variables
     90    */
     91   public static final String ERROR0000 = "ERROR0000";
     92   public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
     93 	 "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
     94   public static final String ER_CURRENT_TAKES_NO_ARGS =
     95 	 "ER_CURRENT_TAKES_NO_ARGS";
     96   public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
     97   public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
     98 	 "ER_CONTEXT_HAS_NO_OWNERDOC";
     99   public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
    100 	 "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
    101   public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
    102 	 "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
    103   public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
    104 	 "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
    105   public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
    106 	 "ER_NUMBER_HAS_TOO_MANY_ARGS";
    107   public static final String ER_NAME_HAS_TOO_MANY_ARGS =
    108 	 "ER_NAME_HAS_TOO_MANY_ARGS";
    109   public static final String ER_STRING_HAS_TOO_MANY_ARGS =
    110 	 "ER_STRING_HAS_TOO_MANY_ARGS";
    111   public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
    112 	 "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
    113   public static final String ER_TRANSLATE_TAKES_3_ARGS =
    114 	 "ER_TRANSLATE_TAKES_3_ARGS";
    115   public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
    116 	 "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
    117   public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
    118 	 "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
    119   public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
    120   public static final String ER_UNKNOWN_MATCH_OPERATION =
    121 	 "ER_UNKNOWN_MATCH_OPERATION";
    122   public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
    123   public static final String ER_CANT_CONVERT_TO_NUMBER =
    124 	 "ER_CANT_CONVERT_TO_NUMBER";
    125   public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
    126 	   "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
    127   public static final String ER_CANT_CONVERT_TO_NODELIST =
    128 	 "ER_CANT_CONVERT_TO_NODELIST";
    129   public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
    130 	 "ER_CANT_CONVERT_TO_MUTABLENODELIST";
    131   public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
    132   public static final String ER_EXPECTED_MATCH_PATTERN =
    133 	 "ER_EXPECTED_MATCH_PATTERN";
    134   public static final String ER_COULDNOT_GET_VAR_NAMED =
    135 	 "ER_COULDNOT_GET_VAR_NAMED";
    136   public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
    137   public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
    138   public static final String ER_EXPECTED_DOUBLE_QUOTE =
    139 	 "ER_EXPECTED_DOUBLE_QUOTE";
    140   public static final String ER_EXPECTED_SINGLE_QUOTE =
    141 	 "ER_EXPECTED_SINGLE_QUOTE";
    142   public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
    143   public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
    144   public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
    145 	 "ER_INCORRECT_PROGRAMMER_ASSERTION";
    146   public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
    147 	 "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
    148   public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
    149 	 "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
    150   public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
    151 	 "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
    152   public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
    153 	 "ER_PREDICATE_ILLEGAL_SYNTAX";
    154   public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
    155   public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
    156   public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
    157 	 "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
    158   public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
    159 	 "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
    160   public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
    161 	 "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
    162   public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
    163 	 "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
    164   public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
    165 	 "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
    166   public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
    167   public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
    168 	 "ER_ILLEGAL_VARIABLE_REFERENCE";
    169   public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
    170   public static final String ER_KEY_HAS_TOO_MANY_ARGS =
    171 	 "ER_KEY_HAS_TOO_MANY_ARGS";
    172   public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
    173   public static final String ER_COULDNOT_FIND_FUNCTION =
    174 	 "ER_COULDNOT_FIND_FUNCTION";
    175   public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
    176   public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
    177 	 "ER_PROBLEM_IN_DTM_NEXTSIBLING";
    178   public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
    179 	 "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
    180   public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
    181 	 "ER_SETDOMFACTORY_NOT_SUPPORTED";
    182   public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
    183   public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
    184   public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
    185 public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
    186 	 "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
    187   public static final String ER_DTM_CANNOT_HANDLE_NODES =
    188 	 "ER_DTM_CANNOT_HANDLE_NODES";
    189   public static final String ER_XERCES_CANNOT_HANDLE_NODES =
    190 	 "ER_XERCES_CANNOT_HANDLE_NODES";
    191   public static final String ER_XERCES_PARSE_ERROR_DETAILS =
    192 	 "ER_XERCES_PARSE_ERROR_DETAILS";
    193   public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
    194   public static final String ER_INVALID_UTF16_SURROGATE =
    195 	 "ER_INVALID_UTF16_SURROGATE";
    196   public static final String ER_OIERROR = "ER_OIERROR";
    197   public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
    198   public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
    199  public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
    200 	 "ER_FUNCTION_TOKEN_NOT_FOUND";
    201   public static final String ER_CANNOT_DEAL_XPATH_TYPE =
    202 	 "ER_CANNOT_DEAL_XPATH_TYPE";
    203   public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
    204   public static final String ER_NODESETDTM_NOT_MUTABLE =
    205 	 "ER_NODESETDTM_NOT_MUTABLE";
    206    /**  Variable not resolvable:   */
    207   public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
    208    /** Null error handler  */
    209  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
    210    /**  Programmer's assertion: unknown opcode  */
    211   public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
    212 	 "ER_PROG_ASSERT_UNKNOWN_OPCODE";
    213    /**  0 or 1   */
    214   public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
    215    /**  rtf() not supported by XRTreeFragSelectWrapper   */
    216   public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
    217 	 "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
    218    /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
    219   public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
    220    /**  fsb() not supported for XStringForChars   */
    221   public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
    222 	 "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
    223    /**  Could not find variable with the name of   */
    224  public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
    225    /**  XStringForChars can not take a string for an argument   */
    226  public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
    227 	 "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
    228    /**  The FastStringBuffer argument can not be null   */
    229  public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
    230 	 "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
    231    /**  2 or 3   */
    232   public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
    233    /** Variable accessed before it is bound! */
    234   public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
    235 	 "ER_VARIABLE_ACCESSED_BEFORE_BIND";
    236    /** XStringForFSB can not take a string for an argument! */
    237  public static final String ER_FSB_CANNOT_TAKE_STRING =
    238 	 "ER_FSB_CANNOT_TAKE_STRING";
    239    /** Error! Setting the root of a walker to null! */
    240   public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
    241 	 "ER_SETTING_WALKER_ROOT_TO_NULL";
    242    /** This NodeSetDTM can not iterate to a previous node! */
    243   public static final String ER_NODESETDTM_CANNOT_ITERATE =
    244 	 "ER_NODESETDTM_CANNOT_ITERATE";
    245   /** This NodeSet can not iterate to a previous node! */
    246  public static final String ER_NODESET_CANNOT_ITERATE =
    247 	 "ER_NODESET_CANNOT_ITERATE";
    248   /** This NodeSetDTM can not do indexing or counting functions! */
    249   public static final String ER_NODESETDTM_CANNOT_INDEX =
    250 	 "ER_NODESETDTM_CANNOT_INDEX";
    251   /** This NodeSet can not do indexing or counting functions! */
    252   public static final String ER_NODESET_CANNOT_INDEX =
    253 	 "ER_NODESET_CANNOT_INDEX";
    254   /** Can not call setShouldCacheNodes after nextNode has been called! */
    255   public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
    256 	 "ER_CANNOT_CALL_SETSHOULDCACHENODE";
    257   /** {0} only allows {1} arguments */
    258  public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
    259   /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
    260   public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
    261   /** Problem with RelativeLocationPath */
    262   public static final String ER_EXPECTED_REL_LOC_PATH =
    263 	 "ER_EXPECTED_REL_LOC_PATH";
    264   /** Problem with LocationPath */
    265   public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
    266   public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
    267                                         "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
    268   /** Problem with Step */
    269   public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
    270   /** Problem with NodeTest */
    271   public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
    272   /** Expected step pattern */
    273   public static final String ER_EXPECTED_STEP_PATTERN =
    274 	"ER_EXPECTED_STEP_PATTERN";
    275   /** Expected relative path pattern */
    276   public static final String ER_EXPECTED_REL_PATH_PATTERN =
    277 	 "ER_EXPECTED_REL_PATH_PATTERN";
    278   /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
    279   public static final String ER_CANT_CONVERT_TO_BOOLEAN =
    280 	 "ER_CANT_CONVERT_TO_BOOLEAN";
    281   /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
    282   public static final String ER_CANT_CONVERT_TO_SINGLENODE =
    283 	 "ER_CANT_CONVERT_TO_SINGLENODE";
    284   /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
    285   public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
    286 	 "ER_CANT_GET_SNAPSHOT_LENGTH";
    287   /** Field ER_NON_ITERATOR_TYPE                */
    288   public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
    289   /** Field ER_DOC_MUTATED                      */
    290   public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
    291   public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
    292   public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
    293   public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
    294   public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
    295   public static final String ER_CANT_CONVERT_TO_STRING =
    296 	 "ER_CANT_CONVERT_TO_STRING";
    297   public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
    298   public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
    299   /* Note to translators:  The XPath expression cannot be evaluated with respect
    300    * to this type of node.
    301    */
    302   /** Field ER_WRONG_NODETYPE                    */
    303   public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
    304   public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
    305 
    306   //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
    307   public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
    308   public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
    309   public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
    310   public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
    311   public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
    312 
    313   public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
    314   public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
    315   public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
    316   public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
    317   public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
    318   public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
    319   public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
    320   public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
    321   //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
    322 
    323   public static final String WG_LOCALE_NAME_NOT_HANDLED =
    324 	 "WG_LOCALE_NAME_NOT_HANDLED";
    325   public static final String WG_PROPERTY_NOT_SUPPORTED =
    326 	 "WG_PROPERTY_NOT_SUPPORTED";
    327   public static final String WG_DONT_DO_ANYTHING_WITH_NS =
    328 	 "WG_DONT_DO_ANYTHING_WITH_NS";
    329   public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
    330   public static final String WG_QUO_NO_LONGER_DEFINED =
    331 	 "WG_QUO_NO_LONGER_DEFINED";
    332   public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
    333 	 "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
    334   public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
    335 	 "WG_FUNCTION_TOKEN_NOT_FOUND";
    336   public static final String WG_COULDNOT_FIND_FUNCTION =
    337 	 "WG_COULDNOT_FIND_FUNCTION";
    338   public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
    339   public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
    340 	 "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
    341   public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
    342 	 "WG_ILLEGAL_VARIABLE_REFERENCE";
    343   public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
    344 
    345   /**  detach() not supported by XRTreeFragSelectWrapper   */
    346   public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
    347 	 "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
    348   /**  num() not supported by XRTreeFragSelectWrapper   */
    349   public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
    350 	 "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
    351   /**  xstr() not supported by XRTreeFragSelectWrapper   */
    352   public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
    353 	 "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
    354   /**  str() not supported by XRTreeFragSelectWrapper   */
    355   public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
    356 	 "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
    357 
    358   // Error messages...
    359 
    360 
    361   /**
    362    * Get the association list.
    363    *
    364    * @return The association list.
    365    */
    366   public Object[][] getContents()
    367   {
    368     return new Object[][]{
    369 
    370   { "ERROR0000" , "{0}" },
    371 
    372   { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "The current() function is not allowed in a match pattern!" },
    373 
    374   { ER_CURRENT_TAKES_NO_ARGS, "The current() function does not accept arguments!" },
    375 
    376   { ER_DOCUMENT_REPLACED,
    377       "document() function implementation has been replaced by org.apache.xalan.xslt.FuncDocument!"},
    378 
    379   { ER_CONTEXT_HAS_NO_OWNERDOC,
    380       "context does not have an owner document!"},
    381 
    382   { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
    383       "local-name() has too many arguments."},
    384 
    385   { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
    386       "namespace-uri() has too many arguments."},
    387 
    388   { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
    389       "normalize-space() has too many arguments."},
    390 
    391   { ER_NUMBER_HAS_TOO_MANY_ARGS,
    392       "number() has too many arguments."},
    393 
    394   { ER_NAME_HAS_TOO_MANY_ARGS,
    395      "name() has too many arguments."},
    396 
    397   { ER_STRING_HAS_TOO_MANY_ARGS,
    398       "string() has too many arguments."},
    399 
    400   { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
    401       "string-length() has too many arguments."},
    402 
    403   { ER_TRANSLATE_TAKES_3_ARGS,
    404       "The translate() function takes three arguments!"},
    405 
    406   { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
    407       "The unparsed-entity-uri function should take one argument!"},
    408 
    409   { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
    410       "namespace axis not implemented yet!"},
    411 
    412   { ER_UNKNOWN_AXIS,
    413      "unknown axis: {0}"},
    414 
    415   { ER_UNKNOWN_MATCH_OPERATION,
    416      "unknown match operation!"},
    417 
    418   { ER_INCORRECT_ARG_LENGTH,
    419       "Arg length of processing-instruction() node test is incorrect!"},
    420 
    421   { ER_CANT_CONVERT_TO_NUMBER,
    422       "Can not convert {0} to a number"},
    423 
    424   { ER_CANT_CONVERT_TO_NODELIST,
    425       "Can not convert {0} to a NodeList!"},
    426 
    427   { ER_CANT_CONVERT_TO_MUTABLENODELIST,
    428       "Can not convert {0} to a NodeSetDTM!"},
    429 
    430   { ER_CANT_CONVERT_TO_TYPE,
    431       "Can not convert {0} to a type#{1}"},
    432 
    433   { ER_EXPECTED_MATCH_PATTERN,
    434       "Expected match pattern in getMatchScore!"},
    435 
    436   { ER_COULDNOT_GET_VAR_NAMED,
    437       "Could not get variable named {0}"},
    438 
    439   { ER_UNKNOWN_OPCODE,
    440      "ERROR! Unknown op code: {0}"},
    441 
    442   { ER_EXTRA_ILLEGAL_TOKENS,
    443      "Extra illegal tokens: {0}"},
    444 
    445   { ER_EXPECTED_DOUBLE_QUOTE,
    446       "misquoted literal... expected double quote!"},
    447 
    448   { ER_EXPECTED_SINGLE_QUOTE,
    449       "misquoted literal... expected single quote!"},
    450 
    451   { ER_EMPTY_EXPRESSION,
    452      "Empty expression!"},
    453 
    454   { ER_EXPECTED_BUT_FOUND,
    455      "Expected {0}, but found: {1}"},
    456 
    457   { ER_INCORRECT_PROGRAMMER_ASSERTION,
    458       "Programmer assertion is incorrect! - {0}"},
    459 
    460   { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
    461       "boolean(...) argument is no longer optional with 19990709 XPath draft."},
    462 
    463   { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
    464       "Found ',' but no preceding argument!"},
    465 
    466   { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
    467       "Found ',' but no following argument!"},
    468 
    469   { ER_PREDICATE_ILLEGAL_SYNTAX,
    470       "'..[predicate]' or '.[predicate]' is illegal syntax.  Use 'self::node()[predicate]' instead."},
    471 
    472   { ER_ILLEGAL_AXIS_NAME,
    473      "illegal axis name: {0}"},
    474 
    475   { ER_UNKNOWN_NODETYPE,
    476      "Unknown nodetype: {0}"},
    477 
    478   { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
    479       "Pattern literal ({0}) needs to be quoted!"},
    480 
    481   { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
    482       "{0} could not be formatted to a number!"},
    483 
    484   { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
    485       "Could not create XML TransformerFactory Liaison: {0}"},
    486 
    487   { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
    488       "Error! Did not find xpath select expression (-select)."},
    489 
    490   { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
    491       "ERROR! Could not find ENDOP after OP_LOCATIONPATH"},
    492 
    493   { ER_ERROR_OCCURED,
    494      "Error occured!"},
    495 
    496   { ER_ILLEGAL_VARIABLE_REFERENCE,
    497       "VariableReference given for variable out of context or without definition!  Name = {0}"},
    498 
    499   { ER_AXES_NOT_ALLOWED,
    500       "Only child:: and attribute:: axes are allowed in match patterns!  Offending axes = {0}"},
    501 
    502   { ER_KEY_HAS_TOO_MANY_ARGS,
    503       "key() has an incorrect number of arguments."},
    504 
    505   { ER_COUNT_TAKES_1_ARG,
    506       "The count function should take one argument!"},
    507 
    508   { ER_COULDNOT_FIND_FUNCTION,
    509      "Could not find function: {0}"},
    510 
    511   { ER_UNSUPPORTED_ENCODING,
    512      "Unsupported encoding: {0}"},
    513 
    514   { ER_PROBLEM_IN_DTM_NEXTSIBLING,
    515       "Problem occured in DTM in getNextSibling... trying to recover"},
    516 
    517   { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
    518       "Programmer error: EmptyNodeList can not be written to."},
    519 
    520   { ER_SETDOMFACTORY_NOT_SUPPORTED,
    521       "setDOMFactory is not supported by XPathContext!"},
    522 
    523   { ER_PREFIX_MUST_RESOLVE,
    524       "Prefix must resolve to a namespace: {0}"},
    525 
    526   { ER_PARSE_NOT_SUPPORTED,
    527       "parse (InputSource source) not supported in XPathContext! Can not open {0}"},
    528 
    529   { ER_SAX_API_NOT_HANDLED,
    530       "SAX API characters(char ch[]... not handled by the DTM!"},
    531 
    532   { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
    533       "ignorableWhitespace(char ch[]... not handled by the DTM!"},
    534 
    535   { ER_DTM_CANNOT_HANDLE_NODES,
    536       "DTMLiaison can not handle nodes of type {0}"},
    537 
    538   { ER_XERCES_CANNOT_HANDLE_NODES,
    539       "DOM2Helper can not handle nodes of type {0}"},
    540 
    541   { ER_XERCES_PARSE_ERROR_DETAILS,
    542       "DOM2Helper.parse error: SystemID - {0} line - {1}"},
    543 
    544   { ER_XERCES_PARSE_ERROR,
    545      "DOM2Helper.parse error"},
    546 
    547   { ER_INVALID_UTF16_SURROGATE,
    548       "Invalid UTF-16 surrogate detected: {0} ?"},
    549 
    550   { ER_OIERROR,
    551      "IO error"},
    552 
    553   { ER_CANNOT_CREATE_URL,
    554      "Cannot create url for: {0}"},
    555 
    556   { ER_XPATH_READOBJECT,
    557      "In XPath.readObject: {0}"},
    558 
    559   { ER_FUNCTION_TOKEN_NOT_FOUND,
    560       "function token not found."},
    561 
    562   { ER_CANNOT_DEAL_XPATH_TYPE,
    563        "Can not deal with XPath type: {0}"},
    564 
    565   { ER_NODESET_NOT_MUTABLE,
    566        "This NodeSet is not mutable"},
    567 
    568   { ER_NODESETDTM_NOT_MUTABLE,
    569        "This NodeSetDTM is not mutable"},
    570 
    571   { ER_VAR_NOT_RESOLVABLE,
    572         "Variable not resolvable: {0}"},
    573 
    574   { ER_NULL_ERROR_HANDLER,
    575         "Null error handler"},
    576 
    577   { ER_PROG_ASSERT_UNKNOWN_OPCODE,
    578        "Programmer''s assertion: unknown opcode: {0}"},
    579 
    580   { ER_ZERO_OR_ONE,
    581        "0 or 1"},
    582 
    583   { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
    584        "rtf() not supported by XRTreeFragSelectWrapper"},
    585 
    586   { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
    587        "asNodeIterator() not supported by XRTreeFragSelectWrapper"},
    588 
    589 	/**  detach() not supported by XRTreeFragSelectWrapper   */
    590    { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
    591 		"detach() not supported by XRTreeFragSelectWrapper"},
    592 
    593 	/**  num() not supported by XRTreeFragSelectWrapper   */
    594    { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
    595 		"num() not supported by XRTreeFragSelectWrapper"},
    596 
    597 	/**  xstr() not supported by XRTreeFragSelectWrapper   */
    598    { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
    599 		"xstr() not supported by XRTreeFragSelectWrapper"},
    600 
    601 	/**  str() not supported by XRTreeFragSelectWrapper   */
    602    { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
    603 		"str() not supported by XRTreeFragSelectWrapper"},
    604 
    605   { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
    606        "fsb() not supported for XStringForChars"},
    607 
    608   { ER_COULD_NOT_FIND_VAR,
    609       "Could not find variable with the name of {0}"},
    610 
    611   { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
    612       "XStringForChars can not take a string for an argument"},
    613 
    614   { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
    615       "The FastStringBuffer argument can not be null"},
    616 
    617   { ER_TWO_OR_THREE,
    618        "2 or 3"},
    619 
    620   { ER_VARIABLE_ACCESSED_BEFORE_BIND,
    621        "Variable accessed before it is bound!"},
    622 
    623   { ER_FSB_CANNOT_TAKE_STRING,
    624        "XStringForFSB can not take a string for an argument!"},
    625 
    626   { ER_SETTING_WALKER_ROOT_TO_NULL,
    627        "\n !!!! Error! Setting the root of a walker to null!!!"},
    628 
    629   { ER_NODESETDTM_CANNOT_ITERATE,
    630        "This NodeSetDTM can not iterate to a previous node!"},
    631 
    632   { ER_NODESET_CANNOT_ITERATE,
    633        "This NodeSet can not iterate to a previous node!"},
    634 
    635   { ER_NODESETDTM_CANNOT_INDEX,
    636        "This NodeSetDTM can not do indexing or counting functions!"},
    637 
    638   { ER_NODESET_CANNOT_INDEX,
    639        "This NodeSet can not do indexing or counting functions!"},
    640 
    641   { ER_CANNOT_CALL_SETSHOULDCACHENODE,
    642        "Can not call setShouldCacheNodes after nextNode has been called!"},
    643 
    644   { ER_ONLY_ALLOWS,
    645        "{0} only allows {1} arguments"},
    646 
    647   { ER_UNKNOWN_STEP,
    648        "Programmer''s assertion in getNextStepPos: unknown stepType: {0}"},
    649 
    650   //Note to translators:  A relative location path is a form of XPath expression.
    651   // The message indicates that such an expression was expected following the
    652   // characters '/' or '//', but was not found.
    653   { ER_EXPECTED_REL_LOC_PATH,
    654       "A relative location path was expected following the '/' or '//' token."},
    655 
    656   // Note to translators:  A location path is a form of XPath expression.
    657   // The message indicates that syntactically such an expression was expected,but
    658   // the characters specified by the substitution text were encountered instead.
    659   { ER_EXPECTED_LOC_PATH,
    660        "A location path was expected, but the following token was encountered\u003a  {0}"},
    661 
    662   // Note to translators:  A location path is a form of XPath expression.
    663   // The message indicates that syntactically such a subexpression was expected,
    664   // but no more characters were found in the expression.
    665   { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
    666        "A location path was expected, but the end of the XPath expression was found instead."},
    667 
    668   // Note to translators:  A location step is part of an XPath expression.
    669   // The message indicates that syntactically such an expression was expected
    670   // following the specified characters.
    671   { ER_EXPECTED_LOC_STEP,
    672        "A location step was expected following the '/' or '//' token."},
    673 
    674   // Note to translators:  A node test is part of an XPath expression that is
    675   // used to test for particular kinds of nodes.  In this case, a node test that
    676   // consists of an NCName followed by a colon and an asterisk or that consists
    677   // of a QName was expected, but was not found.
    678   { ER_EXPECTED_NODE_TEST,
    679        "A node test that matches either NCName:* or QName was expected."},
    680 
    681   // Note to translators:  A step pattern is part of an XPath expression.
    682   // The message indicates that syntactically such an expression was expected,
    683   // but the specified character was found in the expression instead.
    684   { ER_EXPECTED_STEP_PATTERN,
    685        "A step pattern was expected, but '/' was encountered."},
    686 
    687   // Note to translators: A relative path pattern is part of an XPath expression.
    688   // The message indicates that syntactically such an expression was expected,
    689   // but was not found.
    690   { ER_EXPECTED_REL_PATH_PATTERN,
    691        "A relative path pattern was expected."},
    692 
    693   // Note to translators:  The substitution text is the name of a data type.  The
    694   // message indicates that a value of a particular type could not be converted
    695   // to a value of type boolean.
    696   { ER_CANT_CONVERT_TO_BOOLEAN,
    697        "The XPathResult of XPath expression ''{0}'' has an XPathResultType of {1} which cannot be converted to a boolean."},
    698 
    699   // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
    700   // FIRST_ORDERED_NODE_TYPE.
    701   { ER_CANT_CONVERT_TO_SINGLENODE,
    702        "The XPathResult of XPath expression ''{0}'' has an XPathResultType of {1} which cannot be converted to a single node. The method getSingleNodeValue applies only to types ANY_UNORDERED_NODE_TYPE and FIRST_ORDERED_NODE_TYPE."},
    703 
    704   // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
    705   // ORDERED_NODE_SNAPSHOT_TYPE.
    706   { ER_CANT_GET_SNAPSHOT_LENGTH,
    707        "The method getSnapshotLength cannot be called on the XPathResult of XPath expression ''{0}'' because its XPathResultType is {1}. This method applies only to types UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE."},
    708 
    709   { ER_NON_ITERATOR_TYPE,
    710        "The method iterateNext cannot be called on the XPathResult of XPath expression ''{0}'' because its XPathResultType is {1}. This method applies only to types UNORDERED_NODE_ITERATOR_TYPE and ORDERED_NODE_ITERATOR_TYPE."},
    711 
    712   // Note to translators: This message indicates that the document being operated
    713   // upon changed, so the iterator object that was being used to traverse the
    714   // document has now become invalid.
    715   { ER_DOC_MUTATED,
    716        "Document mutated since result was returned. Iterator is invalid."},
    717 
    718   { ER_INVALID_XPATH_TYPE,
    719        "Invalid XPath type argument: {0}"},
    720 
    721   { ER_EMPTY_XPATH_RESULT,
    722        "Empty XPath result object"},
    723 
    724   { ER_INCOMPATIBLE_TYPES,
    725        "The XPathResult of XPath expression ''{0}'' has an XPathResultType of {1} which cannot be coerced into the specified XPathResultType of {2}."},
    726 
    727   { ER_NULL_RESOLVER,
    728        "Unable to resolve prefix with null prefix resolver."},
    729 
    730   // Note to translators:  The substitution text is the name of a data type.  The
    731   // message indicates that a value of a particular type could not be converted
    732   // to a value of type string.
    733   { ER_CANT_CONVERT_TO_STRING,
    734        "The XPathResult of XPath expression ''{0}'' has an XPathResultType of {1} which cannot be converted to a string."},
    735 
    736   // Note to translators: Do not translate snapshotItem,
    737   // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
    738   { ER_NON_SNAPSHOT_TYPE,
    739        "The method snapshotItem cannot be called on the XPathResult of XPath expression ''{0}'' because its XPathResultType is {1}. This method applies only to types UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE."},
    740 
    741   // Note to translators:  XPathEvaluator is a Java interface name.  An
    742   // XPathEvaluator is created with respect to a particular XML document, and in
    743   // this case the expression represented by this object was being evaluated with
    744   // respect to a context node from a different document.
    745   { ER_WRONG_DOCUMENT,
    746        "Context node does not belong to the document that is bound to this XPathEvaluator."},
    747 
    748   // Note to translators:  The XPath expression cannot be evaluated with respect
    749   // to this type of node.
    750   { ER_WRONG_NODETYPE,
    751        "The context node type is not supported."},
    752 
    753   { ER_XPATH_ERROR,
    754        "Unknown error in XPath."},
    755 
    756   { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
    757 	"The XPathResult of XPath expression ''{0}'' has an XPathResultType of {1} which cannot be converted to a number"},
    758 
    759   //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
    760 
    761   /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
    762 
    763   { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
    764        "Extension function: ''{0}'' can not be invoked when the XMLConstants.FEATURE_SECURE_PROCESSING feature is set to true."},
    765 
    766   /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
    767 
    768   { ER_RESOLVE_VARIABLE_RETURNS_NULL,
    769        "resolveVariable for variable {0} returning null"},
    770 
    771   /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
    772 
    773   { ER_UNSUPPORTED_RETURN_TYPE,
    774        "UnSupported Return Type : {0}"},
    775 
    776   /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
    777 
    778   { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
    779        "Source and/or Return Type can not be null"},
    780 
    781   /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
    782 
    783   { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
    784        "Source and/or Return Type can not be null"},
    785 
    786   /** Field ER_ARG_CANNOT_BE_NULL                       */
    787 
    788   { ER_ARG_CANNOT_BE_NULL,
    789        "{0} argument can not be null"},
    790 
    791   /** Field ER_OBJECT_MODEL_NULL                       */
    792 
    793   { ER_OBJECT_MODEL_NULL,
    794        "{0}#isObjectModelSupported( String objectModel ) cannot be called with objectModel == null"},
    795 
    796   /** Field ER_OBJECT_MODEL_EMPTY                       */
    797 
    798   { ER_OBJECT_MODEL_EMPTY,
    799        "{0}#isObjectModelSupported( String objectModel ) cannot be called with objectModel == \"\""},
    800 
    801   /** Field ER_OBJECT_MODEL_EMPTY                       */
    802 
    803   { ER_FEATURE_NAME_NULL,
    804        "Trying to set a feature with a null name: {0}#setFeature( null, {1})"},
    805 
    806   /** Field ER_FEATURE_UNKNOWN                       */
    807 
    808   { ER_FEATURE_UNKNOWN,
    809        "Trying to set the unknown feature \"{0}\":{1}#setFeature({0},{2})"},
    810 
    811   /** Field ER_GETTING_NULL_FEATURE                       */
    812 
    813   { ER_GETTING_NULL_FEATURE,
    814        "Trying to get a feature with a null name: {0}#getFeature(null)"},
    815 
    816   /** Field ER_GETTING_NULL_FEATURE                       */
    817 
    818   { ER_GETTING_UNKNOWN_FEATURE,
    819        "Trying to get the unknown feature \"{0}\":{1}#getFeature({0})"},
    820 
    821   /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
    822 
    823   { ER_NULL_XPATH_FUNCTION_RESOLVER,
    824        "Attempting to set a null XPathFunctionResolver:{0}#setXPathFunctionResolver(null)"},
    825 
    826   /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
    827 
    828   { ER_NULL_XPATH_VARIABLE_RESOLVER,
    829        "Attempting to set a null XPathVariableResolver:{0}#setXPathVariableResolver(null)"},
    830 
    831   //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
    832 
    833   // Warnings...
    834 
    835   { WG_LOCALE_NAME_NOT_HANDLED,
    836       "locale name in the format-number function not yet handled!"},
    837 
    838   { WG_PROPERTY_NOT_SUPPORTED,
    839       "XSL Property not supported: {0}"},
    840 
    841   { WG_DONT_DO_ANYTHING_WITH_NS,
    842       "Do not currently do anything with namespace {0} in property: {1}"},
    843 
    844   { WG_SECURITY_EXCEPTION,
    845       "SecurityException when trying to access XSL system property: {0}"},
    846 
    847   { WG_QUO_NO_LONGER_DEFINED,
    848       "Old syntax: quo(...) is no longer defined in XPath."},
    849 
    850   { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
    851       "XPath needs a derived object to implement nodeTest!"},
    852 
    853   { WG_FUNCTION_TOKEN_NOT_FOUND,
    854       "function token not found."},
    855 
    856   { WG_COULDNOT_FIND_FUNCTION,
    857       "Could not find function: {0}"},
    858 
    859   { WG_CANNOT_MAKE_URL_FROM,
    860       "Can not make URL from: {0}"},
    861 
    862   { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
    863       "-E option not supported for DTM parser"},
    864 
    865   { WG_ILLEGAL_VARIABLE_REFERENCE,
    866       "VariableReference given for variable out of context or without definition!  Name = {0}"},
    867 
    868   { WG_UNSUPPORTED_ENCODING,
    869      "Unsupported encoding: {0}"},
    870 
    871 
    872 
    873   // Other miscellaneous text used inside the code...
    874   { "ui_language", "en"},
    875   { "help_language", "en"},
    876   { "language", "en"},
    877   { "BAD_CODE", "Parameter to createMessage was out of bounds"},
    878   { "FORMAT_FAILED", "Exception thrown during messageFormat call"},
    879   { "version", ">>>>>>> Xalan Version "},
    880   { "version2", "<<<<<<<"},
    881   { "yes", "yes"},
    882   { "line", "Line #"},
    883   { "column", "Column #"},
    884   { "xsldone", "XSLProcessor: done"},
    885   { "xpath_option", "xpath options: "},
    886   { "optionIN", "   [-in inputXMLURL]"},
    887   { "optionSelect", "   [-select xpath expression]"},
    888   { "optionMatch", "   [-match match pattern (for match diagnostics)]"},
    889   { "optionAnyExpr", "Or just an xpath expression will do a diagnostic dump"},
    890   { "noParsermsg1", "XSL Process was not successful."},
    891   { "noParsermsg2", "** Could not find parser **"},
    892   { "noParsermsg3", "Please check your classpath."},
    893   { "noParsermsg4", "If you don't have IBM's XML Parser for Java, you can download it from"},
    894   { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
    895   { "gtone", ">1" },
    896   { "zero", "0" },
    897   { "one", "1" },
    898   { "two" , "2" },
    899   { "three", "3" }
    900 
    901   };
    902   }
    903 
    904 
    905   // ================= INFRASTRUCTURE ======================
    906 
    907   /** Field BAD_CODE          */
    908   public static final String BAD_CODE = "BAD_CODE";
    909 
    910   /** Field FORMAT_FAILED          */
    911   public static final String FORMAT_FAILED = "FORMAT_FAILED";
    912 
    913   /** Field ERROR_RESOURCES          */
    914   public static final String ERROR_RESOURCES =
    915     "org.apache.xpath.res.XPATHErrorResources";
    916 
    917   /** Field ERROR_STRING          */
    918   public static final String ERROR_STRING = "#error";
    919 
    920   /** Field ERROR_HEADER          */
    921   public static final String ERROR_HEADER = "Error: ";
    922 
    923   /** Field WARNING_HEADER          */
    924   public static final String WARNING_HEADER = "Warning: ";
    925 
    926   /** Field XSL_HEADER          */
    927   public static final String XSL_HEADER = "XSL ";
    928 
    929   /** Field XML_HEADER          */
    930   public static final String XML_HEADER = "XML ";
    931 
    932   /** Field QUERY_HEADER          */
    933   public static final String QUERY_HEADER = "PATTERN ";
    934 
    935 
    936   /**
    937    * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
    938    * of ResourceBundle.getBundle().
    939    *
    940    * @param className Name of local-specific subclass.
    941    * @return the ResourceBundle
    942    * @throws MissingResourceException
    943    */
    944   public static final XPATHErrorResources loadResourceBundle(String className)
    945           throws MissingResourceException
    946   {
    947 
    948     Locale locale = Locale.getDefault();
    949     String suffix = getResourceSuffix(locale);
    950 
    951     try
    952     {
    953 
    954       // first try with the given locale
    955       return (XPATHErrorResources) ResourceBundle.getBundle(className
    956               + suffix, locale);
    957     }
    958     catch (MissingResourceException e)
    959     {
    960       try  // try to fall back to en_US if we can't load
    961       {
    962 
    963         // Since we can't find the localized property file,
    964         // fall back to en_US.
    965         return (XPATHErrorResources) ResourceBundle.getBundle(className,
    966                 new Locale("en", "US"));
    967       }
    968       catch (MissingResourceException e2)
    969       {
    970 
    971         // Now we are really in trouble.
    972         // very bad, definitely very bad...not going to get very far
    973         throw new MissingResourceException(
    974           "Could not load any resource bundles.", className, "");
    975       }
    976     }
    977   }
    978 
    979   /**
    980    * Return the resource file suffic for the indicated locale
    981    * For most locales, this will be based the language code.  However
    982    * for Chinese, we do distinguish between Taiwan and PRC
    983    *
    984    * @param locale the locale
    985    * @return an String suffix which canbe appended to a resource name
    986    */
    987   private static final String getResourceSuffix(Locale locale)
    988   {
    989 
    990     String suffix = "_" + locale.getLanguage();
    991     String country = locale.getCountry();
    992 
    993     if (country.equals("TW"))
    994       suffix += "_" + country;
    995 
    996     return suffix;
    997   }
    998 
    999 }
   1000