001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one
003     * or more contributor license agreements. See the NOTICE file
004     * distributed with this work for additional information
005     * regarding copyright ownership. The ASF licenses this file
006     * to you under the Apache License, Version 2.0 (the  "License");
007     * you may not use this file except in compliance with the License.
008     * You may obtain a copy of the License at
009     *
010     *     http://www.apache.org/licenses/LICENSE-2.0
011     *
012     * Unless required by applicable law or agreed to in writing, software
013     * distributed under the License is distributed on an "AS IS" BASIS,
014     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015     * See the License for the specific language governing permissions and
016     * limitations under the License.
017     */
018    /*
019     * $Id: XSLTErrorResources.java 468641 2006-10-28 06:54:42Z minchau $
020     */
021    package org.apache.xalan.res;
022    
023    import java.util.ListResourceBundle;
024    import java.util.Locale;
025    import java.util.MissingResourceException;
026    import java.util.ResourceBundle;
027    
028    /**
029     * Set up error messages.
030     * We build a two dimensional array of message keys and
031     * message strings. In order to add a new message here,
032     * you need to first add a String constant. And 
033     *  you need to enter key , value pair as part of contents
034     * Array. You also need to update MAX_CODE for error strings
035     * and MAX_WARNING for warnings ( Needed for only information
036     * purpose )
037     */
038    public class XSLTErrorResources extends ListResourceBundle
039    {
040    
041    /*
042     * This file contains error and warning messages related to Xalan Error
043     * Handling.
044     *
045     *  General notes to translators:
046     *
047     *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
048     *     components.
049     *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
050     *     XSLTC is an acronym for XSLT Compiler.
051     *
052     *  2) A stylesheet is a description of how to transform an input XML document
053     *     into a resultant XML document (or HTML document or text).  The
054     *     stylesheet itself is described in the form of an XML document.
055     *
056     *  3) A template is a component of a stylesheet that is used to match a
057     *     particular portion of an input document and specifies the form of the
058     *     corresponding portion of the output document.
059     *
060     *  4) An element is a mark-up tag in an XML document; an attribute is a
061     *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
062     *     "elem" is an element name, "attr" and "attr2" are attribute names with
063     *     the values "val" and "val2", respectively.
064     *
065     *  5) A namespace declaration is a special attribute that is used to associate
066     *     a prefix with a URI (the namespace).  The meanings of element names and
067     *     attribute names that use that prefix are defined with respect to that
068     *     namespace.
069     *
070     *  6) "Translet" is an invented term that describes the class file that
071     *     results from compiling an XML stylesheet into a Java class.
072     *
073     *  7) XPath is a specification that describes a notation for identifying
074     *     nodes in a tree-structured representation of an XML document.  An
075     *     instance of that notation is referred to as an XPath expression.
076     *
077     */
078    
079      /* 
080       * Static variables
081       */
082      public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX = 
083            "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX"; 
084            
085      public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
086            "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
087       
088      public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
089      public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
090      public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
091      public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
092      public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD"; 
093      public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
094      public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
095      public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
096      public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
097      public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
098      public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
099      public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
100             "ER_BAD_VAL_ON_LEVEL_ATTRIB";
101      public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
102             "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
103      public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME = 
104             "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
105      public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
106      public static final String ER_NEED_NAME_OR_MATCH_ATTRIB = 
107             "ER_NEED_NAME_OR_MATCH_ATTRIB";
108      public static final String ER_CANT_RESOLVE_NSPREFIX =
109             "ER_CANT_RESOLVE_NSPREFIX";
110      public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
111      public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
112      public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
113      public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
114      public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
115      public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
116      public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
117      public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
118      public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON = 
119             "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
120      public static final String ER_PROCESS_NOT_SUCCESSFUL = 
121             "ER_PROCESS_NOT_SUCCESSFUL";
122      public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
123      public static final String ER_ENCODING_NOT_SUPPORTED = 
124             "ER_ENCODING_NOT_SUPPORTED";
125      public static final String ER_COULD_NOT_CREATE_TRACELISTENER = 
126             "ER_COULD_NOT_CREATE_TRACELISTENER";
127      public static final String ER_KEY_REQUIRES_NAME_ATTRIB = 
128             "ER_KEY_REQUIRES_NAME_ATTRIB";
129      public static final String ER_KEY_REQUIRES_MATCH_ATTRIB = 
130             "ER_KEY_REQUIRES_MATCH_ATTRIB";
131      public static final String ER_KEY_REQUIRES_USE_ATTRIB = 
132             "ER_KEY_REQUIRES_USE_ATTRIB";
133      public static final String ER_REQUIRES_ELEMENTS_ATTRIB = 
134             "ER_REQUIRES_ELEMENTS_ATTRIB";
135      public static final String ER_MISSING_PREFIX_ATTRIB = 
136             "ER_MISSING_PREFIX_ATTRIB";
137      public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
138      public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
139      public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
140      public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
141      public static final String ER_STYLESHEET_INCLUDES_ITSELF = 
142             "ER_STYLESHEET_INCLUDES_ITSELF";
143      public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
144      public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
145      public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT = 
146             "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
147      public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT = 
148             "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
149      public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
150      public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
151      public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
152      public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR = 
153             "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
154      public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
155      public static final String ER_FAILED_PROCESS_STYLESHEET = 
156             "ER_FAILED_PROCESS_STYLESHEET";
157      public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
158      public static final String ER_COULDNT_FIND_FRAGMENT = 
159             "ER_COULDNT_FIND_FRAGMENT";
160      public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
161      public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB = 
162             "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
163      public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB = 
164             "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
165      public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG = 
166             "ER_NO_CLONE_OF_DOCUMENT_FRAG";
167      public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
168      public static final String ER_XMLSPACE_ILLEGAL_VALUE = 
169             "ER_XMLSPACE_ILLEGAL_VALUE";
170      public static final String ER_NO_XSLKEY_DECLARATION = 
171             "ER_NO_XSLKEY_DECLARATION";
172      public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
173      public static final String ER_XSLFUNCTIONS_UNSUPPORTED = 
174             "ER_XSLFUNCTIONS_UNSUPPORTED";
175      public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
176      public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET = 
177             "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
178      public static final String ER_RESULTNS_NOT_SUPPORTED = 
179             "ER_RESULTNS_NOT_SUPPORTED";
180      public static final String ER_DEFAULTSPACE_NOT_SUPPORTED = 
181             "ER_DEFAULTSPACE_NOT_SUPPORTED";
182      public static final String ER_INDENTRESULT_NOT_SUPPORTED = 
183             "ER_INDENTRESULT_NOT_SUPPORTED";
184      public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
185      public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
186      public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
187      public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
188      public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE = 
189             "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
190      public static final String ER_MISPLACED_XSLOTHERWISE = 
191             "ER_MISPLACED_XSLOTHERWISE";
192      public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE = 
193             "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
194      public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE = 
195             "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
196      public static final String ER_UNKNOWN_EXT_NS_PREFIX = 
197             "ER_UNKNOWN_EXT_NS_PREFIX";
198      public static final String ER_IMPORTS_AS_FIRST_ELEM = 
199             "ER_IMPORTS_AS_FIRST_ELEM";
200      public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
201      public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
202      public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL = 
203             "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
204      public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
205      public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
206      public static final String ER_CURRENCY_SIGN_ILLEGAL=
207             "ER_CURRENCY_SIGN_ILLEGAL";
208      public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM = 
209             "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
210      public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER = 
211             "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
212      public static final String ER_REDIRECT_COULDNT_GET_FILENAME = 
213             "ER_REDIRECT_COULDNT_GET_FILENAME";
214      public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT = 
215             "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
216      public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX = 
217             "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
218      public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
219      public static final String ER_MISSING_ARG_FOR_OPTION = 
220             "ER_MISSING_ARG_FOR_OPTION";
221      public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
222      public static final String ER_MALFORMED_FORMAT_STRING = 
223             "ER_MALFORMED_FORMAT_STRING";
224      public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB = 
225             "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
226      public static final String ER_ILLEGAL_ATTRIBUTE_VALUE = 
227             "ER_ILLEGAL_ATTRIBUTE_VALUE";
228      public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
229      public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH = 
230             "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
231      public static final String ER_CANT_USE_DTM_FOR_OUTPUT = 
232             "ER_CANT_USE_DTM_FOR_OUTPUT";
233      public static final String ER_CANT_USE_DTM_FOR_INPUT = 
234             "ER_CANT_USE_DTM_FOR_INPUT";
235      public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
236      public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
237      public static final String ER_INVALID_UTF16_SURROGATE = 
238             "ER_INVALID_UTF16_SURROGATE";
239      public static final String ER_XSLATTRSET_USED_ITSELF = 
240             "ER_XSLATTRSET_USED_ITSELF";
241      public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
242      public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
243      public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT = 
244             "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
245      public static final String ER_DUPLICATE_NAMED_TEMPLATE = 
246             "ER_DUPLICATE_NAMED_TEMPLATE";
247      public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
248      public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
249      public static final String ER_ILLEGAL_DOMSOURCE_INPUT = 
250             "ER_ILLEGAL_DOMSOURCE_INPUT";
251      public static final String ER_CLASS_NOT_FOUND_FOR_OPTION = 
252             "ER_CLASS_NOT_FOUND_FOR_OPTION";
253      public static final String ER_REQUIRED_ELEM_NOT_FOUND = 
254             "ER_REQUIRED_ELEM_NOT_FOUND";
255      public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
256      public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
257      public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
258      public static final String ER_SOURCE_CANNOT_BE_NULL = 
259             "ER_SOURCE_CANNOT_BE_NULL";
260      public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
261      public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
262      public static final String ER_CANNOT_CREATE_EXTENSN = 
263             "ER_CANNOT_CREATE_EXTENSN";
264      public static final String ER_INSTANCE_MTHD_CALL_REQUIRES = 
265             "ER_INSTANCE_MTHD_CALL_REQUIRES";
266      public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
267      public static final String ER_ELEMENT_NAME_METHOD_STATIC = 
268             "ER_ELEMENT_NAME_METHOD_STATIC";
269      public static final String ER_EXTENSION_FUNC_UNKNOWN = 
270             "ER_EXTENSION_FUNC_UNKNOWN";
271      public static final String ER_MORE_MATCH_CONSTRUCTOR = 
272             "ER_MORE_MATCH_CONSTRUCTOR";
273      public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
274      public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
275      public static final String ER_INVALID_CONTEXT_PASSED = 
276             "ER_INVALID_CONTEXT_PASSED";
277      public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
278      public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
279      public static final String ER_NO_URL = "ER_NO_URL";
280      public static final String ER_POOL_SIZE_LESSTHAN_ONE = 
281             "ER_POOL_SIZE_LESSTHAN_ONE";
282      public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
283      public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
284      public static final String ER_ILLEGAL_XMLSPACE_VALUE = 
285             "ER_ILLEGAL_XMLSPACE_VALUE";
286      public static final String ER_PROCESSFROMNODE_FAILED = 
287             "ER_PROCESSFROMNODE_FAILED";
288      public static final String ER_RESOURCE_COULD_NOT_LOAD = 
289             "ER_RESOURCE_COULD_NOT_LOAD";
290      public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO = 
291             "ER_BUFFER_SIZE_LESSTHAN_ZERO";
292      public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION = 
293             "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
294      public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
295      public static final String ER_ELEM_CONTENT_NOT_ALLOWED = 
296             "ER_ELEM_CONTENT_NOT_ALLOWED";
297      public static final String ER_STYLESHEET_DIRECTED_TERMINATION = 
298             "ER_STYLESHEET_DIRECTED_TERMINATION";
299      public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
300      public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
301      public static final String ER_COULD_NOT_LOAD_RESOURCE = 
302             "ER_COULD_NOT_LOAD_RESOURCE";
303      public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES = 
304             "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
305      public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
306      public static final String ER_RESULT_COULD_NOT_BE_SET = 
307             "ER_RESULT_COULD_NOT_BE_SET";
308      public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
309      public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE = 
310             "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
311      public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE = 
312             "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
313      public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
314      public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
315      public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
316      public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
317      public static final String ER_NO_STYLESHEET_IN_MEDIA = 
318             "ER_NO_STYLESHEET_IN_MEDIA";
319      public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
320      public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
321      public static final String ER_PROPERTY_VALUE_BOOLEAN = 
322             "ER_PROPERTY_VALUE_BOOLEAN";
323      public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT = 
324             "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
325      public static final String ER_RESOURCE_COULD_NOT_FIND = 
326             "ER_RESOURCE_COULD_NOT_FIND";
327      public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED = 
328             "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
329      public static final String ER_FAILED_CREATING_ELEMLITRSLT = 
330             "ER_FAILED_CREATING_ELEMLITRSLT";
331      public static final String ER_VALUE_SHOULD_BE_NUMBER = 
332             "ER_VALUE_SHOULD_BE_NUMBER";
333      public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
334      public static final String ER_FAILED_CALLING_METHOD = 
335             "ER_FAILED_CALLING_METHOD";
336      public static final String ER_FAILED_CREATING_ELEMTMPL = 
337             "ER_FAILED_CREATING_ELEMTMPL";
338      public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
339      public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
340      public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
341      public static final String ER_ATTRIB_VALUE_NOT_FOUND = 
342             "ER_ATTRIB_VALUE_NOT_FOUND";
343      public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED = 
344             "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
345      public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
346      public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
347      public static final String  ER_CANNOT_FIND_SAX1_DRIVER = 
348             "ER_CANNOT_FIND_SAX1_DRIVER";
349      public static final String  ER_SAX1_DRIVER_NOT_LOADED = 
350             "ER_SAX1_DRIVER_NOT_LOADED";
351      public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED = 
352             "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
353      public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER = 
354             "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
355      public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED = 
356             "ER_PARSER_PROPERTY_NOT_SPECIFIED";
357      public static final String  ER_PARSER_ARG_CANNOT_BE_NULL = 
358             "ER_PARSER_ARG_CANNOT_BE_NULL" ;
359      public static final String  ER_FEATURE = "ER_FEATURE";
360      public static final String ER_PROPERTY = "ER_PROPERTY" ;
361      public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
362      public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
363      public static final String ER_NO_DRIVER_NAME_SPECIFIED = 
364             "ER_NO_DRIVER_NAME_SPECIFIED";
365      public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
366      public static final String ER_POOLSIZE_LESS_THAN_ONE = 
367             "ER_POOLSIZE_LESS_THAN_ONE";
368      public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
369      public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
370      public static final String ER_ASSERT_NO_TEMPLATE_PARENT = 
371             "ER_ASSERT_NO_TEMPLATE_PARENT";
372      public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR = 
373             "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
374      public static final String ER_NOT_ALLOWED_IN_POSITION = 
375             "ER_NOT_ALLOWED_IN_POSITION";
376      public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION = 
377             "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
378      public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
379             "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
380      public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
381             "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
382      public static final String ER_XPATH_RESOLVER_NULL_QNAME =
383             "ER_XPATH_RESOLVER_NULL_QNAME";
384      public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
385             "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
386      public static final String INVALID_TCHAR = "INVALID_TCHAR";
387      public static final String INVALID_QNAME = "INVALID_QNAME";
388      public static final String INVALID_ENUM = "INVALID_ENUM";
389      public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
390      public static final String INVALID_NCNAME = "INVALID_NCNAME";
391      public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
392      public static final String INVALID_NUMBER = "INVALID_NUMBER";
393      public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
394      public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
395      public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
396      public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
397      public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
398      public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
399      public static final String ER_FUNCTION_NOT_FOUND = 
400             "ER_FUNCTION_NOT_FOUND"; 
401      public static final String ER_CANT_HAVE_CONTENT_AND_SELECT = 
402         "ER_CANT_HAVE_CONTENT_AND_SELECT";
403      public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";    
404      public static final String ER_SET_FEATURE_NULL_NAME =
405            "ER_SET_FEATURE_NULL_NAME";
406      public static final String ER_GET_FEATURE_NULL_NAME =
407            "ER_GET_FEATURE_NULL_NAME";
408      public static final String ER_UNSUPPORTED_FEATURE =
409            "ER_UNSUPPORTED_FEATURE";
410      public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
411            "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
412         
413      public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
414      public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR = 
415             "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
416      public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT = 
417             "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
418      public static final String WG_NO_LOCALE_IN_FORMATNUMBER = 
419             "WG_NO_LOCALE_IN_FORMATNUMBER";
420      public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
421      public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
422      public static final String WG_CANNOT_LOAD_REQUESTED_DOC = 
423             "WG_CANNOT_LOAD_REQUESTED_DOC";
424      public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
425      public static final String WG_FUNCTIONS_SHOULD_USE_URL = 
426             "WG_FUNCTIONS_SHOULD_USE_URL";
427      public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 = 
428             "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
429      public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA = 
430             "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
431      public static final String WG_SPECIFICITY_CONFLICTS = 
432             "WG_SPECIFICITY_CONFLICTS";
433      public static final String WG_PARSING_AND_PREPARING = 
434             "WG_PARSING_AND_PREPARING";
435      public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
436      public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
437      public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
438      public static final String WG_NO_DECIMALFORMAT_DECLARATION = 
439             "WG_NO_DECIMALFORMAT_DECLARATION";
440      public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
441      public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED = 
442             "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
443      public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE = 
444             "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
445      public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
446      public static final String WG_COULD_NOT_RESOLVE_PREFIX = 
447             "WG_COULD_NOT_RESOLVE_PREFIX";
448      public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB = 
449             "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
450      public static final String WG_ILLEGAL_ATTRIBUTE_NAME = 
451             "WG_ILLEGAL_ATTRIBUTE_NAME";
452      public static final String WG_ILLEGAL_ATTRIBUTE_VALUE = 
453             "WG_ILLEGAL_ATTRIBUTE_VALUE";
454      public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
455      public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML = 
456             "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
457      public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME = 
458             "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
459      public static final String WG_ILLEGAL_ATTRIBUTE_POSITION = 
460             "WG_ILLEGAL_ATTRIBUTE_POSITION";
461      public static final String NO_MODIFICATION_ALLOWED_ERR = 
462             "NO_MODIFICATION_ALLOWED_ERR";
463    
464      /*
465       * Now fill in the message text.
466       * Then fill in the message text for that message code in the
467       * array. Use the new error code as the index into the array.
468       */
469    
470      // Error messages...
471    
472      /** Get the lookup table for error messages.   
473       *
474       * @return The int to message lookup table.
475       */
476      public Object[][] getContents()
477      {
478        return new Object[][] {
479    
480      /** Error message ID that has a null message, but takes in a single object.    */
481      {"ER0000" , "{0}" },
482    
483        { ER_NO_CURLYBRACE,                            
484          "Error: Can not have '{' within expression"},
485    
486        { ER_ILLEGAL_ATTRIBUTE , 
487         "{0} has an illegal attribute: {1}"},
488    
489      {ER_NULL_SOURCENODE_APPLYIMPORTS ,
490          "sourceNode is null in xsl:apply-imports!"},
491    
492      {ER_CANNOT_ADD,
493          "Can not add {0} to {1}"},
494    
495        { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES, 
496          "sourceNode is null in handleApplyTemplatesInstruction!"},
497    
498        { ER_NO_NAME_ATTRIB, 
499         "{0} must have a name attribute."},
500    
501        {ER_TEMPLATE_NOT_FOUND,
502         "Could not find template named: {0}"},
503    
504        {ER_CANT_RESOLVE_NAME_AVT,
505          "Could not resolve name AVT in xsl:call-template."},
506    
507        {ER_REQUIRES_ATTRIB,
508         "{0} requires attribute: {1}"},
509    
510        { ER_MUST_HAVE_TEST_ATTRIB, 
511          "{0} must have a ''test'' attribute."},
512    
513        {ER_BAD_VAL_ON_LEVEL_ATTRIB,
514          "Bad value on level attribute: {0}"},
515    
516        {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML, 
517          "processing-instruction name can not be 'xml'"},
518    
519        { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
520          "processing-instruction name must be a valid NCName: {0}"},
521    
522        { ER_NEED_MATCH_ATTRIB,
523          "{0} must have a match attribute if it has a mode."},
524    
525        { ER_NEED_NAME_OR_MATCH_ATTRIB,
526          "{0} requires either a name or a match attribute."},
527    
528        {ER_CANT_RESOLVE_NSPREFIX,
529          "Can not resolve namespace prefix: {0}"},
530    
531        { ER_ILLEGAL_VALUE,
532         "xml:space has an illegal value: {0}"},
533    
534        { ER_NO_OWNERDOC,
535          "Child node does not have an owner document!"},
536    
537        { ER_ELEMTEMPLATEELEM_ERR,
538         "ElemTemplateElement error: {0}"},
539    
540        { ER_NULL_CHILD,
541         "Trying to add a null child!"},
542    
543        { ER_NEED_SELECT_ATTRIB,
544         "{0} requires a select attribute."},
545    
546        { ER_NEED_TEST_ATTRIB ,
547          "xsl:when must have a 'test' attribute."},
548    
549        { ER_NEED_NAME_ATTRIB,
550          "xsl:with-param must have a 'name' attribute."},
551    
552        { ER_NO_CONTEXT_OWNERDOC,
553          "context does not have an owner document!"},
554    
555        {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
556          "Could not create XML TransformerFactory Liaison: {0}"},
557    
558        {ER_PROCESS_NOT_SUCCESSFUL,
559          "Xalan: Process was not successful."},
560    
561        { ER_NOT_SUCCESSFUL,
562         "Xalan: was not successful."},
563    
564        { ER_ENCODING_NOT_SUPPORTED,
565         "Encoding not supported: {0}"},
566    
567        {ER_COULD_NOT_CREATE_TRACELISTENER,
568          "Could not create TraceListener: {0}"},
569    
570        {ER_KEY_REQUIRES_NAME_ATTRIB,
571          "xsl:key requires a 'name' attribute!"},
572    
573        { ER_KEY_REQUIRES_MATCH_ATTRIB,
574          "xsl:key requires a 'match' attribute!"},
575    
576        { ER_KEY_REQUIRES_USE_ATTRIB,
577          "xsl:key requires a 'use' attribute!"},
578    
579        { ER_REQUIRES_ELEMENTS_ATTRIB,
580          "(StylesheetHandler) {0} requires an ''elements'' attribute!"},
581    
582        { ER_MISSING_PREFIX_ATTRIB,
583          "(StylesheetHandler) {0} attribute ''prefix'' is missing"},
584    
585        { ER_BAD_STYLESHEET_URL,
586         "Stylesheet URL is bad: {0}"},
587    
588        { ER_FILE_NOT_FOUND,
589         "Stylesheet file was not found: {0}"},
590    
591        { ER_IOEXCEPTION,
592          "Had IO Exception with stylesheet file: {0}"},
593    
594        { ER_NO_HREF_ATTRIB, 
595          "(StylesheetHandler) Could not find href attribute for {0}"},
596    
597        { ER_STYLESHEET_INCLUDES_ITSELF, 
598          "(StylesheetHandler) {0} is directly or indirectly including itself!"},
599    
600        { ER_PROCESSINCLUDE_ERROR,
601          "StylesheetHandler.processInclude error, {0}"},
602    
603        { ER_MISSING_LANG_ATTRIB,
604          "(StylesheetHandler) {0} attribute ''lang'' is missing"},
605    
606        { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
607          "(StylesheetHandler) misplaced {0} element?? Missing container element ''component''"},
608    
609        { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
610          "Can only output to an Element, DocumentFragment, Document, or PrintWriter."},
611    
612        { ER_PROCESS_ERROR,
613         "StylesheetRoot.process error"},
614    
615        { ER_UNIMPLNODE_ERROR,
616         "UnImplNode error: {0}"},
617    
618        { ER_NO_SELECT_EXPRESSION,
619          "Error! Did not find xpath select expression (-select)."},
620    
621        { ER_CANNOT_SERIALIZE_XSLPROCESSOR, 
622          "Can not serialize an XSLProcessor!"},
623    
624        { ER_NO_INPUT_STYLESHEET,
625          "Stylesheet input was not specified!"},
626    
627        { ER_FAILED_PROCESS_STYLESHEET,
628          "Failed to process stylesheet!"},
629    
630        { ER_COULDNT_PARSE_DOC,       
631         "Could not parse {0} document!"},
632    
633        { ER_COULDNT_FIND_FRAGMENT,
634         "Could not find fragment: {0}"},
635    
636        { ER_NODE_NOT_ELEMENT,
637          "Node pointed to by fragment identifier was not an element: {0}"},
638    
639        { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
640          "for-each must have either a match or name attribute"},
641    
642        { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB, 
643          "templates must have either a match or name attribute"},
644    
645        { ER_NO_CLONE_OF_DOCUMENT_FRAG,
646          "No clone of a document fragment!"},
647    
648        { ER_CANT_CREATE_ITEM,
649          "Can not create item in result tree: {0}"},
650    
651        { ER_XMLSPACE_ILLEGAL_VALUE,
652          "xml:space in the source XML has an illegal value: {0}"},
653    
654        { ER_NO_XSLKEY_DECLARATION,
655          "There is no xsl:key declaration for {0}!"},
656    
657        { ER_CANT_CREATE_URL, 
658         "Error! Cannot create url for: {0}"},
659    
660        { ER_XSLFUNCTIONS_UNSUPPORTED,
661         "xsl:functions is unsupported"},
662    
663        { ER_PROCESSOR_ERROR, 
664         "XSLT TransformerFactory Error"},
665    
666        { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
667          "(StylesheetHandler) {0} not allowed inside a stylesheet!"},
668    
669        { ER_RESULTNS_NOT_SUPPORTED, 
670          "result-ns no longer supported!  Use xsl:output instead."},
671    
672        { ER_DEFAULTSPACE_NOT_SUPPORTED, 
673          "default-space no longer supported!  Use xsl:strip-space or xsl:preserve-space instead."},
674    
675        { ER_INDENTRESULT_NOT_SUPPORTED,
676          "indent-result no longer supported!  Use xsl:output instead."},
677    
678        { ER_ILLEGAL_ATTRIB,
679          "(StylesheetHandler) {0} has an illegal attribute: {1}"},
680    
681        { ER_UNKNOWN_XSL_ELEM,
682         "Unknown XSL element: {0}"},
683    
684        { ER_BAD_XSLSORT_USE,
685          "(StylesheetHandler) xsl:sort can only be used with xsl:apply-templates or xsl:for-each."},
686    
687        { ER_MISPLACED_XSLWHEN,
688          "(StylesheetHandler) misplaced xsl:when!"},
689    
690        { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
691          "(StylesheetHandler) xsl:when not parented by xsl:choose!"},
692    
693        { ER_MISPLACED_XSLOTHERWISE,
694          "(StylesheetHandler) misplaced xsl:otherwise!"},
695    
696        { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
697          "(StylesheetHandler) xsl:otherwise not parented by xsl:choose!"},
698    
699        { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
700          "(StylesheetHandler) {0} is not allowed inside a template!"},
701    
702        { ER_UNKNOWN_EXT_NS_PREFIX, 
703          "(StylesheetHandler) {0} extension namespace prefix {1} unknown"},
704    
705        { ER_IMPORTS_AS_FIRST_ELEM, 
706          "(StylesheetHandler) Imports can only occur as the first elements in the stylesheet!"},
707    
708        { ER_IMPORTING_ITSELF,
709          "(StylesheetHandler) {0} is directly or indirectly importing itself!"},
710    
711        { ER_XMLSPACE_ILLEGAL_VAL,
712          "(StylesheetHandler) " + "xml:space has an illegal value: {0}"},
713    
714        { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
715          "processStylesheet not succesfull!"},
716    
717        { ER_SAX_EXCEPTION, 
718         "SAX Exception"},
719    
720    //  add this message to fix bug 21478
721        { ER_FUNCTION_NOT_SUPPORTED, 
722         "Function not supported!"},
723    
724        { ER_XSLT_ERROR,
725         "XSLT Error"},
726    
727        { ER_CURRENCY_SIGN_ILLEGAL,
728          "currency sign is not allowed in format pattern string"},
729    
730        { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
731          "Document function not supported in Stylesheet DOM!"},
732    
733        { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
734          "Can't resolve prefix of non-Prefix resolver!"},
735    
736        { ER_REDIRECT_COULDNT_GET_FILENAME,
737          "Redirect extension: Could not get filename - file or select attribute must return vald string."},
738    
739        { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
740          "Can not build FormatterListener in Redirect extension!"},
741    
742        { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
743          "Prefix in exclude-result-prefixes is not valid: {0}"},
744    
745        { ER_MISSING_NS_URI, 
746          "Missing namespace URI for specified prefix"},
747    
748        { ER_MISSING_ARG_FOR_OPTION,
749          "Missing argument for option: {0}"},
750    
751        { ER_INVALID_OPTION,
752         "Invalid option: {0}"},
753    
754        { ER_MALFORMED_FORMAT_STRING,
755         "Malformed format string: {0}"},
756    
757        { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
758          "xsl:stylesheet requires a 'version' attribute!"},
759    
760        { ER_ILLEGAL_ATTRIBUTE_VALUE,
761          "Attribute: {0} has an illegal value: {1}"},
762    
763        { ER_CHOOSE_REQUIRES_WHEN,
764         "xsl:choose requires an xsl:when"},
765    
766        { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
767          "xsl:apply-imports not allowed in a xsl:for-each"},
768    
769        { ER_CANT_USE_DTM_FOR_OUTPUT,
770          "Cannot use a DTMLiaison for an output DOM node... pass a org.apache.xpath.DOM2Helper instead!"},
771    
772        { ER_CANT_USE_DTM_FOR_INPUT,
773          "Cannot use a DTMLiaison for a input DOM node... pass a org.apache.xpath.DOM2Helper instead!"},
774    
775        { ER_CALL_TO_EXT_FAILED,
776          "Call to extension element failed: {0}"},
777    
778        { ER_PREFIX_MUST_RESOLVE,
779          "Prefix must resolve to a namespace: {0}"},
780    
781        { ER_INVALID_UTF16_SURROGATE,
782          "Invalid UTF-16 surrogate detected: {0} ?"},
783    
784        { ER_XSLATTRSET_USED_ITSELF,
785          "xsl:attribute-set {0} used itself, which will cause an infinite loop."},
786    
787        { ER_CANNOT_MIX_XERCESDOM,
788          "Can not mix non Xerces-DOM input with Xerces-DOM output!"},
789    
790        { ER_TOO_MANY_LISTENERS,
791          "addTraceListenersToStylesheet - TooManyListenersException"},
792    
793        { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
794          "In ElemTemplateElement.readObject: {0}"},
795    
796        { ER_DUPLICATE_NAMED_TEMPLATE,
797          "Found more than one template named: {0}"},
798    
799        { ER_INVALID_KEY_CALL,
800          "Invalid function call: recursive key() calls are not allowed"},
801    
802        { ER_REFERENCING_ITSELF,
803          "Variable {0} is directly or indirectly referencing itself!"},
804    
805        { ER_ILLEGAL_DOMSOURCE_INPUT,
806          "The input node can not be null for a DOMSource for newTemplates!"},
807    
808        { ER_CLASS_NOT_FOUND_FOR_OPTION,
809            "Class file not found for option {0}"},
810    
811        { ER_REQUIRED_ELEM_NOT_FOUND,
812            "Required Element not found: {0}"},
813    
814        { ER_INPUT_CANNOT_BE_NULL,
815            "InputStream cannot be null"},
816    
817        { ER_URI_CANNOT_BE_NULL,
818            "URI cannot be null"},
819    
820        { ER_FILE_CANNOT_BE_NULL,
821            "File cannot be null"},
822    
823        { ER_SOURCE_CANNOT_BE_NULL,
824                    "InputSource cannot be null"},
825    
826        { ER_CANNOT_INIT_BSFMGR,
827                    "Could not initialize BSF Manager"},
828    
829        { ER_CANNOT_CMPL_EXTENSN,
830                    "Could not compile extension"},
831    
832        { ER_CANNOT_CREATE_EXTENSN,
833          "Could not create extension: {0} because of: {1}"},
834    
835        { ER_INSTANCE_MTHD_CALL_REQUIRES,
836          "Instance method call to method {0} requires an Object instance as first argument"},
837    
838        { ER_INVALID_ELEMENT_NAME,
839          "Invalid element name specified {0}"},
840    
841        { ER_ELEMENT_NAME_METHOD_STATIC,
842          "Element name method must be static {0}"},
843    
844        { ER_EXTENSION_FUNC_UNKNOWN,
845                 "Extension function {0} : {1} is unknown"},
846    
847        { ER_MORE_MATCH_CONSTRUCTOR,
848                 "More than one best match for constructor for {0}"},
849    
850        { ER_MORE_MATCH_METHOD,
851                 "More than one best match for method {0}"},
852    
853        { ER_MORE_MATCH_ELEMENT,
854                 "More than one best match for element method {0}"},
855    
856        { ER_INVALID_CONTEXT_PASSED,
857                 "Invalid context passed to evaluate {0}"},
858    
859        { ER_POOL_EXISTS,
860                 "Pool already exists"},
861    
862        { ER_NO_DRIVER_NAME,
863                 "No driver Name specified"},
864    
865        { ER_NO_URL,
866                 "No URL specified"},
867    
868        { ER_POOL_SIZE_LESSTHAN_ONE,
869                 "Pool size is less than one!"},
870    
871        { ER_INVALID_DRIVER,
872                 "Invalid driver name specified!"},
873    
874        { ER_NO_STYLESHEETROOT,
875                 "Did not find the stylesheet root!"},
876    
877        { ER_ILLEGAL_XMLSPACE_VALUE,
878             "Illegal value for xml:space"},
879    
880        { ER_PROCESSFROMNODE_FAILED,
881             "processFromNode failed"},
882    
883        { ER_RESOURCE_COULD_NOT_LOAD,
884            "The resource [ {0} ] could not load: {1} \n {2} \t {3}"},
885    
886        { ER_BUFFER_SIZE_LESSTHAN_ZERO,
887            "Buffer size <=0"},
888    
889        { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
890            "Unknown error when calling extension"},
891    
892        { ER_NO_NAMESPACE_DECL,
893            "Prefix {0} does not have a corresponding namespace declaration"},
894    
895        { ER_ELEM_CONTENT_NOT_ALLOWED,
896            "Element content not allowed for lang=javaclass {0}"},
897    
898        { ER_STYLESHEET_DIRECTED_TERMINATION,
899            "Stylesheet directed termination"},
900    
901        { ER_ONE_OR_TWO,
902            "1 or 2"},
903    
904        { ER_TWO_OR_THREE,
905            "2 or 3"},
906    
907        { ER_COULD_NOT_LOAD_RESOURCE,
908            "Could not load {0} (check CLASSPATH), now using just the defaults"},
909    
910        { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
911            "Cannot initialize default templates"},
912    
913        { ER_RESULT_NULL,
914            "Result should not be null"},
915    
916        { ER_RESULT_COULD_NOT_BE_SET,
917            "Result could not be set"},
918    
919        { ER_NO_OUTPUT_SPECIFIED,
920            "No output specified"},
921    
922        { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
923            "Can''t transform to a Result of type {0}"},
924    
925        { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
926            "Can''t transform a Source of type {0}"},
927    
928        { ER_NULL_CONTENT_HANDLER,
929            "Null content handler"},
930    
931        { ER_NULL_ERROR_HANDLER,
932            "Null error handler"},
933    
934        { ER_CANNOT_CALL_PARSE,
935            "parse can not be called if the ContentHandler has not been set"},
936    
937        { ER_NO_PARENT_FOR_FILTER,
938            "No parent for filter"},
939    
940        { ER_NO_STYLESHEET_IN_MEDIA,
941             "No stylesheet found in: {0}, media= {1}"},
942    
943        { ER_NO_STYLESHEET_PI,
944             "No xml-stylesheet PI found in: {0}"},
945    
946        { ER_NOT_SUPPORTED,
947           "Not supported: {0}"},
948    
949        { ER_PROPERTY_VALUE_BOOLEAN,
950           "Value for property {0} should be a Boolean instance"},
951    
952        { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
953             "Could not get to external script at {0}"},
954    
955        { ER_RESOURCE_COULD_NOT_FIND,
956            "The resource [ {0} ] could not be found.\n {1}"},
957    
958        { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
959            "Output property not recognized: {0}"},
960    
961        { ER_FAILED_CREATING_ELEMLITRSLT,
962            "Failed creating ElemLiteralResult instance"},
963    
964      //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
965      // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
966      //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
967      //NOTE: Not only the key name but message has also been changed. 
968        { ER_VALUE_SHOULD_BE_NUMBER,
969            "Value for {0} should contain a parsable number"},
970    
971        { ER_VALUE_SHOULD_EQUAL,
972            "Value for {0} should equal yes or no"},
973    
974        { ER_FAILED_CALLING_METHOD,
975            "Failed calling {0} method"},
976    
977        { ER_FAILED_CREATING_ELEMTMPL,
978            "Failed creating ElemTemplateElement instance"},
979    
980        { ER_CHARS_NOT_ALLOWED,
981            "Characters are not allowed at this point in the document"},
982    
983        { ER_ATTR_NOT_ALLOWED,
984            "\"{0}\" attribute is not allowed on the {1} element!"},
985    
986        { ER_BAD_VALUE,
987         "{0} bad value {1} "},
988    
989        { ER_ATTRIB_VALUE_NOT_FOUND,
990         "{0} attribute value not found "},
991    
992        { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
993         "{0} attribute value not recognized "},
994    
995        { ER_NULL_URI_NAMESPACE,
996         "Attempting to generate a namespace prefix with a null URI"},
997    
998        { ER_NUMBER_TOO_BIG,
999         "Attempting to format a number bigger than the largest Long integer"},
1000    
1001        { ER_CANNOT_FIND_SAX1_DRIVER,
1002         "Cannot find SAX1 driver class {0}"},
1003    
1004        { ER_SAX1_DRIVER_NOT_LOADED,
1005         "SAX1 driver class {0} found but cannot be loaded"},
1006    
1007        { ER_SAX1_DRIVER_NOT_INSTANTIATED,
1008         "SAX1 driver class {0} loaded but cannot be instantiated"},
1009    
1010        { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
1011         "SAX1 driver class {0} does not implement org.xml.sax.Parser"},
1012    
1013        { ER_PARSER_PROPERTY_NOT_SPECIFIED,
1014         "System property org.xml.sax.parser not specified"},
1015    
1016        { ER_PARSER_ARG_CANNOT_BE_NULL,
1017         "Parser argument must not be null"},
1018    
1019        { ER_FEATURE,
1020         "Feature: {0}"},
1021    
1022        { ER_PROPERTY,
1023         "Property: {0}"},
1024    
1025        { ER_NULL_ENTITY_RESOLVER,
1026         "Null entity resolver"},
1027    
1028        { ER_NULL_DTD_HANDLER,
1029         "Null DTD handler"},
1030    
1031        { ER_NO_DRIVER_NAME_SPECIFIED,
1032         "No Driver Name Specified!"},
1033    
1034        { ER_NO_URL_SPECIFIED,
1035         "No URL Specified!"},
1036    
1037        { ER_POOLSIZE_LESS_THAN_ONE,
1038         "Pool size is less than 1!"},
1039    
1040        { ER_INVALID_DRIVER_NAME,
1041         "Invalid Driver Name Specified!"},
1042    
1043        { ER_ERRORLISTENER,
1044         "ErrorListener"},
1045    
1046    
1047    // Note to translators:  The following message should not normally be displayed
1048    //   to users.  It describes a situation in which the processor has detected
1049    //   an internal consistency problem in itself, and it provides this message
1050    //   for the developer to help diagnose the problem.  The name
1051    //   'ElemTemplateElement' is the name of a class, and should not be
1052    //   translated.
1053        { ER_ASSERT_NO_TEMPLATE_PARENT,
1054         "Programmer's error! The expression has no ElemTemplateElement parent!"},
1055    
1056    
1057    // Note to translators:  The following message should not normally be displayed
1058    //   to users.  It describes a situation in which the processor has detected
1059    //   an internal consistency problem in itself, and it provides this message
1060    //   for the developer to help diagnose the problem.  The substitution text
1061    //   provides further information in order to diagnose the problem.  The name
1062    //   'RedundentExprEliminator' is the name of a class, and should not be
1063    //   translated.
1064        { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
1065         "Programmer''s assertion in RedundentExprEliminator: {0}"},
1066    
1067        { ER_NOT_ALLOWED_IN_POSITION,
1068         "{0} is not allowed in this position in the stylesheet!"},
1069    
1070        { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
1071         "Non-whitespace text is not allowed in this position in the stylesheet!"},
1072    
1073      // This code is shared with warning codes.
1074      // SystemId Unknown
1075        { INVALID_TCHAR,
1076         "Illegal value: {1} used for CHAR attribute: {0}.  An attribute of type CHAR must be only 1 character!"},
1077    
1078        // Note to translators:  The following message is used if the value of
1079        // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
1080        // the attribute, and should not be translated.  The substitution text {1} is
1081        // the attribute value and {0} is the attribute name.
1082      //The following codes are shared with the warning codes...
1083        { INVALID_QNAME,
1084         "Illegal value: {1} used for QNAME attribute: {0}"},
1085    
1086        // Note to translators:  The following message is used if the value of
1087        // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
1088        // the attribute, and should not be translated.  The substitution text {1} is
1089        // the attribute value, {0} is the attribute name, and {2} is a list of valid
1090        // values.
1091        { INVALID_ENUM,
1092         "Illegal value: {1} used for ENUM attribute: {0}.  Valid values are: {2}."},
1093    
1094    // Note to translators:  The following message is used if the value of
1095    // an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
1096    // of the attribute, and should not be translated.  The substitution text {1} is
1097    // the attribute value and {0} is the attribute name.
1098        { INVALID_NMTOKEN,
1099         "Illegal value: {1} used for NMTOKEN attribute: {0} "},
1100    
1101    // Note to translators:  The following message is used if the value of
1102    // an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
1103    // of the attribute, and should not be translated.  The substitution text {1} is
1104    // the attribute value and {0} is the attribute name.
1105        { INVALID_NCNAME,
1106         "Illegal value: {1} used for NCNAME attribute: {0} "},
1107    
1108    // Note to translators:  The following message is used if the value of
1109    // an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
1110    // of the attribute, and should not be translated.  The substitution text {1} is
1111    // the attribute value and {0} is the attribute name.
1112        { INVALID_BOOLEAN,
1113         "Illegal value: {1} used for boolean attribute: {0} "},
1114    
1115    // Note to translators:  The following message is used if the value of
1116    // an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
1117    // of the attribute, and should not be translated.  The substitution text {1} is
1118    // the attribute value and {0} is the attribute name.
1119         { INVALID_NUMBER,
1120         "Illegal value: {1} used for number attribute: {0} "},
1121    
1122    
1123      // End of shared codes...
1124    
1125    // Note to translators:  A "match pattern" is a special form of XPath expression
1126    // that is used for matching patterns.  The substitution text is the name of
1127    // a function.  The message indicates that when this function is referenced in
1128    // a match pattern, its argument must be a string literal (or constant.)
1129    // ER_ARG_LITERAL - new error message for bugzilla //5202
1130        { ER_ARG_LITERAL,
1131         "Argument to {0} in match pattern must be a literal."},
1132    
1133    // Note to translators:  The following message indicates that two definitions of
1134    // a variable.  A "global variable" is a variable that is accessible everywher
1135    // in the stylesheet.
1136    // ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
1137        { ER_DUPLICATE_GLOBAL_VAR,
1138         "Duplicate global variable declaration."},
1139    
1140    
1141    // Note to translators:  The following message indicates that two definitions of
1142    // a variable were encountered.
1143    // ER_DUPLICATE_VAR - new error message for bugzilla #790
1144        { ER_DUPLICATE_VAR,
1145         "Duplicate variable declaration."},
1146    
1147        // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
1148        // which must not be translated.
1149        // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
1150        { ER_TEMPLATE_NAME_MATCH,
1151         "xsl:template must have a name or match attribute (or both)"},
1152    
1153        // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
1154        // should not be translated.  The message indicates that a namespace prefix
1155        // encountered as part of the value of the exclude-result-prefixes attribute
1156        // was in error.
1157        // ER_INVALID_PREFIX - new error message for bugzilla #788
1158        { ER_INVALID_PREFIX,
1159         "Prefix in exclude-result-prefixes is not valid: {0}"},
1160    
1161        // Note to translators:  An "attribute set" is a set of attributes that can
1162        // be added to an element in the output document as a group.  The message
1163        // indicates that there was a reference to an attribute set named {0} that
1164        // was never defined.
1165        // ER_NO_ATTRIB_SET - new error message for bugzilla #782
1166        { ER_NO_ATTRIB_SET,
1167         "attribute-set named {0} does not exist"},
1168         
1169        // Note to translators:  This message indicates that there was a reference
1170        // to a function named {0} for which no function definition could be found.
1171        { ER_FUNCTION_NOT_FOUND,
1172         "The function named {0} does not exist"},
1173    
1174        // Note to translators:  This message indicates that the XSLT instruction
1175        // that is named by the substitution text {0} must not contain other XSLT
1176        // instructions (content) or a "select" attribute.  The word "select" is
1177        // an XSLT keyword in this case and must not be translated.
1178        { ER_CANT_HAVE_CONTENT_AND_SELECT,
1179         "The {0} element must not have both content and a select attribute."},
1180    
1181        // Note to translators:  This message indicates that the value argument
1182        // of setParameter must be a valid Java Object.
1183        { ER_INVALID_SET_PARAM_VALUE,
1184         "The value of param {0} must be a valid Java Object"},
1185    
1186        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
1187          "The result-prefix attribute of an xsl:namespace-alias element has the value '#default', but there is no declaration of the default namespace in scope for the element"},
1188    
1189        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
1190          "The result-prefix attribute of an xsl:namespace-alias element has the value ''{0}'', but there is no namespace declaration for the prefix ''{0}'' in scope for the element."},
1191    
1192        { ER_SET_FEATURE_NULL_NAME,
1193          "The feature name cannot be null in TransformerFactory.setFeature(String name, boolean value)."},
1194        
1195        { ER_GET_FEATURE_NULL_NAME,
1196          "The feature name cannot be null in TransformerFactory.getFeature(String name)."},
1197        
1198        { ER_UNSUPPORTED_FEATURE,
1199          "Cannot set the feature ''{0}'' on this TransformerFactory."},
1200        
1201        { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
1202              "Use of the extension element ''{0}'' is not allowed when the secure processing feature is set to true."},
1203        
1204        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,              
1205          "Cannot get the prefix for a null namespace uri."},
1206    
1207        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,                 
1208          "Cannot get the namespace uri for null prefix."},
1209    
1210        { ER_XPATH_RESOLVER_NULL_QNAME,             
1211          "The function name cannot be null."},
1212    
1213        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,                 
1214          "The arity cannot be negative."},
1215      // Warnings...
1216    
1217        { WG_FOUND_CURLYBRACE,
1218          "Found '}' but no attribute template open!"},
1219    
1220        { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
1221          "Warning: count attribute does not match an ancestor in xsl:number! Target = {0}"},
1222    
1223        { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
1224          "Old syntax: The name of the 'expr' attribute has been changed to 'select'."},
1225    
1226        { WG_NO_LOCALE_IN_FORMATNUMBER,
1227          "Xalan doesn't yet handle the locale name in the format-number function."},
1228    
1229        { WG_LOCALE_NOT_FOUND,
1230          "Warning: Could not find locale for xml:lang={0}"},
1231    
1232        { WG_CANNOT_MAKE_URL_FROM,
1233          "Can not make URL from: {0}"},
1234    
1235        { WG_CANNOT_LOAD_REQUESTED_DOC,
1236          "Can not load requested doc: {0}"},
1237    
1238        { WG_CANNOT_FIND_COLLATOR,
1239          "Could not find Collator for <sort xml:lang={0}"},
1240    
1241        { WG_FUNCTIONS_SHOULD_USE_URL,
1242          "Old syntax: the functions instruction should use a url of {0}"},
1243    
1244        { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
1245          "encoding not supported: {0}, using UTF-8"},
1246    
1247        { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
1248          "encoding not supported: {0}, using Java {1}"},
1249    
1250        { WG_SPECIFICITY_CONFLICTS,
1251          "Specificity conflicts found: {0} Last found in stylesheet will be used."},
1252    
1253        { WG_PARSING_AND_PREPARING,
1254          "========= Parsing and preparing {0} =========="},
1255    
1256        { WG_ATTR_TEMPLATE,
1257         "Attr Template, {0}"},
1258    
1259        { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
1260          "Match conflict between xsl:strip-space and xsl:preserve-space"},
1261    
1262        { WG_ATTRIB_NOT_HANDLED,
1263          "Xalan does not yet handle the {0} attribute!"},
1264    
1265        { WG_NO_DECIMALFORMAT_DECLARATION,
1266          "No declaration found for decimal format: {0}"},
1267    
1268        { WG_OLD_XSLT_NS,
1269         "Missing or incorrect XSLT Namespace. "},
1270    
1271        { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
1272          "Only one default xsl:decimal-format declaration is allowed."},
1273    
1274        { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
1275          "xsl:decimal-format names must be unique. Name \"{0}\" has been duplicated."},
1276    
1277        { WG_ILLEGAL_ATTRIBUTE,
1278          "{0} has an illegal attribute: {1}"},
1279    
1280        { WG_COULD_NOT_RESOLVE_PREFIX,
1281          "Could not resolve namespace prefix: {0}. The node will be ignored."},
1282    
1283        { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
1284          "xsl:stylesheet requires a 'version' attribute!"},
1285    
1286        { WG_ILLEGAL_ATTRIBUTE_NAME,
1287          "Illegal attribute name: {0}"},
1288    
1289        { WG_ILLEGAL_ATTRIBUTE_VALUE,
1290          "Illegal value used for attribute {0}: {1}"},
1291    
1292        { WG_EMPTY_SECOND_ARG,
1293          "Resulting nodeset from second argument of document function is empty. Return an empty node-set."},
1294    
1295      //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
1296    
1297        // Note to translators:  "name" and "xsl:processing-instruction" are keywords
1298        // and must not be translated.
1299        { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
1300          "The value of the 'name' attribute of xsl:processing-instruction name must not be 'xml'"},
1301    
1302        // Note to translators:  "name" and "xsl:processing-instruction" are keywords
1303        // and must not be translated.  "NCName" is an XML data-type and must not be
1304        // translated.
1305        { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
1306          "The value of the ''name'' attribute of xsl:processing-instruction must be a valid NCName: {0}"},
1307    
1308        // Note to translators:  This message is reported if the stylesheet that is
1309        // being processed attempted to construct an XML document with an attribute in a
1310        // place other than on an element.  The substitution text specifies the name of
1311        // the attribute.
1312        { WG_ILLEGAL_ATTRIBUTE_POSITION,
1313          "Cannot add attribute {0} after child nodes or before an element is produced.  Attribute will be ignored."},
1314    
1315        { NO_MODIFICATION_ALLOWED_ERR,
1316          "An attempt is made to modify an object where modifications are not allowed."
1317        },
1318    
1319        //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
1320    
1321      // Other miscellaneous text used inside the code...
1322      { "ui_language", "en"},
1323      {  "help_language",  "en" },
1324      {  "language",  "en" },
1325      { "BAD_CODE", "Parameter to createMessage was out of bounds"},
1326      {  "FORMAT_FAILED", "Exception thrown during messageFormat call"},
1327      {  "version", ">>>>>>> Xalan Version "},
1328      {  "version2",  "<<<<<<<"},
1329      {  "yes", "yes"},
1330      { "line", "Line #"},
1331      { "column","Column #"},
1332      { "xsldone", "XSLProcessor: done"},
1333    
1334    
1335      // Note to translators:  The following messages provide usage information
1336      // for the Xalan Process command line.  "Process" is the name of a Java class,
1337      // and should not be translated.
1338      { "xslProc_option", "Xalan-J command line Process class options:"},
1339      { "xslProc_option", "Xalan-J command line Process class options\u003a"},
1340      { "xslProc_invalid_xsltc_option", "The option {0} is not supported in XSLTC mode."},
1341      { "xslProc_invalid_xalan_option", "The option {0} can only be used with -XSLTC."},
1342      { "xslProc_no_input", "Error: No stylesheet or input xml is specified. Run this command without any option for usage instructions."},
1343      { "xslProc_common_options", "-Common Options-"},
1344      { "xslProc_xalan_options", "-Options for Xalan-"},
1345      { "xslProc_xsltc_options", "-Options for XSLTC-"},
1346      { "xslProc_return_to_continue", "(press <return> to continue)"},
1347    
1348       // Note to translators: The option name and the parameter name do not need to
1349       // be translated. Only translate the messages in parentheses.  Note also that
1350       // leading whitespace in the messages is used to indent the usage information
1351       // for each option in the English messages.
1352       // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
1353      { "optionXSLTC", "   [-XSLTC (use XSLTC for transformation)]"},
1354      { "optionIN", "   [-IN inputXMLURL]"},
1355      { "optionXSL", "   [-XSL XSLTransformationURL]"},
1356      { "optionOUT",  "   [-OUT outputFileName]"},
1357      { "optionLXCIN", "   [-LXCIN compiledStylesheetFileNameIn]"},
1358      { "optionLXCOUT", "   [-LXCOUT compiledStylesheetFileNameOutOut]"},
1359      { "optionPARSER", "   [-PARSER fully qualified class name of parser liaison]"},
1360      {  "optionE", "   [-E (Do not expand entity refs)]"},
1361      {  "optionV",  "   [-E (Do not expand entity refs)]"},
1362      {  "optionQC", "   [-QC (Quiet Pattern Conflicts Warnings)]"},
1363      {  "optionQ", "   [-Q  (Quiet Mode)]"},
1364      {  "optionLF", "   [-LF (Use linefeeds only on output {default is CR/LF})]"},
1365      {  "optionCR", "   [-CR (Use carriage returns only on output {default is CR/LF})]"},
1366      { "optionESCAPE", "   [-ESCAPE (Which characters to escape {default is <>&\"\'\\r\\n}]"},
1367      { "optionINDENT", "   [-INDENT (Control how many spaces to indent {default is 0})]"},
1368      { "optionTT", "   [-TT (Trace the templates as they are being called.)]"},
1369      { "optionTG", "   [-TG (Trace each generation event.)]"},
1370      { "optionTS", "   [-TS (Trace each selection event.)]"},
1371      {  "optionTTC", "   [-TTC (Trace the template children as they are being processed.)]"},
1372      { "optionTCLASS", "   [-TCLASS (TraceListener class for trace extensions.)]"},
1373      { "optionVALIDATE", "   [-VALIDATE (Set whether validation occurs.  Validation is off by default.)]"},
1374      { "optionEDUMP", "   [-EDUMP {optional filename} (Do stackdump on error.)]"},
1375      {  "optionXML", "   [-XML (Use XML formatter and add XML header.)]"},
1376      {  "optionTEXT", "   [-TEXT (Use simple Text formatter.)]"},
1377      {  "optionHTML", "   [-HTML (Use HTML formatter.)]"},
1378      {  "optionPARAM", "   [-PARAM name expression (Set a stylesheet parameter)]"},
1379      {  "noParsermsg1", "XSL Process was not successful."},
1380      {  "noParsermsg2", "** Could not find parser **"},
1381      { "noParsermsg3",  "Please check your classpath."},
1382      { "noParsermsg4", "If you don't have IBM's XML Parser for Java, you can download it from"},
1383      { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
1384      { "optionURIRESOLVER", "   [-URIRESOLVER full class name (URIResolver to be used to resolve URIs)]"},
1385      { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER full class name (EntityResolver to be used to resolve entities)]"},
1386      { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER full class name (ContentHandler to be used to serialize output)]"},
1387      {  "optionLINENUMBERS",  "   [-L use line numbers for source document]"},
1388      { "optionSECUREPROCESSING", "   [-SECURE (set the secure processing feature to true.)]"},
1389    
1390        // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
1391    
1392    
1393      {  "optionMEDIA",  "   [-MEDIA mediaType (use media attribute to find stylesheet associated with a document.)]"},
1394      {  "optionFLAVOR",  "   [-FLAVOR flavorName (Explicitly use s2s=SAX or d2d=DOM to do transform.)] "}, // Added by sboag/scurcuru; experimental
1395      { "optionDIAG", "   [-DIAG (Print overall milliseconds transform took.)]"},
1396      { "optionINCREMENTAL",  "   [-INCREMENTAL (request incremental DTM construction by setting http://xml.apache.org/xalan/features/incremental true.)]"},
1397      {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (request no stylesheet optimization processing by setting http://xml.apache.org/xalan/features/optimize false.)]"},
1398      { "optionRL",  "   [-RL recursionlimit (assert numeric limit on stylesheet recursion depth.)]"},
1399      {   "optionXO",  "   [-XO [transletName] (assign the name to the generated translet)]"},
1400      {  "optionXD", "   [-XD destinationDirectory (specify a destination directory for translet)]"},
1401      {  "optionXJ",  "   [-XJ jarfile (packages translet classes into a jar file of name <jarfile>)]"},
1402      {   "optionXP",  "   [-XP package (specifies a package name prefix for all generated translet classes)]"},
1403    
1404      //AddITIONAL  STRINGS that need L10n
1405      // Note to translators:  The following message describes usage of a particular
1406      // command-line option that is used to enable the "template inlining"
1407      // optimization.  The optimization involves making a copy of the code
1408      // generated for a template in another template that refers to it.
1409      { "optionXN",  "   [-XN (enables template inlining)]" },
1410      { "optionXX",  "   [-XX (turns on additional debugging message output)]"},
1411      { "optionXT" , "   [-XT (use translet to transform if possible)]"},
1412      { "diagTiming"," --------- Transform of {0} via {1} took {2} ms" },
1413      { "recursionTooDeep","Template nesting too deep. nesting = {0}, template {1} {2}" },
1414      { "nameIs", "name is" },
1415      { "matchPatternIs", "match pattern is" }
1416    
1417      };
1418      }
1419      // ================= INFRASTRUCTURE ======================
1420    
1421      /** String for use when a bad error code was encountered.    */
1422      public static final String BAD_CODE = "BAD_CODE";
1423    
1424      /** String for use when formatting of the error string failed.   */
1425      public static final String FORMAT_FAILED = "FORMAT_FAILED";
1426    
1427      /** General error string.   */
1428      public static final String ERROR_STRING = "#error";
1429    
1430      /** String to prepend to error messages.  */
1431      public static final String ERROR_HEADER = "Error: ";
1432    
1433      /** String to prepend to warning messages.    */
1434      public static final String WARNING_HEADER = "Warning: ";
1435    
1436      /** String to specify the XSLT module.  */
1437      public static final String XSL_HEADER = "XSLT ";
1438    
1439      /** String to specify the XML parser module.  */
1440      public static final String XML_HEADER = "XML ";
1441    
1442      /** I don't think this is used any more.
1443       * @deprecated  */
1444      public static final String QUERY_HEADER = "PATTERN ";
1445    
1446    
1447      /**
1448       *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
1449       *   of ResourceBundle.getBundle().
1450       *
1451       *   @param className the name of the class that implements the resource bundle.
1452       *   @return the ResourceBundle
1453       *   @throws MissingResourceException
1454       */
1455      public static final XSLTErrorResources loadResourceBundle(String className)
1456              throws MissingResourceException
1457      {
1458    
1459        Locale locale = Locale.getDefault();
1460        String suffix = getResourceSuffix(locale);
1461    
1462        try
1463        {
1464    
1465          // first try with the given locale
1466          return (XSLTErrorResources) ResourceBundle.getBundle(className
1467                  + suffix, locale);
1468        }
1469        catch (MissingResourceException e)
1470        {
1471          try  // try to fall back to en_US if we can't load
1472          {
1473    
1474            // Since we can't find the localized property file,
1475            // fall back to en_US.
1476            return (XSLTErrorResources) ResourceBundle.getBundle(className,
1477                    new Locale("en", "US"));
1478          }
1479          catch (MissingResourceException e2)
1480          {
1481    
1482            // Now we are really in trouble.
1483            // very bad, definitely very bad...not going to get very far
1484            throw new MissingResourceException(
1485              "Could not load any resource bundles.", className, "");
1486          }
1487        }
1488      }
1489    
1490      /**
1491       * Return the resource file suffic for the indicated locale
1492       * For most locales, this will be based the language code.  However
1493       * for Chinese, we do distinguish between Taiwan and PRC
1494       *
1495       * @param locale the locale
1496       * @return an String suffix which canbe appended to a resource name
1497       */
1498      private static final String getResourceSuffix(Locale locale)
1499      {
1500    
1501        String suffix = "_" + locale.getLanguage();
1502        String country = locale.getCountry();
1503    
1504        if (country.equals("TW"))
1505          suffix += "_" + country;
1506    
1507        return suffix;
1508      }
1509    
1510    
1511    }