Merge "A new test suite for our XSLT transforms."
diff --git a/dexlist/DexList.c b/dexlist/DexList.c
index 9cf296c..841c17f 100644
--- a/dexlist/DexList.c
+++ b/dexlist/DexList.c
@@ -13,8 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 /*
- * List all methods in all concrete classes in a DEX file.
+ * List all methods in all concrete classes in one or more DEX files.
  */
 #include "libdex/DexFile.h"
 #include "libdex/DexClass.h"
@@ -34,6 +35,14 @@
 
 static const char* gProgName = "dexlist";
 
+/* command-line args */
+static struct {
+    char*       argCopy;
+    const char* classToFind;
+    const char* methodToFind;
+} gParms;
+
+
 /*
  * Return a newly-allocated string for the "dot version" of the class
  * name for the given type descriptor. That is, The initial "L" and
@@ -80,7 +89,7 @@
  * Dump a method.
  */
 void dumpMethod(DexFile* pDexFile, const char* fileName,
-        const DexMethod* pDexMethod, int i)
+    const DexMethod* pDexMethod, int i)
 {
     const DexMethodId* pMethodId;
     const DexCode* pCode;
@@ -120,11 +129,19 @@
     char* desc = dexCopyDescriptorFromMethodId(pDexFile, pMethodId);
     u4 insnsOff = pDexMethod->codeOff + offsetof(DexCode, insns);
 
+    if (gParms.methodToFind != NULL &&
+        (strcmp(gParms.classToFind, className) != 0 ||
+         strcmp(gParms.methodToFind, methodName) != 0))
+    {
+        goto skip;
+    }
+
     printf("0x%08x %d %s %s %s %s %d\n",
         insnsOff, pCode->insnsSize * 2,
         className, methodName, desc,
         fileName, firstLine);
 
+skip:
     free(desc);
     free(className);
 }
@@ -239,6 +256,25 @@
     int result = 0;
     int i;
 
+    /*
+     * Find all instances of the fully-qualified method name.  This isn't
+     * really what dexlist is for, but it's easy to do it here.
+     */
+    if (argc > 3 && strcmp(argv[1], "--method") == 0) {
+        gParms.argCopy = strdup(argv[2]);
+        char* meth = strrchr(gParms.argCopy, '.');
+        if (meth == NULL) {
+            fprintf(stderr, "Expected package.Class.method\n");
+            free(gParms.argCopy);
+            return 2;
+        }
+        *meth = '\0';
+        gParms.classToFind = gParms.argCopy;
+        gParms.methodToFind = meth+1;
+        argv += 2;
+        argc -= 2;
+    }
+
     if (argc < 2) {
         fprintf(stderr, "%s: no file specified\n", gProgName);
         usage();
@@ -252,6 +288,7 @@
     for (i = 1; i < argc; i++)
         result |= process(argv[i]);
 
+    free(gParms.argCopy);
     return result;
 }
 
diff --git a/docs/embedded-vm-control.html b/docs/embedded-vm-control.html
index 0b279e8..1e54453 100644
--- a/docs/embedded-vm-control.html
+++ b/docs/embedded-vm-control.html
@@ -8,7 +8,7 @@
 <h1>Controlling the Embedded VM</h1>
 
 <ul>
-    <li><a href="#overview">Overview</a>
+    <li><a href="#introduction">Introduction</a> (read this first!)
     <li><a href="#checkjni">Extended JNI Checks</a>
     <li><a href="#assertions">Assertions</a>
     <li><a href="#verifier">Bytecode Verification and Optimization</a>
@@ -18,7 +18,7 @@
     <li><a href="#dexcheck">DEX File Checksums</a>
 </ul>
 
-<h2><a name="overview">Overview</a></h2>
+<h2><a name="introduction">Introduction (read this first!)</a></h2>
 
 <p>The Dalvik VM supports a variety of command-line arguments
 (use <code>adb shell dalvikvm -help</code> to get a summary), but
@@ -31,12 +31,13 @@
 issuing a shell command on the device like this:
 <pre>adb shell setprop &lt;name&gt; &lt;value&gt;</pre>
 
-<p>The Android runtime must be restarted before the changes will take
-effect (<code>adb shell stop; adb shell start</code>).  This is because the
+<p><strong>The Android runtime must be restarted before the changes will take
+effect</strong> (<code>adb shell stop; adb shell start</code>).  This is because the
 settings are processed in the "zygote" process, which starts early and stays
 around "forever".
 
-<p>You may not be able to set this as an unprivileged user.  You can use
+<p>You may not be able to set <code>dalvik.*</code> properties or restart
+the system as an unprivileged user.  You can use
 <code>adb root</code> or run the <code>su</code> command from the device
 shell on "userdebug" builds to become root first.  When in doubt,
 <pre>adb shell getprop &lt;name&gt;</pre>
@@ -48,7 +49,7 @@
 
 <p>Such changes will survive reboots, but will be lost if the data
 partition is wiped.  (Hint: create a <code>local.prop</code>
-on your workstation, then <code>adb push local.prop /data</code> .  Or,
+on your workstation, then <code>adb push local.prop /data</code>.  Or,
 use one-liners like
 <code>adb shell "echo name = value &gt;&gt; /data/local.prop"</code> -- note
 the quotes are important.)
diff --git a/docs/heap-profiling.html b/docs/heap-profiling.html
index 3c80b4a..a9c949e 100644
--- a/docs/heap-profiling.html
+++ b/docs/heap-profiling.html
@@ -11,6 +11,10 @@
 of the virtual heap.  This is very useful for debugging memory usage
 and looking for memory leaks.  Getting at the information can be tricky,
 but has become easier in recent releases.
+</p><p>
+In what follows, the version number refers to the software release
+running on the phone.  To take advantage of the DDMS integration, you will
+also need a sufficiently recent version of DDMS.
 
 
 <h2>Getting the data</h2>
@@ -148,6 +152,7 @@
 permission, which is required to write data to the SD card.  If you're
 accustomed to writing profile data to <code>/sdcard</code>, you will
 need to enable the permission in your application's manifest.
+</p>
 
 
 <h3>Android 2.0 ("Eclair")</h3>
@@ -157,8 +162,15 @@
 and click the "dump HPROF file" button in the top left.  This always
 writes files to the SD card, so
 you must have a card inserted and the permission enabled in your application.
+</p>
 
 
+<h3>Android 2.x ("Froyo")</h3>
+<p>
+DDMS heap dump requests are now streamed directly out of the VM, removing
+the external storage requirement.
+</p>
+
 <h2>Examining the data</h2>
 <p>
 The data file format was augmented slightly from the common hprof format,
diff --git a/docs/jni-tips.html b/docs/jni-tips.html
index 6d7fa55..3d2f347 100644
--- a/docs/jni-tips.html
+++ b/docs/jni-tips.html
@@ -225,6 +225,15 @@
 are guaranteed valid until Release is called, which means they are not
 released when the native method returns.
 </p><p>
+<strong>Data passed to NewStringUTF must be in "modified" UTF-8 format</strong>.  A
+common mistake is reading character data from a file or network stream
+and handing it to <code>NewStringUTF</code> without filtering it.
+Unless you know the data is 7-bit ASCII, you need to strip out high-ASCII
+characters or convert them to proper "modified" UTF-8 form.  If you don't,
+the UTF-16 conversion will likely not be what you expect.  The extended
+JNI checks will scan strings and warn you about invalid data, but they
+won't catch everything.
+</p><p>
 </p><p>
 
 
@@ -416,7 +425,7 @@
 </li>
 <li> Make sure local references aren't used outside their allowed lifespan.
 </li>
-<li> UTF-8 strings contain valid "modified UTF-8" data.
+<li> UTF-8 strings contain only valid "modified UTF-8" data.
 </li>
 </ul>
 <p>Accessibility of methods and fields (i.e. public vs. private) is not
diff --git a/libcore/dalvik/src/main/java/dalvik/system/VMDebug.java b/libcore/dalvik/src/main/java/dalvik/system/VMDebug.java
index c5c3aa9..ce3e95c 100644
--- a/libcore/dalvik/src/main/java/dalvik/system/VMDebug.java
+++ b/libcore/dalvik/src/main/java/dalvik/system/VMDebug.java
@@ -156,7 +156,12 @@
      */
     public static void startMethodTracing(String traceFileName,
         int bufferSize, int flags) {
-        startMethodTracing(traceFileName, null, bufferSize, flags);
+
+        if (traceFileName == null) {
+            throw new NullPointerException();
+        }
+
+        startMethodTracingNative(traceFileName, null, bufferSize, flags);
     }
 
     /**
@@ -168,7 +173,33 @@
      * this and find it would be useful.
      * @hide
      */
-    public static native void startMethodTracing(String traceFileName,
+    public static void startMethodTracing(String traceFileName,
+        FileDescriptor fd, int bufferSize, int flags)
+    {
+        if (traceFileName == null || fd == null) {
+            throw new NullPointerException();
+        }
+
+        startMethodTracingNative(traceFileName, fd, bufferSize, flags);
+    }
+
+    /**
+     * Starts method tracing without a backing file.  When stopMethodTracing
+     * is called, the result is sent directly to DDMS.  (If DDMS is not
+     * attached when tracing ends, the profiling data will be discarded.)
+     *
+     * @hide
+     */
+    public static void startMethodTracingDdms(int bufferSize, int flags) {
+        startMethodTracingNative(null, null, bufferSize, flags);
+    }
+
+    /**
+     * Implements all startMethodTracing variants.
+     *
+     * @hide
+     */
+    private static native void startMethodTracingNative(String traceFileName,
         FileDescriptor fd, int bufferSize, int flags);
 
     /**
@@ -280,6 +311,16 @@
     public static native void dumpHprofData(String fileName) throws IOException;
 
     /**
+     * Collect "hprof" and send it to DDMS.  This will cause a GC.
+     *
+     * @throws UnsupportedOperationException if the VM was built without
+     *         HPROF support.
+     *
+     * @hide
+     */
+    public static native void dumpHprofDataDdms();
+
+    /**
      * Primes the register map cache.
      *
      * @hide
diff --git a/libcore/dalvik/src/main/java/dalvik/system/VMRuntime.java b/libcore/dalvik/src/main/java/dalvik/system/VMRuntime.java
index 7ac0849..398e7fc 100644
--- a/libcore/dalvik/src/main/java/dalvik/system/VMRuntime.java
+++ b/libcore/dalvik/src/main/java/dalvik/system/VMRuntime.java
@@ -186,4 +186,13 @@
      * @return the number of bytes
      */
     public native long getExternalBytesAllocated();
+
+    /**
+     * Tells the VM to enable the JIT compiler. If the VM does not have a JIT
+     * implementation, calling this method should have no effect.
+     *
+     * {@hide}
+     */
+    public native void startJitCompilation();
+
 }
diff --git a/libcore/dom/src/test/java/org/w3c/dom/events/Event.java b/libcore/dom/src/test/java/org/w3c/dom/events/Event.java
deleted file mode 100644
index f2baad6..0000000
--- a/libcore/dom/src/test/java/org/w3c/dom/events/Event.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-/**
- * The <code>Event</code> interface is used to provide contextual information 
- * about an event to the handler processing the event. An object which 
- * implements the <code>Event</code> interface is generally passed as the 
- * first parameter to an event handler. More specific context information is 
- * passed to event handlers by deriving additional interfaces from 
- * <code>Event</code> which contain information directly relating to the 
- * type of event they accompany. These derived interfaces are also 
- * implemented by the object passed to the event listener. 
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface Event {
-    // PhaseType
-    /**
-     * The current event phase is the capturing phase.
-     */
-    public static final short CAPTURING_PHASE           = 1;
-    /**
-     * The event is currently being evaluated at the target 
-     * <code>EventTarget</code>.
-     */
-    public static final short AT_TARGET                 = 2;
-    /**
-     * The current event phase is the bubbling phase.
-     */
-    public static final short BUBBLING_PHASE            = 3;
-
-    /**
-     * The name of the event (case-insensitive). The name must be an XML name.
-     */
-    public String getType();
-
-    /**
-     * Used to indicate the <code>EventTarget</code> to which the event was 
-     * originally dispatched. 
-     */
-    public EventTarget getTarget();
-
-    /**
-     * Used to indicate the <code>EventTarget</code> whose 
-     * <code>EventListeners</code> are currently being processed. This is 
-     * particularly useful during capturing and bubbling. 
-     */
-    public EventTarget getCurrentTarget();
-
-    /**
-     * Used to indicate which phase of event flow is currently being 
-     * evaluated. 
-     */
-    public short getEventPhase();
-
-    /**
-     * Used to indicate whether or not an event is a bubbling event. If the 
-     * event can bubble the value is true, else the value is false. 
-     */
-    public boolean getBubbles();
-
-    /**
-     * Used to indicate whether or not an event can have its default action 
-     * prevented. If the default action can be prevented the value is true, 
-     * else the value is false. 
-     */
-    public boolean getCancelable();
-
-    /**
-     *  Used to specify the time (in milliseconds relative to the epoch) at 
-     * which the event was created. Due to the fact that some systems may 
-     * not provide this information the value of <code>timeStamp</code> may 
-     * be not available for all events. When not available, a value of 0 
-     * will be returned. Examples of epoch time are the time of the system 
-     * start or 0:0:0 UTC 1st January 1970. 
-     */
-    public long getTimeStamp();
-
-    /**
-     * The <code>stopPropagation</code> method is used prevent further 
-     * propagation of an event during event flow. If this method is called 
-     * by any <code>EventListener</code> the event will cease propagating 
-     * through the tree. The event will complete dispatch to all listeners 
-     * on the current <code>EventTarget</code> before event flow stops. This 
-     * method may be used during any stage of event flow.
-     */
-    public void stopPropagation();
-
-    /**
-     * If an event is cancelable, the <code>preventDefault</code> method is 
-     * used to signify that the event is to be canceled, meaning any default 
-     * action normally taken by the implementation as a result of the event 
-     * will not occur. If, during any stage of event flow, the 
-     * <code>preventDefault</code> method is called the event is canceled. 
-     * Any default action associated with the event will not occur. Calling 
-     * this method for a non-cancelable event has no effect. Once 
-     * <code>preventDefault</code> has been called it will remain in effect 
-     * throughout the remainder of the event's propagation. This method may 
-     * be used during any stage of event flow. 
-     */
-    public void preventDefault();
-
-    /**
-     * The <code>initEvent</code> method is used to initialize the value of an 
-     * <code>Event</code> created through the <code>DocumentEvent</code> 
-     * interface. This method may only be called before the 
-     * <code>Event</code> has been dispatched via the 
-     * <code>dispatchEvent</code> method, though it may be called multiple 
-     * times during that phase if necessary. If called multiple times the 
-     * final invocation takes precedence. If called from a subclass of 
-     * <code>Event</code> interface only the values specified in the 
-     * <code>initEvent</code> method are modified, all other attributes are 
-     * left unchanged.
-     * @param eventTypeArgSpecifies the event type. This type may be any 
-     *   event type currently defined in this specification or a new event 
-     *   type.. The string must be an XML name. Any new event type must not 
-     *   begin with any upper, lower, or mixed case version of the string 
-     *   "DOM". This prefix is reserved for future DOM event sets. It is 
-     *   also strongly recommended that third parties adding their own 
-     *   events use their own prefix to avoid confusion and lessen the 
-     *   probability of conflicts with other new events.
-     * @param canBubbleArgSpecifies whether or not the event can bubble.
-     * @param cancelableArgSpecifies whether or not the event's default 
-     *   action can be prevented.
-     */
-    public void initEvent(String eventTypeArg, 
-                          boolean canBubbleArg, 
-                          boolean cancelableArg);
-
-}
diff --git a/libcore/dom/src/test/java/org/w3c/dom/events/EventException.java b/libcore/dom/src/test/java/org/w3c/dom/events/EventException.java
deleted file mode 100644
index 7a6ff26..0000000
--- a/libcore/dom/src/test/java/org/w3c/dom/events/EventException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-/**
- *  Event operations may throw an <code>EventException</code> as specified in 
- * their method descriptions. 
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public class EventException extends RuntimeException {
-    public EventException(short code, String message) {
-       super(message);
-       this.code = code;
-    }
-    public short   code;
-    // EventExceptionCode
-    /**
-     *  If the <code>Event</code>'s type was not specified by initializing the 
-     * event before the method was called. Specification of the Event's type 
-     * as <code>null</code> or an empty string will also trigger this 
-     * exception. 
-     */
-    public static final short UNSPECIFIED_EVENT_TYPE_ERR = 0;
-
-}
diff --git a/libcore/dom/src/test/java/org/w3c/dom/events/EventListener.java b/libcore/dom/src/test/java/org/w3c/dom/events/EventListener.java
deleted file mode 100644
index 52e60cb..0000000
--- a/libcore/dom/src/test/java/org/w3c/dom/events/EventListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-/**
- *  The <code>EventListener</code> interface is the primary method for 
- * handling events. Users implement the <code>EventListener</code> interface 
- * and register their listener on an <code>EventTarget</code> using the 
- * <code>AddEventListener</code> method. The users should also remove their 
- * <code>EventListener</code> from its <code>EventTarget</code> after they 
- * have completed using the listener. 
- * <p> When a <code>Node</code> is copied using the <code>cloneNode</code> 
- * method the <code>EventListener</code>s attached to the source 
- * <code>Node</code> are not attached to the copied <code>Node</code>. If 
- * the user wishes the same <code>EventListener</code>s to be added to the 
- * newly created copy the user must add them manually. 
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface EventListener {
-    /**
-     *  This method is called whenever an event occurs of the type for which 
-     * the <code> EventListener</code> interface was registered. 
-     * @param evt The <code>Event</code> contains contextual information 
-     *   about the event. It also contains the <code>stopPropagation</code> 
-     *   and <code>preventDefault</code> methods which are used in 
-     *   determining the event's flow and default action. 
-     */
-    public void handleEvent(Event evt);
-
-}
diff --git a/libcore/dom/src/test/java/org/w3c/dom/events/EventTarget.java b/libcore/dom/src/test/java/org/w3c/dom/events/EventTarget.java
deleted file mode 100644
index 65e6286..0000000
--- a/libcore/dom/src/test/java/org/w3c/dom/events/EventTarget.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-/**
- *  The <code>EventTarget</code> interface is implemented by all 
- * <code>Nodes</code> in an implementation which supports the DOM Event 
- * Model. Therefore, this interface can be obtained by using 
- * binding-specific casting methods on an instance of the <code>Node</code> 
- * interface. The interface allows registration and removal of 
- * <code>EventListeners</code> on an <code>EventTarget</code> and dispatch 
- * of events to that <code>EventTarget</code>.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface EventTarget {
-    /**
-     * This method allows the registration of event listeners on the event 
-     * target. If an <code>EventListener</code> is added to an 
-     * <code>EventTarget</code> while it is processing an event, it will not 
-     * be triggered by the current actions but may be triggered during a 
-     * later stage of event flow, such as the bubbling phase. 
-     * <br> If multiple identical <code>EventListener</code>s are registered 
-     * on the same <code>EventTarget</code> with the same parameters the 
-     * duplicate instances are discarded. They do not cause the 
-     * <code>EventListener</code> to be called twice and since they are 
-     * discarded they do not need to be removed with the 
-     * <code>removeEventListener</code> method. 
-     * @param typeThe event type for which the user is registering
-     * @param listenerThe <code>listener</code> parameter takes an interface 
-     *   implemented by the user which contains the methods to be called 
-     *   when the event occurs.
-     * @param useCaptureIf true, <code>useCapture</code> indicates that the 
-     *   user wishes to initiate capture. After initiating capture, all 
-     *   events of the specified type will be dispatched to the registered 
-     *   <code>EventListener</code> before being dispatched to any 
-     *   <code>EventTargets</code> beneath them in the tree. Events which 
-     *   are bubbling upward through the tree will not trigger an 
-     *   <code>EventListener</code> designated to use capture.
-     */
-    public void addEventListener(String type, 
-                                 EventListener listener, 
-                                 boolean useCapture);
-
-    /**
-     * This method allows the removal of event listeners from the event 
-     * target. If an <code>EventListener</code> is removed from an 
-     * <code>EventTarget</code> while it is processing an event, it will not 
-     * be triggered by the current actions. <code>EventListener</code>s can 
-     * never be invoked after being removed.
-     * <br>Calling <code>removeEventListener</code> with arguments which do 
-     * not identify any currently registered <code>EventListener</code> on 
-     * the <code>EventTarget</code> has no effect.
-     * @param typeSpecifies the event type of the <code>EventListener</code> 
-     *   being removed. 
-     * @param listenerThe <code>EventListener</code> parameter indicates the 
-     *   <code>EventListener </code> to be removed. 
-     * @param useCaptureSpecifies whether the <code>EventListener</code> 
-     *   being removed was registered as a capturing listener or not. If a 
-     *   listener was registered twice, one with capture and one without, 
-     *   each must be removed separately. Removal of a capturing listener 
-     *   does not affect a non-capturing version of the same listener, and 
-     *   vice versa. 
-     */
-    public void removeEventListener(String type, 
-                                    EventListener listener, 
-                                    boolean useCapture);
-
-    /**
-     * This method allows the dispatch of events into the implementations 
-     * event model. Events dispatched in this manner will have the same 
-     * capturing and bubbling behavior as events dispatched directly by the 
-     * implementation. The target of the event is the 
-     * <code> EventTarget</code> on which <code>dispatchEvent</code> is 
-     * called. 
-     * @param evtSpecifies the event type, behavior, and contextual 
-     *   information to be used in processing the event.
-     * @return The return value of <code>dispatchEvent</code> indicates 
-     *   whether any of the listeners which handled the event called 
-     *   <code>preventDefault</code>. If <code>preventDefault</code> was 
-     *   called the value is false, else the value is true. 
-     * @exception EventException
-     *   UNSPECIFIED_EVENT_TYPE_ERR: Raised if the <code>Event</code>'s type 
-     *   was not specified by initializing the event before 
-     *   <code>dispatchEvent</code> was called. Specification of the 
-     *   <code>Event</code>'s type as <code>null</code> or an empty string 
-     *   will also trigger this exception.
-     */
-    public boolean dispatchEvent(Event evt)
-                                 throws EventException;
-
-}
diff --git a/libcore/dom/src/test/java/org/w3c/domts/DOMTest.java b/libcore/dom/src/test/java/org/w3c/domts/DOMTest.java
index b39ea67..7dd8f26 100644
--- a/libcore/dom/src/test/java/org/w3c/domts/DOMTest.java
+++ b/libcore/dom/src/test/java/org/w3c/domts/DOMTest.java
@@ -165,8 +165,8 @@
           //
           //   if available use JDK 1.4's File.toURI().toString()
           //
-          Method method = File.class.getMethod("toURI", null);
-          Object uri = method.invoke(tempFile, null);
+          Method method = File.class.getMethod("toURI", (Class<?>) null);
+          Object uri = method.invoke(tempFile, (Class<?>) null);
           return uri.toString();
         }
         catch (NoSuchMethodException ex) {
diff --git a/libcore/dom/src/test/java/org/w3c/domts/LSDocumentBuilderFactory.java b/libcore/dom/src/test/java/org/w3c/domts/LSDocumentBuilderFactory.java
index 7ed0f54..b769602 100644
--- a/libcore/dom/src/test/java/org/w3c/domts/LSDocumentBuilderFactory.java
+++ b/libcore/dom/src/test/java/org/w3c/domts/LSDocumentBuilderFactory.java
@@ -272,8 +272,8 @@
     try {
       Class domImplRegistryClass = Class.forName(
           "org.w3c.dom.bootstrap.DOMImplementationRegistry");
-      Method newInstanceMethod = domImplRegistryClass.getMethod("newInstance", null);
-      Object domRegistry = newInstanceMethod.invoke(null, null);
+      Method newInstanceMethod = domImplRegistryClass.getMethod("newInstance", (Class<?>) null);
+      Object domRegistry = newInstanceMethod.invoke(null, (Class<?>) null);
       Method getDOMImplementationMethod = domImplRegistryClass.getMethod(
           "getDOMImplementation", new Class[] {String.class});
       impl = (DOMImplementation) getDOMImplementationMethod.invoke(domRegistry,
diff --git a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrgetvalue1.java b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrgetvalue1.java
index d2e38ca..f3484da 100644
--- a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrgetvalue1.java
+++ b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrgetvalue1.java
@@ -69,7 +69,7 @@
       attributes = testNode.getAttributes();
       titleAttr = (Attr) attributes.getNamedItem("class");
       value = titleAttr.getValue();
-      assertEquals("attrValue1", "Yα", value);
+      assertEquals("attrValue1", "Y\u03b1", value); // android-changed: GREEK LOWER CASE ALPHA
       }
    /**
     *  Gets URI that identifies the test.
diff --git a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrgetvalue2.java b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrgetvalue2.java
index fd5b211..814b693 100644
--- a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrgetvalue2.java
+++ b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrgetvalue2.java
@@ -89,7 +89,7 @@
       firstChild = titleAttr.getFirstChild();
       retval = titleAttr.insertBefore(alphaRef, firstChild);
       value = titleAttr.getValue();
-      assertEquals("attrValue1", "αYα", value);
+      assertEquals("attrValue1", "\u03b1Y\u03b1", value); // android-changed: GREEK LOWER CASE ALPHA
       }
         
     }
diff --git a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrspecifiedvaluechanged.java b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrspecifiedvaluechanged.java
index c9a2e62..8ba4c57 100644
--- a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrspecifiedvaluechanged.java
+++ b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_attrspecifiedvaluechanged.java
@@ -71,7 +71,7 @@
       doc = (Document) load("hc_staff", true);
       addressList = doc.getElementsByTagName("acronym");
       testNode = addressList.item(2);
-      ((Element) /*Node */testNode).setAttribute("class", "Yα");
+      ((Element) /*Node */testNode).setAttribute("class", "Y\u03b1"); // android-changed: GREEK LOWER CASE ALPHA
       attributes = testNode.getAttributes();
       streetAttr = (Attr) attributes.getNamedItem("class");
       state = streetAttr.getSpecified();
diff --git a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_namednodemapinuseattributeerr.java b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_namednodemapinuseattributeerr.java
index e8d3268..36dc3f8 100644
--- a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_namednodemapinuseattributeerr.java
+++ b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_namednodemapinuseattributeerr.java
@@ -75,7 +75,7 @@
       elementList = doc.getElementsByTagName("acronym");
       firstNode = (Element) elementList.item(0);
       domesticAttr = doc.createAttribute("title");
-      domesticAttr.setValue("Yα");
+      domesticAttr.setValue("Y\u03b1"); // android-changed: GREEK LOWER CASE ALPHA
       setAttr = firstNode.setAttributeNode(domesticAttr);
       elementList = doc.getElementsByTagName("acronym");
       testNode = elementList.item(2);
diff --git a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_textparseintolistofelements.java b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_textparseintolistofelements.java
index 5694a4a..2a10501 100644
--- a/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_textparseintolistofelements.java
+++ b/libcore/dom/src/test/java/org/w3c/domts/level1/core/hc_textparseintolistofelements.java
@@ -72,13 +72,13 @@
       java.util.List result = new java.util.ArrayList();
       
       java.util.List expectedNormal = new java.util.ArrayList();
-      expectedNormal.add("β");
+      expectedNormal.add("\u03b2"); // android-changed: GREEK LOWER CASE BETA
       expectedNormal.add(" Dallas, ");
-      expectedNormal.add("γ");
+      expectedNormal.add("\u03b3"); // android-changed: GREEK LOWER CASE GAMMA
       expectedNormal.add("\n 98554");
       
       java.util.List expectedExpanded = new java.util.ArrayList();
-      expectedExpanded.add("β Dallas, γ\n 98554");
+      expectedExpanded.add("\u03b2 Dallas, \u03b3\n 98554"); // android-changed: GREEK LOWER CASE BETA, GREEK LOWER CASE GAMMA
       
       doc = (Document) load("hc_staff", false);
       elementList = doc.getElementsByTagName("acronym");
diff --git a/libcore/icu/src/main/java/com/ibm/icu4jni/text/NativeDecimalFormat.java b/libcore/icu/src/main/java/com/ibm/icu4jni/text/NativeDecimalFormat.java
index 034491c..d1da72f 100644
--- a/libcore/icu/src/main/java/com/ibm/icu4jni/text/NativeDecimalFormat.java
+++ b/libcore/icu/src/main/java/com/ibm/icu4jni/text/NativeDecimalFormat.java
@@ -32,7 +32,7 @@
 
 public class NativeDecimalFormat {
     /**
-     * Constants corresponding to the native type UNumberFormatSymbol, for getSymbol/setSymbol.
+     * Constants corresponding to the native type UNumberFormatSymbol, for setSymbol.
      */
     private static final int UNUM_DECIMAL_SEPARATOR_SYMBOL = 0;
     private static final int UNUM_GROUPING_SEPARATOR_SYMBOL = 1;
@@ -117,10 +117,19 @@
      */
     private BigDecimal multiplierBigDecimal = null;
 
-    public NativeDecimalFormat(String pattern, Locale locale, DecimalFormatSymbols symbols) {
-        this.addr = openDecimalFormat(locale.toString(), pattern);
-        this.lastPattern = pattern;
-        setDecimalFormatSymbols(symbols);
+    public NativeDecimalFormat(String pattern, DecimalFormatSymbols dfs) {
+        try {
+            this.addr = openDecimalFormatImpl(pattern, dfs.getCurrencySymbol(),
+                    dfs.getDecimalSeparator(), dfs.getDigit(), dfs.getGroupingSeparator(),
+                    dfs.getInfinity(), dfs.getInternationalCurrencySymbol(), dfs.getMinusSign(),
+                    dfs.getMonetaryDecimalSeparator(), dfs.getNaN(), dfs.getPatternSeparator(),
+                    dfs.getPercent(), dfs.getPerMill(), dfs.getZeroDigit());
+            this.lastPattern = pattern;
+        } catch (NullPointerException npe) {
+            throw npe;
+        } catch (RuntimeException re) {
+            throw new IllegalArgumentException("syntax error: " + re.getMessage() + ": " + pattern);
+        }
     }
 
     // Used to implement clone.
@@ -183,32 +192,18 @@
                 obj.getMaximumFractionDigits() == this.getMaximumFractionDigits() &&
                 obj.getMinimumIntegerDigits() == this.getMinimumIntegerDigits() &&
                 obj.getMinimumFractionDigits() == this.getMinimumFractionDigits() &&
-                obj.isGroupingUsed() == this.isGroupingUsed() &&
-                obj.getCurrency() == this.getCurrency();
+                obj.isGroupingUsed() == this.isGroupingUsed();
     }
 
     /**
-     * Copies the DecimalFormatSymbols settings into our native peer.
+     * Copies the DecimalFormatSymbols settings into our native peer in bulk.
      */
     public void setDecimalFormatSymbols(final DecimalFormatSymbols dfs) {
-        setSymbol(this.addr, UNUM_CURRENCY_SYMBOL, dfs.getCurrencySymbol());
-
-        setSymbol(this.addr, UNUM_DECIMAL_SEPARATOR_SYMBOL, dfs.getDecimalSeparator());
-        setSymbol(this.addr, UNUM_DIGIT_SYMBOL, dfs.getDigit());
-
-        char groupingSeparator = dfs.getGroupingSeparator();
-        setSymbol(this.addr, UNUM_GROUPING_SEPARATOR_SYMBOL, groupingSeparator);
-        setSymbol(this.addr, UNUM_MONETARY_GROUPING_SEPARATOR_SYMBOL, groupingSeparator);
-
-        setSymbol(this.addr, UNUM_INFINITY_SYMBOL, dfs.getInfinity());
-        setSymbol(this.addr, UNUM_INTL_CURRENCY_SYMBOL, dfs.getInternationalCurrencySymbol());
-        setSymbol(this.addr, UNUM_MINUS_SIGN_SYMBOL, dfs.getMinusSign());
-        setSymbol(this.addr, UNUM_MONETARY_SEPARATOR_SYMBOL, dfs.getMonetaryDecimalSeparator());
-        setSymbol(this.addr, UNUM_NAN_SYMBOL, dfs.getNaN());
-        setSymbol(this.addr, UNUM_PATTERN_SEPARATOR_SYMBOL, dfs.getPatternSeparator());
-        setSymbol(this.addr, UNUM_PERCENT_SYMBOL, dfs.getPercent());
-        setSymbol(this.addr, UNUM_PERMILL_SYMBOL, dfs.getPerMill());
-        setSymbol(this.addr, UNUM_ZERO_DIGIT_SYMBOL, dfs.getZeroDigit());
+        setDecimalFormatSymbols(this.addr, dfs.getCurrencySymbol(), dfs.getDecimalSeparator(),
+                dfs.getDigit(), dfs.getGroupingSeparator(), dfs.getInfinity(),
+                dfs.getInternationalCurrencySymbol(), dfs.getMinusSign(),
+                dfs.getMonetaryDecimalSeparator(), dfs.getNaN(), dfs.getPatternSeparator(),
+                dfs.getPercent(), dfs.getPerMill(), dfs.getZeroDigit());
     }
 
     private BigDecimal applyMultiplier(BigDecimal valBigDecimal) {
@@ -363,14 +358,6 @@
         return getAttribute(this.addr, UNUM_MIN_INTEGER_DIGITS);
     }
 
-    public Currency getCurrency() {
-        String curr = getSymbol(this.addr, UNUM_INTL_CURRENCY_SYMBOL);
-        if (curr.equals("") || curr.equals("\u00a4\u00a4")) {
-            return null;
-        }
-        return Currency.getInstance(curr);
-    }
-
     public int getGroupingSize() {
         return getAttribute(this.addr, UNUM_GROUPING_SIZE);
     }
@@ -573,17 +560,6 @@
         return null;
     }
 
-    private static int openDecimalFormat(String locale, String pattern) {
-        try {
-            // FIXME: if we're about to override everything, should we just ask for the cheapest locale (presumably the root locale)?
-            return openDecimalFormatImpl(locale, pattern);
-        } catch (NullPointerException npe) {
-            throw npe;
-        } catch (RuntimeException re) {
-            throw new IllegalArgumentException("syntax error: " + re.getMessage() + ": " + pattern);
-        }
-    }
-
     private static void applyPattern(int addr, boolean localized, String pattern) {
         try {
             applyPatternImpl(addr, localized, pattern);
@@ -601,13 +577,17 @@
     private static native String format(int addr, double value, FieldPosition position, String fieldType, StringBuffer attributes);
     private static native String format(int addr, String value, FieldPosition position, String fieldType, StringBuffer attributes, int scale);
     private static native int getAttribute(int addr, int symbol);
-    // FIXME: do we need getSymbol any more? the Java-side object should be the canonical source.
-    private static native String getSymbol(int addr, int symbol);
     private static native String getTextAttribute(int addr, int symbol);
-    private static native int openDecimalFormatImpl(String locale, String pattern);
+    private static native int openDecimalFormatImpl(String pattern, String currencySymbol,
+            char decimalSeparator, char digit, char groupingSeparator, String infinity,
+            String internationalCurrencySymbol, char minusSign, char monetaryDecimalSeparator,
+            String nan, char patternSeparator, char percent, char perMill, char zeroDigit);
     private static native Number parse(int addr, String string, ParsePosition position);
+    private static native void setDecimalFormatSymbols(int addr, String currencySymbol,
+            char decimalSeparator, char digit, char groupingSeparator, String infinity,
+            String internationalCurrencySymbol, char minusSign, char monetaryDecimalSeparator,
+            String nan, char patternSeparator, char percent, char perMill, char zeroDigit);
     private static native void setSymbol(int addr, int symbol, String str);
-    private static native void setSymbol(int addr, int symbol, char ch);
     private static native void setAttribute(int addr, int symbol, int i);
     private static native void setTextAttribute(int addr, int symbol, String str);
     private static native String toPatternImpl(int addr, boolean localized);
diff --git a/libcore/icu/src/main/native/ErrorCode.cpp b/libcore/icu/src/main/native/ErrorCode.cpp
index 94c4239..a9d0691 100644
--- a/libcore/icu/src/main/native/ErrorCode.cpp
+++ b/libcore/icu/src/main/native/ErrorCode.cpp
@@ -34,6 +34,6 @@
     case U_UNSUPPORTED_ERROR:
         return jniThrowException(env, "java/lang/UnsupportedOperationException", message);
     default:
-        return jniThrowException(env, "java/lang/RuntimeException", message);
+        return jniThrowRuntimeException(env, message);
     }
 }
diff --git a/libcore/icu/src/main/native/NativeDecimalFormat.cpp b/libcore/icu/src/main/native/NativeDecimalFormat.cpp
index e974521..413ffdd 100644
--- a/libcore/icu/src/main/native/NativeDecimalFormat.cpp
+++ b/libcore/icu/src/main/native/NativeDecimalFormat.cpp
@@ -25,107 +25,96 @@
 #include "unicode/ustring.h"
 #include "digitlst.h"
 #include "ErrorCode.h"
+#include "ScopedJavaUnicodeString.h"
 #include <stdlib.h>
 #include <string.h>
 
-// FIXME: move to JNIHelp.h
-static void jniThrowNullPointerException(JNIEnv* env) {
-    jniThrowException(env, "java/lang/NullPointerException", NULL);
-}
-
-DecimalFormat* toDecimalFormat(jint addr) {
+static DecimalFormat* toDecimalFormat(jint addr) {
     return reinterpret_cast<DecimalFormat*>(static_cast<uintptr_t>(addr));
 }
 
-static jint openDecimalFormatImpl(JNIEnv* env, jclass clazz, jstring locale, jstring pattern) {
-    if (pattern == NULL) {
-        jniThrowNullPointerException(env);
+static DecimalFormatSymbols* makeDecimalFormatSymbols(JNIEnv* env,
+        jstring currencySymbol0, jchar decimalSeparator, jchar digit,
+        jchar groupingSeparator0, jstring infinity0,
+        jstring internationalCurrencySymbol0, jchar minusSign,
+        jchar monetaryDecimalSeparator, jstring nan0, jchar patternSeparator,
+        jchar percent, jchar perMill, jchar zeroDigit) {
+    ScopedJavaUnicodeString currencySymbol(env, currencySymbol0);
+    ScopedJavaUnicodeString infinity(env, infinity0);
+    ScopedJavaUnicodeString internationalCurrencySymbol(env, internationalCurrencySymbol0);
+    ScopedJavaUnicodeString nan(env, nan0);
+    UnicodeString groupingSeparator(groupingSeparator0);
+
+    DecimalFormatSymbols* result = new DecimalFormatSymbols;
+    result->setSymbol(DecimalFormatSymbols::kCurrencySymbol, currencySymbol.unicodeString());
+    result->setSymbol(DecimalFormatSymbols::kDecimalSeparatorSymbol, UnicodeString(decimalSeparator));
+    result->setSymbol(DecimalFormatSymbols::kDigitSymbol, UnicodeString(digit));
+    result->setSymbol(DecimalFormatSymbols::kGroupingSeparatorSymbol, groupingSeparator);
+    result->setSymbol(DecimalFormatSymbols::kMonetaryGroupingSeparatorSymbol, groupingSeparator);
+    result->setSymbol(DecimalFormatSymbols::kInfinitySymbol, infinity.unicodeString());
+    result->setSymbol(DecimalFormatSymbols::kIntlCurrencySymbol, internationalCurrencySymbol.unicodeString());
+    result->setSymbol(DecimalFormatSymbols::kMinusSignSymbol, UnicodeString(minusSign));
+    result->setSymbol(DecimalFormatSymbols::kMonetarySeparatorSymbol, UnicodeString(monetaryDecimalSeparator));
+    result->setSymbol(DecimalFormatSymbols::kNaNSymbol, nan.unicodeString());
+    result->setSymbol(DecimalFormatSymbols::kPatternSeparatorSymbol, UnicodeString(patternSeparator));
+    result->setSymbol(DecimalFormatSymbols::kPercentSymbol, UnicodeString(percent));
+    result->setSymbol(DecimalFormatSymbols::kPerMillSymbol, UnicodeString(perMill));
+    result->setSymbol(DecimalFormatSymbols::kZeroDigitSymbol, UnicodeString(zeroDigit));
+    return result;
+}
+
+static void setDecimalFormatSymbols(JNIEnv* env, jclass, jint addr,
+        jstring currencySymbol, jchar decimalSeparator, jchar digit,
+        jchar groupingSeparator, jstring infinity,
+        jstring internationalCurrencySymbol, jchar minusSign,
+        jchar monetaryDecimalSeparator, jstring nan, jchar patternSeparator,
+        jchar percent, jchar perMill, jchar zeroDigit) {
+    DecimalFormatSymbols* symbols = makeDecimalFormatSymbols(env,
+            currencySymbol, decimalSeparator, digit, groupingSeparator,
+            infinity, internationalCurrencySymbol, minusSign,
+            monetaryDecimalSeparator, nan, patternSeparator, percent, perMill,
+            zeroDigit);
+    toDecimalFormat(addr)->adoptDecimalFormatSymbols(symbols);
+}
+
+static jint openDecimalFormatImpl(JNIEnv* env, jclass clazz, jstring pattern0,
+        jstring currencySymbol, jchar decimalSeparator, jchar digit,
+        jchar groupingSeparator, jstring infinity,
+        jstring internationalCurrencySymbol, jchar minusSign,
+        jchar monetaryDecimalSeparator, jstring nan, jchar patternSeparator,
+        jchar percent, jchar perMill, jchar zeroDigit) {
+    if (pattern0 == NULL) {
+        jniThrowNullPointerException(env, NULL);
         return 0;
     }
-
-    // prepare the pattern string for the call to unum_open
-    const UChar *pattChars = env->GetStringChars(pattern, NULL);
-    int pattLen = env->GetStringLength(pattern);
-
-    // prepare the locale string for the call to unum_open
-    const char *localeChars = env->GetStringUTFChars(locale, NULL);
-
-    // open a default type number format
     UErrorCode status = U_ZERO_ERROR;
-    UNumberFormat *fmt = unum_open(UNUM_PATTERN_DECIMAL, pattChars, pattLen,
-            localeChars, NULL, &status);
-
-    // release the allocated strings
-    env->ReleaseStringChars(pattern, pattChars);
-    env->ReleaseStringUTFChars(locale, localeChars);
-
+    UParseError parseError;
+    ScopedJavaUnicodeString pattern(env, pattern0);
+    DecimalFormatSymbols* symbols = makeDecimalFormatSymbols(env,
+            currencySymbol, decimalSeparator, digit, groupingSeparator,
+            infinity, internationalCurrencySymbol, minusSign,
+            monetaryDecimalSeparator, nan, patternSeparator, percent, perMill,
+            zeroDigit);
+    DecimalFormat* fmt = new DecimalFormat(pattern.unicodeString(), symbols, parseError, status);
+    if (fmt == NULL) {
+        delete symbols;
+    }
     icu4jni_error(env, status);
     return static_cast<jint>(reinterpret_cast<uintptr_t>(fmt));
 }
 
 static void closeDecimalFormatImpl(JNIEnv *env, jclass clazz, jint addr) {
-
-    // get the pointer to the number format
-    UNumberFormat *fmt = (UNumberFormat *)(int)addr;
-
-    // close this number format
-    unum_close(fmt);
+    delete toDecimalFormat(addr);
 }
 
-static void setSymbol(JNIEnv *env, uintptr_t addr, jint symbol,
-        const UChar* chars, int32_t charCount) {
-    UErrorCode status = U_ZERO_ERROR;
-    UNumberFormat* fmt = reinterpret_cast<UNumberFormat*>(static_cast<uintptr_t>(addr));
-    unum_setSymbol(fmt, static_cast<UNumberFormatSymbol>(symbol),
-            chars, charCount, &status);
-    icu4jni_error(env, status);
-}
-
-static void setSymbol_String(JNIEnv *env, jclass, jint addr, jint symbol, jstring s) {
+static void setSymbol(JNIEnv* env, jclass, jint addr, jint symbol, jstring s) {
     const UChar* chars = env->GetStringChars(s, NULL);
     const int32_t charCount = env->GetStringLength(s);
-    setSymbol(env, addr, symbol, chars, charCount);
-    env->ReleaseStringChars(s, chars);
-}
-
-static void setSymbol_char(JNIEnv *env, jclass, jint addr, jint symbol, jchar ch) {
-    setSymbol(env, addr, symbol, &ch, 1);
-}
-
-static jstring getSymbol(JNIEnv *env, jclass clazz, jint addr, jint symbol) {
-
-    uint32_t resultlength, reslenneeded;
-
-    // the errorcode returned by unum_getSymbol
     UErrorCode status = U_ZERO_ERROR;
-
-    // get the pointer to the number format
-    UNumberFormat *fmt = (UNumberFormat *)(int)addr;
-
-    UChar* result = NULL;
-    resultlength=0;
-
-    // find out how long the result will be
-    reslenneeded=unum_getSymbol(fmt, (UNumberFormatSymbol) symbol, result,
-            resultlength, &status);
-
-    result = NULL;
-    if(status==U_BUFFER_OVERFLOW_ERROR) {
-        status=U_ZERO_ERROR;
-        resultlength=reslenneeded+1;
-        result=(UChar*)malloc(sizeof(UChar) * resultlength);
-        reslenneeded=unum_getSymbol(fmt, (UNumberFormatSymbol) symbol, result,
-                resultlength, &status);
-    }
-    if (icu4jni_error(env, status) != FALSE) {
-        return NULL;
-    }
-
-    jstring res = env->NewString(result, reslenneeded);
-
-    free(result);
-
-    return res;
+    UNumberFormat* fmt = reinterpret_cast<UNumberFormat*>(static_cast<uintptr_t>(addr));
+    unum_setSymbol(fmt, static_cast<UNumberFormatSymbol>(symbol), chars, charCount, &status);
+    icu4jni_error(env, status);
+    env->ReleaseStringChars(s, chars);
 }
 
 static void setAttribute(JNIEnv *env, jclass clazz, jint addr, jint symbol,
@@ -203,17 +192,19 @@
     return res;
 }
 
-static void applyPatternImpl(JNIEnv *env, jclass clazz, jint addr, jboolean localized, jstring pattern) {
-    if (pattern == NULL) {
-        jniThrowNullPointerException(env);
+static void applyPatternImpl(JNIEnv *env, jclass clazz, jint addr, jboolean localized, jstring pattern0) {
+    if (pattern0 == NULL) {
+        jniThrowNullPointerException(env, NULL);
         return;
     }
-    UNumberFormat* fmt = reinterpret_cast<UNumberFormat*>(static_cast<uintptr_t>(addr));
-    const UChar* chars = env->GetStringChars(pattern, NULL);
-    jsize charCount = env->GetStringLength(pattern);
+    ScopedJavaUnicodeString pattern(env, pattern0);
+    DecimalFormat* fmt = toDecimalFormat(addr);
     UErrorCode status = U_ZERO_ERROR;
-    unum_applyPattern(fmt, localized, chars, charCount, NULL, &status);
-    env->ReleaseStringChars(pattern, chars);
+    if (localized) {
+        fmt->applyLocalizedPattern(pattern.unicodeString(), status);
+    } else {
+        fmt->applyPattern(pattern.unicodeString(), status);
+    }
     icu4jni_error(env, status);
 }
 
@@ -589,31 +580,21 @@
 
 static JNINativeMethod gMethods[] = {
     /* name, signature, funcPtr */
-    {"openDecimalFormatImpl", "(Ljava/lang/String;Ljava/lang/String;)I",
-            (void*) openDecimalFormatImpl},
-    {"closeDecimalFormatImpl", "(I)V", (void*) closeDecimalFormatImpl},
-    {"setSymbol", "(IIC)V", (void*) setSymbol_char},
-    {"setSymbol", "(IILjava/lang/String;)V", (void*) setSymbol_String},
-    {"getSymbol", "(II)Ljava/lang/String;", (void*) getSymbol},
-    {"setAttribute", "(III)V", (void*) setAttribute},
-    {"getAttribute", "(II)I", (void*) getAttribute},
-    {"setTextAttribute", "(IILjava/lang/String;)V", (void*) setTextAttribute},
-    {"getTextAttribute", "(II)Ljava/lang/String;", (void*) getTextAttribute},
     {"applyPatternImpl", "(IZLjava/lang/String;)V", (void*) applyPatternImpl},
+    {"cloneDecimalFormatImpl", "(I)I", (void*) cloneDecimalFormatImpl},
+    {"closeDecimalFormatImpl", "(I)V", (void*) closeDecimalFormatImpl},
+    {"format", "(IDLjava/text/FieldPosition;Ljava/lang/String;Ljava/lang/StringBuffer;)Ljava/lang/String;", (void*) formatDouble},
+    {"format", "(IJLjava/text/FieldPosition;Ljava/lang/String;Ljava/lang/StringBuffer;)Ljava/lang/String;", (void*) formatLong},
+    {"format", "(ILjava/lang/String;Ljava/text/FieldPosition;Ljava/lang/String;Ljava/lang/StringBuffer;I)Ljava/lang/String;", (void*) formatDigitList},
+    {"getAttribute", "(II)I", (void*) getAttribute},
+    {"getTextAttribute", "(II)Ljava/lang/String;", (void*) getTextAttribute},
+    {"openDecimalFormatImpl", "(Ljava/lang/String;Ljava/lang/String;CCCLjava/lang/String;Ljava/lang/String;CCLjava/lang/String;CCCC)I", (void*) openDecimalFormatImpl},
+    {"parse", "(ILjava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;", (void*) parse},
+    {"setAttribute", "(III)V", (void*) setAttribute},
+    {"setDecimalFormatSymbols", "(ILjava/lang/String;CCCLjava/lang/String;Ljava/lang/String;CCLjava/lang/String;CCCC)V", (void*) setDecimalFormatSymbols},
+    {"setSymbol", "(IILjava/lang/String;)V", (void*) setSymbol},
+    {"setTextAttribute", "(IILjava/lang/String;)V", (void*) setTextAttribute},
     {"toPatternImpl", "(IZ)Ljava/lang/String;", (void*) toPatternImpl},
-    {"format",
-            "(IJLjava/text/FieldPosition;Ljava/lang/String;Ljava/lang/StringBuffer;)Ljava/lang/String;",
-            (void*) formatLong},
-    {"format",
-            "(IDLjava/text/FieldPosition;Ljava/lang/String;Ljava/lang/StringBuffer;)Ljava/lang/String;",
-            (void*) formatDouble},
-    {"format",
-            "(ILjava/lang/String;Ljava/text/FieldPosition;Ljava/lang/String;Ljava/lang/StringBuffer;I)Ljava/lang/String;",
-            (void*) formatDigitList},
-    {"parse",
-            "(ILjava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;",
-            (void*) parse},
-    {"cloneDecimalFormatImpl", "(I)I", (void*) cloneDecimalFormatImpl}
 };
 int register_com_ibm_icu4jni_text_NativeDecimalFormat(JNIEnv* env) {
     return jniRegisterNativeMethods(env,
diff --git a/libcore/icu/src/main/native/NativeRegEx.cpp b/libcore/icu/src/main/native/NativeRegEx.cpp
index 387d7e4..7b3cafc 100644
--- a/libcore/icu/src/main/native/NativeRegEx.cpp
+++ b/libcore/icu/src/main/native/NativeRegEx.cpp
@@ -54,9 +54,8 @@
     env->Throw(except);
 }
 
-static void throwRuntimeException(JNIEnv* env, UErrorCode status)
-{
-    jniThrowException(env, "java/lang/RuntimeException", u_errorName(status));
+static void throwRuntimeException(JNIEnv* env, UErrorCode status) {
+    jniThrowRuntimeException(env, u_errorName(status));
 }
 
 static void _close(JNIEnv* env, jclass clazz, RegExData* data)
diff --git a/libcore/icu/src/main/native/ScopedJavaUnicodeString.h b/libcore/icu/src/main/native/ScopedJavaUnicodeString.h
new file mode 100644
index 0000000..3486aac
--- /dev/null
+++ b/libcore/icu/src/main/native/ScopedJavaUnicodeString.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SCOPED_JAVA_UNICODE_STRING_H_included
+#define SCOPED_JAVA_UNICODE_STRING_H_included
+
+#include "JNIHelp.h"
+
+// A smart pointer that provides access to an ICU UnicodeString given a JNI
+// jstring. We give ICU a direct pointer to the characters on the Java heap.
+// It's clever enough to copy-on-write if necessary, but we only provide
+// const UnicodeString access anyway because attempted write access seems
+// likely to be an error.
+class ScopedJavaUnicodeString {
+public:
+    ScopedJavaUnicodeString(JNIEnv* env, jstring s) : mEnv(env), mString(s) {
+        mChars = env->GetStringChars(mString, NULL);
+        const int32_t charCount = env->GetStringLength(mString);
+        mUnicodeString.setTo(false, mChars, charCount);
+    }
+
+    ~ScopedJavaUnicodeString() {
+        mEnv->ReleaseStringChars(mString, mChars);
+    }
+
+    const UnicodeString& unicodeString() {
+        return mUnicodeString;
+    }
+
+private:
+    JNIEnv* mEnv;
+    jstring mString;
+    const UChar* mChars;
+    UnicodeString mUnicodeString;
+};
+
+#endif  // SCOPED_JAVA_UNICODE_STRING_H_included
diff --git a/libcore/icu/src/main/native/UCharacter.cpp b/libcore/icu/src/main/native/UCharacter.cpp
index c13b6d3..3fd8151 100644
--- a/libcore/icu/src/main/native/UCharacter.cpp
+++ b/libcore/icu/src/main/native/UCharacter.cpp
@@ -138,7 +138,7 @@
 
 static int forNameImpl(JNIEnv* env, jclass, jstring blockName) {
     if (blockName == NULL) {
-        jniThrowException(env, "java/lang/NullPointerException", NULL);
+        jniThrowNullPointerException(env, NULL);
         return -1;
     }
     const char* bName = env->GetStringUTFChars(blockName, NULL);
diff --git a/libcore/luni-kernel/src/main/native/java_lang_System.cpp b/libcore/luni-kernel/src/main/native/java_lang_System.cpp
index d02481c..52150d3 100644
--- a/libcore/luni-kernel/src/main/native/java_lang_System.cpp
+++ b/libcore/luni-kernel/src/main/native/java_lang_System.cpp
@@ -38,7 +38,7 @@
         }
         env->ReleaseStringUTFChars(nameStr, name);
     } else {
-        jniThrowException(env, "java/lang/NullPointerException", NULL);
+        jniThrowNullPointerException(env, NULL);
     }
 
     return valueStr;
diff --git a/libcore/luni/src/main/java/java/io/EmulatedFields.java b/libcore/luni/src/main/java/java/io/EmulatedFields.java
index a947a52..f6dbdfc 100644
--- a/libcore/luni/src/main/java/java/io/EmulatedFields.java
+++ b/libcore/luni/src/main/java/java/io/EmulatedFields.java
@@ -119,7 +119,7 @@
     public boolean defaulted(String name) throws IllegalArgumentException {
         ObjectSlot slot = findSlot(name, null);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no field '" + name + "'");
         }
         return slot.defaulted;
     }
@@ -207,7 +207,7 @@
         ObjectSlot slot = findSlot(name, Byte.TYPE);
         // if not initialized yet, we give the default value
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no byte field '" + name + "'");
         }
         return slot.defaulted ? defaultValue : ((Byte) slot.fieldValue)
                 .byteValue();
@@ -233,7 +233,7 @@
         ObjectSlot slot = findSlot(name, Character.TYPE);
         // if not initialized yet, we give the default value
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no char field '" + name + "'");
         }
         return slot.defaulted ? defaultValue : ((Character) slot.fieldValue)
                 .charValue();
@@ -259,7 +259,7 @@
         ObjectSlot slot = findSlot(name, Double.TYPE);
         // if not initialized yet, we give the default value
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no double field '" + name + "'");
         }
         return slot.defaulted ? defaultValue : ((Double) slot.fieldValue)
                 .doubleValue();
@@ -285,7 +285,7 @@
         ObjectSlot slot = findSlot(name, Float.TYPE);
         // if not initialized yet, we give the default value
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no float field '" + name + "'");
         }
         return slot.defaulted ? defaultValue : ((Float) slot.fieldValue)
                 .floatValue();
@@ -311,7 +311,7 @@
         ObjectSlot slot = findSlot(name, Integer.TYPE);
         // if not initialized yet, we give the default value
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no int field '" + name + "'");
         }
         return slot.defaulted ? defaultValue : ((Integer) slot.fieldValue)
                 .intValue();
@@ -337,7 +337,7 @@
         ObjectSlot slot = findSlot(name, Long.TYPE);
         // if not initialized yet, we give the default value
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no long field '" + name + "'");
         }
         return slot.defaulted ? defaultValue : ((Long) slot.fieldValue)
                 .longValue();
@@ -363,7 +363,7 @@
         ObjectSlot slot = findSlot(name, null);
         // if not initialized yet, we give the default value
         if (slot == null || slot.field.getType().isPrimitive()) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no Object field '" + name + "'");
         }
         return slot.defaulted ? defaultValue : slot.fieldValue;
     }
@@ -388,7 +388,7 @@
         ObjectSlot slot = findSlot(name, Short.TYPE);
         // if not initialized yet, we give the default value
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no short field '" + name + "'");
         }
         return slot.defaulted ? defaultValue : ((Short) slot.fieldValue)
                 .shortValue();
@@ -414,7 +414,7 @@
         ObjectSlot slot = findSlot(name, Boolean.TYPE);
         // if not initialized yet, we give the default value
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no boolean field '" + name + "'");
         }
         return slot.defaulted ? defaultValue : ((Boolean) slot.fieldValue)
                 .booleanValue();
@@ -435,7 +435,7 @@
     public void put(String name, byte value) throws IllegalArgumentException {
         ObjectSlot slot = findSlot(name, Byte.TYPE);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no byte field '" + name + "'");
         }
         slot.fieldValue = Byte.valueOf(value);
         slot.defaulted = false; // No longer default value
@@ -456,7 +456,7 @@
     public void put(String name, char value) throws IllegalArgumentException {
         ObjectSlot slot = findSlot(name, Character.TYPE);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no char field '" + name + "'");
         }
         slot.fieldValue = Character.valueOf(value);
         slot.defaulted = false; // No longer default value
@@ -477,7 +477,7 @@
     public void put(String name, double value) throws IllegalArgumentException {
         ObjectSlot slot = findSlot(name, Double.TYPE);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no double field '" + name + "'");
         }
         slot.fieldValue = Double.valueOf(value);
         slot.defaulted = false; // No longer default value
@@ -498,7 +498,7 @@
     public void put(String name, float value) throws IllegalArgumentException {
         ObjectSlot slot = findSlot(name, Float.TYPE);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no float field '" + name + "'");
         }
         slot.fieldValue = Float.valueOf(value);
         slot.defaulted = false; // No longer default value
@@ -519,7 +519,7 @@
     public void put(String name, int value) throws IllegalArgumentException {
         ObjectSlot slot = findSlot(name, Integer.TYPE);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no integer field '" + name + "'");
         }
         slot.fieldValue = Integer.valueOf(value);
         slot.defaulted = false; // No longer default value
@@ -540,7 +540,7 @@
     public void put(String name, long value) throws IllegalArgumentException {
         ObjectSlot slot = findSlot(name, Long.TYPE);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no long field '" + name + "'");
         }
         slot.fieldValue = Long.valueOf(value);
         slot.defaulted = false; // No longer default value
@@ -565,7 +565,7 @@
         }
         ObjectSlot slot = findSlot(name, valueClass);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no Object field '" + name + "'");
         }
         slot.fieldValue = value;
         slot.defaulted = false; // No longer default value
@@ -586,7 +586,7 @@
     public void put(String name, short value) throws IllegalArgumentException {
         ObjectSlot slot = findSlot(name, Short.TYPE);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no short field '" + name + "'");
         }
         slot.fieldValue = Short.valueOf(value);
         slot.defaulted = false; // No longer default value
@@ -607,7 +607,7 @@
     public void put(String name, boolean value) throws IllegalArgumentException {
         ObjectSlot slot = findSlot(name, Boolean.TYPE);
         if (slot == null) {
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("no boolean field '" + name + "'");
         }
         slot.fieldValue = Boolean.valueOf(value);
         slot.defaulted = false; // No longer default value
diff --git a/libcore/luni/src/main/java/java/net/AddressCache.java b/libcore/luni/src/main/java/java/net/AddressCache.java
index 8388b48..c0d8d97 100644
--- a/libcore/luni/src/main/java/java/net/AddressCache.java
+++ b/libcore/luni/src/main/java/java/net/AddressCache.java
@@ -47,7 +47,7 @@
     // The actual cache.
     private final Map<String, AddressCacheEntry> map;
     
-    class AddressCacheEntry {
+    static class AddressCacheEntry {
         // The addresses. May be the empty array for a negative cache entry.
         InetAddress[] addresses;
         
diff --git a/libcore/luni/src/main/java/java/util/Currency.java b/libcore/luni/src/main/java/java/util/Currency.java
index ed9868f..6aa295a 100644
--- a/libcore/luni/src/main/java/java/util/Currency.java
+++ b/libcore/luni/src/main/java/java/util/Currency.java
@@ -174,7 +174,9 @@
             return localeData.currencySymbol;
         }
 
-        return Resources.getCurrencySymbolNative(locale.toString(), currencyCode);
+        // Try ICU, and fall back to the currency code if ICU has nothing.
+        String symbol = Resources.getCurrencySymbolNative(locale.toString(), currencyCode);
+        return symbol != null ? symbol : currencyCode;
         // END android-changed
     }
 
diff --git a/libcore/luni/src/main/native/java_net_InetAddress.cpp b/libcore/luni/src/main/native/java_net_InetAddress.cpp
index 63053a8..04c18af 100644
--- a/libcore/luni/src/main/native/java_net_InetAddress.cpp
+++ b/libcore/luni/src/main/native/java_net_InetAddress.cpp
@@ -143,8 +143,7 @@
         }
     } else if (result == EAI_SYSTEM && errno == EACCES) {
         /* No permission to use network */
-        jniThrowException(
-            env, "java/lang/SecurityException",
+        jniThrowException(env, "java/lang/SecurityException",
             "Permission denied (maybe missing INTERNET permission)");
     } else {
         jniThrowException(env, "java/net/UnknownHostException",
@@ -160,7 +159,7 @@
 
 jobjectArray InetAddress_getaddrinfo(JNIEnv* env, jobject obj, jstring javaName) {
     if (javaName == NULL) {
-        jniThrowException(env, "java/lang/NullPointerException", NULL);
+        jniThrowNullPointerException(env, NULL);
         return NULL;
     }
     const char* name = env->GetStringUTFChars(javaName, NULL);
@@ -182,7 +181,7 @@
                                          jbyteArray javaAddress)
 {
     if (javaAddress == NULL) {
-        jniThrowException(env, "java/lang/NullPointerException", NULL);
+        jniThrowNullPointerException(env, NULL);
         return NULL;
     }
 
diff --git a/libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.cpp b/libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.cpp
index 07eb381..12c3dd9 100644
--- a/libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.cpp
+++ b/libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.cpp
@@ -227,11 +227,6 @@
     jniThrowExceptionWithErrno(env, "java/net/SocketTimeoutException", error);
 }
 
-// TODO(enh): move to JNIHelp.h
-static void throwNullPointerException(JNIEnv *env) {
-    jniThrowException(env, "java/lang/NullPointerException", NULL);
-}
-
 // Used by functions that shouldn't throw SocketException. (These functions
 // aren't meant to see bad addresses, so seeing one really does imply an
 // internal error.)
@@ -377,7 +372,7 @@
 static bool byteArrayToSocketAddress(JNIEnv *env,
         jbyteArray addressBytes, int port, sockaddr_storage *sockaddress) {
     if (addressBytes == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return false;
     }
 
@@ -412,7 +407,7 @@
         int port, sockaddr_storage *sockaddress) {
     // Get the byte array that stores the IP address bytes in the InetAddress.
     if (inetaddress == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return false;
     }
     jbyteArray addressBytes =
@@ -432,7 +427,7 @@
 static jstring osNetworkSystem_byteArrayToIpString(JNIEnv* env, jclass,
         jbyteArray byteArray) {
     if (byteArray == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return NULL;
     }
     sockaddr_storage ss;
@@ -486,7 +481,7 @@
 static jbyteArray osNetworkSystem_ipStringToByteArray(JNIEnv* env, jclass,
         jstring javaString) {
     if (javaString == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return NULL;
     }
 
@@ -1442,7 +1437,7 @@
 static int createSocketFileDescriptor(JNIEnv* env, jobject fileDescriptor,
                                       int type) {
     if (fileDescriptor == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         errno = EBADF;
         return -1;
     }
@@ -1843,7 +1838,7 @@
     // LOGD("ENTER acceptSocketImpl");
 
     if (newSocket == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return;
     }
 
diff --git a/libcore/luni/src/test/java/java/util/AllTests.java b/libcore/luni/src/test/java/java/util/AllTests.java
index fdeb03a..774d48b 100644
--- a/libcore/luni/src/test/java/java/util/AllTests.java
+++ b/libcore/luni/src/test/java/java/util/AllTests.java
@@ -22,8 +22,10 @@
 public class AllTests {
     public static final Test suite() {
         TestSuite suite = tests.TestSuiteFactory.createTestSuite();
+        suite.addTestSuite(java.util.CurrencyTest.class);
         suite.addTestSuite(java.util.DateTest.class);
         suite.addTestSuite(java.util.FormatterTest.class);
+        suite.addTestSuite(java.util.TimeZoneTest.class);
         return suite;
     }
 }
diff --git a/libcore/luni/src/test/java/java/util/CurrencyTest.java b/libcore/luni/src/test/java/java/util/CurrencyTest.java
new file mode 100644
index 0000000..16111d5
--- /dev/null
+++ b/libcore/luni/src/test/java/java/util/CurrencyTest.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package java.util;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+public class CurrencyTest extends junit.framework.TestCase {
+    // Regression test to ensure that Currency.getSymbol(Locale) returns the
+    // currency code if ICU doesn't have a localization of the symbol. The
+    // harmony Currency tests don't test this, and their DecimalFormat tests
+    // only test it as a side-effect, and in a way that only detected my
+    // specific mistake of returning null (returning "stinky" would have
+    // passed).
+    public void test_getSymbol_fallback() throws Exception {
+        // This assumes that AED never becomes a currency important enough to
+        // Canada that Canadians give it a localized (to Canada) symbol.
+        assertEquals("AED", Currency.getInstance("AED").getSymbol(Locale.CANADA));
+    }
+}
diff --git a/libcore/luni/src/test/java/java/util/FormatterTest.java b/libcore/luni/src/test/java/java/util/FormatterTest.java
index 2adbbb4..1722e67 100644
--- a/libcore/luni/src/test/java/java/util/FormatterTest.java
+++ b/libcore/luni/src/test/java/java/util/FormatterTest.java
@@ -31,14 +31,14 @@
     // Creating a NumberFormat is expensive, so we like to reuse them, but we need to be careful
     // because they're mutable.
     public void test_NumberFormat_reuse() throws Exception {
-        assertEquals("7.000000 7", String.format("%.6f %d", 7, 7));
+        assertEquals("7.000000 7", String.format("%.6f %d", 7.0, 7));
     }
 
     public void test_formatNull() throws Exception {
         // We fast-path %s and %d (with no configuration) but need to make sure we handle the
         // special case of the null argument...
-        assertEquals("null", String.format(Locale.US, "%s", null));
-        assertEquals("null", String.format(Locale.US, "%d", null));
+        assertEquals("null", String.format(Locale.US, "%s", (String) null));
+        assertEquals("null", String.format(Locale.US, "%d", (Integer) null));
         // ...without screwing up conversions that don't take an argument.
         assertEquals("%", String.format(Locale.US, "%%"));
     }
diff --git a/libcore/luni/src/test/java/java/util/TimeZoneTest.java b/libcore/luni/src/test/java/java/util/TimeZoneTest.java
new file mode 100644
index 0000000..ec4879f
--- /dev/null
+++ b/libcore/luni/src/test/java/java/util/TimeZoneTest.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package java.util;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+public class TimeZoneTest extends junit.framework.TestCase {
+    // http://code.google.com/p/android/issues/detail?id=877
+    public void test_useDaylightTime() {
+        TimeZone asiaTaipei = TimeZone.getTimeZone("Asia/Taipei");
+        assertFalse("Taiwan doesn't use DST", asiaTaipei.useDaylightTime());
+    }
+}
diff --git a/libcore/luni/src/test/java/tests/api/java/util/CalendarTest.java b/libcore/luni/src/test/java/tests/api/java/util/CalendarTest.java
index cc0f91a..4ffe2c6 100644
--- a/libcore/luni/src/test/java/tests/api/java/util/CalendarTest.java
+++ b/libcore/luni/src/test/java/tests/api/java/util/CalendarTest.java
@@ -983,11 +983,12 @@
             // locale dependent test, bug 1943269
             return;
         }
+        Locale.setDefault(Locale.US);
         Calendar cal = Calendar.getInstance();
-        assertTrue(cal.getMinimalDaysInFirstWeek()==1);
+        assertEquals(1, cal.getMinimalDaysInFirstWeek());
         Locale.setDefault(Locale.FRANCE);
         cal = Calendar.getInstance();
-        assertTrue(cal.getMinimalDaysInFirstWeek()==4);
+        assertEquals(4, cal.getMinimalDaysInFirstWeek());
         Locale.setDefault(Locale.US);
     }
 
diff --git a/libcore/luni/src/test/java/tests/api/java/util/FormatterTest.java b/libcore/luni/src/test/java/tests/api/java/util/FormatterTest.java
index fb03a34..7709b88 100644
--- a/libcore/luni/src/test/java/tests/api/java/util/FormatterTest.java
+++ b/libcore/luni/src/test/java/tests/api/java/util/FormatterTest.java
@@ -2101,25 +2101,25 @@
         china.set(Calendar.MILLISECOND, 609);
 
         final Object[][] lowerCaseGermanTriple = {
-                {0L,                        'a', "Do"},  //$NON-NLS-2$
-                {Long.MAX_VALUE,            'a', "So"},  //$NON-NLS-2$
-                {-1000L,                    'a', "Do"},  //$NON-NLS-2$
-                {new Date(1147327147578L),  'a', "Do"},  //$NON-NLS-2$
-                {paris,                     'a', "Mo"},  //$NON-NLS-2$
-                {china,                     'a', "Mo"},  //$NON-NLS-2$
+                {0L,                        'a', "Do."},  //$NON-NLS-2$
+                {Long.MAX_VALUE,            'a', "So."},  //$NON-NLS-2$
+                {-1000L,                    'a', "Do."},  //$NON-NLS-2$
+                {new Date(1147327147578L),  'a', "Do."},  //$NON-NLS-2$
+                {paris,                     'a', "Mo."},  //$NON-NLS-2$
+                {china,                     'a', "Mo."},  //$NON-NLS-2$
                 {0L,                        'b', "Jan"},  //$NON-NLS-2$
                 {Long.MAX_VALUE,            'b', "Aug"},  //$NON-NLS-2$
                 {-1000L,                    'b', "Jan"},  //$NON-NLS-2$
                 {new Date(1147327147578L),  'b', "Mai"},  //$NON-NLS-2$
                 {paris,                     'b', "Mai"},  //$NON-NLS-2$
                 {china,                     'b', "Mai"},  //$NON-NLS-2$
-                {0L,                        'c', "Do Jan 01 08:00:00 GMT+08:00 1970"},  //$NON-NLS-2$
-                // {Long.MAX_VALUE,            'c', "So Aug 17 15:12:55 GMT+08:00 292278994"},  //$NON-NLS-2$
-                {Long.MAX_VALUE,            'c', "So Aug 17 15:18:47 GMT+08:00 292278994"},  //$NON-NLS-2$
-                {-1000L,                    'c', "Do Jan 01 07:59:59 GMT+08:00 1970"},  //$NON-NLS-2$
-                {new Date(1147327147578L),  'c', "Do Mai 11 13:59:07 GMT+08:00 2006"},  //$NON-NLS-2$
-                {paris,                     'c', "Mo Mai 08 12:00:00 MESZ 2006"},  //$NON-NLS-2$
-                {china,                     'c', "Mo Mai 08 12:00:00 GMT-08:00 2006"},  //$NON-NLS-2$
+                {0L,                        'c', "Do. Jan 01 08:00:00 GMT+08:00 1970"},  //$NON-NLS-2$
+                // {Long.MAX_VALUE,            'c', "So. Aug 17 15:12:55 GMT+08:00 292278994"},  //$NON-NLS-2$
+                {Long.MAX_VALUE,            'c', "So. Aug 17 15:18:47 GMT+08:00 292278994"},  //$NON-NLS-2$
+                {-1000L,                    'c', "Do. Jan 01 07:59:59 GMT+08:00 1970"},  //$NON-NLS-2$
+                {new Date(1147327147578L),  'c', "Do. Mai 11 13:59:07 GMT+08:00 2006"},  //$NON-NLS-2$
+                {paris,                     'c', "Mo. Mai 08 12:00:00 MESZ 2006"},  //$NON-NLS-2$
+                {china,                     'c', "Mo. Mai 08 12:00:00 GMT-08:00 2006"},  //$NON-NLS-2$
                 {0L,                        'd', "01"},  //$NON-NLS-2$
                 {Long.MAX_VALUE,            'd', "17"},  //$NON-NLS-2$
                 {-1000L,                    'd', "01"},  //$NON-NLS-2$
@@ -2209,13 +2209,13 @@
                 {new Date(1147327147578L),  'b', "mai"}, //$NON-NLS-2$
                 {paris,                     'b', "mai"}, //$NON-NLS-2$
                 {china,                     'b', "mai"}, //$NON-NLS-2$
-                {0L,                        'c', "jeu. janv. 01 08:00:00 HMG+08:00 1970"}, //$NON-NLS-2$
-                // {Long.MAX_VALUE,            'c', "dim. ao\u00fbt 17 15:12:55 HMG+08:00 292278994"}, //$NON-NLS-2$
-                {Long.MAX_VALUE,            'c', "dim. ao\u00fbt 17 15:18:47 HMG+08:00 292278994"}, //$NON-NLS-2$
-                {-1000L,                    'c', "jeu. janv. 01 07:59:59 HMG+08:00 1970"}, //$NON-NLS-2$
-                {new Date(1147327147578L),  'c', "jeu. mai 11 13:59:07 HMG+08:00 2006"}, //$NON-NLS-2$
+                {0L,                        'c', "jeu. janv. 01 08:00:00 UTC+08:00 1970"}, //$NON-NLS-2$
+                // {Long.MAX_VALUE,            'c', "dim. ao\u00fbt 17 15:12:55 UTC+08:00 292278994"}, //$NON-NLS-2$
+                {Long.MAX_VALUE,            'c', "dim. ao\u00fbt 17 15:18:47 UTC+08:00 292278994"}, //$NON-NLS-2$
+                {-1000L,                    'c', "jeu. janv. 01 07:59:59 UTC+08:00 1970"}, //$NON-NLS-2$
+                {new Date(1147327147578L),  'c', "jeu. mai 11 13:59:07 UTC+08:00 2006"}, //$NON-NLS-2$
                 {paris,                     'c', "lun. mai 08 12:00:00 HAEC 2006"}, //$NON-NLS-2$
-                {china,                     'c', "lun. mai 08 12:00:00 HMG-08:00 2006"}, //$NON-NLS-2$
+                {china,                     'c', "lun. mai 08 12:00:00 UTC-08:00 2006"}, //$NON-NLS-2$
                 {0L,                        'd', "01"}, //$NON-NLS-2$
                 {Long.MAX_VALUE,            'd', "17"}, //$NON-NLS-2$
                 {-1000L,                    'd', "01"}, //$NON-NLS-2$
@@ -2401,7 +2401,7 @@
             f = new Formatter(Locale.GERMAN);
             f.format(formatSpecifier, lowerCaseGermanTriple[i][input]);
             assertEquals("Format pattern: " + formatSpecifier //$NON-NLS-2$
-                            + " Argument: " + lowerCaseGermanTriple[i][pattern], //$NON-NLS-2$
+                            + " Argument: " + lowerCaseGermanTriple[i][input], //$NON-NLS-2$
                             lowerCaseGermanTriple[i][output], f.toString());
 
             f = new Formatter(Locale.GERMAN);
@@ -2638,12 +2638,12 @@
                 {new Date(1147327147578L),  'Y', "2006"}, //$NON-NLS-2$
                 {paris,                     'Y', "2006"}, //$NON-NLS-2$
                 {china,                     'Y', "2006"}, //$NON-NLS-2$
-                {0L,                        'Z', "HMG+08:00"}, //$NON-NLS-2$
-                {Long.MAX_VALUE,            'Z', "HMG+08:00"}, //$NON-NLS-2$
-                {-1000L,                    'Z', "HMG+08:00"}, //$NON-NLS-2$
-                {new Date(1147327147578L),  'Z', "HMG+08:00"}, //$NON-NLS-2$
+                {0L,                        'Z', "UTC+08:00"}, //$NON-NLS-2$
+                {Long.MAX_VALUE,            'Z', "UTC+08:00"}, //$NON-NLS-2$
+                {-1000L,                    'Z', "UTC+08:00"}, //$NON-NLS-2$
+                {new Date(1147327147578L),  'Z', "UTC+08:00"}, //$NON-NLS-2$
                 {paris,                     'Z', "HAEC"}, //$NON-NLS-2$
-                {china,                     'Z', "HMG-08:00"}, //$NON-NLS-2$
+                {china,                     'Z', "UTC-08:00"}, //$NON-NLS-2$
                 
         };
 
diff --git a/libcore/luni/src/test/java/tests/api/java/util/TimeZoneTest.java b/libcore/luni/src/test/java/tests/api/java/util/TimeZoneTest.java
index 9b1d395..aacf6ce 100644
--- a/libcore/luni/src/test/java/tests/api/java/util/TimeZoneTest.java
+++ b/libcore/luni/src/test/java/tests/api/java/util/TimeZoneTest.java
@@ -315,7 +315,8 @@
         }
         TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
         assertEquals("Pacific Standard Time", tz.getDisplayName(new Locale("US")));
-        assertEquals("Heure normale du Pacifique", tz.getDisplayName(Locale.FRANCE));
+        // BEGIN android-note: RI has "Heure", CLDR/ICU has "heure".
+        assertEquals("heure normale du Pacifique", tz.getDisplayName(Locale.FRANCE));
     }
     
     @TestTargetNew(
@@ -349,9 +350,10 @@
         assertEquals("Pacific Daylight Time", tz.getDisplayName(true,  1, Locale.US));
         assertEquals("Pacific Standard Time", tz.getDisplayName(false, 1, Locale.UK));
         //RI fails on following line. RI always returns short time zone name as "PST" 
-        assertEquals("HMG-08:00",             tz.getDisplayName(false, 0, Locale.FRANCE));
-        assertEquals("Heure avanc\u00e9e du Pacifique", tz.getDisplayName(true,  1, Locale.FRANCE));
-        assertEquals("Heure normale du Pacifique", tz.getDisplayName(false, 1, Locale.FRANCE));
+        assertEquals("UTC-08:00",             tz.getDisplayName(false, 0, Locale.FRANCE));
+        // BEGIN android-note: RI has "Heure", CLDR/ICU has "heure".
+        assertEquals("heure avanc\u00e9e du Pacifique", tz.getDisplayName(true,  1, Locale.FRANCE));
+        assertEquals("heure normale du Pacifique", tz.getDisplayName(false, 1, Locale.FRANCE));
     }
     
     @TestTargetNew(
@@ -392,19 +394,6 @@
     @TestTargetNew(
         level = TestLevel.COMPLETE,
         notes = "",
-        method = "useDaylightTime",
-        args = {}
-    )
-    public void test_useDaylightTime() {
-        // http://code.google.com/p/android/issues/detail?id=877
-        
-        TimeZone asiaTaipei = TimeZone.getTimeZone("Asia/Taipei");
-        assertFalse("Taiwan doesn't use DST", asiaTaipei.useDaylightTime());
-    }
-    
-    @TestTargetNew(
-        level = TestLevel.COMPLETE,
-        notes = "",
         method = "setID",
         args = {java.lang.String.class}
     )
diff --git a/libcore/math/src/main/java/java/math/BigDecimal.java b/libcore/math/src/main/java/java/math/BigDecimal.java
index 33042ba..4e4875b 100644
--- a/libcore/math/src/main/java/java/math/BigDecimal.java
+++ b/libcore/math/src/main/java/java/math/BigDecimal.java
@@ -2148,7 +2148,10 @@
         long newScale = scale;
 
         if (isZero()) {
+            // BEGIN android-changed: preserve RI compatibility, so BigDecimal.equals (which checks
+            // value *and* scale) continues to work.
             return this;
+            // END android-changed
         }
         BigInteger strippedBI = getUnscaledValue();
         BigInteger[] quotAndRem;
diff --git a/libcore/math/src/test/java/tests/api/java/math/BigDecimalTest.java b/libcore/math/src/test/java/tests/api/java/math/BigDecimalTest.java
index 572f2c1..29d68a2 100644
--- a/libcore/math/src/test/java/tests/api/java/math/BigDecimalTest.java
+++ b/libcore/math/src/test/java/tests/api/java/math/BigDecimalTest.java
@@ -1293,7 +1293,6 @@
         method = "stripTrailingZeros",
         args = {}
     )
-    @AndroidOnly("Stripping trailing zeroes from 0.000 value doesn't work on RI. See below")
     public void test_stripTrailingZero() {
         BigDecimal sixhundredtest = new BigDecimal("600.0");
         assertTrue("stripTrailingZero failed for 600.0",
@@ -1306,11 +1305,13 @@
                 ((notrailingzerotest.stripTrailingZeros()).scale() == 0)
                 );
         
+        // BEGIN android-changed: preserve RI compatibility, so BigDecimal.equals (which checks
+        // value *and* scale) continues to work. https://issues.apache.org/jira/browse/HARMONY-4623
         /* Zero */
-        //regression for HARMONY-4623, NON-BUG DIFF with RI
         BigDecimal zerotest = new BigDecimal("0.0000");
         assertEquals("stripTrailingZero failed for 0.0000",
-                0, (zerotest.stripTrailingZeros()).scale() );        
+                4, (zerotest.stripTrailingZeros()).scale() );
+        // END android-changed
     }
 
     @TestTargetNew(
diff --git a/libcore/openssl/src/main/native/BNInterface.c b/libcore/openssl/src/main/native/BNInterface.c
index 79f0680..ff2a2ae 100644
--- a/libcore/openssl/src/main/native/BNInterface.c
+++ b/libcore/openssl/src/main/native/BNInterface.c
@@ -31,20 +31,12 @@
 #define TRUE 1
 #endif
 
-
-static void
-throwNewNullPointerException (JNIEnv* env, const char* message)
-{
-    jniThrowException(env, "java/lang/NullPointerException", message);
-}
-
-static int isValidHandle (JNIEnv* env, void* handle, const char *message)
-{
+static int isValidHandle (JNIEnv* env, void* handle, const char *message) {
     if (handle == NULL) {
-        throwNewNullPointerException(env, message);
+        jniThrowNullPointerException(env, message);
         return FALSE;
     }
-    else return TRUE;
+    return TRUE;
 }
 
 static int oneValidHandle (JNIEnv* env, void* a)
diff --git a/libcore/support/src/test/java/tests/util/TestEnvironment.java b/libcore/support/src/test/java/tests/util/TestEnvironment.java
index 69a87c2..088e624 100644
--- a/libcore/support/src/test/java/tests/util/TestEnvironment.java
+++ b/libcore/support/src/test/java/tests/util/TestEnvironment.java
@@ -73,12 +73,21 @@
         TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
     }
 
-    private static void resetSystemProperties() {
-        String tmpDir = System.getProperty("java.io.tmpdir");
-        if (tmpDir == null) {
-            throw new IllegalStateException("Test execution requires the"
-                    + " system property java.io.tmpdir to be set.");
+    private static String getExistingSystemProperty(String name) {
+        String result = System.getProperty(name);
+        if (result == null) {
+            throw new AssertionError("Tests require the '" + name + "' system property");
         }
+        return result;
+    }
+
+    private static void resetSystemProperties() {
+        // There are two system properties we can't live without.
+        // 1. We need somewhere writable to stash our stuff.
+        String tmpDir = getExistingSystemProperty("java.io.tmpdir");
+        // 2. We need to know who we are, specifically "am I root?" because that affects what
+        // the OS lets us do, and that affects test expectations.
+        String userName = getExistingSystemProperty("user.name");
 
         Properties p = new Properties();
 
@@ -129,7 +138,7 @@
         p.put("line.separator", "\n");
         p.put("path.separator", ":");
         p.put("user.language", "en");
-        p.put("user.name", "");
+        p.put("user.name", userName);
         p.put("user.region", "US");
 
         System.setProperties(p);
diff --git a/libcore/text/src/main/java/java/text/DecimalFormat.java b/libcore/text/src/main/java/java/text/DecimalFormat.java
index 8d5d022..65d4d48 100644
--- a/libcore/text/src/main/java/java/text/DecimalFormat.java
+++ b/libcore/text/src/main/java/java/text/DecimalFormat.java
@@ -562,7 +562,7 @@
         Locale locale = Locale.getDefault();
         this.symbols = new DecimalFormatSymbols(locale);
         LocaleData localeData = com.ibm.icu4jni.util.Resources.getLocaleData(locale);
-        initNative(localeData.numberPattern, locale);
+        initNative(localeData.numberPattern);
         // END android-changed
     }
 
@@ -595,21 +595,21 @@
     public DecimalFormat(String pattern, DecimalFormatSymbols value) {
         // BEGIN android-changed: reduce duplication.
         this.symbols = (DecimalFormatSymbols) value.clone();
-        initNative(pattern, symbols.getLocale());
+        initNative(pattern);
         // END android-changed
     }
 
     // BEGIN android-added: used by NumberFormat.getInstance because cloning DecimalFormatSymbols is slow.
     DecimalFormat(String pattern, Locale locale) {
         this.symbols = new DecimalFormatSymbols(locale);
-        initNative(pattern, locale);
+        initNative(pattern);
     }
     // END android-added
 
     // BEGIN android-changed: reduce duplication.
-    private void initNative(String pattern, Locale locale) {
+    private void initNative(String pattern) {
         try {
-            this.dform = new NativeDecimalFormat(pattern, locale, symbols);
+            this.dform = new NativeDecimalFormat(pattern, symbols);
         } catch (IllegalArgumentException ex) {
             throw new IllegalArgumentException(pattern);
         }
@@ -750,10 +750,7 @@
      */
     @Override
     public Currency getCurrency() {
-        final Currency cur = dform.getCurrency();
-        final String code = (cur == null) ? "XXX" : cur.getCurrencyCode(); //$NON-NLS-1$
-
-        return Currency.getInstance(code);
+        return symbols.getCurrency();
     }
 
     /**
@@ -949,7 +946,7 @@
         // END android-added
 
         if (this.isParseIntegerOnly() && number.equals(NEGATIVE_ZERO_DOUBLE)) {
-            return new Long(0);
+            return Long.valueOf(0); // android-changed
         }
         return number;
 
@@ -1211,18 +1208,10 @@
         fields.put("positiveSuffix", dform.getPositiveSuffix());
         fields.put("negativePrefix", dform.getNegativePrefix());
         fields.put("negativeSuffix", dform.getNegativeSuffix());
-        String posPrefixPattern = (String) Format.getInternalField(
-                "posPrefixPattern", dform);
-        fields.put("posPrefixPattern", posPrefixPattern);
-        String posSuffixPattern = (String) Format.getInternalField(
-                "posSuffixPattern", dform);
-        fields.put("posSuffixPattern", posSuffixPattern);
-        String negPrefixPattern = (String) Format.getInternalField(
-                "negPrefixPattern", dform);
-        fields.put("negPrefixPattern", negPrefixPattern);
-        String negSuffixPattern = (String) Format.getInternalField(
-                "negSuffixPattern", dform);
-        fields.put("negSuffixPattern", negSuffixPattern);
+        fields.put("posPrefixPattern", (String) null);
+        fields.put("posSuffixPattern", (String) null);
+        fields.put("negPrefixPattern", (String) null);
+        fields.put("negSuffixPattern", (String) null);
         fields.put("multiplier", dform.getMultiplier());
         fields.put("groupingSize", (byte) dform.getGroupingSize());
         // BEGIN android-added
@@ -1233,7 +1222,7 @@
         fields.put("parseBigDecimal", parseBigDecimal);
         fields.put("symbols", symbols);
         fields.put("useExponentialNotation", false);
-        fields.put("minExponentDigits", 0);
+        fields.put("minExponentDigits", (byte) 0);
         fields.put("maximumIntegerDigits", dform.getMaximumIntegerDigits());
         fields.put("minimumIntegerDigits", dform.getMinimumIntegerDigits());
         fields.put("maximumFractionDigits", dform.getMaximumFractionDigits());
@@ -1257,52 +1246,24 @@
     private void readObject(ObjectInputStream stream) throws IOException,
             ClassNotFoundException {
 
-        ObjectInputStream.GetField fields = stream.readFields();
-        String positivePrefix = (String) fields.get("positivePrefix", "");
-        String positiveSuffix = (String) fields.get("positiveSuffix", "");
-        String negativePrefix = (String) fields.get("negativePrefix", "-");
-        String negativeSuffix = (String) fields.get("negativeSuffix", "");
-
-        String posPrefixPattern = (String) fields.get("posPrefixPattern", "");
-        String posSuffixPattern = (String) fields.get("posSuffixPattern", "");
-        String negPrefixPattern = (String) fields.get("negPrefixPattern", "-");
-        String negSuffixPattern = (String) fields.get("negSuffixPattern", "");
-
-        int multiplier = fields.get("multiplier", 1);
-        byte groupingSize = fields.get("groupingSize", (byte) 3);
-        // BEGIN android-added
-        boolean groupingUsed = fields.get("groupingUsed", true);
-        // END android-added
-        boolean decimalSeparatorAlwaysShown = fields.get(
-                "decimalSeparatorAlwaysShown", false);
-        boolean parseBigDecimal = fields.get("parseBigDecimal", false);
-        symbols = (DecimalFormatSymbols) fields.get("symbols", null);
-
-        int maximumIntegerDigits = fields.get("maximumIntegerDigits", 309);
-        int minimumIntegerDigits = fields.get("minimumIntegerDigits", 309);
-        int maximumFractionDigits = fields.get("maximumFractionDigits", 340);
-        int minimumFractionDigits = fields.get("minimumFractionDigits", 340);
-        int serialVersionOnStream = fields.get("serialVersionOnStream", 0);
-
-        Locale locale = (Locale) Format.getInternalField("locale", symbols);
         // BEGIN android-changed
-        initNative("", locale);
-        // END android-changed
-        dform.setPositivePrefix(positivePrefix);
-        dform.setPositiveSuffix(positiveSuffix);
-        dform.setNegativePrefix(negativePrefix);
-        dform.setNegativeSuffix(negativeSuffix);
-        setInternalField("posPrefixPattern", dform, posPrefixPattern);
-        setInternalField("posSuffixPattern", dform, posSuffixPattern);
-        setInternalField("negPrefixPattern", dform, negPrefixPattern);
-        setInternalField("negSuffixPattern", dform, negSuffixPattern);
-        dform.setMultiplier(multiplier);
-        dform.setGroupingSize(groupingSize);
-        // BEGIN android-added
-        dform.setGroupingUsed(groupingUsed);
-        // END android-added
-        dform.setDecimalSeparatorAlwaysShown(decimalSeparatorAlwaysShown);
-        setMinimumIntegerDigits(minimumIntegerDigits);
+        ObjectInputStream.GetField fields = stream.readFields();
+        this.symbols = (DecimalFormatSymbols) fields.get("symbols", null);
+
+        initNative("");
+        dform.setPositivePrefix((String) fields.get("positivePrefix", ""));
+        dform.setPositiveSuffix((String) fields.get("positiveSuffix", ""));
+        dform.setNegativePrefix((String) fields.get("negativePrefix", "-"));
+        dform.setNegativeSuffix((String) fields.get("negativeSuffix", ""));
+        dform.setMultiplier(fields.get("multiplier", 1));
+        dform.setGroupingSize(fields.get("groupingSize", (byte) 3));
+        dform.setGroupingUsed(fields.get("groupingUsed", true));
+        dform.setDecimalSeparatorAlwaysShown(fields.get("decimalSeparatorAlwaysShown", false));
+
+        final int maximumIntegerDigits = fields.get("maximumIntegerDigits", 309);
+        final int minimumIntegerDigits = fields.get("minimumIntegerDigits", 309);
+        final int maximumFractionDigits = fields.get("maximumFractionDigits", 340);
+        final int minimumFractionDigits = fields.get("minimumFractionDigits", 340);
         // BEGIN android-changed: tell ICU what we want, then ask it what we can have, and then
         // set that in our Java object. This isn't RI-compatible, but then very little of our
         // behavior in this area is, and it's not obvious how we can second-guess ICU (or tell
@@ -1310,41 +1271,18 @@
         // because ICU doesn't seem to have its own ideas about the other options.
         dform.setMaximumIntegerDigits(maximumIntegerDigits);
         super.setMaximumIntegerDigits(dform.getMaximumIntegerDigits());
-        // END android-changed
+
+        setMinimumIntegerDigits(minimumIntegerDigits);
         setMinimumFractionDigits(minimumFractionDigits);
         setMaximumFractionDigits(maximumFractionDigits);
-        setParseBigDecimal(parseBigDecimal);
+        setParseBigDecimal(fields.get("parseBigDecimal", false));
 
-        if (serialVersionOnStream < 3) {
+        if (fields.get("serialVersionOnStream", 0) < 3) {
             setMaximumIntegerDigits(super.getMaximumIntegerDigits());
             setMinimumIntegerDigits(super.getMinimumIntegerDigits());
             setMaximumFractionDigits(super.getMaximumFractionDigits());
             setMinimumFractionDigits(super.getMinimumFractionDigits());
         }
-    }
-
-    /*
-     * Sets private field value by reflection.
-     * 
-     * @param fieldName the field name to be set @param target the object which
-     * field to be set @param value the value to be set
-     */
-    private void setInternalField(final String fieldName, final Object target,
-            final Object value) {
-        AccessController
-                .doPrivileged(new PrivilegedAction<java.lang.reflect.Field>() {
-                    public java.lang.reflect.Field run() {
-                        java.lang.reflect.Field field = null;
-                        try {
-                            field = target.getClass().getDeclaredField(
-                                    fieldName);
-                            field.setAccessible(true);
-                            field.set(target, value);
-                        } catch (Exception e) {
-                            return null;
-                        }
-                        return field;
-                    }
-                });
+        // END android-changed
     }
 }
diff --git a/libcore/text/src/main/java/java/text/DecimalFormatSymbols.java b/libcore/text/src/main/java/java/text/DecimalFormatSymbols.java
index 6d1dcde..28e9603 100644
--- a/libcore/text/src/main/java/java/text/DecimalFormatSymbols.java
+++ b/libcore/text/src/main/java/java/text/DecimalFormatSymbols.java
@@ -48,7 +48,7 @@
             PerMill = 6, Exponent = 7, MonetaryDecimalSeparator = 8,
             MinusSign = 9;
 
-    transient char[] patternChars;
+    private transient char[] patternChars;
 
     private transient Currency currency;
 
@@ -546,8 +546,4 @@
             currency = null;
         }
     }
-    
-    Locale getLocale(){
-        return locale;
-    }
 }
diff --git a/libcore/text/src/main/java/java/text/Format.java b/libcore/text/src/main/java/java/text/Format.java
index 567b0f6..18b0490 100644
--- a/libcore/text/src/main/java/java/text/Format.java
+++ b/libcore/text/src/main/java/java/text/Format.java
@@ -216,32 +216,6 @@
      */
     public abstract Object parseObject(String string, ParsePosition position);
 
-    /*
-     * Gets private field value by reflection.
-     * 
-     * @param fieldName the field name to be set @param target the object which
-     * field to be gotten
-     */
-    static Object getInternalField(final String fieldName, final Object target) {
-        Object value = AccessController
-                .doPrivileged(new PrivilegedAction<Object>() {
-                    public Object run() {
-                        Object result = null;
-                        java.lang.reflect.Field field = null;
-                        try {
-                            field = target.getClass().getDeclaredField(
-                                    fieldName);
-                            field.setAccessible(true);
-                            result = field.get(target);
-                        } catch (Exception e1) {
-                            return null;
-                        }
-                        return result;
-                    }
-                });
-        return value;
-    }
-
     static boolean upTo(String string, ParsePosition position,
             StringBuffer buffer, char stop) {
         int index = position.getIndex(), length = string.length();
diff --git a/libcore/text/src/main/java/java/text/SimpleDateFormat.java b/libcore/text/src/main/java/java/text/SimpleDateFormat.java
index a67c7e6..20fff63 100644
--- a/libcore/text/src/main/java/java/text/SimpleDateFormat.java
+++ b/libcore/text/src/main/java/java/text/SimpleDateFormat.java
@@ -509,11 +509,6 @@
 
     // BEGIN android-removed
     // SimpleDateFormat(Locale locale, com.ibm.icu.text.SimpleDateFormat icuFormat){
-    //     this(locale);
-    //     this.icuFormat = icuFormat;
-    //     this.icuFormat.setTimeZone(com.ibm.icu.util.TimeZone.getTimeZone(tzId));
-    //     pattern = (String)Format.getInternalField("pattern", icuFormat); //$NON-NLS-1$
-    //     formatData = new DateFormatSymbols(locale);
     // }
     // END android-removed
     
diff --git a/libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java b/libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java
index b92e37b..7a615d5 100644
--- a/libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java
+++ b/libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java
@@ -776,17 +776,17 @@
         // Values based on Java 1.5 RI DecimalFormatSymbols for Locale.FRANCE
         /*
          * currency = [EUR]
-         * currencySymbol = [€][U+20ac]
+         * currencySymbol = [U+20ac] // EURO SIGN
          * decimalSeparator = [,][U+002c]
          * digit = [#][U+0023]
-         * groupingSeparator = [ ][U+00a0]
-         * infinity = [∞][U+221e]
+         * groupingSeparator = [U+00a0] // NON-BREAKING SPACE
+         * infinity = [U+221e] // INFINITY
          * internationalCurrencySymbol = [EUR]
          * minusSign = [-][U+002d]
          * monetaryDecimalSeparator = [,][U+002c]
-         * naN = [�][U+fffd]
+         * naN = [U+fffd] // REPLACEMENT CHARACTER
          * patternSeparator = [;][U+003b]
-         * perMill = [‰][U+2030]
+         * perMill = [U+2030] // PER MILLE
          * percent = [%][U+0025]
          * zeroDigit = [0][U+0030]
          */
@@ -800,6 +800,8 @@
         assertEquals('-', dfs.getMinusSign());
         assertEquals(',', dfs.getMonetaryDecimalSeparator());
         // RI's default NaN is U+FFFD, Harmony's is based on ICU
+        // This suggests an RI bug, assuming that non-UTF8 bytes are UTF8 and
+        // getting a conversion failure.
         assertEquals("\uFFFD", dfs.getNaN());
         assertEquals('\u003b', dfs.getPatternSeparator());
         assertEquals('\u2030', dfs.getPerMill());
diff --git a/libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java b/libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java
index 7c4a319..e949f1d 100644
--- a/libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java
+++ b/libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/NumberFormatTest.java
@@ -148,11 +148,10 @@
         // Test for method java.text.NumberFormat
         // getIntegerInstance(java.util.Locale)
         Locale usLocale = Locale.US;
-        // BEGIN android-changed
-        // use de_CH instead
-        // Locale arLocale = new Locale("ar", "AE");
+        Locale arLocale = new Locale("ar", "AE");
+        // BEGIN android-added: use de_CH too.
         Locale chLocale = new Locale("de", "CH");
-        // END android-changed
+        // END android-added
 
         Locale[] requiredLocales = {usLocale, chLocale};
         if (!Support_Locale.areLocalesAvailable(requiredLocales)) {
@@ -182,9 +181,7 @@
                 format.isParseIntegerOnly());
 
         // try with a locale that has a different integer pattern
-        // BEGIN android-changed
-        // use de_CH instead
-        // format = (DecimalFormat) NumberFormat.getIntegerInstance(arLocale);
+        // BEGIN android-added: try de_CH too
         format = (DecimalFormat) NumberFormat.getIntegerInstance(chLocale);
         assertEquals(
                 "Test7: NumberFormat.getIntegerInstance(new Locale(\"de\", \"CH\")).toPattern() returned wrong pattern",
@@ -205,8 +202,9 @@
         assertTrue(
                 "Test12: NumberFormat.getIntegerInstance(new Locale(\"de\", \"CH\")).isParseIntegerOnly() returned wrong value",
                 format.isParseIntegerOnly());
-        // use de_CH instead
-        /*assertEquals(
+        // END android-added
+        format = (DecimalFormat) NumberFormat.getIntegerInstance(arLocale);
+        assertEquals(
                 "Test7: NumberFormat.getIntegerInstance(new Locale(\"ar\", \"AE\")).toPattern() returned wrong pattern",
                 "#,##0;#,##0-", format.toPattern());
         assertEquals(
@@ -224,8 +222,7 @@
                 0, format.getMaximumFractionDigits());
         assertTrue(
                 "Test12: NumberFormat.getIntegerInstance(new Locale(\"ar\", \"AE\")).isParseIntegerOnly() returned wrong value",
-                format.isParseIntegerOnly());*/
-        // END android-changed
+        format.isParseIntegerOnly());
     }
 
     /**
@@ -645,19 +642,20 @@
         // use de_AT instead
         // format = NumberFormat.getCurrencyInstance(mkLocale);
         format = NumberFormat.getCurrencyInstance(atLocale);
-
+        // BEGIN android-changed: ICU uses non-breaking space after the euro sign; the RI uses ' '.
         assertEquals(
                 "Test5: NumberFormat.getCurrencyInstance(new Locale(\"de\", \"AT\")).format(35.76) returned wrong value",
-                "\u20ac 35,76", format.format(35.76));
+                "\u20ac\u00a035,76", format.format(35.76));
         assertEquals(
                 "Test6: NumberFormat.getCurrencyInstance(new Locale(\"de\", \"AT\")).format(123456.789) returned wrong value",
-                "\u20ac 123.456,79", format.format(123456.789));
+                "\u20ac\u00a0123.456,79", format.format(123456.789));
         assertEquals(
                 "Test7: NumberFormat.getCurrencyInstance(new Locale(\"de\", \"AT\")).format(0.1) returned wrong value",
-                "\u20ac 0,10", format.format(0.1));
+                "\u20ac\u00a00,10", format.format(0.1));
         assertEquals(
                 "Test8: NumberFormat.getCurrencyInstance(new Locale(\"de\", \"AT\")).format(0.999) returned wrong value",
-                "\u20ac 1,00", format.format(0.999));
+                "\u20ac\u00a01,00", format.format(0.999));
+        // END android-changed
         // use de_AT instead
         /*assertEquals(
                 "Test5: NumberFormat.getCurrencyInstance(new Locale(\"mk\", \"MK\")).format(35.76) returned wrong value",
diff --git a/libcore/tools/runner/Android.mk b/libcore/tools/runner/Android.mk
index ee5c4f1..851214b 100644
--- a/libcore/tools/runner/Android.mk
+++ b/libcore/tools/runner/Android.mk
@@ -32,6 +32,8 @@
         java/dalvik/runner/MainFinder.java \
         java/dalvik/runner/MainRunner.java \
         java/dalvik/runner/NamingPatternCodeFinder.java \
+        java/dalvik/runner/Option.java \
+        java/dalvik/runner/OptionParser.java \
         java/dalvik/runner/Result.java \
         java/dalvik/runner/Strings.java \
         java/dalvik/runner/TestRun.java \
diff --git a/libcore/tools/runner/java/dalvik/runner/DalvikRunner.java b/libcore/tools/runner/java/dalvik/runner/DalvikRunner.java
index 84d54ef..20e722c 100644
--- a/libcore/tools/runner/java/dalvik/runner/DalvikRunner.java
+++ b/libcore/tools/runner/java/dalvik/runner/DalvikRunner.java
@@ -17,6 +17,7 @@
 package dalvik.runner;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.LinkedHashSet;
@@ -34,25 +35,203 @@
  */
 public final class DalvikRunner {
 
-    private final File localTemp;
-    private File sdkJar;
-    private Integer debugPort;
-    private long timeoutSeconds;
-    private Set<File> expectationFiles = new LinkedHashSet<File>();
-    private File xmlReportsDirectory;
-    private String javaHome;
-    private List<String> vmArgs = new ArrayList<String>();
-    private boolean clean = true;
-    private String deviceRunnerDir = "/sdcard/dalvikrunner";
-    private List<File> testFiles = new ArrayList<File>();
+    private static class Options {
 
-    private DalvikRunner() {
-        localTemp = new File("/tmp/" + UUID.randomUUID());
-        timeoutSeconds = 10 * 60; // default is ten minutes
-        sdkJar = new File("/home/dalvik-prebuild/android-sdk-linux/platforms/android-2.0/android.jar");
-        expectationFiles.add(new File("dalvik/libcore/tools/runner/expectations.txt"));
+        private final List<File> testFiles = new ArrayList<File>();
+
+        @Option(names = { "--expectations" })
+        private Set<File> expectationFiles = new LinkedHashSet<File>();
+        {
+            expectationFiles.add(new File("dalvik/libcore/tools/runner/expectations.txt"));
+        }
+
+        private static String MODE_DEVICE = "device";
+        private static String MODE_HOST = "host";
+        private static String MODE_ACTIVITY = "activity";
+        @Option(names = { "--mode" })
+        private String mode = MODE_DEVICE;
+
+        @Option(names = { "--timeout" })
+        private long timeoutSeconds = 10 * 60; // default is ten minutes;
+
+        @Option(names = { "--clean" })
+        private boolean clean = true;
+
+        @Option(names = { "--xml-reports-directory" })
+        private File xmlReportsDirectory;
+
+        @Option(names = { "--verbose" })
+        private boolean verbose;
+
+        @Option(names = { "--debug" })
+        private Integer debugPort;
+
+        @Option(names = { "--device-runner-dir" })
+        private File deviceRunnerDir = new File("/sdcard/dalvikrunner");
+
+        @Option(names = { "--vm-arg" })
+        private List<String> vmArgs = new ArrayList<String>();
+
+        @Option(names = { "--java-home" })
+        private File javaHome;
+
+        @Option(names = { "--sdk" })
+        private File sdkJar = new File("/home/dalvik-prebuild/android-sdk-linux/platforms/android-2.0/android.jar");
+
+        private void printUsage() {
+            System.out.println("Usage: DalvikRunner [options]... <tests>...");
+            System.out.println();
+            System.out.println("  <tests>: a .java file containing a jtreg test, JUnit test,");
+            System.out.println("      Caliper benchmark, or a directory of such tests.");
+            System.out.println();
+            System.out.println("GENERAL OPTIONS");
+            System.out.println();
+            System.out.println("  --expectations <file>: include the specified file when looking for");
+            System.out.println("      test expectations. The file should include qualified test names");
+            System.out.println("      and the corresponding expected output.");
+            System.out.println("      Default is: " + expectationFiles);
+            System.out.println();
+            System.out.println("  --mode <device|host|activity>: specify which environment to run the");
+            System.out.println("      tests in. Options are on the device VM, on the host VM, and on");
+            System.out.println("      device within an android.app.Activity.");
+            System.out.println("      Default is: " + mode);
+            System.out.println();
+            System.out.println("  --clean: remove temporary files (default). Disable with --no-clean");
+            System.out.println("      and use with --verbose if you'd like to manually re-run");
+            System.out.println("      commands afterwards.");
+            System.out.println();
+            System.out.println("  --timeout-seconds <seconds>: maximum execution time of each");
+            System.out.println("      test before the runner aborts it.");
+            System.out.println("      Default is: " + timeoutSeconds);
+            System.out.println();
+            System.out.println("  --xml-reports-directory <path>: directory to emit JUnit-style");
+            System.out.println("      XML test results.");
+            System.out.println();
+            System.out.println("  --verbose: turn on verbose output");
+            System.out.println();
+            System.out.println("DEVICE OPTIONS");
+            System.out.println();
+            System.out.println("  --debug <port>: enable Java debugging on the specified port.");
+            System.out.println("      This port must be free both on the device and on the local");
+            System.out.println("      system.");
+            System.out.println();
+            System.out.println("  --device-runner-dir <directory>: use the specified directory for");
+            System.out.println("      on-device temporary files and code.");
+            System.out.println("      Default is: " + deviceRunnerDir);
+            System.out.println();
+            System.out.println("GENERAL VM OPTIONS");
+            System.out.println();
+            System.out.println("  --vm-arg <argument>: include the specified argument when spawning a");
+            System.out.println("      virtual machine. Examples: -Xint:fast, -ea, -Xmx16M");
+            System.out.println();
+            System.out.println("HOST VM OPTIONS");
+            System.out.println();
+            System.out.println("  --java-home <java_home>: execute the tests on the local workstation");
+            System.out.println("      using the specified java home directory. This does not impact");
+            System.out.println("      which javac gets used. When unset, java is used from the PATH.");
+            System.out.println();
+            System.out.println("COMPILE OPTIONS");
+            System.out.println();
+            System.out.println("  --sdk <android jar>: the API jar file to compile against.");
+            System.out.println("      Usually this is <SDK>/platforms/android-<X.X>/android.jar");
+            System.out.println("      where <SDK> is the path to an Android SDK path and <X.X> is");
+            System.out.println("      a release version like 1.5.");
+            System.out.println("      Default is: " + sdkJar);
+            System.out.println();
+        }
+
+        private boolean parseArgs(String[] args) {
+            final List<String> testFilenames;
+            try {
+                testFilenames = new OptionParser(this).parse(args);
+            } catch (RuntimeException e) {
+                System.out.println(e.getMessage());
+                return false;
+            }
+
+            //
+            // Semantic error validation
+            //
+
+            boolean device;
+            boolean vm;
+            if (mode.equals(MODE_DEVICE)) {
+                device = true;
+                vm = true;
+            } else if (mode.equals(MODE_HOST)) {
+                device = false;
+                vm = true;
+            } else if (mode.equals(MODE_ACTIVITY)) {
+                device = true;
+                vm = false;
+            } else {
+                System.out.println("Unknown mode: " + mode);
+                return false;
+            }
+
+
+            if (device) { // check device option consistency
+                if (javaHome != null) {
+                    System.out.println("java home " + javaHome + " should not be specified for mode " + mode);
+                    return false;
+                }
+
+            } else { // check host (!device) option consistency
+                if (javaHome != null && !new File(javaHome, "/bin/java").exists()) {
+                    System.out.println("Invalid java home: " + javaHome);
+                    return false;
+                }
+                if (debugPort != null) {
+                    System.out.println("debug port " + debugPort + " should not be specified for mode " + mode);
+                    return false;
+                }
+            }
+
+            // check vm option consistency
+            if (!vm) {
+                if (!vmArgs.isEmpty()) {
+                    System.out.println("vm args " + vmArgs + " should not be specified for mode " + mode);
+                    return false;
+                }
+            }
+
+            if (!sdkJar.exists()) {
+                System.out.println("Could not find SDK jar: " + sdkJar);
+                return false;
+            }
+
+            if (xmlReportsDirectory != null && !xmlReportsDirectory.isDirectory()) {
+                System.out.println("Invalid XML reports directory: " + xmlReportsDirectory);
+                return false;
+            }
+
+            if (testFilenames.isEmpty()) {
+                System.out.println("No tests provided.");
+                return false;
+            }
+
+            //
+            // Post-processing arguments
+            //
+
+            for (String testFilename : testFilenames) {
+                testFiles.add(new File(testFilename));
+            }
+
+            if (verbose) {
+                Logger.getLogger("dalvik.runner").setLevel(Level.FINE);
+            }
+
+            return true;
+        }
+
     }
 
+    private final Options options = new Options();
+    private final File localTemp = new File("/tmp/" + UUID.randomUUID());
+
+    private DalvikRunner() {}
+
     private void prepareLogging() {
         ConsoleHandler handler = new ConsoleHandler();
         handler.setLevel(Level.ALL);
@@ -66,139 +245,61 @@
         logger.setUseParentHandlers(false);
     }
 
-    private boolean parseArgs(String[] args) throws Exception {
-        for (int i = 0; i < args.length; i++) {
-            if ("--debug".equals(args[i])) {
-                debugPort = Integer.valueOf(args[++i]);
-
-            } else if ("--device-runner-dir".equals(args[i])) {
-                deviceRunnerDir = args[++i];
-
-            } else if ("--expectations".equals(args[i])) {
-                expectationFiles.add(new File(args[++i]));
-
-            } else if ("--java-home".equals(args[i])) {
-                javaHome = args[++i];
-                if (!new File(javaHome, "/bin/java").exists()) {
-                    System.out.println("Invalid java home: " + javaHome);
-                    return false;
-                }
-
-            } else if ("--timeout-seconds".equals(args[i])) {
-                timeoutSeconds = Long.valueOf(args[++i]);
-
-            } else if ("--sdk".equals(args[i])) {
-                sdkJar = new File(args[++i]);
-                if (!sdkJar.exists()) {
-                    System.out.println("Could not find SDK jar: " + sdkJar);
-                    return false;
-                }
-
-            } else if ("--skip-clean".equals(args[i])) {
-                clean = false;
-
-            } else if ("--verbose".equals(args[i])) {
-                Logger.getLogger("dalvik.runner").setLevel(Level.FINE);
-
-            } else if ("--vm-arg".equals(args[i])) {
-                vmArgs.add(args[++i]);
-
-            } else if ("--xml-reports-directory".equals(args[i])) {
-                xmlReportsDirectory = new File(args[++i]);
-                if (!xmlReportsDirectory.isDirectory()) {
-                    System.out.println("Invalid XML reports directory: " + xmlReportsDirectory);
-                    return false;
-                }
-
-            } else if (args[i].startsWith("-")) {
-                System.out.println("Unrecognized option: " + args[i]);
-                return false;
-
-            } else {
-                testFiles.add(new File(args[i]));
-            }
+    private void run() {
+        Vm vm;
+        if (options.mode.equals(Options.MODE_DEVICE)) {
+            vm = new DeviceDalvikVm(
+                    options.debugPort,
+                    options.timeoutSeconds,
+                    options.sdkJar,
+                    localTemp,
+                    options.vmArgs,
+                    options.clean,
+                    options.deviceRunnerDir);
+        } else if (options.mode.equals(Options.MODE_HOST)) {
+            vm = new JavaVm(
+                    options.debugPort,
+                    options.timeoutSeconds,
+                    options.sdkJar,
+                    localTemp,
+                    options.javaHome,
+                    options.vmArgs,
+                    options.clean);
+        } else if (options.mode.equals(Options.MODE_ACTIVITY)) {
+            vm = null;
+            System.out.println("Mode " + options.mode + " not currently supported.");
+            return;
+        } else {
+            System.out.println("Unknown mode mode " + options.mode + ".");
+            return;
         }
 
-        if (testFiles.isEmpty()) {
-            System.out.println("No tests provided.");
-            return false;
-        }
-
-        return true;
-    }
-
-    private void printUsage() {
-        System.out.println("Usage: DalvikRunner [options]... <tests>...");
-        System.out.println();
-        System.out.println("  <tests>: a .java file containing a jtreg test, JUnit test,");
-        System.out.println("      Caliper benchmark, or a directory of such tests.");
-        System.out.println();
-        System.out.println("OPTIONS");
-        System.out.println();
-        System.out.println("  --debug <port>: enable Java debugging on the specified port.");
-        System.out.println("      This port must be free both on the device and on the local");
-        System.out.println("      system.");
-        System.out.println();
-        System.out.println("  ----device-runner-dir <directory>: use the specified directory for");
-        System.out.println("      on-device temporary files and code.");
-        System.out.println("      Default is: " + deviceRunnerDir);
-        System.out.println();
-        System.out.println("  --expectations <file>: include the specified file when looking for");
-        System.out.println("      test expectations. The file should include qualified test names");
-        System.out.println("      and the corresponding expected output.");
-        System.out.println("      Default is: " + expectationFiles);
-        System.out.println();
-        System.out.println("  --java-home <java_home>: execute the tests on the local workstation");
-        System.out.println("      using the specified java home directory. This does not impact");
-        System.out.println("      which javac gets used. When unset, tests are run on a device");
-        System.out.println("      using adb.");
-        System.out.println();
-        System.out.println("  --sdk <android jar>: the API jar file to compile against.");
-        System.out.println("      Usually this is <SDK>/platforms/android-<X.X>/android.jar");
-        System.out.println("      where <SDK> is the path to an Android SDK path and <X.X> is");
-        System.out.println("      a release version like 1.5.");
-        System.out.println("      Default is: " + sdkJar);
-        System.out.println();
-        System.out.println("  --skip-clean: leave temporary files in their place. Useful when");
-        System.out.println("      coupled with --verbose if you'd like to manually re-run");
-        System.out.println("      commands afterwards.");
-        System.out.println();
-        System.out.println("  --timeout-seconds <seconds>: maximum execution time of each");
-        System.out.println("      test before the runner aborts it.");
-        System.out.println("      Default is: " + timeoutSeconds);
-        System.out.println();
-        System.out.println("  --vm-arg <argument>: include the specified argument when spawning a");
-        System.out.println("      virtual machine. Examples: -Xint:fast, -ea, -Xmx16M");
-        System.out.println();
-        System.out.println("  --xml-reports-directory <path>: directory to emit JUnit-style");
-        System.out.println("      XML test results.");
-        System.out.println();
-        System.out.println("  --verbose: turn on verbose output");
-        System.out.println();
-    }
-
-    private void run() throws Exception {
-        Vm vm = javaHome != null
-                ? new JavaVm(debugPort, timeoutSeconds, sdkJar, localTemp,
-                        javaHome, vmArgs, clean)
-                : new DeviceDalvikVm(debugPort, timeoutSeconds, sdkJar,
-                        localTemp, vmArgs, clean, deviceRunnerDir);
         List<CodeFinder> codeFinders = Arrays.asList(
                 new JtregFinder(localTemp),
                 new JUnitFinder(),
                 new CaliperFinder(),
                 new MainFinder());
-        Driver driver = new Driver(localTemp,
-                vm, expectationFiles, xmlReportsDirectory, codeFinders);
-        driver.loadExpectations();
-        driver.buildAndRunAllTests(testFiles);
+        Driver driver = new Driver(
+                localTemp,
+                vm,
+                options.expectationFiles,
+                options.xmlReportsDirectory,
+                codeFinders);
+        try {
+            driver.loadExpectations();
+        } catch (IOException e) {
+            System.out.println("Problem loading expectations: " + e);
+            return;
+        }
+
+        driver.buildAndRunAllTests(options.testFiles);
         vm.shutdown();
     }
 
-    public static void main(String[] args) throws Exception {
+    public static void main(String[] args) {
         DalvikRunner dalvikRunner = new DalvikRunner();
-        if (!dalvikRunner.parseArgs(args)) {
-            dalvikRunner.printUsage();
+        if (!dalvikRunner.options.parseArgs(args)) {
+            dalvikRunner.options.printUsage();
             return;
         }
         dalvikRunner.prepareLogging();
diff --git a/libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java b/libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
index 47db11f..4388565 100644
--- a/libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
+++ b/libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
@@ -38,10 +38,10 @@
     private final Adb adb = new Adb();
 
     DeviceDalvikVm(Integer debugPort, long timeoutSeconds, File sdkJar,
-            File localTemp, List<String> additionalVmArgs, boolean clean, String runnerDir) {
+            File localTemp, List<String> additionalVmArgs, boolean clean, File runnerDir) {
         super(debugPort, timeoutSeconds, sdkJar, localTemp, additionalVmArgs, clean);
 
-        this.runnerDir = new File(runnerDir);
+        this.runnerDir = runnerDir;
         this.testTemp = new File(this.runnerDir, "/tests.tmp");
     }
 
diff --git a/libcore/tools/runner/java/dalvik/runner/Driver.java b/libcore/tools/runner/java/dalvik/runner/Driver.java
index 7a30ab7..81c7d6b 100644
--- a/libcore/tools/runner/java/dalvik/runner/Driver.java
+++ b/libcore/tools/runner/java/dalvik/runner/Driver.java
@@ -72,7 +72,7 @@
     /**
      * Builds and executes all tests in the test directory.
      */
-    public void buildAndRunAllTests(Collection<File> testFiles) throws Exception {
+    public void buildAndRunAllTests(Collection<File> testFiles) {
         localTemp.mkdirs();
 
         final BlockingQueue<TestRun> readyToRun = new ArrayBlockingQueue<TestRun>(4);
@@ -136,10 +136,15 @@
                     + readyToRun.size() + " are ready to run");
 
             // if it takes 5 minutes for build and install, something is broken
-            TestRun testRun = readyToRun.poll(300, TimeUnit.SECONDS);
+            TestRun testRun;
+            try {
+                testRun = readyToRun.poll(5 * 60, TimeUnit.SECONDS);
+            } catch (InterruptedException e) {
+                throw new RuntimeException("Unexpected interruption waiting for build and install", e);
+            }
+
             if (testRun == null) {
-                throw new IllegalStateException(
-                        "Expected " + tests.size() + " tests but found only " + i);
+                throw new IllegalStateException("Expected " + tests.size() + " tests but found only " + i);
             }
 
             runs.add(testRun);
diff --git a/libcore/tools/runner/java/dalvik/runner/JavaVm.java b/libcore/tools/runner/java/dalvik/runner/JavaVm.java
index 8b53477..e29b36b 100644
--- a/libcore/tools/runner/java/dalvik/runner/JavaVm.java
+++ b/libcore/tools/runner/java/dalvik/runner/JavaVm.java
@@ -24,18 +24,19 @@
  */
 final class JavaVm extends Vm {
 
-    private final String javaHome;
+    private final File javaHome;
 
     JavaVm(Integer debugPort, long timeoutSeconds, File sdkJar, File localTemp,
-            String javaHome, List<String> additionalVmArgs, boolean clean) {
+            File javaHome, List<String> additionalVmArgs, boolean clean) {
         super(debugPort, timeoutSeconds, sdkJar, localTemp, additionalVmArgs, clean);
         this.javaHome = javaHome;
     }
 
     @Override protected VmCommandBuilder newVmCommandBuilder(
             File workingDirectory) {
+        String java = javaHome == null ? "java" : new File(javaHome, "bin/java").getPath();
         return new VmCommandBuilder()
-                .vmCommand(javaHome + "/bin/java")
+                .vmCommand(java)
                 .workingDir(workingDirectory);
     }
 }
diff --git a/libcore/tools/runner/java/dalvik/runner/Option.java b/libcore/tools/runner/java/dalvik/runner/Option.java
new file mode 100644
index 0000000..779aa63
--- /dev/null
+++ b/libcore/tools/runner/java/dalvik/runner/Option.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dalvik.runner;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotates a field as representing a command-line option for OptionParser.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface Option {
+    /**
+     * The names for this option, such as { "-h", "--help" }.
+     * Names must start with one or two '-'s.
+     * An option must have at least one name.
+     */
+    String[] names();
+}
diff --git a/libcore/tools/runner/java/dalvik/runner/OptionParser.java b/libcore/tools/runner/java/dalvik/runner/OptionParser.java
new file mode 100644
index 0000000..64af51c
--- /dev/null
+++ b/libcore/tools/runner/java/dalvik/runner/OptionParser.java
@@ -0,0 +1,443 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dalvik.runner;
+
+import java.io.File;
+import java.lang.reflect.Field;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Parses command line options.
+ *
+ * Strings in the passed-in String[] are parsed left-to-right. Each
+ * String is classified as a short option (such as "-v"), a long
+ * option (such as "--verbose"), an argument to an option (such as
+ * "out.txt" in "-f out.txt"), or a non-option positional argument.
+ *
+ * A simple short option is a "-" followed by a short option
+ * character. If the option requires an argument (which is true of any
+ * non-boolean option), it may be written as a separate parameter, but
+ * need not be. That is, "-f out.txt" and "-fout.txt" are both
+ * acceptable.
+ *
+ * It is possible to specify multiple short options after a single "-"
+ * as long as all (except possibly the last) do not require arguments.
+ *
+ * A long option begins with "--" followed by several characters. If
+ * the option requires an argument, it may be written directly after
+ * the option name, separated by "=", or as the next argument. (That
+ * is, "--file=out.txt" or "--file out.txt".)
+ *
+ * A boolean long option '--name' automatically gets a '--no-name'
+ * companion. Given an option "--flag", then, "--flag", "--no-flag",
+ * "--flag=true" and "--flag=false" are all valid, though neither
+ * "--flag true" nor "--flag false" are allowed (since "--flag" by
+ * itself is sufficient, the following "true" or "false" is
+ * interpreted separately). You can use "yes" and "no" as synonyms for
+ * "true" and "false".
+ *
+ * Each String not starting with a "-" and not a required argument of
+ * a previous option is a non-option positional argument, as are all
+ * successive Strings. Each String after a "--" is a non-option
+ * positional argument.
+ *
+ * Parsing of numeric fields such byte, short, int, long, float, and
+ * double fields is supported. This includes both unboxed and boxed
+ * versions (e.g. int vs Integer). If there is a problem parsing the
+ * argument to match the desired type, a runtime exception is thrown.
+ *
+ * File option fields are supported by simply wrapping the string
+ * argument in a File object without testing for the existance of the
+ * file.
+ *
+ * Parameterized Collection fields such as List<File> and Set<String>
+ * are supported as long as the parameter type is otherwise supported
+ * by the option parser. The collection field should be initialized
+ * with an appropriate collection instance.
+ *
+ * The fields corresponding to options are updated as their options
+ * are processed. Any remaining positional arguments are returned as a
+ * List<String>.
+ *
+ * Here's a simple example:
+ *
+ * // This doesn't need to be a separate class, if your application doesn't warrant it.
+ * // Non-@Option fields will be ignored.
+ * class Options {
+ *     @Option(names = { "-q", "--quiet" })
+ *     boolean quiet = false;
+ *
+ *     // Boolean options require a long name if it's to be possible to explicitly turn them off.
+ *     // Here the user can use --no-color.
+ *     @Option(names = { "--color" })
+ *     boolean color = true;
+ *
+ *     @Option(names = { "-m", "--mode" })
+ *     String mode = "standard; // Supply a default just by setting the field.
+ *
+ *     @Option(names = { "-p", "--port" })
+ *     int portNumber = 8888;
+ *
+ *     // There's no need to offer a short name for rarely-used options.
+ *     @Option(names = { "--timeout" })
+ *     double timeout = 1.0;
+ *
+ *     @Option(names = { "-o", "--output-file" })
+ *     File output;
+ *
+ *     // Multiple options are added to the collection.
+ *     // The collection field itself must be non-null.
+ *     @Option(names = { "-i", "--input-file" })
+ *     List<File> inputs = new ArrayList<File>();
+ *
+ * }
+ *
+ * class Main {
+ *     public static void main(String[] args) {
+ *         Options options = new Options();
+ *         List<String> inputFilenames = new OptionParser(options).parse(args);
+ *         for (String inputFilename : inputFilenames) {
+ *             if (!options.quiet) {
+ *                 ...
+ *             }
+ *             ...
+ *         }
+ *     }
+ * }
+ *
+ * See also:
+ *
+ *  the getopt(1) man page
+ *  Python's "optparse" module (http://docs.python.org/library/optparse.html)
+ *  the POSIX "Utility Syntax Guidelines" (http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap12.html#tag_12_02)
+ *  the GNU "Standards for Command Line Interfaces" (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)
+ */
+public class OptionParser {
+    private static final HashMap<Class<?>, Handler> handlers = new HashMap<Class<?>, Handler>();
+    static {
+        handlers.put(boolean.class, new BooleanHandler());
+        handlers.put(Boolean.class, new BooleanHandler());
+
+        handlers.put(byte.class, new ByteHandler());
+        handlers.put(Byte.class, new ByteHandler());
+        handlers.put(short.class, new ShortHandler());
+        handlers.put(Short.class, new ShortHandler());
+        handlers.put(int.class, new IntegerHandler());
+        handlers.put(Integer.class, new IntegerHandler());
+        handlers.put(long.class, new LongHandler());
+        handlers.put(Long.class, new LongHandler());
+
+        handlers.put(float.class, new FloatHandler());
+        handlers.put(Float.class, new FloatHandler());
+        handlers.put(double.class, new DoubleHandler());
+        handlers.put(Double.class, new DoubleHandler());
+
+        handlers.put(String.class, new StringHandler());
+        handlers.put(File.class, new FileHandler());
+    }
+    Handler getHandler(Type type) {
+        if (type instanceof ParameterizedType) {
+            ParameterizedType parameterizedType = (ParameterizedType) type;
+            Class rawClass = (Class<?>) parameterizedType.getRawType();
+            if (!Collection.class.isAssignableFrom(rawClass)) {
+                throw new RuntimeException("cannot handle non-collection parameterized type " + type);
+            }
+            Type actualType = parameterizedType.getActualTypeArguments()[0];
+            if (!(actualType instanceof Class)) {
+                throw new RuntimeException("cannot handle nested parameterized type " + type);
+            }
+            return getHandler(actualType);
+        }
+        if (type instanceof Class) {
+            if (Collection.class.isAssignableFrom((Class) type)) {
+                // could handle by just having a default of treating
+                // contents as String but consciously decided this
+                // should be an error
+                throw new RuntimeException(
+                        "cannot handle non-parameterized collection " + type + ". " +
+                        "use a generic Collection to specify a desired element type");
+            }
+            return handlers.get((Class<?>) type);
+        }
+        throw new RuntimeException("cannot handle unknown field type " + type);
+    }
+
+    private final Object optionSource;
+    private final HashMap<String, Field> optionMap;
+
+    /**
+     * Constructs a new OptionParser for setting the @Option fields of 'optionSource'.
+     */
+    public OptionParser(Object optionSource) {
+        this.optionSource = optionSource;
+        this.optionMap = makeOptionMap();
+    }
+
+    /**
+     * Parses the command-line arguments 'args', setting the @Option fields of the 'optionSource' provided to the constructor.
+     * Returns a list of the positional arguments left over after processing all options.
+     */
+    public List<String> parse(String[] args) {
+        return parseOptions(Arrays.asList(args).iterator());
+    }
+
+    private List<String> parseOptions(Iterator<String> args) {
+        final List<String> leftovers = new ArrayList<String>();
+
+        // Scan 'args'.
+        while (args.hasNext()) {
+            final String arg = args.next();
+            if (arg.equals("--")) {
+                // "--" marks the end of options and the beginning of positional arguments.
+                break;
+            } else if (arg.startsWith("--")) {
+                // A long option.
+                parseLongOption(arg, args);
+            } else if (arg.startsWith("-")) {
+                // A short option.
+                parseGroupedShortOptions(arg, args);
+            } else {
+                // The first non-option marks the end of options.
+                leftovers.add(arg);
+                break;
+            }
+        }
+
+        // Package up the leftovers.
+        while (args.hasNext()) {
+            leftovers.add(args.next());
+        }
+        return leftovers;
+    }
+
+    private Field fieldForArg(String name) {
+        final Field field = optionMap.get(name);
+        if (field == null) {
+            throw new RuntimeException("unrecognized option '" + name + "'");
+        }
+        return field;
+    }
+
+    private void parseLongOption(String arg, Iterator<String> args) {
+        String name = arg.replaceFirst("^--no-", "--");
+        String value = null;
+
+        // Support "--name=value" as well as "--name value".
+        final int equalsIndex = name.indexOf('=');
+        if (equalsIndex != -1) {
+            value = name.substring(equalsIndex + 1);
+            name = name.substring(0, equalsIndex);
+        }
+
+        final Field field = fieldForArg(name);
+        final Handler handler = getHandler(field.getGenericType());
+        if (value == null) {
+            if (handler.isBoolean()) {
+                value = arg.startsWith("--no-") ? "false" : "true";
+            } else {
+                value = grabNextValue(args, name, field);
+            }
+        }
+        setValue(optionSource, field, arg, handler, value);
+    }
+
+    // Given boolean options a and b, and non-boolean option f, we want to allow:
+    // -ab
+    // -abf out.txt
+    // -abfout.txt
+    // (But not -abf=out.txt --- POSIX doesn't mention that either way, but GNU expressly forbids it.)
+    private void parseGroupedShortOptions(String arg, Iterator<String> args) {
+        for (int i = 1; i < arg.length(); ++i) {
+            final String name = "-" + arg.charAt(i);
+            final Field field = fieldForArg(name);
+            final Handler handler = getHandler(field.getGenericType());
+            String value;
+            if (handler.isBoolean()) {
+                value = "true";
+            } else {
+                // We need a value. If there's anything left, we take the rest of this "short option".
+                if (i + 1 < arg.length()) {
+                    value = arg.substring(i + 1);
+                    i = arg.length() - 1;
+                } else {
+                    value = grabNextValue(args, name, field);
+                }
+            }
+            setValue(optionSource, field, arg, handler, value);
+        }
+    }
+
+    private static void setValue(Object object, Field field, String arg, Handler handler, String valueText) {
+
+        Object value = handler.translate(valueText);
+        if (value == null) {
+            final String type = field.getType().getSimpleName().toLowerCase();
+            throw new RuntimeException("couldn't convert '" + valueText + "' to a " + type + " for option '" + arg + "'");
+        }
+        try {
+            field.setAccessible(true);
+            if (Collection.class.isAssignableFrom(field.getType())) {
+                Collection collection = (Collection)field.get(object);
+                collection.add(value);
+            } else {
+                field.set(object, value);
+            }
+        } catch (IllegalAccessException ex) {
+            throw new RuntimeException("internal error", ex);
+        }
+    }
+
+    // Returns the next element of 'args' if there is one. Uses 'name' and 'field' to construct a helpful error message.
+    private String grabNextValue(Iterator<String> args, String name, Field field) {
+        if (!args.hasNext()) {
+            final String type = field.getType().getSimpleName().toLowerCase();
+            throw new RuntimeException("option '" + name + "' requires a " + type + " argument");
+        }
+        return args.next();
+    }
+
+    // Cache the available options and report any problems with the options themselves right away.
+    private HashMap<String, Field> makeOptionMap() {
+        final HashMap<String, Field> optionMap = new HashMap<String, Field>();
+        final Class<?> optionClass = optionSource.getClass();
+        for (Field field : optionClass.getDeclaredFields()) {
+            if (field.isAnnotationPresent(Option.class)) {
+                final Option option = field.getAnnotation(Option.class);
+                final String[] names = option.names();
+                if (names.length == 0) {
+                    throw new RuntimeException("found an @Option with no name!");
+                }
+                for (String name : names) {
+                    if (optionMap.put(name, field) != null) {
+                        throw new RuntimeException("found multiple @Options sharing the name '" + name + "'");
+                    }
+                }
+                if (getHandler(field.getGenericType()) == null) {
+                    throw new RuntimeException("unsupported @Option field type '" + field.getType() + "'");
+                }
+            }
+        }
+        return optionMap;
+    }
+
+    static abstract class Handler {
+        // Only BooleanHandler should ever override this.
+        boolean isBoolean() {
+            return false;
+        }
+
+        /**
+         * Returns an object of appropriate type for the given Handle, corresponding to 'valueText'.
+         * Returns null on failure.
+         */
+        abstract Object translate(String valueText);
+    }
+
+    static class BooleanHandler extends Handler {
+        @Override boolean isBoolean() {
+            return true;
+        }
+
+        Object translate(String valueText) {
+            if (valueText.equalsIgnoreCase("true") || valueText.equalsIgnoreCase("yes")) {
+                return Boolean.TRUE;
+            } else if (valueText.equalsIgnoreCase("false") || valueText.equalsIgnoreCase("no")) {
+                return Boolean.FALSE;
+            }
+            return null;
+        }
+    }
+
+    static class ByteHandler extends Handler {
+        Object translate(String valueText) {
+            try {
+                return Byte.parseByte(valueText);
+            } catch (NumberFormatException ex) {
+                return null;
+            }
+        }
+    }
+
+    static class ShortHandler extends Handler {
+        Object translate(String valueText) {
+            try {
+                return Short.parseShort(valueText);
+            } catch (NumberFormatException ex) {
+                return null;
+            }
+        }
+    }
+
+    static class IntegerHandler extends Handler {
+        Object translate(String valueText) {
+            try {
+                return Integer.parseInt(valueText);
+            } catch (NumberFormatException ex) {
+                return null;
+            }
+        }
+    }
+
+    static class LongHandler extends Handler {
+        Object translate(String valueText) {
+            try {
+                return Long.parseLong(valueText);
+            } catch (NumberFormatException ex) {
+                return null;
+            }
+        }
+    }
+
+    static class FloatHandler extends Handler {
+        Object translate(String valueText) {
+            try {
+                return Float.parseFloat(valueText);
+            } catch (NumberFormatException ex) {
+                return null;
+            }
+        }
+    }
+
+    static class DoubleHandler extends Handler {
+        Object translate(String valueText) {
+            try {
+                return Double.parseDouble(valueText);
+            } catch (NumberFormatException ex) {
+                return null;
+            }
+        }
+    }
+
+    static class StringHandler extends Handler {
+        Object translate(String valueText) {
+            return valueText;
+        }
+    }
+
+    static class FileHandler extends Handler {
+        Object translate(String valueText) {
+            return new File(valueText);
+        }
+    }
+}
diff --git a/libcore/tools/runner/java/dalvik/runner/Vm.java b/libcore/tools/runner/java/dalvik/runner/Vm.java
index 3d66fce..3afd7ae 100644
--- a/libcore/tools/runner/java/dalvik/runner/Vm.java
+++ b/libcore/tools/runner/java/dalvik/runner/Vm.java
@@ -51,11 +51,11 @@
 
     private final Pattern JAVA_TEST_PATTERN = Pattern.compile("\\/(\\w)+\\.java$");
     static final Classpath COMPILATION_CLASSPATH = Classpath.of(
-            new File("out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar"),
-            new File("out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/classes.jar"),
-            new File("out/target/common/obj/JAVA_LIBRARIES/jsr305_intermediates/classes.jar"),
-            new File("out/target/common/obj/JAVA_LIBRARIES/guava_intermediates/classes.jar"),
-            new File("out/target/common/obj/JAVA_LIBRARIES/caliper_intermediates/classes.jar"));
+            new File("out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar").getAbsoluteFile(),
+            new File("out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/classes.jar").getAbsoluteFile(),
+            new File("out/target/common/obj/JAVA_LIBRARIES/jsr305_intermediates/classes.jar").getAbsoluteFile(),
+            new File("out/target/common/obj/JAVA_LIBRARIES/guava_intermediates/classes.jar").getAbsoluteFile(),
+            new File("out/target/common/obj/JAVA_LIBRARIES/caliper_intermediates/classes.jar").getAbsoluteFile());
 
     private static final Logger logger = Logger.getLogger(Vm.class.getName());
 
diff --git a/libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp b/libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
index c6d23e7..69ab7fe 100644
--- a/libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
+++ b/libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
@@ -40,20 +40,6 @@
     ERR_remove_state(0);
 }
 
-/**
- * Throws a NullPointerException without any message.
- */
-static void throwNullPointerException(JNIEnv* env) {
-    jniThrowException(env, "java/lang/NullPointerException", NULL);
-}
-
-/**
- * Throws a RuntimeException with a human-readable error message.
- */
-static void throwRuntimeException(JNIEnv* env, const char* message) {
-    jniThrowException(env, "java/lang/RuntimeException", message);
-}
-
 /*
  * Checks this thread's OpenSSL error queue and throws a RuntimeException if
  * necessary.
@@ -68,7 +54,7 @@
         char message[50];
         ERR_error_string_n(error, message, sizeof(message));
         LOGD("OpenSSL error %d: %s", error, message);
-        throwRuntimeException(env, message);
+        jniThrowRuntimeException(env, message);
         result = 1;
     }
 
@@ -105,7 +91,7 @@
     
     if (rsa->n == NULL || rsa->e == NULL) {
         rsaDestroyKey(env, clazz, rsa);
-        throwRuntimeException(env, "Unable to convert BigInteger to BIGNUM");
+        jniThrowRuntimeException(env, "Unable to convert BigInteger to BIGNUM");
         return NULL;
     }
     
@@ -131,7 +117,7 @@
     
     if (rsa->n == NULL || rsa->e == NULL || rsa->d == NULL || rsa->p == NULL || rsa->q == NULL) {
         rsaDestroyKey(env, clazz, rsa);
-        throwRuntimeException(env, "Unable to convert BigInteger to BIGNUM");
+        jniThrowRuntimeException(env, "Unable to convert BigInteger to BIGNUM");
         return NULL;
     }
     
@@ -168,7 +154,7 @@
 
     if (dsa->p == NULL || dsa->q == NULL || dsa->g == NULL || dsa->pub_key == NULL) {
         DSA_free(dsa);
-        throwRuntimeException(env, "Unable to convert BigInteger to BIGNUM");
+        jniThrowRuntimeException(env, "Unable to convert BigInteger to BIGNUM");
         return NULL;
     }
     
@@ -206,7 +192,7 @@
     
     if (rsa->n == NULL || rsa->e == NULL) {
         RSA_free(rsa);
-        throwRuntimeException(env, "Unable to convert BigInteger to BIGNUM");
+        jniThrowRuntimeException(env, "Unable to convert BigInteger to BIGNUM");
         return NULL;
     }
     
@@ -254,7 +240,7 @@
     // LOGI("NativeCrypto_EVP_DigestFinal%x, %x, %d, %d", ctx, hash, offset);
     
     if (ctx == NULL || hash == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return -1;
     }
 
@@ -276,7 +262,7 @@
     // LOGI("NativeCrypto_EVP_DigestInit");
     
     if (ctx == NULL || algorithm == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return;
     }
     
@@ -286,7 +272,7 @@
     env->ReleaseStringUTFChars(algorithm, algorithmChars);
     
     if (digest == NULL) {
-        throwRuntimeException(env, "Hash algorithm not found");
+        jniThrowRuntimeException(env, "Hash algorithm not found");
         return;
     }
     
@@ -302,7 +288,7 @@
     // LOGI("NativeCrypto_EVP_DigestSize");
     
     if (ctx == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return -1;
     }
     
@@ -320,7 +306,7 @@
     // LOGI("NativeCrypto_EVP_DigestBlockSize");
     
     if (ctx == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return -1;
     }
     
@@ -338,7 +324,7 @@
     // LOGI("NativeCrypto_EVP_DigestUpdate %x, %x, %d, %d", ctx, buffer, offset, length);
     
     if (ctx == NULL || buffer == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return;
     }
   
@@ -356,7 +342,7 @@
     // LOGI("NativeCrypto_EVP_VerifyInit");
     
     if (ctx == NULL || algorithm == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return;
     }
     
@@ -366,7 +352,7 @@
     env->ReleaseStringUTFChars(algorithm, algorithmChars);
     
     if (digest == NULL) {
-        throwRuntimeException(env, "Hash algorithm not found");
+        jniThrowRuntimeException(env, "Hash algorithm not found");
         return;
     }
     
@@ -382,7 +368,7 @@
     // LOGI("NativeCrypto_EVP_VerifyUpdate %x, %x, %d, %d", ctx, buffer, offset, length);
     
     if (ctx == NULL || buffer == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return;
     }
   
@@ -400,7 +386,7 @@
     // LOGI("NativeCrypto_EVP_VerifyFinal %x, %x, %d, %d %x", ctx, buffer, offset, length, pkey);
     
     if (ctx == NULL || buffer == NULL || pkey == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return -1;
     }
   
diff --git a/libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_OpenSSLSocketImpl.cpp b/libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_OpenSSLSocketImpl.cpp
index 646ae97..a3c86d6 100644
--- a/libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_OpenSSLSocketImpl.cpp
+++ b/libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_OpenSSLSocketImpl.cpp
@@ -64,24 +64,6 @@
 }
 
 /**
- * Throws a NullPointerException without any message.
- */
-static void throwNullPointerException(JNIEnv* env) {
-    if (jniThrowException(env, "java/lang/NullPointerException", NULL)) {
-        LOGE("Unable to throw");
-    }
-}
-
-/**
- * Throws a RuntimeException with a human-readable error message.
- */
-static void throwRuntimeException(JNIEnv* env, const char* message) {
-    if (jniThrowException(env, "java/lang/RuntimeException", message)) {
-        LOGE("Unable to throw");
-    }
-}
-
-/**
  * Throws an SocketTimeoutException with the given string as a message.
  */
 static void throwSocketTimeoutException(JNIEnv* env, const char* message) {
@@ -1770,7 +1752,7 @@
     // LOGD("Entering verifysignature()");
 
     if (msg == NULL || sig == NULL || algorithm == NULL || mod == NULL || exp == NULL) {
-        throwNullPointerException(env);
+        jniThrowNullPointerException(env, NULL);
         return -1;
     }
 
@@ -1809,9 +1791,9 @@
         if (error != 0) {
             char message[50];
             ERR_error_string_n(error, message, sizeof(message));
-            throwRuntimeException(env, message);
+            jniThrowRuntimeException(env, message);
         } else {
-            throwRuntimeException(env, "Internal error during verification");
+            jniThrowRuntimeException(env, "Internal error during verification");
         }
         freeSslErrorState();
     }
diff --git a/libcore/xml/src/main/java/javax/xml/transform/TransformerException.java b/libcore/xml/src/main/java/javax/xml/transform/TransformerException.java
index 4c9e35d..fbcb1b0 100644
--- a/libcore/xml/src/main/java/javax/xml/transform/TransformerException.java
+++ b/libcore/xml/src/main/java/javax/xml/transform/TransformerException.java
@@ -19,9 +19,6 @@
 
 package javax.xml.transform;
 
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
 /**
  * This class specifies an exceptional condition that occurred
  * during the transformation process.
@@ -315,66 +312,5 @@
 
             super.printStackTrace(s);
         } catch (Throwable e) {}
-
-        boolean isJdk14OrHigher = false;
-        try {
-        	Throwable.class.getMethod("getCause",(Class[]) null);
-        	isJdk14OrHigher = true;
-        } catch (NoSuchMethodException nsme) {
-        	// do nothing
-        }
-
-        // The printStackTrace method of the Throwable class in jdk 1.4 
-        // and higher will include the cause when printing the backtrace.
-        // The following code is only required when using jdk 1.3 or lower                 
-        if (!isJdk14OrHigher) {
-            Throwable exception = getException();
-
-            for (int i = 0; (i < 10) && (null != exception); i++) {
-                s.println("---------");
-
-                try {
-                    if (exception instanceof TransformerException) {
-                        String locInfo =
-                            ((TransformerException) exception)
-                            .getLocationAsString();
-
-                        if (null != locInfo) {
-                            s.println(locInfo);
-                        }
-                    }
-
-                    exception.printStackTrace(s);
-                } catch (Throwable e) {
-                    s.println("Could not print stack trace...");
-                }
-
-                try {
-                    Method meth =
-                        ((Object) exception).getClass().getMethod("getException",
-                        (Class[]) null);
-
-                    if (null != meth) {
-                        Throwable prev = exception;
-
-                        exception = (Throwable) meth.invoke(exception, (Object[]) null);
-
-                        if (prev == exception) {
-                            break;
-                        }
-                    } else {
-                        exception = null;
-                    }
-                } catch (InvocationTargetException ite) {
-                    exception = null;
-                } catch (IllegalAccessException iae) {
-                    exception = null;
-                } catch (NoSuchMethodException nsme) {
-                    exception = null;
-                }
-            }
-        }
-        // insure output is written
-        s.flush();
     }
 }
diff --git a/libcore/xml/src/main/java/org/apache/harmony/xml/parsers/DocumentBuilderImpl.java b/libcore/xml/src/main/java/org/apache/harmony/xml/parsers/DocumentBuilderImpl.java
index eacf0a0..5a3c48c 100644
--- a/libcore/xml/src/main/java/org/apache/harmony/xml/parsers/DocumentBuilderImpl.java
+++ b/libcore/xml/src/main/java/org/apache/harmony/xml/parsers/DocumentBuilderImpl.java
@@ -17,6 +17,8 @@
 package org.apache.harmony.xml.parsers;
 
 import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
 import java.util.StringTokenizer;
 
 import javax.xml.parsers.DocumentBuilder;
@@ -122,10 +124,16 @@
                 parser.setInput(source.getByteStream(), source.getEncoding());
             } else if (source.getCharacterStream() != null) {
                 parser.setInput(source.getCharacterStream());
+            } else if (source.getSystemId() != null) {
+                URL url = new URL(source.getSystemId());
+                URLConnection urlConnection = url.openConnection();
+                urlConnection.connect();
+                String encoding = source.getEncoding();
+                // TODO: if null, extract the encoding from the Content-Type header?
+                parser.setInput(urlConnection.getInputStream(), encoding);
             } else {
-                // TODO Accept other sources as well?
                 throw new SAXParseException(
-                        "InputSource needs either stream or reader", null);
+                        "InputSource needs a stream, reader or URI", null);
             }
 
             if(parser.nextToken() == XmlPullParser.END_DOCUMENT) {
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerExsltFunction.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerExsltFunction.java
deleted file mode 100644
index 6105220..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerExsltFunction.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExtensionHandlerExsltFunction.java 469672 2006-10-31 21:56:19Z minchau $
- */
-package org.apache.xalan.extensions;
-
-import java.io.IOException;
-import java.util.Vector;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.templates.Constants;
-import org.apache.xalan.templates.ElemExsltFuncResult;
-import org.apache.xalan.templates.ElemExsltFunction;
-import org.apache.xalan.templates.ElemTemplate;
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.templates.Stylesheet;
-import org.apache.xalan.templates.StylesheetRoot;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xml.utils.QName;
-import org.apache.xpath.ExpressionNode;
-import org.apache.xpath.XPathContext;
-import org.apache.xpath.functions.FuncExtFunction;
-import org.apache.xpath.objects.XObject;
-import org.apache.xpath.objects.XString;
-
-/**
- * Execute EXSLT functions, determine the availability of EXSLT functions, and the
- * availability of an EXSLT result element.
- */
-public class ExtensionHandlerExsltFunction extends ExtensionHandler
-{
-  private String m_namespace;
-  private StylesheetRoot m_stylesheet;
-  private static final QName RESULTQNAME = 
-                  new QName(Constants.S_EXSLT_FUNCTIONS_URL,
-                            Constants.EXSLT_ELEMNAME_FUNCRESULT_STRING);
-  /**
-   * Constructor called from ElemExsltFunction runtimeInit().
-   */  
-  public ExtensionHandlerExsltFunction(String ns, StylesheetRoot stylesheet)
-  {
-    super(ns, "xml"); // required by ExtensionHandler interface.
-    m_namespace = ns;
-    m_stylesheet = stylesheet;
-  }
-  
-  /**
-   * Required by ExtensionHandler (an abstract method). No-op.
-   */
-  public void processElement(
-    String localPart, ElemTemplateElement element, TransformerImpl transformer,
-    Stylesheet stylesheetTree, Object methodKey) throws TransformerException, IOException
-  {}
-  
-  /**
-   * Get the ElemExsltFunction element associated with the 
-   * function.
-   * 
-   * @param funcName Local name of the function.
-   * @return the ElemExsltFunction element associated with
-   * the function, null if none exists.
-   */
-  public ElemExsltFunction getFunction(String funcName)
-  {
-    QName qname = new QName(m_namespace, funcName);
-    ElemTemplate templ = m_stylesheet.getTemplateComposed(qname);
-    if (templ != null && templ instanceof ElemExsltFunction)
-      return (ElemExsltFunction) templ;
-    else
-      return null;    
-  }
-  
-  
-  /**
-   * Does the EXSLT function exist?
-   * 
-   * @param funcName Local name of the function.
-   * @return true if the function exists.
-   */  
-  public boolean isFunctionAvailable(String funcName)
-  {
-    return getFunction(funcName)!= null;
-  }
-    
-   /** If an element-available() call applies to an EXSLT result element within 
-   * an EXSLT function element, return true.
-   *
-   * Note: The EXSLT function element is a template-level element, and 
-   * element-available() returns false for it.
-   * 
-   * @param elemName name of the element.
-   * @return true if the function is available.
-   */
-  public boolean isElementAvailable(String elemName)
-  {
-    if (!(new QName(m_namespace, elemName).equals(RESULTQNAME)))
-    {
-      return false;
-    }
-    else
-    {
-      ElemTemplateElement elem = m_stylesheet.getFirstChildElem();
-      while (elem != null && elem != m_stylesheet)
-      {
-        if (elem instanceof ElemExsltFuncResult && ancestorIsFunction(elem))
-          return true;
-        ElemTemplateElement  nextElem = elem.getFirstChildElem();
-        if (nextElem == null)
-          nextElem = elem.getNextSiblingElem();
-        if (nextElem == null)
-          nextElem = elem.getParentElem();
-        elem = nextElem;
-      }
-    }
-    return false;
-  }
-
-  /**
-   * Determine whether the func:result element is within a func:function element. 
-   * If not, it is illegal.
-   */
-  private boolean ancestorIsFunction(ElemTemplateElement child)
-  {
-    while (child.getParentElem() != null 
-           && !(child.getParentElem() instanceof StylesheetRoot))
-    {
-      if (child.getParentElem() instanceof ElemExsltFunction)
-        return true;
-      child = child.getParentElem();      
-    }
-    return false;
-  }
-
-  /**
-   * Execute the EXSLT function and return the result value.
-   * 
-   * @param funcName Name of the EXSLT function.
-   * @param args     The arguments of the function call.
-   * @param methodKey Not used.
-   * @param exprContext Used to get the XPathContext.
-   * @return the return value of the function evaluation.
-   * @throws TransformerException
-   */
-  public Object callFunction(
-      String funcName, Vector args, Object methodKey,
-      ExpressionContext exprContext) throws TransformerException
-  {
-    throw new TransformerException("This method should not be called.");
-  }
-
-  /**
-   * Execute the EXSLT function and return the result value.
-   *
-   * @param extFunction The XPath extension function
-   * @param args The arguments of the function call.
-   * @param exprContext The context in which this expression is being executed.
-   * @return the return value of the function evaluation.
-   * @throws TransformerException
-   */
-  public Object callFunction(FuncExtFunction extFunction,
-                             Vector args,
-                             ExpressionContext exprContext)
-      throws TransformerException
-  {
-    // Find the template which invokes this EXSLT function.
-    ExpressionNode parent = extFunction.exprGetParent();
-    while (parent != null && !(parent instanceof ElemTemplate))
-    {
-      parent = parent.exprGetParent();
-    }
-    
-    ElemTemplate callerTemplate = (parent != null) ? (ElemTemplate)parent: null;
-    
-    XObject[] methodArgs;
-    methodArgs = new XObject[args.size()];
-    try
-    {
-      for (int i = 0; i < methodArgs.length; i++)
-      {
-        methodArgs[i] =  XObject.create(args.get(i));
-      }
-      
-      ElemExsltFunction elemFunc = getFunction(extFunction.getFunctionName());
-      
-      if (null != elemFunc) {
-        XPathContext context = exprContext.getXPathContext();
-        TransformerImpl transformer = (TransformerImpl)context.getOwnerObject();
-        transformer.pushCurrentFuncResult(null);
-
-        elemFunc.execute(transformer, methodArgs);
-
-        XObject val = (XObject)transformer.popCurrentFuncResult();
-        return (val == null) ? new XString("") // value if no result element.
-                             : val;
-      }
-      else {
-      	throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_FUNCTION_NOT_FOUND, new Object[] {extFunction.getFunctionName()}));
-      }
-    }
-    catch (TransformerException e)
-    {
-      throw e;
-    }
-    catch (Exception e)
-    {
-      throw new TransformerException(e);
-    }    
-  }
-  
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerGeneral.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerGeneral.java
deleted file mode 100644
index 8feaaa6..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerGeneral.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExtensionHandlerGeneral.java 469672 2006-10-31 21:56:19Z minchau $
- */
-package org.apache.xalan.extensions;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.xml.res.XMLErrorResources;
-import org.apache.xml.res.XMLMessages;
-
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.templates.Stylesheet;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xml.dtm.DTMIterator;
-import org.apache.xml.dtm.ref.DTMNodeList;
-import org.apache.xml.utils.StringVector;
-import org.apache.xml.utils.SystemIDResolver;
-import org.apache.xpath.XPathProcessorException;
-import org.apache.xpath.functions.FuncExtFunction;
-import org.apache.xpath.objects.XObject;
-
-/**
- * Class handling an extension namespace for XPath. Provides functions
- * to test a function's existence and call a function
- *
- * @author Sanjiva Weerawarana (sanjiva@watson.ibm.com)
- * @xsl.usage internal
- */
-public class ExtensionHandlerGeneral extends ExtensionHandler
-{
-
-  /** script source to run (if any)      */
-  private String m_scriptSrc;   
-
-  /** URL of source of script (if any)         */
-  private String m_scriptSrcURL;  
-
-  /** functions of namespace        */
-  private Hashtable m_functions = new Hashtable();  
-
-  /** elements of namespace         */
-  private Hashtable m_elements = new Hashtable();   
-
-  // BSF objects used to invoke BSF by reflection.  Do not import the BSF classes
-  // since we don't want a compile dependency on BSF.
-
-  /** BSF manager used to run scripts */
-  private Object m_engine;
-
-  /** Engine call to invoke scripts */
-  private Method m_engineCall = null;
-
-  // static fields
-
-  /** BSFManager package name */
-  private static String BSF_MANAGER ;
-  
-  /** Default BSFManager name */
-  private static final String DEFAULT_BSF_MANAGER = "org.apache.bsf.BSFManager";
-  
-  /** Property name to load the BSFManager class */
-  private static final String propName = "org.apache.xalan.extensions.bsf.BSFManager";
-  
-  /** Integer Zero */
-  private static final Integer ZEROINT = new Integer(0);
-
-  static{
-          BSF_MANAGER =  ObjectFactory.lookUpFactoryClassName(propName, null, null);
- 
-          if (BSF_MANAGER == null){
-                  BSF_MANAGER = DEFAULT_BSF_MANAGER;               
-          }          
-  }
-
-  /**
-   * Construct a new extension namespace handler given all the information
-   * needed.
-   *
-   * @param namespaceUri the extension namespace URI that I'm implementing
-   * @param elemNames Vector of element names
-   * @param funcNames    string containing list of functions of extension NS
-   * @param scriptLang Scripting language of implementation
-   * @param scriptSrcURL URL of source script
-   * @param scriptSrc    the actual script code (if any)
-   * @param systemId
-   *
-   * @throws TransformerException
-   */
-  public ExtensionHandlerGeneral(
-          String namespaceUri, StringVector elemNames, StringVector funcNames, String scriptLang, String scriptSrcURL, String scriptSrc, String systemId)
-            throws TransformerException
-  {
-
-    super(namespaceUri, scriptLang);
-
-    if (elemNames != null)
-    {
-      Object junk = new Object();
-      int n = elemNames.size();
-
-      for (int i = 0; i < n; i++)
-      {
-        String tok = elemNames.elementAt(i);
-
-        m_elements.put(tok, junk);  // just stick it in there basically
-      }
-    }
-
-    if (funcNames != null)
-    {
-      Object junk = new Object();
-      int n = funcNames.size();
-
-      for (int i = 0; i < n; i++)
-      {
-        String tok = funcNames.elementAt(i);
-
-        m_functions.put(tok, junk);  // just stick it in there basically
-      }
-    }
-
-    m_scriptSrcURL = scriptSrcURL;
-    m_scriptSrc = scriptSrc;
-
-    if (m_scriptSrcURL != null)
-    {
-      URL url = null;
-      try{
-        url = new URL(m_scriptSrcURL);
-      }
-      catch (java.net.MalformedURLException mue)
-      {
-        int indexOfColon = m_scriptSrcURL.indexOf(':');
-        int indexOfSlash = m_scriptSrcURL.indexOf('/');
-
-        if ((indexOfColon != -1) && (indexOfSlash != -1)
-            && (indexOfColon < indexOfSlash))
-        {
-          // The url is absolute.
-          url = null;
-          throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_COULD_NOT_FIND_EXTERN_SCRIPT, new Object[]{m_scriptSrcURL}), mue); //"src attribute not yet supported for "
-          //+ scriptLang);
-        }
-        else
-        {
-          try{
-            url = new URL(new URL(SystemIDResolver.getAbsoluteURI(systemId)), m_scriptSrcURL);          
-          }        
-          catch (java.net.MalformedURLException mue2)
-          {
-            throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_COULD_NOT_FIND_EXTERN_SCRIPT, new Object[]{m_scriptSrcURL}), mue2); //"src attribute not yet supported for "
-          //+ scriptLang);
-          }
-        }
-      }
-      if (url != null)
-      {
-        try
-        {
-          URLConnection uc = url.openConnection();
-          InputStream is = uc.getInputStream();
-          byte []bArray = new byte[uc.getContentLength()];
-          is.read(bArray);
-          m_scriptSrc = new String(bArray);
-          
-        }
-        catch (IOException ioe)
-        {
-          throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_COULD_NOT_FIND_EXTERN_SCRIPT, new Object[]{m_scriptSrcURL}), ioe); //"src attribute not yet supported for "
-          //+ scriptLang);
-        }
-      }
-      
-    }
-
-    Object manager = null;
-    try
-    {
-      manager = ObjectFactory.newInstance(
-        BSF_MANAGER, ObjectFactory.findClassLoader(), true);
-    }
-    catch (ObjectFactory.ConfigurationError e)
-    {
-      e.printStackTrace();
-    }
-
-    if (manager == null)
-    {
-      throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_CANNOT_INIT_BSFMGR, null)); //"Could not initialize BSF manager");
-    }
-
-    try
-    {
-      Method loadScriptingEngine = manager.getClass()
-        .getMethod("loadScriptingEngine", new Class[]{ String.class });
-
-      m_engine = loadScriptingEngine.invoke(manager,
-        new Object[]{ scriptLang });
-
-      Method engineExec = m_engine.getClass().getMethod("exec",
-        new Class[]{ String.class, Integer.TYPE, Integer.TYPE, Object.class });
-
-      // "Compile" the program
-      engineExec.invoke(m_engine,
-        new Object[]{ "XalanScript", ZEROINT, ZEROINT, m_scriptSrc });
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace();
-
-      throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_CANNOT_CMPL_EXTENSN, null), e); //"Could not compile extension", e);
-    }
-  }
-
-  /**
-   * Tests whether a certain function name is known within this namespace.
-   * @param function name of the function being tested
-   * @return true if its known, false if not.
-   */
-  public boolean isFunctionAvailable(String function)
-  {
-    return (m_functions.get(function) != null);
-  }
-
-  /**
-   * Tests whether a certain element name is known within this namespace.
-   * @param element name of the element being tested
-   * @return true if its known, false if not.
-   */
-  public boolean isElementAvailable(String element)
-  {
-    return (m_elements.get(element) != null);
-  }
-
-  /**
-   * Process a call to a function.
-   *
-   * @param funcName Function name.
-   * @param args     The arguments of the function call.
-   * @param methodKey A key that uniquely identifies this class and method call.
-   * @param exprContext The context in which this expression is being executed.
-   *
-   * @return the return value of the function evaluation.
-   *
-   * @throws TransformerException          if parsing trouble
-   */
-  public Object callFunction(
-          String funcName, Vector args, Object methodKey, ExpressionContext exprContext)
-            throws TransformerException
-  {
-
-    Object[] argArray;
-
-    try
-    {
-      argArray = new Object[args.size()];
-
-      for (int i = 0; i < argArray.length; i++)
-      {
-        Object o = args.get(i);
-
-        argArray[i] = (o instanceof XObject) ? ((XObject) o).object() : o;
-        o = argArray[i];
-        if(null != o && o instanceof DTMIterator)
-        {
-          argArray[i] = new DTMNodeList((DTMIterator)o);
-        }
-      }
-
-      if (m_engineCall == null) {
-        m_engineCall = m_engine.getClass().getMethod("call",
-          new Class[]{ Object.class, String.class, Object[].class });
-      }
-
-      return m_engineCall.invoke(m_engine,
-        new Object[]{ null, funcName, argArray });
-    }
-    catch (Exception e)
-    {
-      e.printStackTrace();
-
-      String msg = e.getMessage();
-
-      if (null != msg)
-      {
-        if (msg.startsWith("Stopping after fatal error:"))
-        {
-          msg = msg.substring("Stopping after fatal error:".length());
-        }
-
-        // System.out.println("Call to extension function failed: "+msg);
-        throw new TransformerException(e);
-      }
-      else
-      {
-
-        // Should probably make a TRaX Extension Exception.
-        throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_CANNOT_CREATE_EXTENSN, new Object[]{funcName, e })); //"Could not create extension: " + funcName
-                               //+ " because of: " + e);
-      }
-    }
-  }
-
-  /**
-   * Process a call to an XPath extension function
-   *
-   * @param extFunction The XPath extension function
-   * @param args The arguments of the function call.
-   * @param exprContext The context in which this expression is being executed.
-   * @return the return value of the function evaluation.
-   * @throws TransformerException
-   */
-  public Object callFunction(FuncExtFunction extFunction,
-                             Vector args,
-                             ExpressionContext exprContext)
-      throws TransformerException
-  {
-    return callFunction(extFunction.getFunctionName(), args, 
-                        extFunction.getMethodKey(), exprContext);
-  }
-
-  /**
-   * Process a call to this extension namespace via an element. As a side
-   * effect, the results are sent to the TransformerImpl's result tree.
-   *
-   * @param localPart      Element name's local part.
-   * @param element        The extension element being processed.
-   * @param transformer      Handle to TransformerImpl.
-   * @param stylesheetTree The compiled stylesheet tree.
-   * @param methodKey A key that uniquely identifies this class and method call.
-   *
-   * @throws XSLProcessorException thrown if something goes wrong
-   *            while running the extension handler.
-   * @throws MalformedURLException if loading trouble
-   * @throws FileNotFoundException if loading trouble
-   * @throws IOException           if loading trouble
-   * @throws TransformerException          if parsing trouble
-   */
-  public void processElement(
-          String localPart, ElemTemplateElement element, TransformerImpl transformer, 
-          Stylesheet stylesheetTree, Object methodKey)
-            throws TransformerException, IOException
-  {
-
-    Object result = null;
-    XSLProcessorContext xpc = new XSLProcessorContext(transformer, stylesheetTree);
-
-    try
-    {
-      Vector argv = new Vector(2);
-
-      argv.add(xpc);
-      argv.add(element);
-
-      result = callFunction(localPart, argv, methodKey,
-                            transformer.getXPathContext().getExpressionContext());
-    }
-    catch (XPathProcessorException e)
-    {
-
-      // e.printStackTrace ();
-      throw new TransformerException(e.getMessage(), e);
-    }
-
-    if (result != null)
-    {
-      xpc.outputToResultTree(stylesheetTree, result);
-    }
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerJava.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerJava.java
deleted file mode 100644
index 35de133..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerJava.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExtensionHandlerJava.java 468637 2006-10-28 06:51:02Z minchau $
- */
-package org.apache.xalan.extensions;
-
-import java.util.Hashtable;
-
-/**
- * Abstract base class handling the java language extensions for XPath.
- * This base class provides cache management shared by all of the
- * various java extension handlers.
- *
- * @xsl.usage internal
- */
-public abstract class ExtensionHandlerJava extends ExtensionHandler
-{
-
-  /** Extension class name         */
-  protected String m_className = "";
-
-  /** Table of cached methods          */
-  private Hashtable m_cachedMethods = new Hashtable();
-
-  /**
-   * Construct a new extension handler given all the information
-   * needed.
-   *
-   * @param namespaceUri the extension namespace URI that I'm implementing
-   * @param funcNames    string containing list of functions of extension NS
-   * @param lang         language of code implementing the extension
-   * @param srcURL       value of src attribute (if any) - treated as a URL
-   *                     or a classname depending on the value of lang. If
-   *                     srcURL is not null, then scriptSrc is ignored.
-   * @param scriptSrc    the actual script code (if any)
-   * @param scriptLang   the scripting language
-   * @param className    the extension class name 
-   */
-  protected ExtensionHandlerJava(String namespaceUri, String scriptLang,
-                                 String className)
-  {
-
-    super(namespaceUri, scriptLang);
-
-    m_className = className;
-  }
-
-  /**
-   * Look up the entry in the method cache.
-   * @param methodKey   A key that uniquely identifies this invocation in
-   *                    the stylesheet.
-   * @param objType     A Class object or instance object representing the type
-   * @param methodArgs  An array of the XObject arguments to be used for
-   *                    function mangling.
-   *
-   * @return The given method from the method cache
-   */
-  public Object getFromCache(Object methodKey, Object objType,
-                             Object[] methodArgs)
-  {
-
-    // Eventually, we want to insert code to mangle the methodKey with methodArgs
-    return m_cachedMethods.get(methodKey);
-  }
-
-  /**
-   * Add a new entry into the method cache.
-   * @param methodKey   A key that uniquely identifies this invocation in
-   *                    the stylesheet.
-   * @param objType     A Class object or instance object representing the type
-   * @param methodArgs  An array of the XObject arguments to be used for
-   *                    function mangling.
-   * @param methodObj   A Class object or instance object representing the method
-   *
-   * @return The cached method object
-   */
-  public Object putToCache(Object methodKey, Object objType,
-                           Object[] methodArgs, Object methodObj)
-  {
-
-    // Eventually, we want to insert code to mangle the methodKey with methodArgs
-    return m_cachedMethods.put(methodKey, methodObj);
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerJavaClass.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerJavaClass.java
deleted file mode 100644
index 545779d..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerJavaClass.java
+++ /dev/null
@@ -1,544 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExtensionHandlerJavaClass.java 469672 2006-10-31 21:56:19Z minchau $
- */
-
-package org.apache.xalan.extensions;
-
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Vector;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.templates.Stylesheet;
-import org.apache.xalan.trace.ExtensionEvent;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xpath.functions.FuncExtFunction;
-import org.apache.xpath.objects.XObject;
-
-/**
- * Represents an extension namespace for XPath that handles java classes.
- * It is recommended that the class URI be of the form:
- * <pre>
- *   xalan://fully.qualified.class.name
- * </pre>
- * However, we do not enforce this.  If the class name contains a
- * a /, we only use the part to the right of the rightmost slash.
- * In addition, we ignore any "class:" prefix.
- * Provides functions to test a function's existence and call a function.
- * Also provides functions to test an element's existence and call an
- * element.
- *
- * @author <a href="mailto:garyp@firstech.com">Gary L Peskin</a>
- * @xsl.usage internal
- */
-
-public class ExtensionHandlerJavaClass extends ExtensionHandlerJava
-{
-
-  private Class m_classObj = null;
-
-  /**
-   * Provides a default Instance for use by elements that need to call 
-   * an instance method.
-   */
-
-  private Object m_defaultInstance = null;
-
-
-  /**
-   * Construct a new extension namespace handler given all the information
-   * needed. 
-   * @param namespaceUri the extension namespace URI that I'm implementing
-   * @param scriptLang   language of code implementing the extension
-   * @param className    the fully qualified class name of the class
-   */
-  public ExtensionHandlerJavaClass(String namespaceUri,
-                                   String scriptLang,
-                                   String className)
-  {
-    super(namespaceUri, scriptLang, className);
-    try
-    {
-      m_classObj = getClassForName(className);
-    }
-    catch (ClassNotFoundException e)
-    {
-      // For now, just let this go.  We'll catch it when we try to invoke a method.
-    }
-  }
-
-
-  /**
-   * Tests whether a certain function name is known within this namespace.
-   * Simply looks for a method with the appropriate name.  There is
-   * no information regarding the arguments to the function call or
-   * whether the method implementing the function is a static method or
-   * an instance method.
-   * @param function name of the function being tested
-   * @return true if its known, false if not.
-   */
-
-  public boolean isFunctionAvailable(String function) 
-  {
-    Method[] methods = m_classObj.getMethods();
-    int nMethods = methods.length;
-    for (int i = 0; i < nMethods; i++)
-    {
-      if (methods[i].getName().equals(function))
-        return true;
-    }
-    return false;
-  }
-
-
-  /**
-   * Tests whether a certain element name is known within this namespace.
-   * Looks for a method with the appropriate name and signature.
-   * This method examines both static and instance methods.
-   * @param element name of the element being tested
-   * @return true if its known, false if not.
-   */
-
-  public boolean isElementAvailable(String element) 
-  {
-    Method[] methods = m_classObj.getMethods();
-    int nMethods = methods.length;
-    for (int i = 0; i < nMethods; i++)
-    {
-      if (methods[i].getName().equals(element))
-      {
-        Class[] paramTypes = methods[i].getParameterTypes();
-        if ( (paramTypes.length == 2)
-          && paramTypes[0].isAssignableFrom(
-                        org.apache.xalan.extensions.XSLProcessorContext.class)
-          && paramTypes[1].isAssignableFrom(
-                        org.apache.xalan.templates.ElemExtensionCall.class) )
-        {
-          return true;
-        }
-      }
-    }
-    return false;
-  }
-  
-  /**
-   * Process a call to a function in the java class represented by
-   * this <code>ExtensionHandlerJavaClass<code>.
-   * There are three possible types of calls:
-   * <pre>
-   *   Constructor:
-   *     classns:new(arg1, arg2, ...)
-   *
-   *   Static method:
-   *     classns:method(arg1, arg2, ...)
-   *
-   *   Instance method:
-   *     classns:method(obj, arg1, arg2, ...)
-   * </pre>
-   * We use the following rules to determine the type of call made:
-   * <ol type="1">
-   * <li>If the function name is "new", call the best constructor for
-   *     class represented by the namespace URI</li>
-   * <li>If the first argument to the function is of the class specified
-   *     in the namespace or is a subclass of that class, look for the best
-   *     method of the class specified in the namespace with the specified
-   *     arguments.  Compare all static and instance methods with the correct
-   *     method name.  For static methods, use all arguments in the compare.
-   *     For instance methods, use all arguments after the first.</li>
-   * <li>Otherwise, select the best static or instance method matching
-   *     all of the arguments.  If the best method is an instance method,
-   *     call the function using a default object, creating it if needed.</li>
-   * </ol>
-   *
-   * @param funcName Function name.
-   * @param args     The arguments of the function call.
-   * @param methodKey A key that uniquely identifies this class and method call.
-   * @param exprContext The context in which this expression is being executed.
-   * @return the return value of the function evaluation.
-   * @throws TransformerException
-   */
-
-  public Object callFunction (String funcName, 
-                              Vector args, 
-                              Object methodKey,
-                              ExpressionContext exprContext)
-    throws TransformerException 
-  {
-
-    Object[] methodArgs;
-    Object[][] convertedArgs;
-    Class[] paramTypes;
-
-    try
-    {
-      TransformerImpl trans = (exprContext != null) ?
-          (TransformerImpl)exprContext.getXPathContext().getOwnerObject() : null;
-      if (funcName.equals("new")) {                   // Handle constructor call
-
-        methodArgs = new Object[args.size()];
-        convertedArgs = new Object[1][];
-        for (int i = 0; i < methodArgs.length; i++)
-        {
-          methodArgs[i] = args.get(i);
-        }
-        Constructor c = null;
-        if (methodKey != null)
-          c = (Constructor) getFromCache(methodKey, null, methodArgs);
-        
-        if (c != null && !trans.getDebug())
-        {
-          try
-          {
-            paramTypes = c.getParameterTypes();
-            MethodResolver.convertParams(methodArgs, convertedArgs, 
-                        paramTypes, exprContext);
-            return c.newInstance(convertedArgs[0]);
-          }
-          catch (InvocationTargetException ite)
-          {
-            throw ite;
-          }
-          catch(Exception e)
-          {
-            // Must not have been the right one
-          }
-        }
-        c = MethodResolver.getConstructor(m_classObj, 
-                                          methodArgs,
-                                          convertedArgs,
-                                          exprContext);
-        if (methodKey != null)
-          putToCache(methodKey, null, methodArgs, c);
-        
-        if (trans != null && trans.getDebug()) {            
-            trans.getTraceManager().fireExtensionEvent(new 
-                    ExtensionEvent(trans, c, convertedArgs[0]));
-            Object result;
-            try {            
-                result = c.newInstance(convertedArgs[0]);
-            } catch (Exception e) {
-                throw e;
-            } finally {
-                trans.getTraceManager().fireExtensionEndEvent(new 
-                        ExtensionEvent(trans, c, convertedArgs[0]));
-            }
-            return result;
-        } else
-            return c.newInstance(convertedArgs[0]);
-      }
-
-      else
-      {
-
-        int resolveType;
-        Object targetObject = null;
-        methodArgs = new Object[args.size()];
-        convertedArgs = new Object[1][];
-        for (int i = 0; i < methodArgs.length; i++)
-        {
-          methodArgs[i] = args.get(i);
-        }
-        Method m = null;
-        if (methodKey != null)
-          m = (Method) getFromCache(methodKey, null, methodArgs);
-        
-        if (m != null && !trans.getDebug())
-        {
-          try
-          {
-            paramTypes = m.getParameterTypes();
-            MethodResolver.convertParams(methodArgs, convertedArgs, 
-                        paramTypes, exprContext);
-            if (Modifier.isStatic(m.getModifiers()))
-              return m.invoke(null, convertedArgs[0]);
-            else
-            {
-              // This is tricky.  We get the actual number of target arguments (excluding any
-              //   ExpressionContext).  If we passed in the same number, we need the implied object.
-              int nTargetArgs = convertedArgs[0].length;
-              if (ExpressionContext.class.isAssignableFrom(paramTypes[0]))
-                nTargetArgs--;
-              if (methodArgs.length <= nTargetArgs)
-                return m.invoke(m_defaultInstance, convertedArgs[0]);
-              else  
-              {
-                targetObject = methodArgs[0];
-                
-                if (targetObject instanceof XObject)
-                  targetObject = ((XObject) targetObject).object();
-                  
-                return m.invoke(targetObject, convertedArgs[0]);
-              }
-            }
-          }
-          catch (InvocationTargetException ite)
-          {
-            throw ite;
-          }
-          catch(Exception e)
-          {
-            // Must not have been the right one
-          }
-        }
-
-        if (args.size() > 0)
-        {
-          targetObject = methodArgs[0];
-
-          if (targetObject instanceof XObject)
-            targetObject = ((XObject) targetObject).object();
-
-          if (m_classObj.isAssignableFrom(targetObject.getClass()))
-            resolveType = MethodResolver.DYNAMIC;
-          else
-            resolveType = MethodResolver.STATIC_AND_INSTANCE;
-        }
-        else
-        {
-          targetObject = null;
-          resolveType = MethodResolver.STATIC_AND_INSTANCE;
-        }
-
-        m = MethodResolver.getMethod(m_classObj,
-                                     funcName,
-                                     methodArgs, 
-                                     convertedArgs,
-                                     exprContext,
-                                     resolveType);
-        if (methodKey != null)
-          putToCache(methodKey, null, methodArgs, m);
-
-        if (MethodResolver.DYNAMIC == resolveType) {         // First argument was object type
-          if (trans != null && trans.getDebug()) {
-            trans.getTraceManager().fireExtensionEvent(m, targetObject, 
-                        convertedArgs[0]);
-            Object result;
-            try {
-                result = m.invoke(targetObject, convertedArgs[0]);
-            } catch (Exception e) {
-                throw e;
-            } finally {
-                trans.getTraceManager().fireExtensionEndEvent(m, targetObject, 
-                        convertedArgs[0]);
-            }
-            return result;
-          } else                  
-            return m.invoke(targetObject, convertedArgs[0]);
-        }
-        else                                  // First arg was not object.  See if we need the implied object.
-        {
-          if (Modifier.isStatic(m.getModifiers())) {
-            if (trans != null && trans.getDebug()) {
-              trans.getTraceManager().fireExtensionEvent(m, null, 
-                        convertedArgs[0]);
-              Object result;
-              try {
-                  result = m.invoke(null, convertedArgs[0]);
-              } catch (Exception e) {
-                throw e;
-              } finally {
-                trans.getTraceManager().fireExtensionEndEvent(m, null, 
-                        convertedArgs[0]);
-              }
-              return result;
-            } else                  
-              return m.invoke(null, convertedArgs[0]);
-          }
-          else
-          {
-            if (null == m_defaultInstance)
-            {
-              if (trans != null && trans.getDebug()) {
-                trans.getTraceManager().fireExtensionEvent(new 
-                        ExtensionEvent(trans, m_classObj));
-                try {
-                    m_defaultInstance = m_classObj.newInstance();
-                } catch (Exception e) {
-                    throw e;
-                } finally {
-                    trans.getTraceManager().fireExtensionEndEvent(new 
-                        ExtensionEvent(trans, m_classObj));
-                }
-              }    else
-                  m_defaultInstance = m_classObj.newInstance();
-            }
-            if (trans != null && trans.getDebug()) {
-              trans.getTraceManager().fireExtensionEvent(m, m_defaultInstance, 
-                    convertedArgs[0]);
-              Object result;
-              try {
-                result = m.invoke(m_defaultInstance, convertedArgs[0]);
-              } catch (Exception e) {
-                throw e;
-              } finally {
-                trans.getTraceManager().fireExtensionEndEvent(m, 
-                        m_defaultInstance, convertedArgs[0]);
-              }
-              return result;
-            } else                  
-              return m.invoke(m_defaultInstance, convertedArgs[0]);
-          }  
-        }
-
-      }
-    }
-    catch (InvocationTargetException ite)
-    {
-      Throwable resultException = ite;
-      Throwable targetException = ite.getTargetException();
- 
-      if (targetException instanceof TransformerException)
-        throw ((TransformerException)targetException);
-      else if (targetException != null)
-        resultException = targetException;
-            
-      throw new TransformerException(resultException);
-    }
-    catch (Exception e)
-    {
-      // e.printStackTrace();
-      throw new TransformerException(e);
-    }
-  }
-
-  /**
-   * Process a call to an XPath extension function
-   *
-   * @param extFunction The XPath extension function
-   * @param args The arguments of the function call.
-   * @param exprContext The context in which this expression is being executed.
-   * @return the return value of the function evaluation.
-   * @throws TransformerException
-   */
-  public Object callFunction(FuncExtFunction extFunction,
-                             Vector args,
-                             ExpressionContext exprContext)
-      throws TransformerException
-  {
-    return callFunction(extFunction.getFunctionName(), args, 
-                        extFunction.getMethodKey(), exprContext);
-  }
-
-  /**
-   * Process a call to this extension namespace via an element. As a side
-   * effect, the results are sent to the TransformerImpl's result tree. 
-   * We invoke the static or instance method in the class represented by
-   * by the namespace URI.  If we don't already have an instance of this class,
-   * we create one upon the first call.
-   *
-   * @param localPart      Element name's local part.
-   * @param element        The extension element being processed.
-   * @param transformer      Handle to TransformerImpl.
-   * @param stylesheetTree The compiled stylesheet tree.
-   * @param methodKey      A key that uniquely identifies this element call.
-   * @throws IOException           if loading trouble
-   * @throws TransformerException          if parsing trouble
-   */
-
-  public void processElement(String localPart,
-                             ElemTemplateElement element,
-                             TransformerImpl transformer,
-                             Stylesheet stylesheetTree,
-                             Object methodKey)
-    throws TransformerException, IOException
-  {
-    Object result = null;
-
-    Method m = (Method) getFromCache(methodKey, null, null);
-    if (null == m)
-    {
-      try
-      {
-        m = MethodResolver.getElementMethod(m_classObj, localPart);
-        if ( (null == m_defaultInstance) && 
-                !Modifier.isStatic(m.getModifiers()) ) {
-          if (transformer.getDebug()) {            
-            transformer.getTraceManager().fireExtensionEvent(
-                    new ExtensionEvent(transformer, m_classObj));
-            try {
-              m_defaultInstance = m_classObj.newInstance();
-            } catch (Exception e) {
-              throw e;
-            } finally {
-              transformer.getTraceManager().fireExtensionEndEvent(
-                    new ExtensionEvent(transformer, m_classObj));
-            }
-          } else 
-            m_defaultInstance = m_classObj.newInstance();
-        }
-      }
-      catch (Exception e)
-      {
-        // e.printStackTrace ();
-        throw new TransformerException (e.getMessage (), e);
-      }
-      putToCache(methodKey, null, null, m);
-    }
-
-    XSLProcessorContext xpc = new XSLProcessorContext(transformer, 
-                                                      stylesheetTree);
-
-    try
-    {
-      if (transformer.getDebug()) {
-        transformer.getTraceManager().fireExtensionEvent(m, m_defaultInstance, 
-                new Object[] {xpc, element});
-        try {
-          result = m.invoke(m_defaultInstance, new Object[] {xpc, element});
-        } catch (Exception e) {
-          throw e;
-        } finally {
-          transformer.getTraceManager().fireExtensionEndEvent(m, 
-                m_defaultInstance, new Object[] {xpc, element});
-        }
-      } else                  
-        result = m.invoke(m_defaultInstance, new Object[] {xpc, element});
-    }
-    catch (InvocationTargetException e)
-    {
-      Throwable targetException = e.getTargetException();
-      
-      if (targetException instanceof TransformerException)
-        throw (TransformerException)targetException;
-      else if (targetException != null)
-        throw new TransformerException (targetException.getMessage (), 
-                targetException);
-      else
-        throw new TransformerException (e.getMessage (), e);
-    }
-    catch (Exception e)
-    {
-      // e.printStackTrace ();
-      throw new TransformerException (e.getMessage (), e);
-    }
-
-    if (result != null)
-    {
-      xpc.outputToResultTree (stylesheetTree, result);
-    }
- 
-  }
- 
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.java
deleted file mode 100644
index 9a61890..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.java
+++ /dev/null
@@ -1,540 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExtensionHandlerJavaPackage.java 469672 2006-10-31 21:56:19Z minchau $
- */
-package org.apache.xalan.extensions;
-
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Vector;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.templates.Stylesheet;
-import org.apache.xalan.trace.ExtensionEvent;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xpath.functions.FuncExtFunction;
-import org.apache.xpath.objects.XObject;
-
-/**
- * Represents an extension namespace for XPath that handles java packages
- * that may be fully or partially specified.
- * It is recommended that the class URI be of one of the following forms:
- * <pre>
- *   xalan://partial.class.name
- *   xalan://
- *   http://xml.apache.org/xalan/java (which is the same as xalan://)
- * </pre>
- * However, we do not enforce this.  If the class name contains a
- * a /, we only use the part to the right of the rightmost slash.
- * In addition, we ignore any "class:" prefix.
- * Provides functions to test a function's existence and call a function.
- * Also provides functions to test an element's existence and call an
- * element.
- *
- * @author <a href="mailto:garyp@firstech.com">Gary L Peskin</a>
- *
- * @xsl.usage internal
- */
-
-
-public class ExtensionHandlerJavaPackage extends ExtensionHandlerJava
-{
-
-  /**
-   * Construct a new extension namespace handler given all the information
-   * needed. 
-   * 
-   * @param namespaceUri the extension namespace URI that I'm implementing
-   * @param scriptLang   language of code implementing the extension
-   * @param className    the beginning of the class name of the class.  This
-   *                     should be followed by a dot (.)
-   */
-  public ExtensionHandlerJavaPackage(String namespaceUri,
-                                     String scriptLang,
-                                     String className)
-  {
-    super(namespaceUri, scriptLang, className);
-  }
-
-
-  /**
-   * Tests whether a certain function name is known within this namespace.
-   * Since this is for a package, we concatenate the package name used when
-   * this handler was created and the function name specified in the argument.
-   * There is
-   * no information regarding the arguments to the function call or
-   * whether the method implementing the function is a static method or
-   * an instance method.
-   * @param function name of the function being tested
-   * @return true if its known, false if not.
-   */
-
-  public boolean isFunctionAvailable(String function) 
-  {
-    try
-    {
-      String fullName = m_className + function;
-      int lastDot = fullName.lastIndexOf(".");
-      if (lastDot >= 0)
-      {
-        Class myClass = getClassForName(fullName.substring(0, lastDot));
-        Method[] methods = myClass.getMethods();
-        int nMethods = methods.length;
-        function = fullName.substring(lastDot + 1);
-        for (int i = 0; i < nMethods; i++)
-        {
-          if (methods[i].getName().equals(function))
-            return true;
-        }
-      }
-    }
-    catch (ClassNotFoundException cnfe) {}
-
-    return false;
-  }
-
-
-  /**
-   * Tests whether a certain element name is known within this namespace.
-   * Looks for a method with the appropriate name and signature.
-   * This method examines both static and instance methods.
-   * @param element name of the element being tested
-   * @return true if its known, false if not.
-   */
-
-  public boolean isElementAvailable(String element) 
-  {
-    try
-    {
-      String fullName = m_className + element;
-      int lastDot = fullName.lastIndexOf(".");
-      if (lastDot >= 0)
-      {
-        Class myClass = getClassForName(fullName.substring(0, lastDot));
-        Method[] methods = myClass.getMethods();
-        int nMethods = methods.length;
-        element = fullName.substring(lastDot + 1);
-        for (int i = 0; i < nMethods; i++)
-        {
-          if (methods[i].getName().equals(element))
-          {
-            Class[] paramTypes = methods[i].getParameterTypes();
-            if ( (paramTypes.length == 2)
-              && paramTypes[0].isAssignableFrom(
-                                     org.apache.xalan.extensions.XSLProcessorContext.class)
-              && paramTypes[1].isAssignableFrom(
-                                       org.apache.xalan.templates.ElemExtensionCall.class) )
-            {
-              return true;
-            }
-          }
-        }
-      }
-    }
-    catch (ClassNotFoundException cnfe) {}
-
-    return false;
-  }
-
-
-  /**
-   * Process a call to a function in the package java namespace.
-   * There are three possible types of calls:
-   * <pre>
-   *   Constructor:
-   *     packagens:class.name.new(arg1, arg2, ...)
-   *
-   *   Static method:
-   *     packagens:class.name.method(arg1, arg2, ...)
-   *
-   *   Instance method:
-   *     packagens:method(obj, arg1, arg2, ...)
-   * </pre>
-   * We use the following rules to determine the type of call made:
-   * <ol type="1">
-   * <li>If the function name ends with a ".new", call the best constructor for
-   *     class whose name is formed by concatenating the value specified on
-   *     the namespace with the value specified in the function invocation
-   *     before ".new".</li>
-   * <li>If the function name contains a period, call the best static method "method"
-   *     in the class whose name is formed by concatenating the value specified on
-   *     the namespace with the value specified in the function invocation.</li>
-   * <li>Otherwise, call the best instance method "method"
-   *     in the class whose name is formed by concatenating the value specified on
-   *     the namespace with the value specified in the function invocation.
-   *     Note that a static method of the same
-   *     name will <i>not</i> be called in the current implementation.  This
-   *     module does not verify that the obj argument is a member of the
-   *     package namespace.</li>
-   * </ol>
-   *
-   * @param funcName Function name.
-   * @param args     The arguments of the function call.
-   * @param methodKey A key that uniquely identifies this class and method call.
-   * @param exprContext The context in which this expression is being executed.
-   * @return the return value of the function evaluation.
-   *
-   * @throws TransformerException          if parsing trouble
-   */
-
-  public Object callFunction (String funcName, 
-                              Vector args, 
-                              Object methodKey,
-                              ExpressionContext exprContext)
-    throws TransformerException 
-  {
-
-    String className;
-    String methodName;
-    Class  classObj;
-    Object targetObject;
-    int lastDot = funcName.lastIndexOf(".");
-    Object[] methodArgs;
-    Object[][] convertedArgs;
-    Class[] paramTypes;
-
-    try
-    {
-      TransformerImpl trans = (exprContext != null) ?
-        (TransformerImpl)exprContext.getXPathContext().getOwnerObject() : null;
-      if (funcName.endsWith(".new")) {                   // Handle constructor call
-
-        methodArgs = new Object[args.size()];
-        convertedArgs = new Object[1][];
-        for (int i = 0; i < methodArgs.length; i++)
-        {
-          methodArgs[i] = args.get(i);
-        }
-        
-        Constructor c = (methodKey != null) ?
-          (Constructor) getFromCache(methodKey, null, methodArgs) : null;
-        
-        if (c != null)
-        {
-          try
-          {
-            paramTypes = c.getParameterTypes();
-            MethodResolver.convertParams(methodArgs, convertedArgs, paramTypes, exprContext);
-            return c.newInstance(convertedArgs[0]);
-          }
-          catch (InvocationTargetException ite)
-          {
-            throw ite;
-          }
-          catch(Exception e)
-          {
-            // Must not have been the right one
-          }
-        }
-        className = m_className + funcName.substring(0, lastDot);
-        try
-        {
-          classObj = getClassForName(className);
-        }
-        catch (ClassNotFoundException e) 
-        {
-          throw new TransformerException(e);
-        }
-        c = MethodResolver.getConstructor(classObj, 
-                                          methodArgs,
-                                          convertedArgs,
-                                          exprContext);
-        if (methodKey != null)
-          putToCache(methodKey, null, methodArgs, c);
-        
-        if (trans != null && trans.getDebug()) {
-            trans.getTraceManager().fireExtensionEvent(new ExtensionEvent(trans, c, convertedArgs[0]));            
-            Object result;
-            try {
-                result = c.newInstance(convertedArgs[0]);
-            } catch (Exception e) {
-                throw e;
-            } finally {
-                trans.getTraceManager().fireExtensionEndEvent(new ExtensionEvent(trans, c, convertedArgs[0]));
-            }
-            return result;
-        } else
-            return c.newInstance(convertedArgs[0]);
-      }
-
-      else if (-1 != lastDot) {                         // Handle static method call
-
-        methodArgs = new Object[args.size()];
-        convertedArgs = new Object[1][];
-        for (int i = 0; i < methodArgs.length; i++)
-        {
-          methodArgs[i] = args.get(i);
-        }
-        Method m = (methodKey != null) ?
-          (Method) getFromCache(methodKey, null, methodArgs) : null;
-        
-        if (m != null && !trans.getDebug())
-        {
-          try
-          {
-            paramTypes = m.getParameterTypes();
-            MethodResolver.convertParams(methodArgs, convertedArgs, paramTypes, exprContext);
-            return m.invoke(null, convertedArgs[0]);
-          }
-          catch (InvocationTargetException ite)
-          {
-            throw ite;
-          }
-          catch(Exception e)
-          {
-            // Must not have been the right one
-          }
-        }
-        className = m_className + funcName.substring(0, lastDot);
-        methodName = funcName.substring(lastDot + 1);
-        try
-        {
-          classObj = getClassForName(className);
-        }
-        catch (ClassNotFoundException e) 
-        {
-          throw new TransformerException(e);
-        }
-        m = MethodResolver.getMethod(classObj,
-                                     methodName,
-                                     methodArgs, 
-                                     convertedArgs,
-                                     exprContext,
-                                     MethodResolver.STATIC_ONLY);
-        if (methodKey != null)
-          putToCache(methodKey, null, methodArgs, m);
-        
-        if (trans != null && trans.getDebug()) {
-            trans.getTraceManager().fireExtensionEvent(m, null, convertedArgs[0]);            
-            Object result;
-            try {
-                result = m.invoke(null, convertedArgs[0]);
-            } catch (Exception e) {
-                throw e;
-            } finally {
-                trans.getTraceManager().fireExtensionEndEvent(m, null, convertedArgs[0]);
-            }
-            return result;
-        }
-        else
-            return m.invoke(null, convertedArgs[0]);
-      }
-
-      else {                                            // Handle instance method call
-
-        if (args.size() < 1)
-        {
-          throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_INSTANCE_MTHD_CALL_REQUIRES, new Object[]{funcName })); //"Instance method call to method " + funcName
-                                    //+ " requires an Object instance as first argument");
-        }
-        targetObject = args.get(0);
-        if (targetObject instanceof XObject)          // Next level down for XObjects
-          targetObject = ((XObject) targetObject).object();
-        methodArgs = new Object[args.size() - 1];
-        convertedArgs = new Object[1][];
-        for (int i = 0; i < methodArgs.length; i++)
-        {
-          methodArgs[i] = args.get(i+1);
-        }
-        Method m = (methodKey != null) ?
-          (Method) getFromCache(methodKey, targetObject, methodArgs) : null;
-        
-        if (m != null)
-        {
-          try
-          {
-            paramTypes = m.getParameterTypes();
-            MethodResolver.convertParams(methodArgs, convertedArgs, paramTypes, exprContext);
-            return m.invoke(targetObject, convertedArgs[0]);
-          }
-          catch (InvocationTargetException ite)
-          {
-            throw ite;
-          }
-          catch(Exception e)
-          {
-            // Must not have been the right one
-          }
-        }
-        classObj = targetObject.getClass();
-        m = MethodResolver.getMethod(classObj,
-                                     funcName,
-                                     methodArgs, 
-                                     convertedArgs,
-                                     exprContext,
-                                     MethodResolver.INSTANCE_ONLY);
-        if (methodKey != null)
-          putToCache(methodKey, targetObject, methodArgs, m);
-        
-        if (trans != null && trans.getDebug()) {
-            trans.getTraceManager().fireExtensionEvent(m, targetObject, convertedArgs[0]);            
-            Object result;
-            try {
-                result = m.invoke(targetObject, convertedArgs[0]);
-            } catch (Exception e) {
-                throw e;
-            } finally {
-                trans.getTraceManager().fireExtensionEndEvent(m, targetObject, convertedArgs[0]);
-            }
-            return result;
-        } else       
-            return m.invoke(targetObject, convertedArgs[0]);
-      }
-    }
-    catch (InvocationTargetException ite)
-    {
-      Throwable resultException = ite;
-      Throwable targetException = ite.getTargetException();
- 
-      if (targetException instanceof TransformerException)
-        throw ((TransformerException)targetException);
-      else if (targetException != null)
-        resultException = targetException;
-            
-      throw new TransformerException(resultException);
-    }
-    catch (Exception e)
-    {
-      // e.printStackTrace();
-      throw new TransformerException(e);
-    }
-  }
-
-  /**
-   * Process a call to an XPath extension function
-   *
-   * @param extFunction The XPath extension function
-   * @param args The arguments of the function call.
-   * @param exprContext The context in which this expression is being executed.
-   * @return the return value of the function evaluation.
-   * @throws TransformerException
-   */
-  public Object callFunction(FuncExtFunction extFunction,
-                             Vector args,
-                             ExpressionContext exprContext)
-      throws TransformerException
-  {
-    return callFunction(extFunction.getFunctionName(), args, 
-                        extFunction.getMethodKey(), exprContext);
-  }
-
-  /**
-   * Process a call to this extension namespace via an element. As a side
-   * effect, the results are sent to the TransformerImpl's result tree.
-   * For this namespace, only static element methods are currently supported.
-   * If instance methods are needed, please let us know your requirements.
-   * @param localPart      Element name's local part.
-   * @param element        The extension element being processed.
-   * @param transformer      Handle to TransformerImpl.
-   * @param stylesheetTree The compiled stylesheet tree.
-   * @param methodKey      A key that uniquely identifies this element call.
-   * @throws IOException           if loading trouble
-   * @throws TransformerException          if parsing trouble
-   */
-
-  public void processElement (String localPart,
-                              ElemTemplateElement element,
-                              TransformerImpl transformer,
-                              Stylesheet stylesheetTree,
-                              Object methodKey)
-    throws TransformerException, IOException
-  {
-    Object result = null;
-    Class classObj;
-
-    Method m = (Method) getFromCache(methodKey, null, null);
-    if (null == m)
-    {
-      try
-      {
-        String fullName = m_className + localPart;
-        int lastDot = fullName.lastIndexOf(".");
-        if (lastDot < 0)
-          throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_INVALID_ELEMENT_NAME, new Object[]{fullName })); //"Invalid element name specified " + fullName);
-        try
-        {
-          classObj = getClassForName(fullName.substring(0, lastDot));
-        }
-        catch (ClassNotFoundException e) 
-        {
-          throw new TransformerException(e);
-        }
-        localPart = fullName.substring(lastDot + 1);
-        m = MethodResolver.getElementMethod(classObj, localPart);
-        if (!Modifier.isStatic(m.getModifiers()))
-          throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_ELEMENT_NAME_METHOD_STATIC, new Object[]{fullName })); //"Element name method must be static " + fullName);
-      }
-      catch (Exception e)
-      {
-        // e.printStackTrace ();
-        throw new TransformerException (e);
-      }
-      putToCache(methodKey, null, null, m);
-    }
-
-    XSLProcessorContext xpc = new XSLProcessorContext(transformer, 
-                                                      stylesheetTree);
-
-    try
-    {
-      if (transformer.getDebug()) {
-          transformer.getTraceManager().fireExtensionEvent(m, null, new Object[] {xpc, element});
-        try {
-            result = m.invoke(null, new Object[] {xpc, element});
-        } catch (Exception e) {
-            throw e;
-        } finally {            
-            transformer.getTraceManager().fireExtensionEndEvent(m, null, new Object[] {xpc, element});
-        }
-      } else
-        result = m.invoke(null, new Object[] {xpc, element});
-    }
-    catch (InvocationTargetException ite)
-    {
-      Throwable resultException = ite;
-      Throwable targetException = ite.getTargetException();
- 
-      if (targetException instanceof TransformerException)
-        throw ((TransformerException)targetException);
-      else if (targetException != null)
-        resultException = targetException;
-            
-      throw new TransformerException(resultException);
-    }
-    catch (Exception e)
-    {
-      // e.printStackTrace ();
-      throw new TransformerException (e);
-    }
-
-    if (result != null)
-    {
-      xpc.outputToResultTree (stylesheetTree, result);
-    }
- 
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionNamespaceContext.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionNamespaceContext.java
deleted file mode 100644
index ff369cd..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/ExtensionNamespaceContext.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.xalan.extensions;
-
-import java.util.Iterator;
-import javax.xml.XMLConstants;
-import javax.xml.namespace.NamespaceContext;
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
-
-/**
- * A sample implementation of NamespaceContext, with support for 
- * EXSLT extension functions and Java extension functions.
- */
-public class ExtensionNamespaceContext implements NamespaceContext
-{
-    public static final String EXSLT_PREFIX = "exslt";
-    public static final String EXSLT_URI = "http://exslt.org/common";
-    public static final String EXSLT_MATH_PREFIX = "math";
-    public static final String EXSLT_MATH_URI = "http://exslt.org/math";
-    public static final String EXSLT_SET_PREFIX = "set";
-    public static final String EXSLT_SET_URI = "http://exslt.org/sets";
-    public static final String EXSLT_STRING_PREFIX = "str";
-    public static final String EXSLT_STRING_URI = "http://exslt.org/strings";
-    public static final String EXSLT_DATETIME_PREFIX = "datetime";
-    public static final String EXSLT_DATETIME_URI = "http://exslt.org/dates-and-times";
-    public static final String EXSLT_DYNAMIC_PREFIX = "dyn";
-    public static final String EXSLT_DYNAMIC_URI = "http://exslt.org/dynamic";    
-    public static final String JAVA_EXT_PREFIX = "java";
-    public static final String JAVA_EXT_URI = "http://xml.apache.org/xalan/java";
-    
-    /**
-     * Return the namespace uri for a given prefix
-     */
-    public String getNamespaceURI(String prefix)
-    {
-        if (prefix == null)
-            throw new IllegalArgumentException(
-                XSLMessages.createMessage(
-                    XSLTErrorResources.ER_NAMESPACE_CONTEXT_NULL_PREFIX, null));
-        
-        if (prefix.equals(XMLConstants.DEFAULT_NS_PREFIX))
-            return XMLConstants.NULL_NS_URI;
-        else if (prefix.equals(XMLConstants.XML_NS_PREFIX))
-            return XMLConstants.XML_NS_URI;
-        else if (prefix.equals(XMLConstants.XMLNS_ATTRIBUTE))
-            return XMLConstants.XMLNS_ATTRIBUTE_NS_URI;
-        else if (prefix.equals(EXSLT_PREFIX))
-            return EXSLT_URI;
-        else if (prefix.equals(EXSLT_MATH_PREFIX))
-            return EXSLT_MATH_URI;
-        else if (prefix.equals(EXSLT_SET_PREFIX))
-            return EXSLT_SET_URI;
-        else if (prefix.equals(EXSLT_STRING_PREFIX))
-            return EXSLT_STRING_URI;
-        else if (prefix.equals(EXSLT_DATETIME_PREFIX))
-            return EXSLT_DATETIME_URI;
-        else if (prefix.equals(EXSLT_DYNAMIC_PREFIX))
-            return EXSLT_DYNAMIC_URI;        
-        else if (prefix.equals(JAVA_EXT_PREFIX))
-            return JAVA_EXT_URI;
-        else
-            return XMLConstants.NULL_NS_URI;        
-    }
-    
-    /**
-     * Return the prefix for a given namespace uri.
-     */
-    public String getPrefix(String namespace)
-    {
-        if (namespace == null)
-            throw new IllegalArgumentException(
-                XSLMessages.createMessage(
-                    XSLTErrorResources.ER_NAMESPACE_CONTEXT_NULL_NAMESPACE, null));
-        
-        if (namespace.equals(XMLConstants.XML_NS_URI))
-            return XMLConstants.XML_NS_PREFIX;
-        else if (namespace.equals(XMLConstants.XMLNS_ATTRIBUTE_NS_URI))
-            return XMLConstants.XMLNS_ATTRIBUTE;
-        else if (namespace.equals(EXSLT_URI))
-            return EXSLT_PREFIX;
-        else if (namespace.equals(EXSLT_MATH_URI))
-            return EXSLT_MATH_PREFIX;
-        else if (namespace.equals(EXSLT_SET_URI))
-            return EXSLT_SET_PREFIX;
-        else if (namespace.equals(EXSLT_STRING_URI))
-            return EXSLT_STRING_PREFIX;
-        else if (namespace.equals(EXSLT_DATETIME_URI))
-            return EXSLT_DATETIME_PREFIX;
-        else if (namespace.equals(EXSLT_DYNAMIC_URI))
-            return EXSLT_DYNAMIC_PREFIX;
-        else if (namespace.equals(JAVA_EXT_URI))
-            return JAVA_EXT_PREFIX;
-        else
-            return null;        
-    }
-    
-    public Iterator getPrefixes(String namespace)
-    {
-    	final String result = getPrefix(namespace);
-    	
-        return new Iterator () {
-        	
-        	private boolean isFirstIteration = (result != null);
-        	
-        	public boolean hasNext() {
-        		return isFirstIteration;
-        	}
-        	
-        	public Object next() {
-        		if (isFirstIteration) {
-        			isFirstIteration = false;
-        			return result;
-        		}
-        		else
-        			return null;
-        	}
-        	
-        	public void remove() {
-        		throw new UnsupportedOperationException();
-        	}
-        };
-    }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/MethodResolver.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/MethodResolver.java
deleted file mode 100644
index 2b0a6db..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/MethodResolver.java
+++ /dev/null
@@ -1,994 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: MethodResolver.java 468637 2006-10-28 06:51:02Z minchau $
- */
-package org.apache.xalan.extensions;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xml.dtm.DTM;
-import org.apache.xml.dtm.DTMIterator;
-import org.apache.xml.dtm.ref.DTMNodeIterator;
-import org.apache.xpath.objects.XObject;
-import org.apache.xpath.objects.XRTreeFrag;
-import org.apache.xpath.objects.XString;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.traversal.NodeIterator;
-
-/**
- * Utility class to help resolve method overloading with Xalan XSLT 
- * argument types.
- */
-public class MethodResolver
-{
-
-  /**
-   * Specifies a search for static methods only.
-   */
-  public static final int STATIC_ONLY         = 1;
-
-  /**
-   * Specifies a search for instance methods only.
-   */
-  public static final int INSTANCE_ONLY       = 2;
-
-  /**
-   * Specifies a search for both static and instance methods.
-   */
-  public static final int STATIC_AND_INSTANCE = 3;
-
-  /**
-   * Specifies a Dynamic method search.  If the method being
-   * evaluated is a static method, all arguments are used.
-   * Otherwise, it is an instance method and only arguments
-   * beginning with the second argument are used.
-   */
-  public static final int DYNAMIC             = 4;
-
-  /**
-   * Given a class, figure out the resolution of 
-   * the Java Constructor from the XSLT argument types, and perform the 
-   * conversion of the arguments.
-   * @param classObj the Class of the object to be constructed.
-   * @param argsIn An array of XSLT/XPath arguments.
-   * @param argsOut An array of the exact size as argsIn, which will be 
-   * populated with converted arguments if a suitable method is found.
-   * @return A constructor that will work with the argsOut array.
-   * @throws TransformerException may be thrown for Xalan conversion
-   * exceptions.
-   */
-  public static Constructor getConstructor(Class classObj, 
-                                           Object[] argsIn, 
-                                           Object[][] argsOut,
-                                           ExpressionContext exprContext)
-    throws NoSuchMethodException,
-           SecurityException,
-           TransformerException
-  {
-    Constructor bestConstructor = null;
-    Class[] bestParamTypes = null;
-    Constructor[] constructors = classObj.getConstructors();
-    int nMethods = constructors.length;
-    int bestScore = Integer.MAX_VALUE;
-    int bestScoreCount = 0;
-    for(int i = 0; i < nMethods; i++)
-    {
-      Constructor ctor = constructors[i];
-      Class[] paramTypes = ctor.getParameterTypes();
-      int numberMethodParams = paramTypes.length;
-      int paramStart = 0;
-      boolean isFirstExpressionContext = false;
-      int scoreStart;
-      // System.out.println("numberMethodParams: "+numberMethodParams);
-      // System.out.println("argsIn.length: "+argsIn.length);
-      // System.out.println("exprContext: "+exprContext);
-      if(numberMethodParams == (argsIn.length+1))
-      {
-        Class javaClass = paramTypes[0];
-        // System.out.println("first javaClass: "+javaClass.getName());
-        if(ExpressionContext.class.isAssignableFrom(javaClass))
-        {
-          isFirstExpressionContext = true;
-          scoreStart = 0;
-          paramStart++;
-          // System.out.println("Incrementing paramStart: "+paramStart);
-        }
-        else
-          continue;
-      }
-      else
-          scoreStart = 1000;
-      
-      if(argsIn.length == (numberMethodParams - paramStart))
-      {
-        // then we have our candidate.
-        int score = scoreMatch(paramTypes, paramStart, argsIn, scoreStart);
-        // System.out.println("score: "+score);
-        if(-1 == score)	
-          continue;
-        if(score < bestScore)
-        {
-          // System.out.println("Assigning best ctor: "+ctor);
-          bestConstructor = ctor;
-          bestParamTypes = paramTypes;
-          bestScore = score;
-          bestScoreCount = 1;
-        }
-        else if (score == bestScore)
-          bestScoreCount++;
-      }
-    }
-
-    if(null == bestConstructor)
-    {
-      throw new NoSuchMethodException(errString("function", "constructor", classObj,
-                                                                        "", 0, argsIn));
-    }
-    /*** This is commented out until we can do a better object -> object scoring 
-    else if (bestScoreCount > 1)
-      throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_MORE_MATCH_CONSTRUCTOR, new Object[]{classObj.getName()})); //"More than one best match for constructor for "
-                                                                   + classObj.getName());
-    ***/
-    else
-      convertParams(argsIn, argsOut, bestParamTypes, exprContext);
-    
-    return bestConstructor;
-  }
-
-  
-  /**
-   * Given the name of a method, figure out the resolution of 
-   * the Java Method from the XSLT argument types, and perform the 
-   * conversion of the arguments.
-   * @param classObj The Class of the object that should have the method.
-   * @param name The name of the method to be invoked.
-   * @param argsIn An array of XSLT/XPath arguments.
-   * @param argsOut An array of the exact size as argsIn, which will be 
-   * populated with converted arguments if a suitable method is found.
-   * @return A method that will work with the argsOut array.
-   * @throws TransformerException may be thrown for Xalan conversion
-   * exceptions.
-   */
-  public static Method getMethod(Class classObj,
-                                 String name, 
-                                 Object[] argsIn, 
-                                 Object[][] argsOut,
-                                 ExpressionContext exprContext,
-                                 int searchMethod)
-    throws NoSuchMethodException,
-           SecurityException,
-           TransformerException
-  {
-    // System.out.println("---> Looking for method: "+name);
-    // System.out.println("---> classObj: "+classObj);
-    if (name.indexOf("-")>0)
-      name = replaceDash(name);
-    Method bestMethod = null;
-    Class[] bestParamTypes = null;
-    Method[] methods = classObj.getMethods();
-    int nMethods = methods.length;
-    int bestScore = Integer.MAX_VALUE;
-    int bestScoreCount = 0;
-    boolean isStatic;
-    for(int i = 0; i < nMethods; i++)
-    {
-      Method method = methods[i];
-      // System.out.println("looking at method: "+method);
-      int xsltParamStart = 0;
-      if(method.getName().equals(name))
-      {
-        isStatic = Modifier.isStatic(method.getModifiers());
-        switch(searchMethod)
-        {
-          case STATIC_ONLY:
-            if (!isStatic)
-            {
-              continue;
-            }
-            break;
-
-          case INSTANCE_ONLY:
-            if (isStatic)
-            {
-              continue;
-            }
-            break;
-
-          case STATIC_AND_INSTANCE:
-            break;
-
-          case DYNAMIC:
-            if (!isStatic)
-              xsltParamStart = 1;
-        }
-        int javaParamStart = 0;
-        Class[] paramTypes = method.getParameterTypes();
-        int numberMethodParams = paramTypes.length;
-        boolean isFirstExpressionContext = false;
-        int scoreStart;
-        // System.out.println("numberMethodParams: "+numberMethodParams);
-        // System.out.println("argsIn.length: "+argsIn.length);
-        // System.out.println("exprContext: "+exprContext);
-        int argsLen = (null != argsIn) ? argsIn.length : 0;
-        if(numberMethodParams == (argsLen-xsltParamStart+1))
-        {
-          Class javaClass = paramTypes[0];
-          if(ExpressionContext.class.isAssignableFrom(javaClass))
-          {
-            isFirstExpressionContext = true;
-            scoreStart = 0;
-            javaParamStart++;
-          }
-          else
-          {
-            continue;
-          }
-        }
-        else
-            scoreStart = 1000;
-        
-        if((argsLen - xsltParamStart) == (numberMethodParams - javaParamStart))
-        {
-          // then we have our candidate.
-          int score = scoreMatch(paramTypes, javaParamStart, argsIn, scoreStart);
-          // System.out.println("score: "+score);
-          if(-1 == score)
-            continue;
-          if(score < bestScore)
-          {
-            // System.out.println("Assigning best method: "+method);
-            bestMethod = method;
-            bestParamTypes = paramTypes;
-            bestScore = score;
-            bestScoreCount = 1;
-          }
-          else if (score == bestScore)
-            bestScoreCount++;
-        }
-      }
-    }
-    
-    if (null == bestMethod)
-    {
-      throw new NoSuchMethodException(errString("function", "method", classObj,
-                                                                name, searchMethod, argsIn));
-    }
-    /*** This is commented out until we can do a better object -> object scoring 
-    else if (bestScoreCount > 1)
-      throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_MORE_MATCH_METHOD, new Object[]{name})); //"More than one best match for method " + name);
-    ***/
-    else
-      convertParams(argsIn, argsOut, bestParamTypes, exprContext);
-    
-    return bestMethod;
-  }
-  
-  /**
-   * To support EXSLT extensions, convert names with dash to allowable Java names: 
-   * e.g., convert abc-xyz to abcXyz.
-   * Note: dashes only appear in middle of an EXSLT function or element name.
-   */
-  private static String replaceDash(String name)
-  {
-    char dash = '-';
-    StringBuffer buff = new StringBuffer("");
-    for (int i=0; i<name.length(); i++)
-    {
-      if (name.charAt(i) == dash)
-      {}
-      else if (i > 0 && name.charAt(i-1) == dash)
-        buff.append(Character.toUpperCase(name.charAt(i)));
-      else
-        buff.append(name.charAt(i));
-    }
-    return buff.toString();
-  }
-  
-  /**
-   * Given the name of a method, figure out the resolution of 
-   * the Java Method
-   * @param classObj The Class of the object that should have the method.
-   * @param name The name of the method to be invoked.
-   * @return A method that will work to be called as an element.
-   * @throws TransformerException may be thrown for Xalan conversion
-   * exceptions.
-   */
-  public static Method getElementMethod(Class classObj,
-                                        String name)
-    throws NoSuchMethodException,
-           SecurityException,
-           TransformerException
-  {
-    // System.out.println("---> Looking for element method: "+name);
-    // System.out.println("---> classObj: "+classObj);
-    Method bestMethod = null;
-    Method[] methods = classObj.getMethods();
-    int nMethods = methods.length;
-    int bestScoreCount = 0;
-    for(int i = 0; i < nMethods; i++)
-    {
-      Method method = methods[i];
-      // System.out.println("looking at method: "+method);
-      if(method.getName().equals(name))
-      {
-        Class[] paramTypes = method.getParameterTypes();
-        if ( (paramTypes.length == 2)
-           && paramTypes[1].isAssignableFrom(org.apache.xalan.templates.ElemExtensionCall.class)
-                                         && paramTypes[0].isAssignableFrom(org.apache.xalan.extensions.XSLProcessorContext.class) )
-        {
-          if ( ++bestScoreCount == 1 )
-            bestMethod = method;
-          else
-            break;
-        }
-      }
-    }
-    
-    if (null == bestMethod)
-    {
-      throw new NoSuchMethodException(errString("element", "method", classObj,
-                                                                        name, 0, null));
-    }
-    else if (bestScoreCount > 1)
-      throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_MORE_MATCH_ELEMENT, new Object[]{name})); //"More than one best match for element method " + name);
-    
-    return bestMethod;
-  }
-  
-
-  /**
-   * Convert a set of parameters based on a set of paramTypes.
-   * @param argsIn An array of XSLT/XPath arguments.
-   * @param argsOut An array of the exact size as argsIn, which will be 
-   * populated with converted arguments.
-   * @param paramTypes An array of class objects, of the exact same 
-   * size as argsIn and argsOut.
-   * @throws TransformerException may be thrown for Xalan conversion
-   * exceptions.
-   */
-  public static void convertParams(Object[] argsIn, 
-                                   Object[][] argsOut, Class[] paramTypes,
-                                   ExpressionContext exprContext)
-    throws javax.xml.transform.TransformerException
-  {
-    // System.out.println("In convertParams");
-    if (paramTypes == null)
-      argsOut[0] = null;
-    else
-    {
-      int nParams = paramTypes.length;
-      argsOut[0] = new Object[nParams];
-      int paramIndex = 0;
-      if((nParams > 0) 
-         && ExpressionContext.class.isAssignableFrom(paramTypes[0]))
-      {
-        argsOut[0][0] = exprContext;
-        // System.out.println("Incrementing paramIndex in convertParams: "+paramIndex);
-        paramIndex++;
-      }
-
-      if (argsIn != null)
-      {
-        for(int i = argsIn.length - nParams + paramIndex ; paramIndex < nParams; i++, paramIndex++)
-        {
-          // System.out.println("paramTypes[i]: "+paramTypes[i]);
-          argsOut[0][paramIndex] = convert(argsIn[i], paramTypes[paramIndex]);
-        }
-      }
-    }
-  }
-  
-  /**
-   * Simple class to hold information about allowed conversions 
-   * and their relative scores, for use by the table below.
-   */
-  static class ConversionInfo
-  {
-    ConversionInfo(Class cl, int score)
-    {
-      m_class = cl;
-      m_score = score;
-    }
-    
-    Class m_class;  // Java class to convert to.
-    int m_score; // Match score, closer to zero is more matched.
-  }
-  
-  private static final int SCOREBASE=1;
-  
-  /**
-   * Specification of conversions from XSLT type CLASS_UNKNOWN
-   * (i.e. some unknown Java object) to allowed Java types.
-   */
-  private final static ConversionInfo[] m_javaObjConversions = {
-    new ConversionInfo(Double.TYPE, 11),
-    new ConversionInfo(Float.TYPE, 12),
-    new ConversionInfo(Long.TYPE, 13),
-    new ConversionInfo(Integer.TYPE, 14),
-    new ConversionInfo(Short.TYPE, 15),
-    new ConversionInfo(Character.TYPE, 16),
-    new ConversionInfo(Byte.TYPE, 17),
-    new ConversionInfo(java.lang.String.class, 18)
-  };
-  
-  /**
-   * Specification of conversions from XSLT type CLASS_BOOLEAN
-   * to allowed Java types.
-   */
-  private final static ConversionInfo[] m_booleanConversions = {
-    new ConversionInfo(Boolean.TYPE, 0),
-    new ConversionInfo(java.lang.Boolean.class, 1),
-    new ConversionInfo(java.lang.Object.class, 2),
-    new ConversionInfo(java.lang.String.class, 3)
-  };
-
-  /**
-   * Specification of conversions from XSLT type CLASS_NUMBER
-   * to allowed Java types.
-   */
-  private final static ConversionInfo[] m_numberConversions = {
-    new ConversionInfo(Double.TYPE, 0),
-    new ConversionInfo(java.lang.Double.class, 1),
-    new ConversionInfo(Float.TYPE, 3),
-    new ConversionInfo(Long.TYPE, 4),
-    new ConversionInfo(Integer.TYPE, 5),
-    new ConversionInfo(Short.TYPE, 6),
-    new ConversionInfo(Character.TYPE, 7),
-    new ConversionInfo(Byte.TYPE, 8),
-    new ConversionInfo(Boolean.TYPE, 9),
-    new ConversionInfo(java.lang.String.class, 10),
-    new ConversionInfo(java.lang.Object.class, 11)
-  };
-
-  /**
-   * Specification of conversions from XSLT type CLASS_STRING
-   * to allowed Java types.
-   */
-  private final static ConversionInfo[] m_stringConversions = {
-    new ConversionInfo(java.lang.String.class, 0),
-    new ConversionInfo(java.lang.Object.class, 1),
-    new ConversionInfo(Character.TYPE, 2),
-    new ConversionInfo(Double.TYPE, 3),
-    new ConversionInfo(Float.TYPE, 3),
-    new ConversionInfo(Long.TYPE, 3),
-    new ConversionInfo(Integer.TYPE, 3),
-    new ConversionInfo(Short.TYPE, 3),
-    new ConversionInfo(Byte.TYPE, 3),
-    new ConversionInfo(Boolean.TYPE, 4)
-  };
-
-  /**
-   * Specification of conversions from XSLT type CLASS_RTREEFRAG
-   * to allowed Java types.
-   */
-  private final static ConversionInfo[] m_rtfConversions = {
-    new ConversionInfo(org.w3c.dom.traversal.NodeIterator.class, 0),
-    new ConversionInfo(org.w3c.dom.NodeList.class, 1),
-    new ConversionInfo(org.w3c.dom.Node.class, 2),
-    new ConversionInfo(java.lang.String.class, 3),
-    new ConversionInfo(java.lang.Object.class, 5),
-    new ConversionInfo(Character.TYPE, 6),
-    new ConversionInfo(Double.TYPE, 7),
-    new ConversionInfo(Float.TYPE, 7),
-    new ConversionInfo(Long.TYPE, 7),
-    new ConversionInfo(Integer.TYPE, 7),
-    new ConversionInfo(Short.TYPE, 7),
-    new ConversionInfo(Byte.TYPE, 7),
-    new ConversionInfo(Boolean.TYPE, 8)
-  };
-  
-  /**
-   * Specification of conversions from XSLT type CLASS_NODESET
-   * to allowed Java types.  (This is the same as for CLASS_RTREEFRAG)
-   */
-  private final static ConversionInfo[] m_nodesetConversions = {
-    new ConversionInfo(org.w3c.dom.traversal.NodeIterator.class, 0),
-    new ConversionInfo(org.w3c.dom.NodeList.class, 1),
-    new ConversionInfo(org.w3c.dom.Node.class, 2),
-    new ConversionInfo(java.lang.String.class, 3),
-    new ConversionInfo(java.lang.Object.class, 5),
-    new ConversionInfo(Character.TYPE, 6),
-    new ConversionInfo(Double.TYPE, 7),
-    new ConversionInfo(Float.TYPE, 7),
-    new ConversionInfo(Long.TYPE, 7),
-    new ConversionInfo(Integer.TYPE, 7),
-    new ConversionInfo(Short.TYPE, 7),
-    new ConversionInfo(Byte.TYPE, 7),
-    new ConversionInfo(Boolean.TYPE, 8)
-  };
-  
-  /**
-   * Order is significant in the list below, based on 
-   * XObject.CLASS_XXX values.
-   */
-  private final static ConversionInfo[][] m_conversions = 
-  {
-    m_javaObjConversions, // CLASS_UNKNOWN = 0;
-    m_booleanConversions, // CLASS_BOOLEAN = 1;
-    m_numberConversions,  // CLASS_NUMBER = 2;
-    m_stringConversions,  // CLASS_STRING = 3;
-    m_nodesetConversions, // CLASS_NODESET = 4;
-    m_rtfConversions      // CLASS_RTREEFRAG = 5;
-  };
-  
-  /**
-   * Score the conversion of a set of XSLT arguments to a 
-   * given set of Java parameters.
-   * If any invocations of this function for a method with 
-   * the same name return the same positive value, then a conflict 
-   * has occured, and an error should be signaled.
-   * @param javaParamTypes Must be filled with valid class names, and 
-   * of the same length as xsltArgs.
-   * @param xsltArgs Must be filled with valid object instances, and 
-   * of the same length as javeParamTypes.
-   * @return -1 for no allowed conversion, or a positive score 
-   * that is closer to zero for more preferred, or further from 
-   * zero for less preferred.
-   */
-  public static int scoreMatch(Class[] javaParamTypes, int javaParamsStart,
-                               Object[] xsltArgs, int score)
-  {
-    if ((xsltArgs == null) || (javaParamTypes == null))
-      return score;
-    int nParams = xsltArgs.length;
-    for(int i = nParams - javaParamTypes.length + javaParamsStart, javaParamTypesIndex = javaParamsStart; 
-        i < nParams; 
-        i++, javaParamTypesIndex++)
-    {
-      Object xsltObj = xsltArgs[i];
-      int xsltClassType = (xsltObj instanceof XObject) 
-                          ? ((XObject)xsltObj).getType() 
-                            : XObject.CLASS_UNKNOWN;
-      Class javaClass = javaParamTypes[javaParamTypesIndex];
-      
-      // System.out.println("Checking xslt: "+xsltObj.getClass().getName()+
-      //                   " against java: "+javaClass.getName());
-      
-      if(xsltClassType == XObject.CLASS_NULL)
-      {
-        // In Xalan I have objects of CLASS_NULL, though I'm not 
-        // sure they're used any more.  For now, do something funky.
-        if(!javaClass.isPrimitive())
-        {
-          // Then assume that a null can be used, but give it a low score.
-          score += 10;
-          continue;
-        }
-        else
-          return -1;  // no match.
-      }
-      
-      ConversionInfo[] convInfo = m_conversions[xsltClassType];
-      int nConversions = convInfo.length;
-      int k;
-      for(k = 0; k < nConversions; k++)
-      {
-        ConversionInfo cinfo = convInfo[k];
-        if(javaClass.isAssignableFrom(cinfo.m_class))
-        {
-          score += cinfo.m_score;
-          break; // from k loop
-        }
-      }
-
-      if (k == nConversions)
-      {
-        // If we get here, we haven't made a match on this parameter using 
-        // the ConversionInfo array.  We now try to handle the object -> object
-        // mapping which we can't handle through the array mechanism.  To do this,
-        // we must determine the class of the argument passed from the stylesheet.
-
-        // If we were passed a subclass of XObject, representing one of the actual
-        // XSLT types, and we are here, we reject this extension method as a candidate
-        // because a match should have been made using the ConversionInfo array.  If we 
-        // were passed an XObject that encapsulates a non-XSLT type or we
-        // were passed a non-XSLT type directly, we continue.
-
-        // The current implementation (contributed by Kelly Campbell <camk@channelpoint.com>)
-        // checks to see if we were passed an XObject from the XSLT stylesheet.  If not,
-        // we use the class of the object that was passed and make sure that it will
-        // map to the class type of the parameter in the extension function.
-        // If we were passed an XObject, we attempt to get the class of the actual
-        // object encapsulated inside the XObject.  If the encapsulated object is null,
-        // we judge this method as a match but give it a low score.  
-        // If the encapsulated object is not null, we use its type to determine
-        // whether this java method is a valid match for this extension function call.
-        // This approach eliminates the NullPointerException in the earlier implementation
-        // that resulted from passing an XObject encapsulating the null java object.
-                                
-        // TODO:  This needs to be improved to assign relative scores to subclasses,
-        // etc. 
-
-        if (XObject.CLASS_UNKNOWN == xsltClassType)
-        {
-          Class realClass = null;
-
-          if (xsltObj instanceof XObject)
-          {
-            Object realObj = ((XObject) xsltObj).object();
-            if (null != realObj)
-            {
-              realClass = realObj.getClass();
-            }
-            else
-            {
-              // do the same as if we were passed XObject.CLASS_NULL
-              score += 10;
-              continue;
-            }
-          }
-          else
-          {
-            realClass = xsltObj.getClass();
-          }
-
-          if (javaClass.isAssignableFrom(realClass))
-          {
-            score += 0;         // TODO: To be assigned based on subclass "distance"
-          }
-          else
-            return -1;
-        }
-        else
-          return -1;
-      }
-    }
-    return score;
-  }
-  
-  /**
-   * Convert the given XSLT object to an object of 
-   * the given class.
-   * @param xsltObj The XSLT object that needs conversion.
-   * @param javaClass The type of object to convert to.
-   * @returns An object suitable for passing to the Method.invoke 
-   * function in the args array, which may be null in some cases.
-   * @throws TransformerException may be thrown for Xalan conversion
-   * exceptions.
-   */
-  static Object convert(Object xsltObj, Class javaClass)
-    throws javax.xml.transform.TransformerException
-  {
-    if(xsltObj instanceof XObject)
-    {
-      XObject xobj = ((XObject)xsltObj);
-      int xsltClassType = xobj.getType();
-
-      switch(xsltClassType)
-      {
-      case XObject.CLASS_NULL:
-        return null;
-        
-      case XObject.CLASS_BOOLEAN:
-        {
-          if(javaClass == java.lang.String.class)
-            return xobj.str();
-          else
-            return new Boolean(xobj.bool());
-        }
-        // break; Unreachable
-      case XObject.CLASS_NUMBER:
-        {
-          if(javaClass == java.lang.String.class)
-            return xobj.str();
-          else if(javaClass == Boolean.TYPE)
-            return new Boolean(xobj.bool());
-          else 
-          {
-            return convertDoubleToNumber(xobj.num(), javaClass);
-          }
-        }
-        // break; Unreachable
-        
-      case XObject.CLASS_STRING:
-        {
-          if((javaClass == java.lang.String.class) ||
-             (javaClass == java.lang.Object.class))
-            return xobj.str();
-          else if(javaClass == Character.TYPE)
-          {
-            String str = xobj.str();
-            if(str.length() > 0)
-              return new Character(str.charAt(0));
-            else
-              return null; // ??
-          }
-          else if(javaClass == Boolean.TYPE)
-            return new Boolean(xobj.bool());
-          else 
-          {
-            return convertDoubleToNumber(xobj.num(), javaClass);
-          }
-        }
-        // break; Unreachable
-        
-      case XObject.CLASS_RTREEFRAG:
-        {
-          // GLP:  I don't see the reason for the isAssignableFrom call
-          //       instead of an == test as is used everywhere else.
-          //       Besides, if the javaClass is a subclass of NodeIterator
-          //       the condition will be true and we'll create a NodeIterator
-          //       which may not match the javaClass, causing a RuntimeException.
-          // if((NodeIterator.class.isAssignableFrom(javaClass)) ||
-          if ( (javaClass == NodeIterator.class) ||
-               (javaClass == java.lang.Object.class) )
-          {
-            DTMIterator dtmIter = ((XRTreeFrag) xobj).asNodeIterator();
-            return new DTMNodeIterator(dtmIter);
-          }
-          else if (javaClass == NodeList.class)
-          {
-            return ((XRTreeFrag) xobj).convertToNodeset();
-          }
-          // Same comment as above
-          // else if(Node.class.isAssignableFrom(javaClass))
-          else if(javaClass == Node.class)
-          {
-            DTMIterator iter = ((XRTreeFrag) xobj).asNodeIterator();
-            int rootHandle = iter.nextNode();
-            DTM dtm = iter.getDTM(rootHandle);
-            return dtm.getNode(dtm.getFirstChild(rootHandle));
-          }
-          else if(javaClass == java.lang.String.class)
-          {
-            return xobj.str();
-          }
-          else if(javaClass == Boolean.TYPE)
-          {
-            return new Boolean(xobj.bool());
-          }
-          else if(javaClass.isPrimitive())
-          {
-            return convertDoubleToNumber(xobj.num(), javaClass);
-          }
-          else
-          {
-            DTMIterator iter = ((XRTreeFrag) xobj).asNodeIterator();
-            int rootHandle = iter.nextNode();
-            DTM dtm = iter.getDTM(rootHandle);
-            Node child = dtm.getNode(dtm.getFirstChild(rootHandle));
-
-            if(javaClass.isAssignableFrom(child.getClass()))
-              return child;
-            else
-              return null;
-          }
-        }
-        // break; Unreachable
-        
-      case XObject.CLASS_NODESET:
-        {
-          // GLP:  I don't see the reason for the isAssignableFrom call
-          //       instead of an == test as is used everywhere else.
-          //       Besides, if the javaClass is a subclass of NodeIterator
-          //       the condition will be true and we'll create a NodeIterator
-          //       which may not match the javaClass, causing a RuntimeException.
-          // if((NodeIterator.class.isAssignableFrom(javaClass)) ||
-          if ( (javaClass == NodeIterator.class) ||
-               (javaClass == java.lang.Object.class) )
-          {
-            return xobj.nodeset();
-          }
-          // Same comment as above
-          // else if(NodeList.class.isAssignableFrom(javaClass))
-          else if(javaClass == NodeList.class)
-          {
-            return xobj.nodelist();
-          }
-          // Same comment as above
-          // else if(Node.class.isAssignableFrom(javaClass))
-          else if(javaClass == Node.class)
-          {
-            // Xalan ensures that iter() always returns an
-            // iterator positioned at the beginning.
-            DTMIterator ni = xobj.iter();
-            int handle = ni.nextNode();
-            if (handle != DTM.NULL)
-              return ni.getDTM(handle).getNode(handle); // may be null.
-            else
-              return null;
-          }
-          else if(javaClass == java.lang.String.class)
-          {
-            return xobj.str();
-          }
-          else if(javaClass == Boolean.TYPE)
-          {
-            return new Boolean(xobj.bool());
-          }
-          else if(javaClass.isPrimitive())
-          {
-            return convertDoubleToNumber(xobj.num(), javaClass);
-          }
-          else
-          {
-            DTMIterator iter = xobj.iter();
-            int childHandle = iter.nextNode();
-            DTM dtm = iter.getDTM(childHandle);
-            Node child = dtm.getNode(childHandle);
-            if(javaClass.isAssignableFrom(child.getClass()))
-              return child;
-            else
-              return null;
-          }
-        }
-        // break; Unreachable
-        
-        // No default:, fall-through on purpose
-      } // end switch
-      xsltObj = xobj.object();
-      
-    } // end if if(xsltObj instanceof XObject)
-    
-    // At this point, we have a raw java object, not an XObject.
-    if (null != xsltObj)
-    {
-      if(javaClass == java.lang.String.class)
-      {
-        return xsltObj.toString();
-      }
-      else if(javaClass.isPrimitive())
-      {
-        // Assume a number conversion
-        XString xstr = new XString(xsltObj.toString());
-        double num = xstr.num();
-        return convertDoubleToNumber(num, javaClass);
-      }
-      else if(javaClass == java.lang.Class.class)
-      {
-        return xsltObj.getClass();
-      }
-      else
-      {
-        // Just pass the object directly, and hope for the best.
-        return xsltObj;
-      }
-                }
-    else
-    {
-      // Just pass the object directly, and hope for the best.
-      return xsltObj;
-    }
-  }
-  
-  /**
-   * Do a standard conversion of a double to the specified type.
-   * @param num The number to be converted.
-   * @param javaClass The class type to be converted to.
-   * @return An object specified by javaClass, or a Double instance.
-   */
-  static Object convertDoubleToNumber(double num, Class javaClass)
-  {
-    // In the code below, I don't check for NaN, etc., instead 
-    // using the standard Java conversion, as I think we should 
-    // specify.  See issue-runtime-errors.
-    if((javaClass == Double.TYPE) ||
-       (javaClass == java.lang.Double.class))
-      return new Double(num);
-    else if(javaClass == Float.TYPE)
-      return new Float(num);
-    else if(javaClass == Long.TYPE)
-    {
-      // Use standard Java Narrowing Primitive Conversion
-      // See http://java.sun.com/docs/books/jls/html/5.doc.html#175672
-      return new Long((long)num);
-    }
-    else if(javaClass == Integer.TYPE)
-    {
-      // Use standard Java Narrowing Primitive Conversion
-      // See http://java.sun.com/docs/books/jls/html/5.doc.html#175672
-      return new Integer((int)num);
-    }
-    else if(javaClass == Short.TYPE)
-    {
-      // Use standard Java Narrowing Primitive Conversion
-      // See http://java.sun.com/docs/books/jls/html/5.doc.html#175672
-      return new Short((short)num);
-    }
-    else if(javaClass == Character.TYPE)
-    {
-      // Use standard Java Narrowing Primitive Conversion
-      // See http://java.sun.com/docs/books/jls/html/5.doc.html#175672
-      return new Character((char)num);
-    }
-    else if(javaClass == Byte.TYPE)
-    {
-      // Use standard Java Narrowing Primitive Conversion
-      // See http://java.sun.com/docs/books/jls/html/5.doc.html#175672
-      return new Byte((byte)num);
-    }
-    else     // Some other type of object
-    {
-      return new Double(num);
-    }
-  }
-
-
-  /**
-   * Format the message for the NoSuchMethodException containing 
-   * all the information about the method we're looking for.
-   */
-  private static String errString(String callType,    // "function" or "element"
-                                  String searchType,  // "method" or "constructor"
-                                  Class classObj,
-                                  String funcName,
-                                  int searchMethod,
-                                  Object[] xsltArgs)
-  {
-    String resultString = "For extension " + callType
-                                              + ", could not find " + searchType + " ";
-    switch (searchMethod)
-    {
-      case STATIC_ONLY:
-        return resultString + "static " + classObj.getName() + "." 
-                            + funcName + "([ExpressionContext,] " + errArgs(xsltArgs, 0) + ").";
-
-      case INSTANCE_ONLY:
-        return resultString + classObj.getName() + "."
-                            + funcName + "([ExpressionContext,] " + errArgs(xsltArgs, 0) + ").";
-
-      case STATIC_AND_INSTANCE:
-        return resultString + classObj.getName() + "." + funcName + "([ExpressionContext,] " + errArgs(xsltArgs, 0) + ").\n"
-                            + "Checked both static and instance methods.";
-
-      case DYNAMIC:
-        return resultString + "static " + classObj.getName() + "." + funcName
-                            + "([ExpressionContext, ]" + errArgs(xsltArgs, 0) + ") nor\n"
-                            + classObj + "." + funcName + "([ExpressionContext,] " + errArgs(xsltArgs, 1) + ").";
-
-      default:
-        if (callType.equals("function"))      // must be a constructor
-        {
-          return resultString + classObj.getName()
-                                  + "([ExpressionContext,] " + errArgs(xsltArgs, 0) + ").";
-        }
-        else                                  // must be an element call
-        {
-          return resultString + classObj.getName() + "." + funcName
-                    + "(org.apache.xalan.extensions.XSLProcessorContext, "
-                    + "org.apache.xalan.templates.ElemExtensionCall).";
-        }
-    }
-    
-  }
-
-
-  private static String errArgs(Object[] xsltArgs, int startingArg)
-  {
-    StringBuffer returnArgs = new StringBuffer();
-    for (int i = startingArg; i < xsltArgs.length; i++)
-    {
-      if (i != startingArg)
-        returnArgs.append(", ");
-      if (xsltArgs[i] instanceof XObject)
-        returnArgs.append(((XObject) xsltArgs[i]).getTypeString());      
-      else
-        returnArgs.append(xsltArgs[i].getClass().getName());
-    }
-    return returnArgs.toString();
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/ObjectFactory.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/ObjectFactory.java
index 9e8c9df..3772cb7 100755
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/ObjectFactory.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/extensions/ObjectFactory.java
@@ -21,15 +21,6 @@
 
 package org.apache.xalan.extensions;
 
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.File;
-import java.io.FileInputStream;
-
-import java.util.Properties;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
 /**
  * This class is duplicated for each JAXP subpackage so keep it in sync.
  * It is package private and therefore is not exposed as part of the JAXP
@@ -49,426 +40,18 @@
  */
 class ObjectFactory {
 
-    //
-    // Constants
-    //
-
-    // name of default properties file to look for in JDK's jre/lib directory
-    private static final String DEFAULT_PROPERTIES_FILENAME =
-                                                     "xalan.properties";
-
-    private static final String SERVICES_PATH = "META-INF/services/";
-
-    /** Set to true for debugging */
-    private static final boolean DEBUG = false;
-
-    /** cache the contents of the xalan.properties file.
-     *  Until an attempt has been made to read this file, this will
-     * be null; if the file does not exist or we encounter some other error
-     * during the read, this will be empty.
-     */
-    private static Properties fXalanProperties = null;
-
-    /***
-     * Cache the time stamp of the xalan.properties file so
-     * that we know if it's been modified and can invalidate
-     * the cache when necessary.
-     */
-    private static long fLastModified = -1;
-
-    //
-    // Public static methods
-    //
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return instance of factory, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Object createObject(String factoryId, String fallbackClassName)
-        throws ConfigurationError {
-        return createObject(factoryId, null, fallbackClassName);
-    } // createObject(String,String):Object
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return instance of factory, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Object createObject(String factoryId, 
-                                      String propertiesFilename,
-                                      String fallbackClassName)
-        throws ConfigurationError
-    {
-        Class factoryClass = lookUpFactoryClass(factoryId,
-                                                propertiesFilename,
-                                                fallbackClassName);
-
-        if (factoryClass == null) {
-            throw new ConfigurationError(
-                "Provider for " + factoryId + " cannot be found", null);
-        }
-
-        try{
-            Object instance = factoryClass.newInstance();
-            debugPrintln("created new instance of factory " + factoryId);
-            return instance;
-        } catch (Exception x) {
-            throw new ConfigurationError(
-                "Provider for factory " + factoryId
-                    + " could not be instantiated: " + x, x);
-        }
-    } // createObject(String,String,String):Object
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return Class object of factory, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Class lookUpFactoryClass(String factoryId) 
-        throws ConfigurationError
-    {
-        return lookUpFactoryClass(factoryId, null, null);
-    } // lookUpFactoryClass(String):Class
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return Class object that provides factory service, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Class lookUpFactoryClass(String factoryId,
-                                           String propertiesFilename,
-                                           String fallbackClassName)
-        throws ConfigurationError
-    {
-        String factoryClassName = lookUpFactoryClassName(factoryId,
-                                                         propertiesFilename,
-                                                         fallbackClassName);
-        ClassLoader cl = findClassLoader();
-
-        if (factoryClassName == null) {
-            factoryClassName = fallbackClassName;
-        }
-
-        // assert(className != null);
-        try{
-            Class providerClass = findProviderClass(factoryClassName,
-                                                    cl,
-                                                    true);
-            debugPrintln("created new instance of " + providerClass +
-                   " using ClassLoader: " + cl);
-            return providerClass;
-        } catch (ClassNotFoundException x) {
-            throw new ConfigurationError(
-                "Provider " + factoryClassName + " not found", x);
-        } catch (Exception x) {
-            throw new ConfigurationError(
-                "Provider "+factoryClassName+" could not be instantiated: "+x,
-                x);
-        }
-    } // lookUpFactoryClass(String,String,String):Class
-
-    /**
-     * Finds the name of the required implementation class in the specified
-     * order.  The specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return name of class that provides factory service, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static String lookUpFactoryClassName(String factoryId,
-                                                String propertiesFilename,
-                                                String fallbackClassName)
-    {
-        SecuritySupport ss = SecuritySupport.getInstance();
-
-        // Use the system property first
-        try {
-            String systemProp = ss.getSystemProperty(factoryId);
-            if (systemProp != null) {
-                debugPrintln("found system property, value=" + systemProp);
-                return systemProp;
-            }
-        } catch (SecurityException se) {
-            // Ignore and continue w/ next location
-        }
-
-        // Try to read from propertiesFilename, or
-        // $java.home/lib/xalan.properties
-        String factoryClassName = null;
-        // no properties file name specified; use
-        // $JAVA_HOME/lib/xalan.properties:
-        if (propertiesFilename == null) {
-            File propertiesFile = null;
-            boolean propertiesFileExists = false;
-            try {
-                String javah = ss.getSystemProperty("java.home");
-                propertiesFilename = javah + File.separator +
-                    "lib" + File.separator + DEFAULT_PROPERTIES_FILENAME;
-                propertiesFile = new File(propertiesFilename);
-                propertiesFileExists = ss.getFileExists(propertiesFile);
-            } catch (SecurityException e) {
-                // try again...
-                fLastModified = -1;
-                fXalanProperties = null;
-            }
-
-            synchronized (ObjectFactory.class) {
-                boolean loadProperties = false;
-                FileInputStream fis = null;
-                try {
-                    // file existed last time
-                    if(fLastModified >= 0) {
-                        if(propertiesFileExists &&
-                                (fLastModified < (fLastModified = ss.getLastModified(propertiesFile)))) {
-                            loadProperties = true;
-                        } else {
-                            // file has stopped existing...
-                            if(!propertiesFileExists) {
-                                fLastModified = -1;
-                                fXalanProperties = null;
-                            } // else, file wasn't modified!
-                        }
-                    } else {
-                        // file has started to exist:
-                        if(propertiesFileExists) {
-                            loadProperties = true;
-                            fLastModified = ss.getLastModified(propertiesFile);
-                        } // else, nothing's changed
-                    }
-                    if(loadProperties) {
-                        // must never have attempted to read xalan.properties
-                        // before (or it's outdeated)
-                        fXalanProperties = new Properties();
-                        fis = ss.getFileInputStream(propertiesFile);
-                        fXalanProperties.load(fis);
-                    }
-	        } catch (Exception x) {
-	            fXalanProperties = null;
-	            fLastModified = -1;
-                    // assert(x instanceof FileNotFoundException
-	            //        || x instanceof SecurityException)
-	            // In both cases, ignore and continue w/ next location
-	        }
-                finally {
-                    // try to close the input stream if one was opened.
-                    if (fis != null) {
-                        try {
-                            fis.close();
-                        }
-                        // Ignore the exception.
-                        catch (IOException exc) {}
-                    }
-                }	            
-            }
-            if(fXalanProperties != null) {
-                factoryClassName = fXalanProperties.getProperty(factoryId);
-            }
-        } else {
-            FileInputStream fis = null;
-            try {
-                fis = ss.getFileInputStream(new File(propertiesFilename));
-                Properties props = new Properties();
-                props.load(fis);
-                factoryClassName = props.getProperty(factoryId);
-            } catch (Exception x) {
-                // assert(x instanceof FileNotFoundException
-                //        || x instanceof SecurityException)
-                // In both cases, ignore and continue w/ next location
-            }
-            finally {
-                // try to close the input stream if one was opened.
-                if (fis != null) {
-                    try {
-                        fis.close();
-                    }
-                    // Ignore the exception.
-                    catch (IOException exc) {}
-                }
-            }               
-        }
-        if (factoryClassName != null) {
-            debugPrintln("found in " + propertiesFilename + ", value="
-                          + factoryClassName);
-            return factoryClassName;
-        }
-
-        // Try Jar Service Provider Mechanism
-        return findJarServiceProviderName(factoryId);
-    } // lookUpFactoryClass(String,String):String
-
-    //
-    // Private static methods
-    //
-
-    /** Prints a message to standard error if debugging is enabled. */
-    private static void debugPrintln(String msg) {
-        if (DEBUG) {
-            System.err.println("JAXP: " + msg);
-        }
-    } // debugPrintln(String)
-
     /**
      * Figure out which ClassLoader to use.  For JDK 1.2 and later use
      * the context ClassLoader.
      */
     static ClassLoader findClassLoader()
         throws ConfigurationError
-    { 
-        SecuritySupport ss = SecuritySupport.getInstance();
-
-        // Figure out which ClassLoader to use for loading the provider
-        // class.  If there is a Context ClassLoader then use it.
-        ClassLoader context = ss.getContextClassLoader();
-        ClassLoader system = ss.getSystemClassLoader();
-
-        ClassLoader chain = system;
-        while (true) {
-            if (context == chain) {
-                // Assert: we are on JDK 1.1 or we have no Context ClassLoader
-                // or any Context ClassLoader in chain of system classloader
-                // (including extension ClassLoader) so extend to widest
-                // ClassLoader (always look in system ClassLoader if Xalan
-                // is in boot/extension/system classpath and in current
-                // ClassLoader otherwise); normal classloaders delegate
-                // back to system ClassLoader first so this widening doesn't
-                // change the fact that context ClassLoader will be consulted
-                ClassLoader current = ObjectFactory.class.getClassLoader();
-
-                chain = system;
-                while (true) {
-                    if (current == chain) {
-                        // Assert: Current ClassLoader in chain of
-                        // boot/extension/system ClassLoaders
-                        return system;
-                    }
-                    if (chain == null) {
-                        break;
-                    }
-                    chain = ss.getParentClassLoader(chain);
-                }
-
-                // Assert: Current ClassLoader not in chain of
-                // boot/extension/system ClassLoaders
-                return current;
-            }
-
-            if (chain == null) {
-                // boot ClassLoader reached
-                break;
-            }
-
-            // Check for any extension ClassLoaders in chain up to
-            // boot ClassLoader
-            chain = ss.getParentClassLoader(chain);
-        };
-
-        // Assert: Context ClassLoader not in chain of
-        // boot/extension/system ClassLoaders
-        return context;
-    } // findClassLoader():ClassLoader
-
-    /**
-     * Create an instance of a class using the specified ClassLoader
-     */ 
-    static Object newInstance(String className, ClassLoader cl,
-                                      boolean doFallback)
-        throws ConfigurationError
     {
-        // assert(className != null);
-        try{
-            Class providerClass = findProviderClass(className, cl, doFallback);
-            Object instance = providerClass.newInstance();
-            debugPrintln("created new instance of " + providerClass +
-                   " using ClassLoader: " + cl);
-            return instance;
-        } catch (ClassNotFoundException x) {
-            throw new ConfigurationError(
-                "Provider " + className + " not found", x);
-        } catch (Exception x) {
-            throw new ConfigurationError(
-                "Provider " + className + " could not be instantiated: " + x,
-                x);
-        }
-    }
+        // BEGIN android-changed
+        //     the context class loader is always sufficient
+        return Thread.currentThread().getContextClassLoader();
+        // END android-changed
+    } // findClassLoader():ClassLoader
 
     /**
      * Find a Class using the specified ClassLoader
@@ -527,96 +110,6 @@
         return providerClass;
     }
 
-    /**
-     * Find the name of service provider using Jar Service Provider Mechanism
-     *
-     * @return instance of provider class if found or null
-     */
-    private static String findJarServiceProviderName(String factoryId)
-    {
-        SecuritySupport ss = SecuritySupport.getInstance();
-        String serviceId = SERVICES_PATH + factoryId;
-        InputStream is = null;
-
-        // First try the Context ClassLoader
-        ClassLoader cl = findClassLoader();
-
-        is = ss.getResourceAsStream(cl, serviceId);
-
-        // If no provider found then try the current ClassLoader
-        if (is == null) {
-            ClassLoader current = ObjectFactory.class.getClassLoader();
-            if (cl != current) {
-                cl = current;
-                is = ss.getResourceAsStream(cl, serviceId);
-            }
-        }
-
-        if (is == null) {
-            // No provider found
-            return null;
-        }
-
-        debugPrintln("found jar resource=" + serviceId +
-               " using ClassLoader: " + cl);
-
-        // Read the service provider name in UTF-8 as specified in
-        // the jar spec.  Unfortunately this fails in Microsoft
-        // VJ++, which does not implement the UTF-8
-        // encoding. Theoretically, we should simply let it fail in
-        // that case, since the JVM is obviously broken if it
-        // doesn't support such a basic standard.  But since there
-        // are still some users attempting to use VJ++ for
-        // development, we have dropped in a fallback which makes a
-        // second attempt using the platform's default encoding. In
-        // VJ++ this is apparently ASCII, which is a subset of
-        // UTF-8... and since the strings we'll be reading here are
-        // also primarily limited to the 7-bit ASCII range (at
-        // least, in English versions), this should work well
-        // enough to keep us on the air until we're ready to
-        // officially decommit from VJ++. [Edited comment from
-        // jkesselm]
-        BufferedReader rd;
-        try {
-            rd = new BufferedReader(new InputStreamReader(is, "UTF-8"));
-        } catch (java.io.UnsupportedEncodingException e) {
-            rd = new BufferedReader(new InputStreamReader(is));
-        }
-        
-        String factoryClassName = null;
-        try {
-            // XXX Does not handle all possible input as specified by the
-            // Jar Service Provider specification
-            factoryClassName = rd.readLine();
-        } catch (IOException x) {
-            // No provider found
-            return null;
-        }
-        finally {
-            try {
-                // try to close the reader.
-                rd.close();
-            }
-            // Ignore the exception.
-            catch (IOException exc) {}
-        }          
-
-        if (factoryClassName != null &&
-            ! "".equals(factoryClassName)) {
-            debugPrintln("found in resource, value="
-                   + factoryClassName);
-
-            // Note: here we do not want to fall back to the current
-            // ClassLoader because we want to avoid the case where the
-            // resource file was found using one ClassLoader and the
-            // provider class was instantiated using a different one.
-            return factoryClassName;
-        }
-
-        // No provider found
-        return null;
-    }
-
     //
     // Classes
     //
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/SecuritySupport.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/SecuritySupport.java
deleted file mode 100755
index d3fe907..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/SecuritySupport.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: SecuritySupport.java 468637 2006-10-28 06:51:02Z minchau $
- */
-
-package org.apache.xalan.extensions;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
-import java.util.Properties;
-
-/**
- * This class is duplicated for each Xalan-Java subpackage so keep it in sync.
- * It is package private and therefore is not exposed as part of the Xalan-Java
- * API.
- *
- * Base class with security related methods that work on JDK 1.1.
- */
-class SecuritySupport {
-
-    /*
-     * Make this of type Object so that the verifier won't try to
-     * prove its type, thus possibly trying to load the SecuritySupport12
-     * class.
-     */
-    private static final Object securitySupport;
-
-    static {
-	SecuritySupport ss = null;
-	try {
-	    Class c = Class.forName("java.security.AccessController");
-	    // if that worked, we're on 1.2.
-	    /*
-	    // don't reference the class explicitly so it doesn't
-	    // get dragged in accidentally.
-	    c = Class.forName("javax.mail.SecuritySupport12");
-	    Constructor cons = c.getConstructor(new Class[] { });
-	    ss = (SecuritySupport)cons.newInstance(new Object[] { });
-	    */
-	    /*
-	     * Unfortunately, we can't load the class using reflection
-	     * because the class is package private.  And the class has
-	     * to be package private so the APIs aren't exposed to other
-	     * code that could use them to circumvent security.  Thus,
-	     * we accept the risk that the direct reference might fail
-	     * on some JDK 1.1 JVMs, even though we would never execute
-	     * this code in such a case.  Sigh...
-	     */
-	    ss = new SecuritySupport12();
-	} catch (Exception ex) {
-	    // ignore it
-	} finally {
-	    if (ss == null)
-		ss = new SecuritySupport();
-	    securitySupport = ss;
-	}
-    }
-
-    /**
-     * Return an appropriate instance of this class, depending on whether
-     * we're on a JDK 1.1 or J2SE 1.2 (or later) system.
-     */
-    static SecuritySupport getInstance() {
-	return (SecuritySupport)securitySupport;
-    }
-
-    ClassLoader getContextClassLoader() {
-	return null;
-    }
-
-    ClassLoader getSystemClassLoader() {
-        return null;
-    }
-
-    ClassLoader getParentClassLoader(ClassLoader cl) {
-        return null;
-    }
-
-    String getSystemProperty(String propName) {
-        return System.getProperty(propName);
-    }
-
-    FileInputStream getFileInputStream(File file)
-        throws FileNotFoundException
-    {
-        return new FileInputStream(file);
-    }
-
-    InputStream getResourceAsStream(ClassLoader cl, String name) {
-        InputStream ris;
-        if (cl == null) {
-            ris = ClassLoader.getSystemResourceAsStream(name);
-        } else {
-            ris = cl.getResourceAsStream(name);
-        }
-        return ris;
-    }
-    
-    boolean getFileExists(File f) {
-        return f.exists();
-    }
-    
-    long getLastModified(File f) {
-        return f.lastModified();
-    }    
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/SecuritySupport12.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/SecuritySupport12.java
deleted file mode 100755
index f891f94..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/SecuritySupport12.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: SecuritySupport12.java 468637 2006-10-28 06:51:02Z minchau $
- */
-
-package org.apache.xalan.extensions;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-
-import java.util.Properties;
-
-/**
- * This class is duplicated for each Xalan-Java subpackage so keep it in sync.
- * It is package private and therefore is not exposed as part of the Xalan-Java
- * API.
- *
- * Security related methods that only work on J2SE 1.2 and newer.
- */
-class SecuritySupport12 extends SecuritySupport {
-
-    ClassLoader getContextClassLoader() {
-        return (ClassLoader)
-                AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
-                ClassLoader cl = null;
-                try {
-                    cl = Thread.currentThread().getContextClassLoader();
-                } catch (SecurityException ex) { }
-                return cl;
-            }
-        });
-    }
-
-    ClassLoader getSystemClassLoader() {
-        return (ClassLoader)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    ClassLoader cl = null;
-                    try {
-                        cl = ClassLoader.getSystemClassLoader();
-                    } catch (SecurityException ex) {}
-                    return cl;
-                }
-            });
-    }
-
-    ClassLoader getParentClassLoader(final ClassLoader cl) {
-        return (ClassLoader)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    ClassLoader parent = null;
-                    try {
-                        parent = cl.getParent();
-                    } catch (SecurityException ex) {}
-
-                    // eliminate loops in case of the boot
-                    // ClassLoader returning itself as a parent
-                    return (parent == cl) ? null : parent;
-                }
-            });
-    }
-
-    String getSystemProperty(final String propName) {
-        return (String)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    return System.getProperty(propName);
-                }
-            });
-    }
-
-    FileInputStream getFileInputStream(final File file)
-        throws FileNotFoundException
-    {
-        try {
-            return (FileInputStream)
-                AccessController.doPrivileged(new PrivilegedExceptionAction() {
-                    public Object run() throws FileNotFoundException {
-                        return new FileInputStream(file);
-                    }
-                });
-        } catch (PrivilegedActionException e) {
-            throw (FileNotFoundException)e.getException();
-        }
-    }
-
-    InputStream getResourceAsStream(final ClassLoader cl,
-                                           final String name)
-    {
-        return (InputStream)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    InputStream ris;
-                    if (cl == null) {
-                        ris = ClassLoader.getSystemResourceAsStream(name);
-                    } else {
-                        ris = cl.getResourceAsStream(name);
-                    }
-                    return ris;
-                }
-            });
-    }
-    
-    boolean getFileExists(final File f) {
-    return ((Boolean)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    return new Boolean(f.exists());
-                }
-            })).booleanValue();
-    }
-    
-    long getLastModified(final File f) {
-    return ((Long)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    return new Long(f.lastModified());
-                }
-            })).longValue();
-    }
-        
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/XPathFunctionImpl.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/XPathFunctionImpl.java
deleted file mode 100644
index e9d2122..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/XPathFunctionImpl.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.xalan.extensions;
-
-import java.util.List;
-import java.util.Vector;
-
-import javax.xml.transform.TransformerException;
-import javax.xml.xpath.XPathFunction;
-import javax.xml.xpath.XPathFunctionException;
-
-/**
- * A sample implementation of XPathFunction, with support for
- * EXSLT extension functions and Java extension functions.
- */
-public class XPathFunctionImpl implements XPathFunction
-{
-    private ExtensionHandler m_handler;
-    private String m_funcName;
-    
-    /**
-     * Construct an instance of XPathFunctionImpl from the
-     * ExtensionHandler and function name.
-     */
-    public XPathFunctionImpl(ExtensionHandler handler, String funcName)
-    {
-        m_handler = handler;
-        m_funcName = funcName;
-    }
-        
-    /**
-     * @see javax.xml.xpath.XPathFunction#evaluate(java.util.List)
-     */
-    public Object evaluate(List args)
-        throws XPathFunctionException
-    {
-        Vector  argsVec = listToVector(args);
-        
-        try {
-            // The method key and ExpressionContext are set to null.
-            return m_handler.callFunction(m_funcName, argsVec, null, null);
-        }
-        catch (TransformerException e)
-        {
-            throw new XPathFunctionException(e);
-        }
-    }
-    
-    /**
-     * Convert a java.util.List to a java.util.Vector. 
-     * No conversion is done if the List is already a Vector.
-     */
-    private static Vector listToVector(List args)
-    {
-        if (args == null)
-            return null;
-        else if (args instanceof Vector)
-            return (Vector)args;
-        else
-        {
-            Vector result = new Vector();
-            result.addAll(args);
-            return result;
-        }        
-    }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/XPathFunctionResolverImpl.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/XPathFunctionResolverImpl.java
deleted file mode 100644
index 4fc1c24..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/XPathFunctionResolverImpl.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.xalan.extensions;
-
-import javax.xml.namespace.QName;
-import javax.xml.xpath.XPathFunction;
-import javax.xml.xpath.XPathFunctionResolver;
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
-
-/**
- * A sample implementation of XPathFunctionResolver, with support for
- * EXSLT extension functions and Java extension functions.
- */
-public class XPathFunctionResolverImpl implements XPathFunctionResolver
-{
-    /**
-     * Resolve an extension function from the qualified name and arity.
-     */
-    public XPathFunction resolveFunction(QName qname, int arity)
-    {
-        if (qname == null)
-            throw new NullPointerException(
-                XSLMessages.createMessage(
-                    XSLTErrorResources.ER_XPATH_RESOLVER_NULL_QNAME, null));
-        
-        if (arity < 0)
-            throw new IllegalArgumentException(
-                XSLMessages.createMessage(
-                    XSLTErrorResources.ER_XPATH_RESOLVER_NEGATIVE_ARITY, null));
-        
-        String uri = qname.getNamespaceURI();
-        if (uri == null || uri.length() == 0)
-            return null;
-        
-        String className = null;
-        String methodName = null;
-        if (uri.startsWith("http://exslt.org"))
-        {
-            className = getEXSLTClassName(uri);
-            methodName = qname.getLocalPart();
-        }
-        else if (!uri.equals(ExtensionNamespaceContext.JAVA_EXT_URI))
-        {
-            int lastSlash = className.lastIndexOf("/");
-            if (-1 != lastSlash)
-                className = className.substring(lastSlash + 1);
-        }           
- 
-        String localPart = qname.getLocalPart();
-        int lastDotIndex = localPart.lastIndexOf('.');
-        if (lastDotIndex > 0)
-        {
-            if (className != null)
-                className = className + "." + localPart.substring(0, lastDotIndex);
-            else
-                className = localPart.substring(0, lastDotIndex);
-                
-            methodName = localPart.substring(lastDotIndex + 1);
-        }
-        else
-            methodName = localPart;
-     
-        if(null == className || className.trim().length() == 0 
-           || null == methodName || methodName.trim().length() == 0) 
-            return null;
-    
-        ExtensionHandler handler = null;
-        try
-        {
-            ExtensionHandler.getClassForName(className);
-            handler = new ExtensionHandlerJavaClass(uri, "javaclass", className);
-        }
-        catch (ClassNotFoundException e)
-        {
-           return null;
-        }
-        return new XPathFunctionImpl(handler, methodName);
-    }
-    
-    /**
-     * Return the implementation class name of an EXSLT extension from
-     * a given namespace uri. The uri must starts with "http://exslt.org".
-     */
-    private String getEXSLTClassName(String uri)
-    {
-        if (uri.equals(ExtensionNamespaceContext.EXSLT_MATH_URI))
-            return "org.apache.xalan.lib.ExsltMath";
-        else if (uri.equals(ExtensionNamespaceContext.EXSLT_SET_URI))
-            return "org.apache.xalan.lib.ExsltSets";
-        else if (uri.equals(ExtensionNamespaceContext.EXSLT_STRING_URI))
-            return "org.apache.xalan.lib.ExsltStrings";
-        else if (uri.equals(ExtensionNamespaceContext.EXSLT_DATETIME_URI))
-            return "org.apache.xalan.lib.ExsltDatetime";
-        else if (uri.equals(ExtensionNamespaceContext.EXSLT_DYNAMIC_URI))
-            return "org.apache.xalan.lib.ExsltDynamic";
-        else if (uri.equals(ExtensionNamespaceContext.EXSLT_URI))
-            return "org.apache.xalan.lib.ExsltCommon";
-        else
-            return null;
-    }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/XSLProcessorContext.java b/libcore/xml/src/main/java/org/apache/xalan/extensions/XSLProcessorContext.java
deleted file mode 100644
index 868f76b..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/XSLProcessorContext.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLProcessorContext.java 468637 2006-10-28 06:51:02Z minchau $
- */
-package org.apache.xalan.extensions;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.xalan.templates.Stylesheet;
-import org.apache.xalan.transformer.ClonerToResultTree;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xml.dtm.DTM;
-import org.apache.xml.dtm.DTMAxisIterator;
-import org.apache.xml.dtm.DTMIterator;
-import org.apache.xalan.serialize.SerializerUtils;
-import org.apache.xml.serializer.SerializationHandler;
-import org.apache.xml.utils.QName;
-import org.apache.xpath.XPathContext;
-import org.apache.xpath.axes.DescendantIterator;
-import org.apache.xpath.axes.OneStepIterator;
-import org.apache.xpath.objects.XBoolean;
-import org.apache.xpath.objects.XNodeSet;
-import org.apache.xpath.objects.XNumber;
-import org.apache.xpath.objects.XObject;
-import org.apache.xpath.objects.XRTreeFrag;
-import org.apache.xpath.objects.XString;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.traversal.NodeIterator;
-
-// import org.apache.xalan.xslt.*;
-
-/**
- * Provides transformer context to be passed to an extension element.
- *
- * @author Sanjiva Weerawarana (sanjiva@watson.ibm.com)
- * @xsl.usage general
- */
-public class XSLProcessorContext
-{
-
-  /**
-   * Create a processor context to be passed to an extension.
-   * (Notice it is a package-only constructor).
-   *
-   * @param transformer non-null transformer instance
-   * @param stylesheetTree The owning stylesheet
-   */
-  public XSLProcessorContext(TransformerImpl transformer,
-                             Stylesheet stylesheetTree)
-  {
-
-    this.transformer = transformer;
-    this.stylesheetTree = stylesheetTree;
-    // %TBD%
-    org.apache.xpath.XPathContext xctxt = transformer.getXPathContext();
-    this.mode = transformer.getMode();
-    this.sourceNode = xctxt.getCurrentNode();
-    this.sourceTree = xctxt.getDTM(this.sourceNode);
-  }
-
-  /** An instance of a transformer          */
-  private TransformerImpl transformer;
-
-  /**
-   * Get the transformer.
-   *
-   * @return the transformer instance for this context
-   */
-  public TransformerImpl getTransformer()
-  {
-    return transformer;
-  }
-
-  /** The owning stylesheet for this context          */
-  private Stylesheet stylesheetTree;
-
-  /**
-   * Get the Stylesheet being executed.
-   *
-   * @return the Stylesheet being executed.
-   */
-  public Stylesheet getStylesheet()
-  {
-    return stylesheetTree;
-  }
-
-  /**  The root of the source tree being executed.        */
-  private org.apache.xml.dtm.DTM sourceTree;
-
-  /**
-   * Get the root of the source tree being executed.
-   *
-   * @return the root of the source tree being executed.
-   */
-  public org.w3c.dom.Node getSourceTree()
-  {
-    return sourceTree.getNode(sourceTree.getDocumentRoot(sourceNode));
-  }
-
-  /** the current context node.          */
-  private int sourceNode;
-
-  /**
-   * Get the current context node.
-   *
-   * @return the current context node.
-   */
-  public org.w3c.dom.Node getContextNode()
-  {
-    return sourceTree.getNode(sourceNode);
-  }
-
-  /** the current mode being executed.         */
-  private QName mode;
-
-  /**
-   * Get the current mode being executed.
-   *
-   * @return the current mode being executed.
-   */
-  public QName getMode()
-  {
-    return mode;
-  }
-
-  /**
-   * Output an object to the result tree by doing the right conversions.
-   * This is public for access by extensions.
-   *
-   *
-   * @param stylesheetTree The owning stylesheet
-   * @param obj the Java object to output. If its of an X<something> type
-   *        then that conversion is done first and then sent out.
-   *
-   * @throws TransformerException
-   * @throws java.io.FileNotFoundException
-   * @throws java.io.IOException
-   * @throws java.net.MalformedURLException
-   */
-  public void outputToResultTree(Stylesheet stylesheetTree, Object obj)
-          throws TransformerException, java.net.MalformedURLException,
-                 java.io.FileNotFoundException, java.io.IOException
-  {
-
-    try
-    {
-      SerializationHandler rtreeHandler = transformer.getResultTreeHandler();
-      XPathContext xctxt = transformer.getXPathContext();
-      XObject value;
-
-      // Make the return object into an XObject because it
-      // will be easier below.  One of the reasons to do this
-      // is to keep all the conversion functionality in the
-      // XObject classes.
-      if (obj instanceof XObject)
-      {
-        value = (XObject) obj;
-      }
-      else if (obj instanceof String)
-      {
-        value = new XString((String) obj);
-      }
-      else if (obj instanceof Boolean)
-      {
-        value = new XBoolean(((Boolean) obj).booleanValue());
-      }
-      else if (obj instanceof Double)
-      {
-        value = new XNumber(((Double) obj).doubleValue());
-      }
-      else if (obj instanceof DocumentFragment)
-      {
-        int handle = xctxt.getDTMHandleFromNode((DocumentFragment)obj);
-        
-        value = new XRTreeFrag(handle, xctxt);
-      }
-      else if (obj instanceof DTM)
-      {
-        DTM dtm = (DTM)obj;
-        DTMIterator iterator = new DescendantIterator();
-        // %%ISSUE%% getDocument may not be valid for DTMs shared by multiple
-        // document trees, eg RTFs. But in that case, we shouldn't be trying
-        // to iterate over the whole DTM; we should be iterating over 
-        // dtm.getDocumentRoot(rootNodeHandle), and folks should have told us
-        // this by passing a more appropriate type.
-        iterator.setRoot(dtm.getDocument(), xctxt);
-        value = new XNodeSet(iterator);
-      }
-      else if (obj instanceof DTMAxisIterator)
-      {
-        DTMAxisIterator iter = (DTMAxisIterator)obj;
-        DTMIterator iterator = new OneStepIterator(iter, -1);
-        value = new XNodeSet(iterator);
-      }
-      else if (obj instanceof DTMIterator)
-      {
-        value = new XNodeSet((DTMIterator) obj);
-      }
-      else if (obj instanceof NodeIterator)
-      {
-        value = new XNodeSet(new org.apache.xpath.NodeSetDTM(((NodeIterator)obj), xctxt));
-      }
-      else if (obj instanceof org.w3c.dom.Node)
-      {
-        value =
-          new XNodeSet(xctxt.getDTMHandleFromNode((org.w3c.dom.Node) obj),
-                       xctxt.getDTMManager());
-      }
-      else
-      {
-        value = new XString(obj.toString());
-      }
-
-      int type = value.getType();
-      String s;
-
-      switch (type)
-      {
-      case XObject.CLASS_BOOLEAN :
-      case XObject.CLASS_NUMBER :
-      case XObject.CLASS_STRING :
-        s = value.str();
-
-        rtreeHandler.characters(s.toCharArray(), 0, s.length());
-        break;
-
-      case XObject.CLASS_NODESET :  // System.out.println(value);
-        DTMIterator nl = value.iter();
-        
-        int pos;
-
-        while (DTM.NULL != (pos = nl.nextNode()))
-        {
-          DTM dtm = nl.getDTM(pos);
-          int top = pos;
-
-          while (DTM.NULL != pos)
-          {
-            rtreeHandler.flushPending();
-            ClonerToResultTree.cloneToResultTree(pos, dtm.getNodeType(pos), 
-                                                   dtm, rtreeHandler, true);
-
-            int nextNode = dtm.getFirstChild(pos);
-
-            while (DTM.NULL == nextNode)
-            {
-              if (DTM.ELEMENT_NODE == dtm.getNodeType(pos))
-              {
-                rtreeHandler.endElement("", "", dtm.getNodeName(pos));
-              }
-
-              if (top == pos)
-                break;
-
-              nextNode = dtm.getNextSibling(pos);
-
-              if (DTM.NULL == nextNode)
-              {
-                pos = dtm.getParent(pos);
-
-                if (top == pos)
-                {
-                  if (DTM.ELEMENT_NODE == dtm.getNodeType(pos))
-                  {
-                    rtreeHandler.endElement("", "", dtm.getNodeName(pos));
-                  }
-
-                  nextNode = DTM.NULL;
-
-                  break;
-                }
-              }
-            }
-
-            pos = nextNode;
-          }
-        }
-        break;
-      case XObject.CLASS_RTREEFRAG :
-        SerializerUtils.outputResultTreeFragment(
-            rtreeHandler, value, transformer.getXPathContext());
-//        rtreeHandler.outputResultTreeFragment(value,
-//                                              transformer.getXPathContext());
-        break;
-      }
-    }
-    catch(org.xml.sax.SAXException se)
-    {
-      throw new TransformerException(se);
-    }
-  }
-
-  /**
-   * I need a "Node transformNode (Node)" method somewhere that the
-   * user can call to process the transformation of a node but not
-   * serialize out automatically. ????????????????
-   *
-   * Does ElemTemplateElement.executeChildTemplates() cut it? It sends
-   * results out to the stream directly, so that could be a problem.
-   */
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/extensions/package.html b/libcore/xml/src/main/java/org/apache/xalan/extensions/package.html
deleted file mode 100644
index 3805599..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/extensions/package.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<!-- $Id -->
-<html>
-  <title>Xalan Extension Mechanism Package.</title>
-  <body>
-    <p>Implementation of Xalan Extension Mechanism.<p>
- </body>
-</html>
-
-
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltBase.java b/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltBase.java
deleted file mode 100644
index 4db9102..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltBase.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExsltBase.java 468639 2006-10-28 06:52:33Z minchau $
- */
-package org.apache.xalan.lib;
-
-import org.apache.xml.dtm.ref.DTMNodeProxy;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * The base class for some EXSLT extension classes.
- * It contains common utility methods to be used by the sub-classes.
- */
-public abstract class ExsltBase
-{
-  /**
-   * Return the string value of a Node
-   *
-   * @param n The Node.
-   * @return The string value of the Node
-   */
-  protected static String toString(Node n)
-  {
-    if (n instanceof DTMNodeProxy)
-  	 return ((DTMNodeProxy)n).getStringValue();
-    else
-    {
-      String value = n.getNodeValue();
-      if (value == null)
-      {
-        NodeList nodelist = n.getChildNodes();
-        StringBuffer buf = new StringBuffer();
-        for (int i = 0; i < nodelist.getLength(); i++)
-        {
-          Node childNode = nodelist.item(i);
-          buf.append(toString(childNode));
-        }
-        return buf.toString();
-      }
-      else
-        return value;
-    }
-  }
-  
-  /**
-   * Convert the string value of a Node to a number.
-   * Return NaN if the string is not a valid number.
-   *
-   * @param n The Node.
-   * @return The number value of the Node
-   */
-  protected static double toNumber(Node n)
-  {
-    double d = 0.0;
-    String str = toString(n);
-    try
-    {
-      d = Double.valueOf(str).doubleValue();
-    }
-    catch (NumberFormatException e)
-    {
-      d= Double.NaN;  		
-    }
-    return d;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltCommon.java b/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltCommon.java
deleted file mode 100644
index e7aa485..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltCommon.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExsltCommon.java 468639 2006-10-28 06:52:33Z minchau $
- */
-package org.apache.xalan.lib;
-
-import org.apache.xalan.extensions.ExpressionContext;
-import org.apache.xml.dtm.DTMIterator;
-import org.apache.xml.dtm.ref.DTMNodeIterator;
-import org.apache.xpath.NodeSet;
-
-/**
- * This class contains EXSLT common extension functions.
- * It is accessed by specifying a namespace URI as follows:
- * <pre>
- *    xmlns:exslt="http://exslt.org/common"
- * </pre>
- * 
- * The documentation for each function has been copied from the relevant
- * EXSLT Implementer page.
- * 
- * @see <a href="http://www.exslt.org/">EXSLT</a>
- * @xsl.usage general
- */
-public class ExsltCommon
-{
-  /**
-   * The exsl:object-type function returns a string giving the type of the object passed 
-   * as the argument. The possible object types are: 'string', 'number', 'boolean', 
-   * 'node-set', 'RTF', or 'external'. 
-   * 
-   * Most XSLT object types can be coerced to each other without error. However, there are 
-   * certain coercions that raise errors, most importantly treating anything other than a 
-   * node set as a node set. Authors of utilities such as named templates or user-defined 
-   * extension functions may wish to give some flexibility in the parameter and argument values 
-   * that are accepted by the utility; the exsl:object-type function enables them to do so.
-   * 
-   * The Xalan extensions MethodResolver converts 'object-type' to 'objectType'.
-   * 
-   * @param obj The object to be typed.
-   * @return objectType 'string', 'number', 'boolean', 'node-set', 'RTF', or 'external'.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static String objectType (Object obj)
-  {
-    if (obj instanceof String)
-      return "string";
-    else if (obj instanceof Boolean)
-      return "boolean";
-    else if (obj instanceof Number)
-      return "number";
-    else if (obj instanceof DTMNodeIterator)
-    {
-      DTMIterator dtmI = ((DTMNodeIterator)obj).getDTMIterator();
-      if (dtmI instanceof org.apache.xpath.axes.RTFIterator)
-      	return "RTF";
-      else
-        return "node-set";
-    }
-    else
-      return "unknown";
-  }
-    
-  /**
-   * The exsl:node-set function converts a result tree fragment (which is what you get 
-   * when you use the content of xsl:variable rather than its select attribute to give 
-   * a variable value) into a node set. This enables you to process the XML that you create 
-   * within a variable, and therefore do multi-step processing. 
-   * 
-   * You can also use this function to turn a string into a text node, which is helpful 
-   * if you want to pass a string to a function that only accepts a node set.
-   * 
-   * The Xalan extensions MethodResolver converts 'node-set' to 'nodeSet'.
-   * 
-   * @param myProcessor is passed in by the Xalan extension processor
-   * @param rtf The result tree fragment to be converted to a node-set.
-   * 
-   * @return node-set with the contents of the result tree fragment.
-   * 
-   * Note: Already implemented in the xalan namespace as nodeset.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static NodeSet nodeSet(ExpressionContext myProcessor, Object rtf)
-  {
-    return Extensions.nodeset(myProcessor, rtf);
-  }
- 
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltDatetime.java b/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltDatetime.java
deleted file mode 100644
index ef8b2a9..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltDatetime.java
+++ /dev/null
@@ -1,1119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExsltDatetime.java 468639 2006-10-28 06:52:33Z minchau $
- */
-
-package org.apache.xalan.lib;
-
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Locale;
-import java.util.TimeZone;
-
-import org.apache.xpath.objects.XBoolean;
-import org.apache.xpath.objects.XNumber;
-import org.apache.xpath.objects.XObject;
-
-/**
- * This class contains EXSLT dates and times extension functions.
- * It is accessed by specifying a namespace URI as follows:
- * <pre>
- *    xmlns:datetime="http://exslt.org/dates-and-times"
- * </pre>
- * 
- * The documentation for each function has been copied from the relevant
- * EXSLT Implementer page.
- * 
- * @see <a href="http://www.exslt.org/">EXSLT</a>
- * @xsl.usage general
- */
-
-public class ExsltDatetime
-{
-    // Datetime formats (era and zone handled separately).
-    static final String dt = "yyyy-MM-dd'T'HH:mm:ss";
-    static final String d = "yyyy-MM-dd";
-    static final String gym = "yyyy-MM";
-    static final String gy = "yyyy";
-    static final String gmd = "--MM-dd";
-    static final String gm = "--MM--";
-    static final String gd = "---dd";
-    static final String t = "HH:mm:ss";
-    static final String EMPTY_STR = "";
-
-    /**
-     * The date:date-time function returns the current date and time as a date/time string. 
-     * The date/time string that's returned must be a string in the format defined as the 
-     * lexical representation of xs:dateTime in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/#dateTime">[3.2.7 dateTime]</a> of
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>.
-     * The date/time format is basically CCYY-MM-DDThh:mm:ss, although implementers should consult
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a> and 
-     * <a href="http://www.iso.ch/markete/8601.pdf">[ISO 8601]</a> for details.
-     * The date/time string format must include a time zone, either a Z to indicate Coordinated 
-     * Universal Time or a + or - followed by the difference between the difference from UTC 
-     * represented as hh:mm. 
-     */
-    public static String dateTime()
-    {
-      Calendar cal = Calendar.getInstance();
-      Date datetime = cal.getTime();
-      // Format for date and time.
-      SimpleDateFormat dateFormat = new SimpleDateFormat(dt);
-      
-      StringBuffer buff = new StringBuffer(dateFormat.format(datetime));
-      // Must also include offset from UTF.
-      // Get the offset (in milliseconds).
-      int offset = cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET);
-      // If there is no offset, we have "Coordinated
-      // Universal Time."
-      if (offset == 0)
-        buff.append("Z");
-      else
-      {
-        // Convert milliseconds to hours and minutes
-        int hrs = offset/(60*60*1000);
-        // In a few cases, the time zone may be +/-hh:30.
-        int min = offset%(60*60*1000);
-        char posneg = hrs < 0? '-': '+';
-        buff.append(posneg + formatDigits(hrs) + ':' + formatDigits(min));
-      }
-      return buff.toString();
-    }
-    
-    /**
-     * Represent the hours and minutes with two-digit strings.
-     * @param q hrs or minutes.
-     * @return two-digit String representation of hrs or minutes.
-     */
-    private static String formatDigits(int q)
-    {
-      String dd = String.valueOf(Math.abs(q));
-      return dd.length() == 1 ? '0' + dd : dd;
-    }
-
-    /**
-     * The date:date function returns the date specified in the date/time string given 
-     * as the argument. If no argument is given, then the current local date/time, as 
-     * returned by date:date-time is used as a default argument. 
-     * The date/time string that's returned must be a string in the format defined as the 
-     * lexical representation of xs:dateTime in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/#dateTime">[3.2.7 dateTime]</a> of
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>.
-     * If the argument is not in either of these formats, date:date returns an empty string (''). 
-     * The date/time format is basically CCYY-MM-DDThh:mm:ss, although implementers should consult 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a> and 
-     * <a href="http://www.iso.ch/markete/8601.pdf">[ISO 8601]</a> for details. 
-     * The date is returned as a string with a lexical representation as defined for xs:date in 
-     * [3.2.9 date] of [XML Schema Part 2: Datatypes]. The date format is basically CCYY-MM-DD, 
-     * although implementers should consult [XML Schema Part 2: Datatypes] and [ISO 8601] for details.
-     * If no argument is given or the argument date/time specifies a time zone, then the date string 
-     * format must include a time zone, either a Z to indicate Coordinated Universal Time or a + or - 
-     * followed by the difference between the difference from UTC represented as hh:mm. If an argument 
-     * is specified and it does not specify a time zone, then the date string format must not include 
-     * a time zone. 
-     */
-    public static String date(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String leader = edz[0];
-      String datetime = edz[1];
-      String zone = edz[2];
-      if (datetime == null || zone == null) 
-        return EMPTY_STR;
-                    
-      String[] formatsIn = {dt, d};
-      String formatOut = d;
-      Date date = testFormats(datetime, formatsIn);
-      if (date == null) return EMPTY_STR;
-      
-      SimpleDateFormat dateFormat = new SimpleDateFormat(formatOut);
-      dateFormat.setLenient(false);
-      String dateOut = dateFormat.format(date);      
-      if (dateOut.length() == 0)
-          return EMPTY_STR;
-      else        
-        return (leader + dateOut + zone);
-    }
-    
-    
-    /**
-     * See above.
-     */
-    public static String date()
-    {
-      String datetime = dateTime();
-      String date = datetime.substring(0, datetime.indexOf("T"));
-      String zone = datetime.substring(getZoneStart(datetime));
-      return (date + zone);
-    }
-    
-    /**
-     * The date:time function returns the time specified in the date/time string given 
-     * as the argument. If no argument is given, then the current local date/time, as 
-     * returned by date:date-time is used as a default argument. 
-     * The date/time string that's returned must be a string in the format defined as the 
-     * lexical representation of xs:dateTime in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/#dateTime">[3.2.7 dateTime]</a> of
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * If the argument string is not in this format, date:time returns an empty string (''). 
-     * The date/time format is basically CCYY-MM-DDThh:mm:ss, although implementers should consult 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a> and 
-     * <a href="http://www.iso.ch/markete/8601.pdf">[ISO 8601]</a> for details.
-     * The date is returned as a string with a lexical representation as defined for xs:time in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/#time">[3.2.8 time]</a> of [XML Schema Part 2: Datatypes].
-     * The time format is basically hh:mm:ss, although implementers should consult [XML Schema Part 2: 
-     * Datatypes] and [ISO 8601] for details. 
-     * If no argument is given or the argument date/time specifies a time zone, then the time string 
-     * format must include a time zone, either a Z to indicate Coordinated Universal Time or a + or - 
-     * followed by the difference between the difference from UTC represented as hh:mm. If an argument 
-     * is specified and it does not specify a time zone, then the time string format must not include 
-     * a time zone. 
-     */
-    public static String time(String timeIn)
-      throws ParseException      
-    {
-      String[] edz = getEraDatetimeZone(timeIn);
-      String time = edz[1];
-      String zone = edz[2];
-      if (time == null || zone == null) 
-        return EMPTY_STR;
-                    
-      String[] formatsIn = {dt, d, t};
-      String formatOut =  t;
-      Date date = testFormats(time, formatsIn);
-      if (date == null) return EMPTY_STR;
-      SimpleDateFormat dateFormat = new SimpleDateFormat(formatOut);
-      String out = dateFormat.format(date);
-      return (out + zone);
-    }
-
-    /**
-     * See above.
-     */
-    public static String time()
-    {
-      String datetime = dateTime();
-      String time = datetime.substring(datetime.indexOf("T")+1);
-      
-	  // The datetime() function returns the zone on the datetime string.  If we
-	  // append it, we get the zone substring duplicated.
-	  // Fix for JIRA 2013
-
-      // String zone = datetime.substring(getZoneStart(datetime));      
-      // return (time + zone);
-      return (time);
-    } 
-       
-    /**
-     * The date:year function returns the year of a date as a number. If no 
-     * argument is given, then the current local date/time, as returned by 
-     * date:date-time is used as a default argument.
-     * The date/time string specified as the first argument must be a right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime in one 
-     * of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>.
-     * The permitted formats are as follows: 
-     *   xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *   xs:date (CCYY-MM-DD) 
-     *   xs:gYearMonth (CCYY-MM) 
-     *   xs:gYear (CCYY) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static double year(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      boolean ad = edz[0].length() == 0; // AD (Common Era -- empty leader)
-      String datetime = edz[1];
-      if (datetime == null) 
-        return Double.NaN;
-      
-      String[] formats = {dt, d, gym, gy};
-      double yr = getNumber(datetime, formats, Calendar.YEAR);
-      if (ad || yr == Double.NaN)
-        return yr;
-      else
-        return -yr;
-    }
-     
-    /**
-     * See above.
-     */
-    public static double year()
-    {
-      Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.YEAR);
-    }
-    
-    /**
-     * The date:month-in-year function returns the month of a date as a number. If no argument 
-     * is given, then the current local date/time, as returned by date:date-time is used 
-     * as a default argument. 
-     * The date/time string specified as the first argument is a left or right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime in one of 
-     * the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>.
-     * The permitted formats are as follows: 
-     *    xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *    xs:date (CCYY-MM-DD) 
-     *    xs:gYearMonth (CCYY-MM)
-     *    xs:gMonth (--MM--) 
-     *    xs:gMonthDay (--MM-DD)
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static double monthInYear(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null)
-        return Double.NaN;      
-      
-      String[] formats = {dt, d, gym, gm, gmd};
-      return getNumber(datetime, formats, Calendar.MONTH) + 1;
-    }
-    
-    /**
-     * See above.
-     */
-    public static double monthInYear()
-    {      
-      Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.MONTH) + 1;
-   }
-    
-    /**
-     * The date:week-in-year function returns the week of the year as a number. If no argument 
-     * is given, then the current local date/time, as returned by date:date-time is used as the 
-     * default argument. For the purposes of numbering, counting follows ISO 8601: week 1 in a year 
-     * is the week containing the first Thursday of the year, with new weeks beginning on a Monday. 
-     * The date/time string specified as the argument is a right-truncated string in the format 
-     * defined as the lexical representation of xs:dateTime in one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. The 
-     * permitted formats are as follows: 
-     *    xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *    xs:date (CCYY-MM-DD) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static double weekInYear(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return Double.NaN;      
-      
-      String[] formats = {dt, d};
-      return getNumber(datetime, formats, Calendar.WEEK_OF_YEAR);
-    }
-        
-    /**
-     * See above.
-     */
-    public static double weekInYear()
-    {
-       Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.WEEK_OF_YEAR);
-   }
-
-    /**
-     * The date:day-in-year function returns the day of a date in a year 
-     * as a number. If no argument is given, then the current local
-     * date/time, as returned by date:date-time is used the default argument.
-     * The date/time string specified as the argument is a right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime
-     * in one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows:
-     *     xs:dateTime (CCYY-MM-DDThh:mm:ss)
-     *     xs:date (CCYY-MM-DD) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static double dayInYear(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return Double.NaN;            
-      
-      String[] formats = {dt, d};
-      return getNumber(datetime, formats, Calendar.DAY_OF_YEAR);
-    }
-    
-    /**
-     * See above.
-     */
-    public static double dayInYear()
-    {
-       Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.DAY_OF_YEAR);
-   }
-    
-
-    /**
-     * The date:day-in-month function returns the day of a date as a number. 
-     * If no argument is given, then the current local date/time, as returned 
-     * by date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a left or right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime 
-     * in one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *      xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *      xs:date (CCYY-MM-DD) 
-     *      xs:gMonthDay (--MM-DD) 
-     *      xs:gDay (---DD) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static double dayInMonth(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      String[] formats = {dt, d, gmd, gd};
-      double day = getNumber(datetime, formats, Calendar.DAY_OF_MONTH);
-      return day;
-    }
-    
-    /**
-     * See above.
-     */
-    public static double dayInMonth()
-    {
-      Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.DAY_OF_MONTH);
-   }
-    
-    /**
-     * The date:day-of-week-in-month function returns the day-of-the-week 
-     * in a month of a date as a number (e.g. 3 for the 3rd Tuesday in May). 
-     * If no argument is given, then the current local date/time, as returned 
-     * by date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a right-truncated string
-     * in the format defined as the lexical representation of xs:dateTime in one 
-     * of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *      xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *      xs:date (CCYY-MM-DD) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static double dayOfWeekInMonth(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return Double.NaN;            
-
-      String[] formats =  {dt, d};
-      return getNumber(datetime, formats, Calendar.DAY_OF_WEEK_IN_MONTH);
-    }
-    
-    /**
-     * See above.
-     */
-    public static double dayOfWeekInMonth()
-    {
-       Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
-   }
-      
-    
-    /**
-     * The date:day-in-week function returns the day of the week given in a 
-     * date as a number. If no argument is given, then the current local date/time, 
-     * as returned by date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a right-truncated string 
-     * in the format defined as the lexical representation of xs:dateTime in one 
-     * of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *      xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *      xs:date (CCYY-MM-DD) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-                            The numbering of days of the week starts at 1 for Sunday, 2 for Monday and so on up to 7 for Saturday.  
-     */
-    public static double dayInWeek(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return Double.NaN;            
-
-      String[] formats = {dt, d};
-      return getNumber(datetime, formats, Calendar.DAY_OF_WEEK);
-    }
-    
-    /**
-     * See above.
-     */
-    public static double dayInWeek()
-    {
-       Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.DAY_OF_WEEK);
-   }        
-
-    /**
-     * The date:hour-in-day function returns the hour of the day as a number. 
-     * If no argument is given, then the current local date/time, as returned 
-     * by date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a right-truncated 
-     * string  in the format defined as the lexical representation of xs:dateTime
-     * in one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *     xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *     xs:time (hh:mm:ss) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static double hourInDay(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return Double.NaN;            
-      
-      String[] formats = {dt, t};
-      return getNumber(datetime, formats, Calendar.HOUR_OF_DAY);
-    }
-    
-    /**
-     * See above.
-     */
-    public static double hourInDay()
-    {
-       Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.HOUR_OF_DAY);
-   }
-    
-    /**
-     * The date:minute-in-hour function returns the minute of the hour 
-     * as a number. If no argument is given, then the current local
-     * date/time, as returned by date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime
-     * in one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *      xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *      xs:time (hh:mm:ss) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static double minuteInHour(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return Double.NaN;            
-      
-      String[] formats = {dt,t};
-      return getNumber(datetime, formats, Calendar.MINUTE);
-    }    
-    
-    /**
-     * See above.
-     */
-   public static double minuteInHour()
-    {
-       Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.MINUTE);
-   }    
-
-    /**
-     * The date:second-in-minute function returns the second of the minute 
-     * as a number. If no argument is given, then the current local 
-     * date/time, as returned by date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime
-     * in one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *      xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *      xs:time (hh:mm:ss) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static double secondInMinute(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return Double.NaN;            
-      
-      String[] formats = {dt, t};
-      return getNumber(datetime, formats, Calendar.SECOND);
-    }
-
-    /**
-     * See above.
-     */
-    public static double secondInMinute()
-    {
-       Calendar cal = Calendar.getInstance();
-      return cal.get(Calendar.SECOND);
-    }
-       
-    /**
-     * The date:leap-year function returns true if the year given in a date 
-     * is a leap year. If no argument is given, then the current local
-     * date/time, as returned by date:date-time is used as a default argument. 
-     * The date/time string specified as the first argument must be a 
-     * right-truncated string in the format defined as the lexical representation
-     * of xs:dateTime in one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *    xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *    xs:date (CCYY-MM-DD) 
-     *    xs:gYearMonth (CCYY-MM) 
-     *    xs:gYear (CCYY) 
-     * If the date/time string is not in one of these formats, then NaN is returned. 
-     */
-    public static XObject leapYear(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return new XNumber(Double.NaN);            
-            
-      String[] formats = {dt, d, gym, gy};
-      double dbl = getNumber(datetime, formats, Calendar.YEAR);
-      if (dbl == Double.NaN) 
-        return new XNumber(Double.NaN);
-      int yr = (int)dbl;
-      return new XBoolean(yr % 400 == 0 || (yr % 100 != 0 && yr % 4 == 0));
-    }
-    
-    /**
-     * See above.
-     */
-    public static boolean leapYear()
-    {
-      Calendar cal = Calendar.getInstance();
-      int yr = (int)cal.get(Calendar.YEAR);
-      return (yr % 400 == 0 || (yr % 100 != 0 && yr % 4 == 0));      
-    }    
-       
-    /**
-     * The date:month-name function returns the full name of the month of a date. 
-     * If no argument is given, then the current local date/time, as returned by 
-     * date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a left or right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime in
-     *  one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *    xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *    xs:date (CCYY-MM-DD) 
-     *    xs:gYearMonth (CCYY-MM) 
-     *    xs:gMonth (--MM--) 
-     * If the date/time string is not in one of these formats, then an empty string ('') 
-     * is returned. 
-     * The result is an English month name: one of 'January', 'February', 'March', 
-     * 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November' 
-     * or 'December'. 
-     */
-    public static String monthName(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return EMPTY_STR;
-      
-      String[] formatsIn = {dt, d, gym, gm};
-      String formatOut = "MMMM";
-      return getNameOrAbbrev(datetimeIn, formatsIn, formatOut);    
-    }
-    
-    /**
-     * See above.
-     */
-    public static String monthName()
-    {
-      String format = "MMMM";
-      return getNameOrAbbrev(format);  
-    }
-        
-    /**
-     * The date:month-abbreviation function returns the abbreviation of the month of 
-     * a date. If no argument is given, then the current local date/time, as returned 
-     * by date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a left or right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime in 
-     * one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *    xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *    xs:date (CCYY-MM-DD) 
-     *    xs:gYearMonth (CCYY-MM) 
-     *    xs:gMonth (--MM--) 
-     * If the date/time string is not in one of these formats, then an empty string ('') 
-     * is returned. 
-     * The result is a three-letter English month abbreviation: one of 'Jan', 'Feb', 'Mar', 
-     * 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov' or 'Dec'. 
-     * An implementation of this extension function in the EXSLT date namespace must conform 
-     * to the behaviour described in this document. 
-     */
-    public static String monthAbbreviation(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return EMPTY_STR;
-      
-      String[] formatsIn = {dt, d, gym, gm};
-      String formatOut = "MMM";
-      return getNameOrAbbrev(datetimeIn, formatsIn, formatOut);
-    }
-    
-    /**
-     * See above.
-     */
-    public static String monthAbbreviation()
-    {
-      String format = "MMM";
-      return getNameOrAbbrev(format);  
-    }
-        
-    /**
-     * The date:day-name function returns the full name of the day of the week 
-     * of a date.  If no argument is given, then the current local date/time, 
-     * as returned by date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a left or right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime 
-     * in one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *     xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *     xs:date (CCYY-MM-DD) 
-     * If the date/time string is not in one of these formats, then the empty string ('') 
-     * is returned. 
-     * The result is an English day name: one of 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 
-     * 'Thursday' or 'Friday'. 
-     * An implementation of this extension function in the EXSLT date namespace must conform 
-     * to the behaviour described in this document. 
-     */
-    public static String dayName(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return EMPTY_STR;
-            
-      String[] formatsIn = {dt, d};
-      String formatOut = "EEEE";
-      return getNameOrAbbrev(datetimeIn, formatsIn, formatOut);    
-    }
-    
-    /**
-     * See above.
-     */
-    public static String dayName()
-    {
-      String format = "EEEE";
-      return getNameOrAbbrev(format);        
-    }    
-    
-    /**
-     * The date:day-abbreviation function returns the abbreviation of the day 
-     * of the week of a date. If no argument is given, then the current local 
-     * date/time, as returned  by date:date-time is used the default argument. 
-     * The date/time string specified as the argument is a left or right-truncated 
-     * string in the format defined as the lexical representation of xs:dateTime 
-     * in one of the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     *     xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     *     xs:date (CCYY-MM-DD) 
-     * If the date/time string is not in one of these formats, then the empty string 
-     * ('') is returned. 
-     * The result is a three-letter English day abbreviation: one of 'Sun', 'Mon', 'Tue', 
-     * 'Wed', 'Thu' or 'Fri'. 
-     * An implementation of this extension function in the EXSLT date namespace must conform 
-     * to the behaviour described in this document. 
-     */
-    public static String dayAbbreviation(String datetimeIn)
-      throws ParseException
-    {
-      String[] edz = getEraDatetimeZone(datetimeIn);
-      String datetime = edz[1];
-      if (datetime == null) 
-        return EMPTY_STR;            
-      
-      String[] formatsIn = {dt, d};
-      String formatOut = "EEE";
-      return getNameOrAbbrev(datetimeIn, formatsIn, formatOut);
-    }
-    
-    /**
-     * See above.
-     */
-    public static String dayAbbreviation()
-    {
-      String format = "EEE";
-      return getNameOrAbbrev(format);              
-    }
-    
-    /**
-     * Returns an array with the 3 components that a datetime input string 
-     * may contain: - (for BC era), datetime, and zone. If the zone is not
-     * valid, return null for that component.
-     */
-    private static String[] getEraDatetimeZone(String in)
-    {
-      String leader = "";
-      String datetime = in;
-      String zone = "";
-      if (in.charAt(0)=='-' && !in.startsWith("--"))
-      {
-        leader = "-"; //  '+' is implicit , not allowed
-        datetime = in.substring(1);
-      }
-      int z = getZoneStart(datetime);
-      if (z > 0)
-      {
-        zone = datetime.substring(z);
-        datetime = datetime.substring(0, z);
-      }
-      else if (z == -2)
-        zone = null;
-      //System.out.println("'" + leader + "' " + datetime + " " + zone);
-      return new String[]{leader, datetime, zone};  
-    }    
-    
-    /**
-     * Get the start of zone information if the input ends
-     * with 'Z' or +/-hh:mm. If a zone string is not
-     * found, return -1; if the zone string is invalid,
-     * return -2.
-     */
-    private static int getZoneStart (String datetime)
-    {
-      if (datetime.indexOf("Z") == datetime.length()-1)
-        return datetime.length()-1;
-      else if (datetime.length() >=6 
-      		&& datetime.charAt(datetime.length()-3) == ':'
-      		&& (datetime.charAt(datetime.length()-6) == '+' 
-      		    || datetime.charAt(datetime.length()-6) == '-'))      		    
-      {
-        try
-        {
-          SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
-          dateFormat.setLenient(false);
-          Date d = dateFormat.parse(datetime.substring(datetime.length() -5));
-          return datetime.length()-6;
-        }
-        catch (ParseException pe)
-        {
-          System.out.println("ParseException " + pe.getErrorOffset());
-          return -2; // Invalid.
-        }
-
-      }
-        return -1; // No zone information.
-    }
-    
-    /**
-     * Attempt to parse an input string with the allowed formats, returning
-     * null if none of the formats work.
-     */
-    private static Date testFormats (String in, String[] formats)
-      throws ParseException
-    {
-      for (int i = 0; i <formats.length; i++)
-      {
-        try
-        {
-          SimpleDateFormat dateFormat = new SimpleDateFormat(formats[i]);
-          dateFormat.setLenient(false);          
-          return dateFormat.parse(in);
-        }
-        catch (ParseException pe)
-        {
-        }
-      }
-      return null;
-    }
-    
-    
-    /**
-     * Parse the input string and return the corresponding calendar field
-     * number.
-     */
-    private static double getNumber(String in, String[] formats, int calField)
-      throws ParseException
-    {
-      Calendar cal = Calendar.getInstance();
-      cal.setLenient(false);
-      // Try the allowed formats, from longest to shortest.
-      Date date = testFormats(in, formats);
-      if (date == null) return Double.NaN;
-      cal.setTime(date);
-      return cal.get(calField);
-    }    
-     
-    /**
-     *  Get the full name or abbreviation of the month or day.
-     */
-    private static String getNameOrAbbrev(String in, 
-                                         String[] formatsIn,
-                                         String formatOut)
-      throws ParseException
-    {
-      for (int i = 0; i <formatsIn.length; i++) // from longest to shortest.
-      {
-        try
-        {
-          SimpleDateFormat dateFormat = new SimpleDateFormat(formatsIn[i], Locale.ENGLISH);
-          dateFormat.setLenient(false);
-          Date dt = dateFormat.parse(in);          
-          dateFormat.applyPattern(formatOut);
-          return dateFormat.format(dt);
-        }
-        catch (ParseException pe)
-        {
-        }
-      }
-      return "";
-    }
-    /**
-     * Get the full name or abbreviation for the current month or day 
-     * (no input string).
-     */
-    private static String getNameOrAbbrev(String format)
-    {
-      Calendar cal = Calendar.getInstance();
-      SimpleDateFormat dateFormat = new SimpleDateFormat(format, Locale.ENGLISH);
-      return dateFormat.format(cal.getTime());
-    }
-
-    /**
-     * The date:format-date function formats a date/time according to a pattern.
-     * <p>
-     * The first argument to date:format-date specifies the date/time to be 
-     * formatted. It must be right or left-truncated date/time strings in one of 
-     * the formats defined in 
-     * <a href="http://www.w3.org/TR/xmlschema-2/">[XML Schema Part 2: Datatypes]</a>. 
-     * The permitted formats are as follows: 
-     * <ul>
-     * <li>xs:dateTime (CCYY-MM-DDThh:mm:ss) 
-     * <li>xs:date (CCYY-MM-DD) 
-     * <li>xs:time (hh:mm:ss) 
-     * <li>xs:gYearMonth (CCYY-MM) 
-     * <li>xs:gYear (CCYY) 
-     * <li>xs:gMonthDay (--MM-DD) 
-     * <li>xs:gMonth (--MM--) 
-     * <li>xs:gDay (---DD)
-     * </ul>
-     * The second argument is a string that gives the format pattern used to 
-     * format the date. The format pattern must be in the syntax specified by 
-     * the JDK 1.1 SimpleDateFormat class. The format pattern string is 
-     * interpreted as described for the JDK 1.1 SimpleDateFormat class. 
-     * <p>
-     * If the date/time format is right-truncated (i.e. in a format other than 
-     * xs:time, or xs:dateTime) then any missing components are assumed to be as 
-     * follows: if no month is specified, it is given a month of 01; if no day 
-     * is specified, it is given a day of 01; if no time is specified, it is 
-     * given a time of 00:00:00. 
-     * <p>
-     * If the date/time format is left-truncated (i.e. xs:time, xs:gMonthDay, 
-     * xs:gMonth or xs:gDay) and the format pattern has a token that uses a 
-     * component that is missing from the date/time format used, then that token 
-     * is replaced with an empty string ('') within the result.
-     * 
-     * The author is Helg Bredow (helg.bredow@kalido.com)
-     */
-    public static String formatDate(String dateTime, String pattern)
-    {
-        final String yearSymbols = "Gy";
-        final String monthSymbols = "M";
-        final String daySymbols = "dDEFwW";
-        TimeZone timeZone;
-        String zone;
-
-        // Get the timezone information if it was supplied and modify the 
-        // dateTime so that SimpleDateFormat will understand it.
-        if (dateTime.endsWith("Z") || dateTime.endsWith("z"))
-        {
-            timeZone = TimeZone.getTimeZone("GMT");
-            dateTime = dateTime.substring(0, dateTime.length()-1) + "GMT";
-            zone = "z";
-        }
-        else if ((dateTime.length() >= 6) 
-                 && (dateTime.charAt(dateTime.length()-3) == ':') 
-                 && ((dateTime.charAt(dateTime.length()-6) == '+') 
-                    || (dateTime.charAt(dateTime.length()-6) == '-')))
-        {
-            String offset = dateTime.substring(dateTime.length()-6);
-            
-            if ("+00:00".equals(offset) || "-00:00".equals(offset))
-            {
-                timeZone = TimeZone.getTimeZone("GMT");
-            }
-            else
-            {
-                timeZone = TimeZone.getTimeZone("GMT" + offset);
-            }
-            zone = "z";
-            // Need to adjust it since SimpleDateFormat requires GMT+hh:mm but
-            // we have +hh:mm.
-            dateTime = dateTime.substring(0, dateTime.length()-6) + "GMT" + offset;
-        }
-        else
-        {
-            // Assume local time.
-            timeZone = TimeZone.getDefault();
-            zone = "";
-            // Leave off the timezone since SimpleDateFormat will assume local
-            // time if time zone is not included.
-        }
-        String[] formats = {dt + zone, d, gym, gy};
-        
-        // Try the time format first. We need to do this to prevent 
-        // SimpleDateFormat from interpreting a time as a year. i.e we just need
-        // to check if it's a time before we check it's a year.
-        try
-        {
-            SimpleDateFormat inFormat = new SimpleDateFormat(t + zone);
-            inFormat.setLenient(false);
-            Date d= inFormat.parse(dateTime);
-            SimpleDateFormat outFormat = new SimpleDateFormat(strip
-                (yearSymbols + monthSymbols + daySymbols, pattern));
-            outFormat.setTimeZone(timeZone);
-            return outFormat.format(d);
-        }
-        catch (ParseException pe)
-        {
-        }
-        
-        // Try the right truncated formats.
-        for (int i = 0; i < formats.length; i++)
-        {
-            try
-            {
-                SimpleDateFormat inFormat = new SimpleDateFormat(formats[i]);
-                inFormat.setLenient(false);
-                Date d = inFormat.parse(dateTime);
-                SimpleDateFormat outFormat = new SimpleDateFormat(pattern);
-                outFormat.setTimeZone(timeZone);
-                return outFormat.format(d);
-            }
-            catch (ParseException pe)
-            {
-            }
-        }
-        
-        // Now try the left truncated ones. The Java format() function doesn't
-        // return the correct strings in this case. We strip any pattern 
-        // symbols that shouldn't be output so that they are not defaulted to 
-        // inappropriate values in the output.
-        try
-        {
-            SimpleDateFormat inFormat = new SimpleDateFormat(gmd);
-            inFormat.setLenient(false);          
-            Date d = inFormat.parse(dateTime);
-            SimpleDateFormat outFormat = new SimpleDateFormat(strip(yearSymbols, pattern));
-            outFormat.setTimeZone(timeZone);
-            return outFormat.format(d);
-        }
-        catch (ParseException pe)
-        {
-        }
-        try
-        {
-            SimpleDateFormat inFormat = new SimpleDateFormat(gm);
-            inFormat.setLenient(false);
-            Date d = inFormat.parse(dateTime);
-            SimpleDateFormat outFormat = new SimpleDateFormat(strip(yearSymbols, pattern));
-            outFormat.setTimeZone(timeZone);
-            return outFormat.format(d);
-        }
-        catch (ParseException pe)
-        {
-        }
-        try
-        {
-            SimpleDateFormat inFormat = new SimpleDateFormat(gd);
-            inFormat.setLenient(false);
-            Date d = inFormat.parse(dateTime);
-            SimpleDateFormat outFormat = new SimpleDateFormat(strip(yearSymbols + monthSymbols, pattern));
-            outFormat.setTimeZone(timeZone);
-            return outFormat.format(d);
-        }
-        catch (ParseException pe)
-        {
-        }
-        return EMPTY_STR;
-    }
-    
-    /**
-     * Strips occurrences of the given character from a date format pattern.
-     * @param symbols list of symbols to strip.
-     * @param pattern
-     * @return
-     */
-    private static String strip(String symbols, String pattern)
-    {
-        int quoteSemaphore = 0;
-        int i = 0;
-        StringBuffer result = new StringBuffer(pattern.length());
-
-        while (i < pattern.length())
-        {
-            char ch = pattern.charAt(i);
-            if (ch == '\'')
-            {
-                // Assume it's an openening quote so simply copy the quoted 
-                // text to the result. There is nothing to strip here.
-                int endQuote = pattern.indexOf('\'', i + 1);
-                if (endQuote == -1)
-                {
-                    endQuote = pattern.length();
-                }
-                result.append(pattern.substring(i, endQuote));
-                i = endQuote++;
-            }
-            else if (symbols.indexOf(ch) > -1)
-            {
-                // The char needs to be stripped.
-                i++;
-            }
-            else
-            {
-                result.append(ch);
-                i++;
-            }
-        }
-        return result.toString();
-    }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltDynamic.java b/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltDynamic.java
deleted file mode 100644
index 4234bb4..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltDynamic.java
+++ /dev/null
@@ -1,614 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExsltDynamic.java 468639 2006-10-28 06:52:33Z minchau $
- */
-package org.apache.xalan.lib;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.TransformerException;
-
-import org.apache.xalan.extensions.ExpressionContext;
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xpath.NodeSet;
-import org.apache.xpath.NodeSetDTM;
-import org.apache.xpath.XPath;
-import org.apache.xpath.XPathContext;
-import org.apache.xpath.objects.XBoolean;
-import org.apache.xpath.objects.XNodeSet;
-import org.apache.xpath.objects.XNumber;
-import org.apache.xpath.objects.XObject;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-import org.xml.sax.SAXNotSupportedException;
-
-/**
- * This class contains EXSLT dynamic extension functions.
- *
- * It is accessed by specifying a namespace URI as follows:
- * <pre>
- *    xmlns:dyn="http://exslt.org/dynamic"
- * </pre>
- * The documentation for each function has been copied from the relevant
- * EXSLT Implementer page.
- * 
- * @see <a href="http://www.exslt.org/">EXSLT</a>
-
- * @xsl.usage general
- */
-public class ExsltDynamic extends ExsltBase
-{
-
-   public static final String EXSL_URI = "http://exslt.org/common";
-   
-  /**
-   * The dyn:max function calculates the maximum value for the nodes passed as 
-   * the first argument, where the value of each node is calculated dynamically 
-   * using an XPath expression passed as a string as the second argument. 
-   * <p>
-   * The expressions are evaluated relative to the nodes passed as the first argument.
-   * In other words, the value for each node is calculated by evaluating the XPath 
-   * expression with all context information being the same as that for the call to 
-   * the dyn:max function itself, except for the following:
-   * <p>
-   * <ul>
-   *  <li>the context node is the node whose value is being calculated.</li>
-   *  <li>the context position is the position of the node within the node set passed as 
-   *   the first argument to the dyn:max function, arranged in document order.</li>
-   *  <li>the context size is the number of nodes passed as the first argument to the 
-   *   dyn:max function.</li>
-   * </ul>
-   * <p>
-   * The dyn:max function returns the maximum of these values, calculated in exactly 
-   * the same way as for math:max. 
-   * <p>
-   * If the expression string passed as the second argument is an invalid XPath 
-   * expression (including an empty string), this function returns NaN. 
-   * <p>
-   * This function must take a second argument. To calculate the maximum of a set of 
-   * nodes based on their string values, you should use the math:max function.
-   *
-   * @param myContext The ExpressionContext passed by the extension processor
-   * @param nl The node set
-   * @param expr The expression string
-   *
-   * @return The maximum evaluation value
-   */
-  public static double max(ExpressionContext myContext, NodeList nl, String expr)
-    throws SAXNotSupportedException
-  {
-
-    XPathContext xctxt = null;
-    if (myContext instanceof XPathContext.XPathExpressionContext)
-      xctxt = ((XPathContext.XPathExpressionContext) myContext).getXPathContext();
-    else
-      throw new SAXNotSupportedException(XSLMessages.createMessage(XSLTErrorResources.ER_INVALID_CONTEXT_PASSED, new Object[]{myContext }));
-
-    if (expr == null || expr.length() == 0)
-      return Double.NaN;
-      
-    NodeSetDTM contextNodes = new NodeSetDTM(nl, xctxt);
-    xctxt.pushContextNodeList(contextNodes);
-    
-    double maxValue = - Double.MAX_VALUE;
-    for (int i = 0; i < contextNodes.getLength(); i++)
-    {
-      int contextNode = contextNodes.item(i);
-      xctxt.pushCurrentNode(contextNode);
-      
-      double result = 0;
-      try
-      {
-        XPath dynamicXPath = new XPath(expr, xctxt.getSAXLocator(),
-                                       xctxt.getNamespaceContext(),
-                                       XPath.SELECT);
-        result = dynamicXPath.execute(xctxt, contextNode, xctxt.getNamespaceContext()).num();
-      }
-      catch (TransformerException e)
-      {
-        xctxt.popCurrentNode();
-        xctxt.popContextNodeList();
-        return Double.NaN;
-      }
-      
-      xctxt.popCurrentNode();
-              
-      if (result > maxValue)
-          maxValue = result;
-    }      
-      
-    xctxt.popContextNodeList();
-    return maxValue;
-        
-  }
-  
-  /**
-   * The dyn:min function calculates the minimum value for the nodes passed as the 
-   * first argument, where the value of each node is calculated dynamically using 
-   * an XPath expression passed as a string as the second argument. 
-   * <p>
-   * The expressions are evaluated relative to the nodes passed as the first argument. 
-   * In other words, the value for each node is calculated by evaluating the XPath 
-   * expression with all context information being the same as that for the call to 
-   * the dyn:min function itself, except for the following: 
-   * <p>
-   * <ul>
-   *  <li>the context node is the node whose value is being calculated.</li>
-   *  <li>the context position is the position of the node within the node set passed 
-   *    as the first argument to the dyn:min function, arranged in document order.</li>
-   *  <li>the context size is the number of nodes passed as the first argument to the 
-   *    dyn:min function.</li>
-   * </ul>
-   * <p>
-   * The dyn:min function returns the minimum of these values, calculated in exactly 
-   * the same way as for math:min. 
-   * <p>
-   * If the expression string passed as the second argument is an invalid XPath expression 
-   * (including an empty string), this function returns NaN. 
-   * <p>
-   * This function must take a second argument. To calculate the minimum of a set of 
-   * nodes based on their string values, you should use the math:min function.
-   *
-   * @param myContext The ExpressionContext passed by the extension processor
-   * @param nl The node set
-   * @param expr The expression string
-   *
-   * @return The minimum evaluation value
-   */
-  public static double min(ExpressionContext myContext, NodeList nl, String expr)
-    throws SAXNotSupportedException
-  {
-    
-    XPathContext xctxt = null;
-    if (myContext instanceof XPathContext.XPathExpressionContext)
-      xctxt = ((XPathContext.XPathExpressionContext) myContext).getXPathContext();
-    else
-      throw new SAXNotSupportedException(XSLMessages.createMessage(XSLTErrorResources.ER_INVALID_CONTEXT_PASSED, new Object[]{myContext }));
-
-    if (expr == null || expr.length() == 0)
-      return Double.NaN;
-      
-    NodeSetDTM contextNodes = new NodeSetDTM(nl, xctxt);
-    xctxt.pushContextNodeList(contextNodes);
-    
-    double minValue = Double.MAX_VALUE;
-    for (int i = 0; i < nl.getLength(); i++)
-    {
-      int contextNode = contextNodes.item(i);
-      xctxt.pushCurrentNode(contextNode);
-      
-      double result = 0;
-      try
-      {
-        XPath dynamicXPath = new XPath(expr, xctxt.getSAXLocator(),
-                                       xctxt.getNamespaceContext(),
-                                       XPath.SELECT);
-        result = dynamicXPath.execute(xctxt, contextNode, xctxt.getNamespaceContext()).num();
-      }
-      catch (TransformerException e)
-      {
-        xctxt.popCurrentNode();
-        xctxt.popContextNodeList();
-        return Double.NaN;
-      }
-      
-      xctxt.popCurrentNode();
-              
-      if (result < minValue)
-          minValue = result;
-    }      
-      
-    xctxt.popContextNodeList();
-    return minValue;
-  
-  }
-
-  /**
-   * The dyn:sum function calculates the sum for the nodes passed as the first argument, 
-   * where the value of each node is calculated dynamically using an XPath expression 
-   * passed as a string as the second argument. 
-   * <p>
-   * The expressions are evaluated relative to the nodes passed as the first argument. 
-   * In other words, the value for each node is calculated by evaluating the XPath 
-   * expression with all context information being the same as that for the call to 
-   * the dyn:sum function itself, except for the following: 
-   * <p>
-   * <ul>
-   *  <li>the context node is the node whose value is being calculated.</li>
-   *  <li>the context position is the position of the node within the node set passed as 
-   *    the first argument to the dyn:sum function, arranged in document order.</li>
-   *  <li>the context size is the number of nodes passed as the first argument to the 
-   *    dyn:sum function.</li>
-   * </ul>
-   * <p>
-   * The dyn:sum function returns the sumimum of these values, calculated in exactly 
-   * the same way as for sum. 
-   * <p>
-   * If the expression string passed as the second argument is an invalid XPath 
-   * expression (including an empty string), this function returns NaN. 
-   * <p>
-   * This function must take a second argument. To calculate the sumimum of a set of 
-   * nodes based on their string values, you should use the sum function.
-   *
-   * @param myContext The ExpressionContext passed by the extension processor
-   * @param nl The node set
-   * @param expr The expression string
-   *
-   * @return The sum of the evaluation value on each node
-   */
-  public static double sum(ExpressionContext myContext, NodeList nl, String expr)
-    throws SAXNotSupportedException
-  {
-    XPathContext xctxt = null;
-    if (myContext instanceof XPathContext.XPathExpressionContext)
-      xctxt = ((XPathContext.XPathExpressionContext) myContext).getXPathContext();
-    else
-      throw new SAXNotSupportedException(XSLMessages.createMessage(XSLTErrorResources.ER_INVALID_CONTEXT_PASSED, new Object[]{myContext }));
-
-    if (expr == null || expr.length() == 0)
-      return Double.NaN;
-      
-    NodeSetDTM contextNodes = new NodeSetDTM(nl, xctxt);
-    xctxt.pushContextNodeList(contextNodes);
-    
-    double sum = 0;
-    for (int i = 0; i < nl.getLength(); i++)
-    {
-      int contextNode = contextNodes.item(i);
-      xctxt.pushCurrentNode(contextNode);
-      
-      double result = 0;
-      try
-      {
-        XPath dynamicXPath = new XPath(expr, xctxt.getSAXLocator(),
-                                       xctxt.getNamespaceContext(),
-                                       XPath.SELECT);
-        result = dynamicXPath.execute(xctxt, contextNode, xctxt.getNamespaceContext()).num();
-      }
-      catch (TransformerException e)
-      {
-        xctxt.popCurrentNode();
-        xctxt.popContextNodeList();
-        return Double.NaN;
-      }
-      
-      xctxt.popCurrentNode();
-      
-      sum = sum + result;
-              
-    }      
-      
-    xctxt.popContextNodeList();
-    return sum;
-  }
-
-  /**
-   * The dyn:map function evaluates the expression passed as the second argument for 
-   * each of the nodes passed as the first argument, and returns a node set of those values. 
-   * <p>
-   * The expressions are evaluated relative to the nodes passed as the first argument. 
-   * In other words, the value for each node is calculated by evaluating the XPath 
-   * expression with all context information being the same as that for the call to 
-   * the dyn:map function itself, except for the following:
-   * <p>
-   * <ul>
-   *  <li>The context node is the node whose value is being calculated.</li>
-   *  <li>the context position is the position of the node within the node set passed
-   *    as the first argument to the dyn:map function, arranged in document order.</li>
-   *  <li>the context size is the number of nodes passed as the first argument to the 
-   *    dyn:map function.</li>
-   * </ul>
-   * <p>
-   * If the expression string passed as the second argument is an invalid XPath 
-   * expression (including an empty string), this function returns an empty node set. 
-   * <p>
-   * If the XPath expression evaluates as a node set, the dyn:map function returns 
-   * the union of the node sets returned by evaluating the expression for each of the 
-   * nodes in the first argument. Note that this may mean that the node set resulting 
-   * from the call to the dyn:map function contains a different number of nodes from 
-   * the number in the node set passed as the first argument to the function. 
-   * <p>
-   * If the XPath expression evaluates as a number, the dyn:map function returns a 
-   * node set containing one exsl:number element (namespace http://exslt.org/common) 
-   * for each node in the node set passed as the first argument to the dyn:map function, 
-   * in document order. The string value of each exsl:number element is the same as 
-   * the result of converting the number resulting from evaluating the expression to 
-   * a string as with the number function, with the exception that Infinity results 
-   * in an exsl:number holding the highest number the implementation can store, and 
-   * -Infinity results in an exsl:number holding the lowest number the implementation 
-   * can store. 
-   * <p>
-   * If the XPath expression evaluates as a boolean, the dyn:map function returns a 
-   * node set containing one exsl:boolean element (namespace http://exslt.org/common) 
-   * for each node in the node set passed as the first argument to the dyn:map function, 
-   * in document order. The string value of each exsl:boolean element is 'true' if the 
-   * expression evaluates as true for the node, and '' if the expression evaluates as 
-   * false. 
-   * <p>
-   * Otherwise, the dyn:map function returns a node set containing one exsl:string 
-   * element (namespace http://exslt.org/common) for each node in the node set passed 
-   * as the first argument to the dyn:map function, in document order. The string 
-   * value of each exsl:string element is the same as the result of converting the 
-   * result of evaluating the expression for the relevant node to a string as with 
-   * the string function.
-   *
-   * @param myContext The ExpressionContext passed by the extension processor
-   * @param nl The node set
-   * @param expr The expression string
-   *
-   * @return The node set after evaluation
-   */
-  public static NodeList map(ExpressionContext myContext, NodeList nl, String expr)
-    throws SAXNotSupportedException
-  {
-    XPathContext xctxt = null;
-    Document lDoc = null;
-    
-    if (myContext instanceof XPathContext.XPathExpressionContext)
-      xctxt = ((XPathContext.XPathExpressionContext) myContext).getXPathContext();
-    else
-      throw new SAXNotSupportedException(XSLMessages.createMessage(XSLTErrorResources.ER_INVALID_CONTEXT_PASSED, new Object[]{myContext }));
-
-    if (expr == null || expr.length() == 0)
-      return new NodeSet();
-      
-    NodeSetDTM contextNodes = new NodeSetDTM(nl, xctxt);
-    xctxt.pushContextNodeList(contextNodes);
-    
-    NodeSet resultSet = new NodeSet();
-    resultSet.setShouldCacheNodes(true);
-    
-    for (int i = 0; i < nl.getLength(); i++)
-    {
-      int contextNode = contextNodes.item(i);
-      xctxt.pushCurrentNode(contextNode);
-      
-      XObject object = null;
-      try
-      {
-        XPath dynamicXPath = new XPath(expr, xctxt.getSAXLocator(),
-                                       xctxt.getNamespaceContext(),
-                                       XPath.SELECT);
-        object = dynamicXPath.execute(xctxt, contextNode, xctxt.getNamespaceContext());
-        
-        if (object instanceof XNodeSet)
-        {
-          NodeList nodelist = null;
-          nodelist = ((XNodeSet)object).nodelist();
-        
-          for (int k = 0; k < nodelist.getLength(); k++)
-          {
-            Node n = nodelist.item(k);
-            if (!resultSet.contains(n))
-              resultSet.addNode(n);
-          }
-        }
-        else
-        {
-	  if (lDoc == null)
-	  {
-            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-            dbf.setNamespaceAware(true);
-            DocumentBuilder db = dbf.newDocumentBuilder();
-            lDoc = db.newDocument();
-          }
-        
-          Element element = null;
-          if (object instanceof XNumber)
-            element = lDoc.createElementNS(EXSL_URI, "exsl:number");
-          else if (object instanceof XBoolean)
-            element = lDoc.createElementNS(EXSL_URI, "exsl:boolean");
-          else
-            element = lDoc.createElementNS(EXSL_URI, "exsl:string");
-          
-          Text textNode = lDoc.createTextNode(object.str());
-          element.appendChild(textNode);
-          resultSet.addNode(element);
-        }
-      }
-      catch (Exception e)
-      {
-        xctxt.popCurrentNode();
-        xctxt.popContextNodeList();
-        return new NodeSet();
-      }
-      
-      xctxt.popCurrentNode();
-      
-    }      
-      
-    xctxt.popContextNodeList();
-    return resultSet;
-  }
-
-  /**
-   * The dyn:evaluate function evaluates a string as an XPath expression and returns 
-   * the resulting value, which might be a boolean, number, string, node set, result 
-   * tree fragment or external object. The sole argument is the string to be evaluated.
-   * <p>
-   * If the expression string passed as the second argument is an invalid XPath 
-   * expression (including an empty string), this function returns an empty node set. 
-   * <p>
-   * You should only use this function if the expression must be constructed dynamically, 
-   * otherwise it is much more efficient to use the expression literally.
-   *
-   * @param myContext The ExpressionContext passed by the extension processor
-   * @param xpathExpr The XPath expression string
-   *
-   * @return The evaluation result 
-   */
-  public static XObject evaluate(ExpressionContext myContext, String xpathExpr)
-    throws SAXNotSupportedException
-  {
-    if (myContext instanceof XPathContext.XPathExpressionContext)
-    {
-      XPathContext xctxt = null;
-      try
-      {
-        xctxt = ((XPathContext.XPathExpressionContext) myContext).getXPathContext();
-        XPath dynamicXPath = new XPath(xpathExpr, xctxt.getSAXLocator(),
-                                       xctxt.getNamespaceContext(),
-                                       XPath.SELECT);
-
-        return dynamicXPath.execute(xctxt, myContext.getContextNode(),
-                                    xctxt.getNamespaceContext());
-      }
-      catch (TransformerException e)
-      {
-        return new XNodeSet(xctxt.getDTMManager());
-      }
-    }
-    else
-      throw new SAXNotSupportedException(XSLMessages.createMessage(XSLTErrorResources.ER_INVALID_CONTEXT_PASSED, new Object[]{myContext })); //"Invalid context passed to evaluate "
-  }
-
-  /**
-   * The dyn:closure function creates a node set resulting from transitive closure of 
-   * evaluating the expression passed as the second argument on each of the nodes passed 
-   * as the first argument, then on the node set resulting from that and so on until no 
-   * more nodes are found. For example: 
-   * <pre>
-   *  dyn:closure(., '*')
-   * </pre>
-   * returns all the descendant elements of the node (its element children, their 
-   * children, their children's children and so on). 
-   * <p>
-   * The expression is thus evaluated several times, each with a different node set 
-   * acting as the context of the expression. The first time the expression is 
-   * evaluated, the context node set is the first argument passed to the dyn:closure 
-   * function. In other words, the node set for each node is calculated by evaluating 
-   * the XPath expression with all context information being the same as that for 
-   * the call to the dyn:closure function itself, except for the following:
-   * <p>
-   * <ul>
-   *  <li>the context node is the node whose value is being calculated.</li>
-   *  <li>the context position is the position of the node within the node set passed 
-   *    as the first argument to the dyn:closure function, arranged in document order.</li>
-   *  <li>the context size is the number of nodes passed as the first argument to the 
-   *    dyn:closure function.</li>
-   *  <li>the current node is the node whose value is being calculated.</li>
-   * </ul>
-   * <p>
-   * The result for a particular iteration is the union of the node sets resulting 
-   * from evaluting the expression for each of the nodes in the source node set for 
-   * that iteration. This result is then used as the source node set for the next 
-   * iteration, and so on. The result of the function as a whole is the union of 
-   * the node sets generated by each iteration. 
-   * <p>
-   * If the expression string passed as the second argument is an invalid XPath 
-   * expression (including an empty string) or an expression that does not return a 
-   * node set, this function returns an empty node set.
-   *
-   * @param myContext The ExpressionContext passed by the extension processor
-   * @param nl The node set
-   * @param expr The expression string
-   *
-   * @return The node set after evaluation
-   */
-  public static NodeList closure(ExpressionContext myContext, NodeList nl, String expr)
-    throws SAXNotSupportedException
-  {
-    XPathContext xctxt = null;
-    if (myContext instanceof XPathContext.XPathExpressionContext)
-      xctxt = ((XPathContext.XPathExpressionContext) myContext).getXPathContext();
-    else
-      throw new SAXNotSupportedException(XSLMessages.createMessage(XSLTErrorResources.ER_INVALID_CONTEXT_PASSED, new Object[]{myContext }));
-
-    if (expr == null || expr.length() == 0)
-      return new NodeSet();
-          
-    NodeSet closureSet = new NodeSet();
-    closureSet.setShouldCacheNodes(true);
-        
-    NodeList iterationList = nl;
-    do
-    {
-    
-      NodeSet iterationSet = new NodeSet();
-
-      NodeSetDTM contextNodes = new NodeSetDTM(iterationList, xctxt);
-      xctxt.pushContextNodeList(contextNodes);
-      
-      for (int i = 0; i < iterationList.getLength(); i++)
-      {
-        int contextNode = contextNodes.item(i);
-        xctxt.pushCurrentNode(contextNode);
-
-        XObject object = null;
-        try
-        {
-          XPath dynamicXPath = new XPath(expr, xctxt.getSAXLocator(),
-                                         xctxt.getNamespaceContext(),
-                                         XPath.SELECT);
-          object = dynamicXPath.execute(xctxt, contextNode, xctxt.getNamespaceContext());
-          
-          if (object instanceof XNodeSet)
-          {
-            NodeList nodelist = null;
-            nodelist = ((XNodeSet)object).nodelist();
-        
-            for (int k = 0; k < nodelist.getLength(); k++)
-            {
-              Node n = nodelist.item(k);
-              if (!iterationSet.contains(n))
-                iterationSet.addNode(n);
-            }        
-          }
-          else
-          {
-            xctxt.popCurrentNode();
-            xctxt.popContextNodeList();
-            return new NodeSet();
-          }          
-        }
-        catch (TransformerException e)
-        {
-          xctxt.popCurrentNode();
-          xctxt.popContextNodeList();
-          return new NodeSet();
-        }
-      
-        xctxt.popCurrentNode();
-            
-      }
-      
-      xctxt.popContextNodeList();
-      
-      iterationList = iterationSet;
-      
-      for (int i = 0; i < iterationList.getLength(); i++)
-      {
-        Node n = iterationList.item(i);
-        if (!closureSet.contains(n))
-          closureSet.addNode(n);
-      }
-      
-    } while(iterationList.getLength() > 0);
-    
-    return closureSet;
-              
-  }
-  
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltMath.java b/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltMath.java
deleted file mode 100644
index 0433851..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltMath.java
+++ /dev/null
@@ -1,389 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExsltMath.java 468639 2006-10-28 06:52:33Z minchau $
- */
-package org.apache.xalan.lib;
-
-import org.apache.xpath.NodeSet;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * This class contains EXSLT math extension functions.
- * It is accessed by specifying a namespace URI as follows:
- * <pre>
- *    xmlns:math="http://exslt.org/math"
- * </pre>
- * 
- * The documentation for each function has been copied from the relevant
- * EXSLT Implementer page.
- * 
- * @see <a href="http://www.exslt.org/">EXSLT</a>
-
- * @xsl.usage general
- */
-public class ExsltMath extends ExsltBase
-{
-  // Constants
-  private static String PI = "3.1415926535897932384626433832795028841971693993751";
-  private static String E  = "2.71828182845904523536028747135266249775724709369996";
-  private static String SQRRT2 = "1.41421356237309504880168872420969807856967187537694";
-  private static String LN2 = "0.69314718055994530941723212145817656807550013436025";
-  private static String LN10 = "2.302585092994046";
-  private static String LOG2E = "1.4426950408889633";
-  private static String SQRT1_2 = "0.7071067811865476";
-	
-  /**
-   * The math:max function returns the maximum value of the nodes passed as the argument. 
-   * The maximum value is defined as follows. The node set passed as an argument is sorted 
-   * in descending order as it would be by xsl:sort with a data type of number. The maximum 
-   * is the result of converting the string value of the first node in this sorted list to 
-   * a number using the number function. 
-   * <p>
-   * If the node set is empty, or if the result of converting the string values of any of the 
-   * nodes to a number is NaN, then NaN is returned.
-   * 
-   * @param nl The NodeList for the node-set to be evaluated.
-   * 
-   * @return the maximum value found, NaN if any node cannot be converted to a number.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static double max (NodeList nl)
-  {
-    if (nl == null || nl.getLength() == 0)
-      return Double.NaN;
-      
-    double m = - Double.MAX_VALUE;
-    for (int i = 0; i < nl.getLength(); i++)
-    {
-      Node n = nl.item(i);
-      double d = toNumber(n);
-      if (Double.isNaN(d))
-        return Double.NaN;
-      else if (d > m)
-        m = d;
-    }
-  	
-    return m;  	
-  }
-
-  /**
-   * The math:min function returns the minimum value of the nodes passed as the argument. 
-   * The minimum value is defined as follows. The node set passed as an argument is sorted 
-   * in ascending order as it would be by xsl:sort with a data type of number. The minimum 
-   * is the result of converting the string value of the first node in this sorted list to 
-   * a number using the number function. 
-   * <p>
-   * If the node set is empty, or if the result of converting the string values of any of 
-   * the nodes to a number is NaN, then NaN is returned.
-   * 
-   * @param nl The NodeList for the node-set to be evaluated.
-   * 
-   * @return the minimum value found, NaN if any node cannot be converted to a number.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static double min (NodeList nl)
-  {
-    if (nl == null || nl.getLength() == 0)
-      return Double.NaN;
-
-    double m = Double.MAX_VALUE;
-    for (int i = 0; i < nl.getLength(); i++)
-    {
-      Node n = nl.item(i);
-      double d = toNumber(n);
-      if (Double.isNaN(d))
-        return Double.NaN;
-      else if (d < m)
-        m = d;
-    }
-    
-    return m;
-  }
-  
-  /**
-   * The math:highest function returns the nodes in the node set whose value is the maximum 
-   * value for the node set. The maximum value for the node set is the same as the value as 
-   * calculated by math:max. A node has this maximum value if the result of converting its 
-   * string value to a number as if by the number function is equal to the maximum value, 
-   * where the equality comparison is defined as a numerical comparison using the = operator.
-   * <p>
-   * If any of the nodes in the node set has a non-numeric value, the math:max function will 
-   * return NaN. The definition numeric comparisons entails that NaN != NaN. Therefore if any 
-   * of the nodes in the node set has a non-numeric value, math:highest will return an empty 
-   * node set. 
-   * 
-   * @param nl The NodeList for the node-set to be evaluated.
-   * 
-   * @return node-set with nodes containing the maximum value found, an empty node-set
-   * if any node cannot be converted to a number.
-   */
-  public static NodeList highest (NodeList nl)
-  {        
-    double maxValue = max(nl);
-
-    NodeSet highNodes = new NodeSet();
-    highNodes.setShouldCacheNodes(true);    
-    
-    if (Double.isNaN(maxValue))
-      return highNodes;  // empty Nodeset
-    
-    for (int i = 0; i < nl.getLength(); i++)
-    {
-      Node n = nl.item(i);
-      double d = toNumber(n); 
-      if (d == maxValue)
-        highNodes.addElement(n);
-    }
-    return highNodes;
-  }
-  
-  /**
-   * The math:lowest function returns the nodes in the node set whose value is the minimum value 
-   * for the node set. The minimum value for the node set is the same as the value as calculated 
-   * by math:min. A node has this minimum value if the result of converting its string value to 
-   * a number as if by the number function is equal to the minimum value, where the equality 
-   * comparison is defined as a numerical comparison using the = operator.
-   * <p>
-   * If any of the nodes in the node set has a non-numeric value, the math:min function will return 
-   * NaN. The definition numeric comparisons entails that NaN != NaN. Therefore if any of the nodes 
-   * in the node set has a non-numeric value, math:lowest will return an empty node set.
-   * 
-   * @param nl The NodeList for the node-set to be evaluated.
-   * 
-   * @return node-set with nodes containing the minimum value found, an empty node-set
-   * if any node cannot be converted to a number.
-   * 
-   */
-  public static NodeList lowest (NodeList nl)
-  {
-    double minValue = min(nl);
-
-    NodeSet lowNodes = new NodeSet();
-    lowNodes.setShouldCacheNodes(true);
-    
-    if (Double.isNaN(minValue))
-      return lowNodes;  // empty Nodeset
-    
-    for (int i = 0; i < nl.getLength(); i++)
-    {
-      Node n = nl.item(i);
-      double d = toNumber(n); 
-      if (d == minValue)
-        lowNodes.addElement(n);
-    }
-    return lowNodes;
-  }
-  
-  /**
-   * The math:abs function returns the absolute value of a number.
-   *
-   * @param num A number
-   * @return The absolute value of the number
-   */
-   public static double abs(double num)
-   {
-     return Math.abs(num);
-   }
-
-  /**
-   * The math:acos function returns the arccosine value of a number.
-   *
-   * @param num A number
-   * @return The arccosine value of the number
-   */
-   public static double acos(double num)
-   {
-     return Math.acos(num);
-   }
-
-  /**
-   * The math:asin function returns the arcsine value of a number. 
-   *
-   * @param num A number
-   * @return The arcsine value of the number
-   */
-   public static double asin(double num)
-   {
-     return Math.asin(num);
-   }
-
-  /**
-   * The math:atan function returns the arctangent value of a number. 
-   *
-   * @param num A number
-   * @return The arctangent value of the number
-   */
-   public static double atan(double num)
-   {
-     return Math.atan(num);
-   }
-  
-  /**
-   * The math:atan2 function returns the angle ( in radians ) from the X axis to a point (y,x). 
-   *
-   * @param num1 The X axis value
-   * @param num2 The Y axis value
-   * @return The angle (in radians) from the X axis to a point (y,x)
-   */
-   public static double atan2(double num1, double num2)
-   {
-     return Math.atan2(num1, num2);
-   }
-
-  /**
-   * The math:cos function returns cosine of the passed argument. 
-   *
-   * @param num A number
-   * @return The cosine value of the number
-   */
-   public static double cos(double num)
-   {
-     return Math.cos(num);
-   }
-
-  /**
-   * The math:exp function returns e (the base of natural logarithms) raised to a power. 
-   *
-   * @param num A number
-   * @return The value of e raised to the given power
-   */
-   public static double exp(double num)
-   {
-     return Math.exp(num);
-   }
-
-  /**
-   * The math:log function returns the natural logarithm of a number. 
-   *
-   * @param num A number
-   * @return The natural logarithm of the number
-   */
-   public static double log(double num)
-   {
-     return Math.log(num);
-   }
-
-  /**
-   * The math:power function returns the value of a base expression taken to a specified power. 
-   *
-   * @param num1 The base
-   * @param num2 The power
-   * @return The value of the base expression taken to the specified power
-   */
-   public static double power(double num1, double num2)
-   {
-     return Math.pow(num1, num2);
-   }
-
-  /**
-   * The math:random function returns a random number from 0 to 1. 
-   *
-   * @return A random double from 0 to 1
-   */
-   public static double random()
-   {
-     return Math.random();
-   }
-
-  /**
-   * The math:sin function returns the sine of the number. 
-   *
-   * @param num A number
-   * @return The sine value of the number
-   */
-   public static double sin(double num)
-   {
-     return Math.sin(num);
-   }
-
-  /**
-   * The math:sqrt function returns the square root of a number. 
-   *
-   * @param num A number
-   * @return The square root of the number
-   */
-   public static double sqrt(double num)
-   {
-     return Math.sqrt(num);
-   }
-
-  /**
-   * The math:tan function returns the tangent of the number passed as an argument. 
-   *
-   * @param num A number
-   * @return The tangent value of the number
-   */
-   public static double tan(double num)
-   {
-     return Math.tan(num);
-   }
-
-  /**
-   * The math:constant function returns the specified constant to a set precision. 
-   * The possible constants are:
-   * <pre>
-   *  PI
-   *  E
-   *  SQRRT2
-   *  LN2
-   *  LN10
-   *  LOG2E
-   *  SQRT1_2
-   * </pre>
-   * @param name The name of the constant
-   * @param precision The precision
-   * @return The value of the specified constant to the given precision
-   */
-   public static double constant(String name, double precision)
-   {
-     String value = null;
-     if (name.equals("PI"))
-       value = PI;
-     else if (name.equals("E"))
-       value = E;
-     else if (name.equals("SQRRT2"))
-       value = SQRRT2;
-     else if (name.equals("LN2"))
-       value = LN2;
-     else if (name.equals("LN10"))
-       value = LN10;
-     else if (name.equals("LOG2E"))
-       value = LOG2E;
-     else if (name.equals("SQRT1_2"))
-       value = SQRT1_2;
-     
-     if (value != null)
-     {
-       int bits = new Double(precision).intValue();
-       
-       if (bits <= value.length())
-         value = value.substring(0, bits);
-         
-       return new Double(value).doubleValue();
-     }
-     else
-       return Double.NaN;
-            
-   }
-      
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltSets.java b/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltSets.java
deleted file mode 100644
index 5eb7d86..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltSets.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExsltSets.java 469688 2006-10-31 22:39:43Z minchau $
- */
-package org.apache.xalan.lib;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.xml.utils.DOMHelper;
-import org.apache.xpath.NodeSet;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * This class contains EXSLT set extension functions.
- * It is accessed by specifying a namespace URI as follows:
- * <pre>
- *    xmlns:set="http://exslt.org/sets"
- * </pre>
- * 
- * The documentation for each function has been copied from the relevant
- * EXSLT Implementer page. 
- * 
- * @see <a href="http://www.exslt.org/">EXSLT</a>
- * @xsl.usage general
- */
-public class ExsltSets extends ExsltBase
-{   
-  /**
-   * The set:leading function returns the nodes in the node set passed as the first argument that
-   * precede, in document order, the first node in the node set passed as the second argument. If
-   * the first node in the second node set is not contained in the first node set, then an empty
-   * node set is returned. If the second node set is empty, then the first node set is returned.
-   * 
-   * @param nl1 NodeList for first node-set.
-   * @param nl2 NodeList for second node-set.
-   * @return a NodeList containing the nodes in nl1 that precede in document order the first
-   * node in nl2; an empty node-set if the first node in nl2 is not in nl1; all of nl1 if nl2
-   * is empty.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static NodeList leading (NodeList nl1, NodeList nl2)
-  {
-    if (nl2.getLength() == 0)
-      return nl1;
-      
-    NodeSet ns1 = new NodeSet(nl1);
-    NodeSet leadNodes = new NodeSet();
-    Node endNode = nl2.item(0);
-    if (!ns1.contains(endNode))
-      return leadNodes; // empty NodeSet
-      
-    for (int i = 0; i < nl1.getLength(); i++)
-    {
-      Node testNode = nl1.item(i);
-      if (DOMHelper.isNodeAfter(testNode, endNode) 
-          && !DOMHelper.isNodeTheSame(testNode, endNode))
-        leadNodes.addElement(testNode);
-    }
-    return leadNodes;
-  }
-  
-  /**
-   * The set:trailing function returns the nodes in the node set passed as the first argument that 
-   * follow, in document order, the first node in the node set passed as the second argument. If 
-   * the first node in the second node set is not contained in the first node set, then an empty 
-   * node set is returned. If the second node set is empty, then the first node set is returned. 
-   * 
-   * @param nl1 NodeList for first node-set.
-   * @param nl2 NodeList for second node-set.
-   * @return a NodeList containing the nodes in nl1 that follow in document order the first
-   * node in nl2; an empty node-set if the first node in nl2 is not in nl1; all of nl1 if nl2
-   * is empty.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static NodeList trailing (NodeList nl1, NodeList nl2)
-  {
-    if (nl2.getLength() == 0)
-      return nl1;
-      
-    NodeSet ns1 = new NodeSet(nl1);
-    NodeSet trailNodes = new NodeSet();
-    Node startNode = nl2.item(0);
-    if (!ns1.contains(startNode))
-      return trailNodes; // empty NodeSet
-      
-    for (int i = 0; i < nl1.getLength(); i++)
-    {
-      Node testNode = nl1.item(i);
-      if (DOMHelper.isNodeAfter(startNode, testNode) 
-          && !DOMHelper.isNodeTheSame(startNode, testNode))
-        trailNodes.addElement(testNode);          
-    }
-    return trailNodes;
-  }
-  
-  /**
-   * The set:intersection function returns a node set comprising the nodes that are within 
-   * both the node sets passed as arguments to it.
-   * 
-   * @param nl1 NodeList for first node-set.
-   * @param nl2 NodeList for second node-set.
-   * @return a NodeList containing the nodes in nl1 that are also
-   * in nl2.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static NodeList intersection(NodeList nl1, NodeList nl2)
-  {
-    NodeSet ns1 = new NodeSet(nl1);
-    NodeSet ns2 = new NodeSet(nl2);
-    NodeSet inter = new NodeSet();
-
-    inter.setShouldCacheNodes(true);
-
-    for (int i = 0; i < ns1.getLength(); i++)
-    {
-      Node n = ns1.elementAt(i);
-
-      if (ns2.contains(n))
-        inter.addElement(n);
-    }
-
-    return inter;
-  }
-  
-  /**
-   * The set:difference function returns the difference between two node sets - those nodes that 
-   * are in the node set passed as the first argument that are not in the node set passed as the 
-   * second argument.
-   * 
-   * @param nl1 NodeList for first node-set.
-   * @param nl2 NodeList for second node-set.
-   * @return a NodeList containing the nodes in nl1 that are not in nl2.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static NodeList difference(NodeList nl1, NodeList nl2)
-  {
-    NodeSet ns1 = new NodeSet(nl1);
-    NodeSet ns2 = new NodeSet(nl2);
-
-    NodeSet diff = new NodeSet();
-
-    diff.setShouldCacheNodes(true);
-
-    for (int i = 0; i < ns1.getLength(); i++)
-    {
-      Node n = ns1.elementAt(i);
-
-      if (!ns2.contains(n))
-        diff.addElement(n);
-    }
-
-    return diff;
-  }
-  
-  /**
-   * The set:distinct function returns a subset of the nodes contained in the node-set NS passed 
-   * as the first argument. Specifically, it selects a node N if there is no node in NS that has 
-   * the same string value as N, and that precedes N in document order. 
-   * 
-   * @param nl NodeList for the node-set.
-   * @return a NodeList with nodes from nl containing distinct string values.
-   * In other words, if more than one node in nl contains the same string value,
-   * only include the first such node found.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static NodeList distinct(NodeList nl)
-  {
-    NodeSet dist = new NodeSet();
-    dist.setShouldCacheNodes(true);
-
-    Map stringTable = new HashMap();
-    
-    for (int i = 0; i < nl.getLength(); i++)
-    {
-      Node currNode = nl.item(i);
-      String key = toString(currNode);
-      
-      if (key == null)
-        dist.addElement(currNode);
-      else if (!stringTable.containsKey(key))
-      {
-        stringTable.put(key, currNode);
-        dist.addElement(currNode);      	
-      }
-    }
-
-    return dist;
-  }
-  
-  /**
-   * The set:has-same-node function returns true if the node set passed as the first argument shares 
-   * any nodes with the node set passed as the second argument. If there are no nodes that are in both
-   * node sets, then it returns false. 
-   * 
-   * The Xalan extensions MethodResolver converts 'has-same-node' to 'hasSameNode'.
-   * 
-   * Note: Not to be confused with hasSameNodes in the Xalan namespace, which returns true if
-   * the two node sets contain the exactly the same nodes (perhaps in a different order), 
-   * otherwise false.
-   * 
-   * @see <a href="http://www.exslt.org/">EXSLT</a>
-   */
-  public static boolean hasSameNode(NodeList nl1, NodeList nl2)
-  {
-    
-    NodeSet ns1 = new NodeSet(nl1);
-    NodeSet ns2 = new NodeSet(nl2);
-
-    for (int i = 0; i < ns1.getLength(); i++)
-    {
-      if (ns2.contains(ns1.elementAt(i)))
-        return true;
-    }
-    return false;
-  }
-  
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltStrings.java b/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltStrings.java
deleted file mode 100644
index 1f805b5..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/ExsltStrings.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExsltStrings.java 468639 2006-10-28 06:52:33Z minchau $
- */
-package org.apache.xalan.lib;
-
-import java.util.StringTokenizer;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xpath.NodeSet;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * This class contains EXSLT strings extension functions.
- *
- * It is accessed by specifying a namespace URI as follows:
- * <pre>
- *    xmlns:str="http://exslt.org/strings"
- * </pre>
- * The documentation for each function has been copied from the relevant
- * EXSLT Implementer page.
- * 
- * @see <a href="http://www.exslt.org/">EXSLT</a>
-
- * @xsl.usage general
- */
-public class ExsltStrings extends ExsltBase
-{
-  /**
-   * The str:align function aligns a string within another string. 
-   * <p>
-   * The first argument gives the target string to be aligned. The second argument gives 
-   * the padding string within which it is to be aligned. 
-   * <p>
-   * If the target string is shorter than the padding string then a range of characters 
-   * in the padding string are repaced with those in the target string. Which characters 
-   * are replaced depends on the value of the third argument, which gives the type of 
-   * alignment. It can be one of 'left', 'right' or 'center'. If no third argument is 
-   * given or if it is not one of these values, then it defaults to left alignment. 
-   * <p>
-   * With left alignment, the range of characters replaced by the target string begins 
-   * with the first character in the padding string. With right alignment, the range of 
-   * characters replaced by the target string ends with the last character in the padding 
-   * string. With center alignment, the range of characters replaced by the target string 
-   * is in the middle of the padding string, such that either the number of unreplaced 
-   * characters on either side of the range is the same or there is one less on the left 
-   * than there is on the right. 
-   * <p>
-   * If the target string is longer than the padding string, then it is truncated to be 
-   * the same length as the padding string and returned.
-   *
-   * @param targetStr The target string
-   * @param paddingStr The padding string
-   * @param type The type of alignment
-   * 
-   * @return The string after alignment
-   */
-  public static String align(String targetStr, String paddingStr, String type)
-  {
-    if (targetStr.length() >= paddingStr.length())
-      return targetStr.substring(0, paddingStr.length());
-    
-    if (type.equals("right"))
-    {
-      return paddingStr.substring(0, paddingStr.length() - targetStr.length()) + targetStr;
-    }
-    else if (type.equals("center"))
-    {
-      int startIndex = (paddingStr.length() - targetStr.length()) / 2;
-      return paddingStr.substring(0, startIndex) + targetStr + paddingStr.substring(startIndex + targetStr.length());
-    }
-    // Default is left
-    else
-    {
-      return targetStr + paddingStr.substring(targetStr.length());
-    }    
-  }
-
-  /**
-   * See above
-   */
-  public static String align(String targetStr, String paddingStr)
-  {
-    return align(targetStr, paddingStr, "left");
-  }
-  
-  /**
-   * The str:concat function takes a node set and returns the concatenation of the 
-   * string values of the nodes in that node set. If the node set is empty, it returns 
-   * an empty string.
-   *
-   * @param nl A node set
-   * @return The concatenation of the string values of the nodes in that node set
-   */
-  public static String concat(NodeList nl)
-  {
-    StringBuffer sb = new StringBuffer();
-    for (int i = 0; i < nl.getLength(); i++)
-    {
-      Node node = nl.item(i);
-      String value = toString(node);
-      
-      if (value != null && value.length() > 0)
-        sb.append(value);
-    }
-    
-    return sb.toString();
-  }
-    
-  /**
-   * The str:padding function creates a padding string of a certain length. 
-   * The first argument gives the length of the padding string to be created. 
-   * The second argument gives a string to be used to create the padding. This 
-   * string is repeated as many times as is necessary to create a string of the 
-   * length specified by the first argument; if the string is more than a character 
-   * long, it may have to be truncated to produce the required length. If no second 
-   * argument is specified, it defaults to a space (' '). If the second argument is 
-   * an empty string, str:padding returns an empty string.
-   *
-   * @param length The length of the padding string to be created
-   * @param pattern The string to be used as pattern
-   *
-   * @return A padding string of the given length
-   */
-  public static String padding(double length, String pattern)
-  {
-    if (pattern == null || pattern.length() == 0)
-      return "";
-    
-    StringBuffer sb = new StringBuffer();
-    int len = (int)length;
-    int numAdded = 0;
-    int index = 0;
-    while (numAdded < len)
-    {
-      if (index == pattern.length())
-        index = 0;
-        
-      sb.append(pattern.charAt(index));
-      index++;
-      numAdded++;
-    }
-  
-    return sb.toString();
-  }
-
-  /**
-   * See above
-   */
-  public static String padding(double length)
-  {
-    return padding(length, " ");
-  }
-    
-  /**
-   * The str:split function splits up a string and returns a node set of token 
-   * elements, each containing one token from the string. 
-   * <p>
-   * The first argument is the string to be split. The second argument is a pattern 
-   * string. The string given by the first argument is split at any occurrence of 
-   * this pattern. For example: 
-   * <pre>
-   * str:split('a, simple, list', ', ') gives the node set consisting of: 
-   *
-   * <token>a</token>
-   * <token>simple</token>
-   * <token>list</token>
-   * </pre>
-   * If the second argument is omitted, the default is the string '&#x20;' (i.e. a space).
-   *
-   * @param str The string to be split
-   * @param pattern The pattern
-   *
-   * @return A node set of split tokens
-   */
-  public static NodeList split(String str, String pattern)
-  {
-
-    
-    NodeSet resultSet = new NodeSet();
-    resultSet.setShouldCacheNodes(true);
-    
-    boolean done = false;
-    int fromIndex = 0;
-    int matchIndex = 0;
-    String token = null;
-    
-    while (!done && fromIndex < str.length())
-    {
-      matchIndex = str.indexOf(pattern, fromIndex);
-      if (matchIndex >= 0)
-      {
-	token = str.substring(fromIndex, matchIndex);
-	fromIndex = matchIndex + pattern.length();
-      }
-      else
-      {
-        done = true;
-        token = str.substring(fromIndex);
-      }
-
-      Document doc = DocumentHolder.m_doc;
-      synchronized (doc)
-      {
-        Element element = doc.createElement("token");
-        Text text = doc.createTextNode(token);
-        element.appendChild(text);
-        resultSet.addNode(element);      
-      }
-    }
-    
-    return resultSet;
-  }
-  
-  /**
-   * See above
-   */
-  public static NodeList split(String str)
-  {
-    return split(str, " ");
-  }
-
-  /**
-   * The str:tokenize function splits up a string and returns a node set of token 
-   * elements, each containing one token from the string. 
-   * <p>
-   * The first argument is the string to be tokenized. The second argument is a 
-   * string consisting of a number of characters. Each character in this string is 
-   * taken as a delimiting character. The string given by the first argument is split 
-   * at any occurrence of any of these characters. For example: 
-   * <pre>
-   * str:tokenize('2001-06-03T11:40:23', '-T:') gives the node set consisting of: 
-   *
-   * <token>2001</token>
-   * <token>06</token>
-   * <token>03</token>
-   * <token>11</token>
-   * <token>40</token>
-   * <token>23</token>
-   * </pre>
-   * If the second argument is omitted, the default is the string '&#x9;&#xA;&#xD;&#x20;' 
-   * (i.e. whitespace characters). 
-   * <p>
-   * If the second argument is an empty string, the function returns a set of token 
-   * elements, each of which holds a single character.
-   * <p>
-   * Note: This one is different from the tokenize extension function in the Xalan
-   * namespace. The one in Xalan returns a set of Text nodes, while this one wraps
-   * the Text nodes inside the token Element nodes.
-   *
-   * @param toTokenize The string to be tokenized
-   * @param delims The delimiter string
-   *
-   * @return A node set of split token elements
-   */
-  public static NodeList tokenize(String toTokenize, String delims)
-  {
-
-
-    NodeSet resultSet = new NodeSet();
-    
-    if (delims != null && delims.length() > 0)
-    {
-      StringTokenizer lTokenizer = new StringTokenizer(toTokenize, delims);
-
-      Document doc = DocumentHolder.m_doc;
-      synchronized (doc)
-      {
-        while (lTokenizer.hasMoreTokens())
-        {
-          Element element = doc.createElement("token");
-          element.appendChild(doc.createTextNode(lTokenizer.nextToken()));
-          resultSet.addNode(element);      
-        }
-      }
-    }
-    // If the delimiter is an empty string, create one token Element for 
-    // every single character.
-    else
-    {
-
-      Document doc = DocumentHolder.m_doc;
-      synchronized (doc)
-      {
-        for (int i = 0; i < toTokenize.length(); i++)
-        {
-          Element element = doc.createElement("token");
-          element.appendChild(doc.createTextNode(toTokenize.substring(i, i+1)));
-          resultSet.addNode(element);              
-        }
-      }
-    }
-
-    return resultSet;
-  }
-
-  /**
-   * See above
-   */
-  public static NodeList tokenize(String toTokenize)
-  {
-    return tokenize(toTokenize, " \t\n\r");
-  }
-    /**
-     * This class is not loaded until first referenced (see Java Language
-     * Specification by Gosling/Joy/Steele, section 12.4.1)
-     *
-     * The static members are created when this class is first referenced, as a
-     * lazy initialization not needing checking against null or any
-     * synchronization.
-     *
-     */
-    private static class DocumentHolder 
-    {
-        // Reuse the Document object to reduce memory usage.
-        private static final Document m_doc;
-        static {
-            try
-            {
-                m_doc =DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-            }
-           
-            catch(ParserConfigurationException pce)
-            {
-                  throw new org.apache.xml.utils.WrappedRuntimeException(pce);
-            }
-
-        }
-    }
-  
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/Extensions.java b/libcore/xml/src/main/java/org/apache/xalan/lib/Extensions.java
deleted file mode 100644
index 050fa5f..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/Extensions.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: Extensions.java 468639 2006-10-28 06:52:33Z minchau $
- */
-package org.apache.xalan.lib;
-
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.apache.xalan.extensions.ExpressionContext;
-import org.apache.xalan.xslt.EnvironmentCheck;
-import org.apache.xpath.NodeSet;
-import org.apache.xpath.objects.XBoolean;
-import org.apache.xpath.objects.XNumber;
-import org.apache.xpath.objects.XObject;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.w3c.dom.traversal.NodeIterator;
-
-import org.xml.sax.SAXNotSupportedException;
-
-/**
- * This class contains many of the Xalan-supplied extensions.
- * It is accessed by specifying a namespace URI as follows:
- * <pre>
- *    xmlns:xalan="http://xml.apache.org/xalan"
- * </pre>
- * @xsl.usage general
- */
-public class Extensions
-{
-  /**
-   * Constructor Extensions
-   *
-   */
-  private Extensions(){}  // Make sure class cannot be instantiated
-
-  /**
-   * This method is an extension that implements as a Xalan extension
-   * the node-set function also found in xt and saxon.
-   * If the argument is a Result Tree Fragment, then <code>nodeset</code>
-   * returns a node-set consisting of a single root node as described in
-   * section 11.1 of the XSLT 1.0 Recommendation.  If the argument is a
-   * node-set, <code>nodeset</code> returns a node-set.  If the argument
-   * is a string, number, or boolean, then <code>nodeset</code> returns
-   * a node-set consisting of a single root node with a single text node
-   * child that is the result of calling the XPath string() function on the
-   * passed parameter.  If the argument is anything else, then a node-set
-   * is returned consisting of a single root node with a single text node
-   * child that is the result of calling the java <code>toString()</code>
-   * method on the passed argument.
-   * Most of the
-   * actual work here is done in <code>MethodResolver</code> and
-   * <code>XRTreeFrag</code>.
-   * @param myProcessor Context passed by the extension processor
-   * @param rtf Argument in the stylesheet to the nodeset extension function
-   *
-   * NEEDSDOC ($objectName$) @return
-   */
-  public static NodeSet nodeset(ExpressionContext myProcessor, Object rtf)
-  {
-
-    String textNodeValue;
-
-    if (rtf instanceof NodeIterator)
-    {
-      return new NodeSet((NodeIterator) rtf);
-    }
-    else
-    {
-      if (rtf instanceof String)
-      {
-        textNodeValue = (String) rtf;
-      }
-      else if (rtf instanceof Boolean)
-      {
-        textNodeValue = new XBoolean(((Boolean) rtf).booleanValue()).str();
-      }
-      else if (rtf instanceof Double)
-      {
-        textNodeValue = new XNumber(((Double) rtf).doubleValue()).str();
-      }
-      else
-      {
-        textNodeValue = rtf.toString();
-      }
-
-      // This no longer will work right since the DTM.
-      // Document myDoc = myProcessor.getContextNode().getOwnerDocument();
-      try
-      {
-        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-        DocumentBuilder db = dbf.newDocumentBuilder();
-        Document myDoc = db.newDocument();
-        
-        Text textNode = myDoc.createTextNode(textNodeValue);
-        DocumentFragment docFrag = myDoc.createDocumentFragment();
-  
-        docFrag.appendChild(textNode);
-  
-        return new NodeSet(docFrag);
-      }
-      catch(ParserConfigurationException pce)
-      {
-        throw new org.apache.xml.utils.WrappedRuntimeException(pce);
-      }
-    }
-  }
-
-  /**
-   * Returns the intersection of two node-sets.
-   * 
-   * @param nl1 NodeList for first node-set
-   * @param nl2 NodeList for second node-set
-   * @return a NodeList containing the nodes in nl1 that are also in nl2
-   *
-   * Note: The usage of this extension function in the xalan namespace 
-   * is deprecated. Please use the same function in the EXSLT sets extension
-   * (http://exslt.org/sets).
-   */
-  public static NodeList intersection(NodeList nl1, NodeList nl2)
-  {
-    return ExsltSets.intersection(nl1, nl2);
-  }
-
-  /**
-   * Returns the difference between two node-sets.
-   * 
-   * @param nl1 NodeList for first node-set
-   * @param nl2 NodeList for second node-set
-   * @return a NodeList containing the nodes in nl1 that are not in nl2
-   * 
-   * Note: The usage of this extension function in the xalan namespace 
-   * is deprecated. Please use the same function in the EXSLT sets extension
-   * (http://exslt.org/sets).
-   */
-  public static NodeList difference(NodeList nl1, NodeList nl2)
-  {
-    return ExsltSets.difference(nl1, nl2);
-  }
-
-  /**
-   * Returns node-set containing distinct string values.
-   *
-   * @param nl NodeList for node-set
-   * @return a NodeList with nodes from nl containing distinct string values.
-   * In other words, if more than one node in nl contains the same string value,
-   * only include the first such node found.
-   *
-   * Note: The usage of this extension function in the xalan namespace 
-   * is deprecated. Please use the same function in the EXSLT sets extension
-   * (http://exslt.org/sets).
-   */
-  public static NodeList distinct(NodeList nl)
-  {
-    return ExsltSets.distinct(nl);
-  }
-
-  /**
-   * Returns true if both node-sets contain the same set of nodes.
-   *
-   * @param nl1 NodeList for first node-set
-   * @param nl2 NodeList for second node-set
-   * @return true if nl1 and nl2 contain exactly the same set of nodes.
-   */
-  public static boolean hasSameNodes(NodeList nl1, NodeList nl2)
-  {
-
-    NodeSet ns1 = new NodeSet(nl1);
-    NodeSet ns2 = new NodeSet(nl2);
-
-    if (ns1.getLength() != ns2.getLength())
-      return false;
-
-    for (int i = 0; i < ns1.getLength(); i++)
-    {
-      Node n = ns1.elementAt(i);
-
-      if (!ns2.contains(n))
-        return false;
-    }
-
-    return true;
-  }
-
-  /**
-   * Returns the result of evaluating the argument as a string containing
-   * an XPath expression.  Used where the XPath expression is not known until
-   * run-time.  The expression is evaluated as if the run-time value of the
-   * argument appeared in place of the evaluate function call at compile time.
-   *
-   * @param myContext an <code>ExpressionContext</code> passed in by the
-   *                  extension mechanism.  This must be an XPathContext.
-   * @param xpathExpr The XPath expression to be evaluated.
-   * @return the XObject resulting from evaluating the XPath
-   *
-   * @throws SAXNotSupportedException
-   *
-   * Note: The usage of this extension function in the xalan namespace 
-   * is deprecated. Please use the same function in the EXSLT dynamic extension
-   * (http://exslt.org/dynamic).
-   */
-  public static XObject evaluate(ExpressionContext myContext, String xpathExpr)
-         throws SAXNotSupportedException
-  {
-    return ExsltDynamic.evaluate(myContext, xpathExpr);
-  }
-
-  /**
-   * Returns a NodeSet containing one text node for each token in the first argument.
-   * Delimiters are specified in the second argument.
-   * Tokens are determined by a call to <code>StringTokenizer</code>.
-   * If the first argument is an empty string or contains only delimiters, the result
-   * will be an empty NodeSet.
-   *
-   * Contributed to XalanJ1 by <a href="mailto:benoit.cerrina@writeme.com">Benoit Cerrina</a>.
-   * 
-   * @param toTokenize The string to be split into text tokens.
-   * @param delims The delimiters to use.
-   * @return a NodeSet as described above.
-   */
-  public static NodeList tokenize(String toTokenize, String delims)
-  {
-
-    Document doc = DocumentHolder.m_doc;
-
-
-    StringTokenizer lTokenizer = new StringTokenizer(toTokenize, delims);
-    NodeSet resultSet = new NodeSet();
-
-    synchronized (doc)
-    {
-      while (lTokenizer.hasMoreTokens())
-      {
-        resultSet.addNode(doc.createTextNode(lTokenizer.nextToken()));
-      }
-    }
-
-    return resultSet;
-  }
-
-  /**
-   * Returns a NodeSet containing one text node for each token in the first argument.
-   * Delimiters are whitespace.  That is, the delimiters that are used are tab (&#x09),
-   * linefeed (&#x0A), return (&#x0D), and space (&#x20).
-   * Tokens are determined by a call to <code>StringTokenizer</code>.
-   * If the first argument is an empty string or contains only delimiters, the result
-   * will be an empty NodeSet.
-   *
-   * Contributed to XalanJ1 by <a href="mailto:benoit.cerrina@writeme.com">Benoit Cerrina</a>.
-   * 
-   * @param toTokenize The string to be split into text tokens.
-   * @return a NodeSet as described above.
-   */
-  public static NodeList tokenize(String toTokenize)
-  {
-    return tokenize(toTokenize, " \t\n\r");
-  }
-
-  /**
-   * Return a Node of basic debugging information from the 
-   * EnvironmentCheck utility about the Java environment.
-   *
-   * <p>Simply calls the {@link org.apache.xalan.xslt.EnvironmentCheck}
-   * utility to grab info about the Java environment and CLASSPATH, 
-   * etc., and then returns the resulting Node.  Stylesheets can 
-   * then maniuplate this data or simply xsl:copy-of the Node.  Note 
-   * that we first attempt to load the more advanced 
-   * org.apache.env.Which utility by reflection; only if that fails 
-   * to we still use the internal version.  Which is available from 
-   * <a href="http://xml.apache.org/commons/">http://xml.apache.org/commons/</a>.</p>
-   *
-   * <p>We throw a WrappedRuntimeException in the unlikely case 
-   * that reading information from the environment throws us an 
-   * exception. (Is this really the best thing to do?)</p>
-   *
-   * @param myContext an <code>ExpressionContext</code> passed in by the
-   *                  extension mechanism.  This must be an XPathContext.
-   * @return a Node as described above.
-   */
-  public static Node checkEnvironment(ExpressionContext myContext)
-  {
-
-    Document factoryDocument;
-    try
-    {
-      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-      DocumentBuilder db = dbf.newDocumentBuilder();
-      factoryDocument = db.newDocument();
-    }
-    catch(ParserConfigurationException pce)
-    {
-      throw new org.apache.xml.utils.WrappedRuntimeException(pce);
-    }
-
-    Node resultNode = null;
-    try
-    {
-      // First use reflection to try to load Which, which is a 
-      //  better version of EnvironmentCheck
-      resultNode = checkEnvironmentUsingWhich(myContext, factoryDocument);
-
-      if (null != resultNode)
-        return resultNode;
-
-      // If reflection failed, fallback to our internal EnvironmentCheck
-      EnvironmentCheck envChecker = new EnvironmentCheck();
-      Hashtable h = envChecker.getEnvironmentHash();
-      resultNode = factoryDocument.createElement("checkEnvironmentExtension");
-      envChecker.appendEnvironmentReport(resultNode, factoryDocument, h);
-      envChecker = null;
-    }
-    catch(Exception e)
-    {
-      throw new org.apache.xml.utils.WrappedRuntimeException(e);
-    }
-
-    return resultNode;
-  }
-
-  /**
-   * Private worker method to attempt to use org.apache.env.Which.
-   *
-   * @param myContext an <code>ExpressionContext</code> passed in by the
-   *                  extension mechanism.  This must be an XPathContext.
-   * @param factoryDocument providing createElement services, etc.
-   * @return a Node with environment info; null if any error
-   */
-  private static Node checkEnvironmentUsingWhich(ExpressionContext myContext, 
-        Document factoryDocument)
-  {
-    final String WHICH_CLASSNAME = "org.apache.env.Which";
-    final String WHICH_METHODNAME = "which";
-    final Class WHICH_METHOD_ARGS[] = { java.util.Hashtable.class,
-                                        java.lang.String.class,
-                                        java.lang.String.class };
-    try
-    {
-      // Use reflection to try to find xml-commons utility 'Which'
-      Class clazz = ObjectFactory.findProviderClass(
-        WHICH_CLASSNAME, ObjectFactory.findClassLoader(), true);
-      if (null == clazz)
-        return null;
-        
-      // Fully qualify names since this is the only method they're used in
-      java.lang.reflect.Method method = clazz.getMethod(WHICH_METHODNAME, WHICH_METHOD_ARGS);
-      Hashtable report = new Hashtable();
-
-      // Call the method with our Hashtable, common options, and ignore return value
-      Object[] methodArgs = { report, "XmlCommons;Xalan;Xerces;Crimson;Ant", "" };
-      Object returnValue = method.invoke(null, methodArgs);
-
-      // Create a parent to hold the report and append hash to it
-      Node resultNode = factoryDocument.createElement("checkEnvironmentExtension");
-      org.apache.xml.utils.Hashtree2Node.appendHashToNode(report, "whichReport", 
-            resultNode, factoryDocument);
-
-      return resultNode;
-    }
-    catch (Throwable t)
-    {
-      // Simply return null; no need to report error
-      return null;
-    }
-  }
-  
-    /**
-     * This class is not loaded until first referenced (see Java Language
-     * Specification by Gosling/Joy/Steele, section 12.4.1)
-     *
-     * The static members are created when this class is first referenced, as a
-     * lazy initialization not needing checking against null or any
-     * synchronization.
-     *
-     */
-    private static class DocumentHolder
-    {
-        // Reuse the Document object to reduce memory usage.
-        private static final Document m_doc;
-        static 
-        {
-            try
-            {
-                m_doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-            }
-
-            catch(ParserConfigurationException pce)
-            {
-                  throw new org.apache.xml.utils.WrappedRuntimeException(pce);
-            }
-
-        }
-    }  
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/NodeInfo.java b/libcore/xml/src/main/java/org/apache/xalan/lib/NodeInfo.java
deleted file mode 100644
index d45ef07..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/NodeInfo.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: NodeInfo.java 468639 2006-10-28 06:52:33Z minchau $
- */
-
-package org.apache.xalan.lib;
-
-import javax.xml.transform.SourceLocator;
-
-import org.apache.xalan.extensions.ExpressionContext;
-import org.apache.xml.dtm.ref.DTMNodeProxy;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * <code>NodeInfo</code> defines a set of XSLT extension functions to be
- * used from stylesheets.
- *
- * @author <a href="mailto:ovidiu@cup.hp.com">Ovidiu Predescu</a>
- * @since May 24, 2001
- */
-public class NodeInfo
-{
-  /**
-   * <code>systemId</code> returns the system id of the current
-   * context node.
-   *
-   * @param context an <code>ExpressionContext</code> value
-   * @return a <code>String</code> value
-   */
-  public static String systemId(ExpressionContext context)
-  {
-    Node contextNode = context.getContextNode();
-    int nodeHandler = ((DTMNodeProxy)contextNode).getDTMNodeNumber();
-    SourceLocator locator = ((DTMNodeProxy)contextNode).getDTM()
-      .getSourceLocatorFor(nodeHandler);
-
-    if (locator != null)
-      return locator.getSystemId();
-    else
-      return null;
-  }
-
-  /**
-   * <code>systemId</code> returns the system id of the node passed as
-   * argument. If a node set is passed as argument, the system id of
-   * the first node in the set is returned.
-   *
-   * @param nodeList a <code>NodeList</code> value
-   * @return a <code>String</code> value
-   */
-  public static String systemId(NodeList nodeList)
-  {
-    if (nodeList == null || nodeList.getLength() == 0)
-      return null;
-    
-    Node node = nodeList.item(0);
-    int nodeHandler = ((DTMNodeProxy)node).getDTMNodeNumber();
-    SourceLocator locator = ((DTMNodeProxy)node).getDTM()
-      .getSourceLocatorFor(nodeHandler);
-
-    if (locator != null)
-      return locator.getSystemId();
-    else
-      return null;
-  }
-
-  /**
-   * <code>publicId</code> returns the public identifier of the current
-   * context node.
-   * 
-   * Xalan does not currently record this value, and will return null.
-   *
-   * @param context an <code>ExpressionContext</code> value
-   * @return a <code>String</code> value
-   */
-  public static String publicId(ExpressionContext context)
-  {
-    Node contextNode = context.getContextNode();
-    int nodeHandler = ((DTMNodeProxy)contextNode).getDTMNodeNumber();
-    SourceLocator locator = ((DTMNodeProxy)contextNode).getDTM()
-      .getSourceLocatorFor(nodeHandler);
-
-    if (locator != null)
-      return locator.getPublicId();
-    else
-      return null;
-  }
-
-  /**
-   * <code>publicId</code> returns the public identifier of the node passed as
-   * argument. If a node set is passed as argument, the public identifier of
-   * the first node in the set is returned.
-   * 
-   * Xalan does not currently record this value, and will return null.
-   *
-   * @param nodeList a <code>NodeList</code> value
-   * @return a <code>String</code> value
-   */
-  public static String publicId(NodeList nodeList)
-  {
-    if (nodeList == null || nodeList.getLength() == 0)
-      return null;
-    
-    Node node = nodeList.item(0);
-    int nodeHandler = ((DTMNodeProxy)node).getDTMNodeNumber();
-    SourceLocator locator = ((DTMNodeProxy)node).getDTM()
-      .getSourceLocatorFor(nodeHandler);
-
-    if (locator != null)
-      return locator.getPublicId();
-    else
-      return null;
-  }
-
-  /**
-   * <code>lineNumber</code> returns the line number of the current
-   * context node.
-   * 
-   * NOTE: Xalan does not normally record location information for each node. 
-   * To obtain it, you must set the custom TrAX attribute 
-   * "http://xml.apache.org/xalan/features/source_location"
-   * true in the TransformerFactory before generating the Transformer and executing
-   * the stylesheet. Storage cost per node will be noticably increased in this mode.
-   *
-   * @param context an <code>ExpressionContext</code> value
-   * @return an <code>int</code> value. This may be -1 to indicate that the
-   * line number is not known.
-   */
-  public static int lineNumber(ExpressionContext context)
-  {
-    Node contextNode = context.getContextNode();
-    int nodeHandler = ((DTMNodeProxy)contextNode).getDTMNodeNumber();
-    SourceLocator locator = ((DTMNodeProxy)contextNode).getDTM()
-      .getSourceLocatorFor(nodeHandler);
-
-    if (locator != null)
-      return locator.getLineNumber();
-    else
-      return -1;
-  }
-
-  /**
-   * <code>lineNumber</code> returns the line number of the node
-   * passed as argument. If a node set is passed as argument, the line
-   * number of the first node in the set is returned.
-   *
-   * NOTE: Xalan does not normally record location information for each node. 
-   * To obtain it, you must set the custom TrAX attribute 
-   * "http://xml.apache.org/xalan/features/source_location"
-   * true in the TransformerFactory before generating the Transformer and executing
-   * the stylesheet. Storage cost per node will be noticably increased in this mode.
-   *
-   * @param nodeList a <code>NodeList</code> value
-   * @return an <code>int</code> value. This may be -1 to indicate that the
-   * line number is not known.
-   */
-  public static int lineNumber(NodeList nodeList)
-  {
-    if (nodeList == null || nodeList.getLength() == 0)
-      return -1;
-    
-    Node node = nodeList.item(0);
-    int nodeHandler = ((DTMNodeProxy)node).getDTMNodeNumber();
-    SourceLocator locator = ((DTMNodeProxy)node).getDTM()
-      .getSourceLocatorFor(nodeHandler);
-
-    if (locator != null)
-      return locator.getLineNumber();
-    else
-      return -1;
-  }
-
-  /**
-   * <code>columnNumber</code> returns the column number of the
-   * current context node.
-   *
-   * NOTE: Xalan does not normally record location information for each node. 
-   * To obtain it, you must set the custom TrAX attribute 
-   * "http://xml.apache.org/xalan/features/source_location"
-   * true in the TransformerFactory before generating the Transformer and executing
-   * the stylesheet. Storage cost per node will be noticably increased in this mode.
-   *
-   * @param context an <code>ExpressionContext</code> value
-   * @return an <code>int</code> value. This may be -1 to indicate that the
-   * column number is not known.
-   */
-  public static int columnNumber(ExpressionContext context)
-  {
-    Node contextNode = context.getContextNode();
-    int nodeHandler = ((DTMNodeProxy)contextNode).getDTMNodeNumber();
-    SourceLocator locator = ((DTMNodeProxy)contextNode).getDTM()
-      .getSourceLocatorFor(nodeHandler);
-
-    if (locator != null)
-      return locator.getColumnNumber();
-    else
-      return -1;
-  }
-
-  /**
-   * <code>columnNumber</code> returns the column number of the node
-   * passed as argument. If a node set is passed as argument, the line
-   * number of the first node in the set is returned.
-   *
-   * NOTE: Xalan does not normally record location information for each node. 
-   * To obtain it, you must set the custom TrAX attribute 
-   * "http://xml.apache.org/xalan/features/source_location"
-   * true in the TransformerFactory before generating the Transformer and executing
-   * the stylesheet. Storage cost per node will be noticably increased in this mode.
-   *
-   * @param nodeList a <code>NodeList</code> value
-   * @return an <code>int</code> value. This may be -1 to indicate that the
-   * column number is not known.
-   */
-  public static int columnNumber(NodeList nodeList)
-  {
-    if (nodeList == null || nodeList.getLength() == 0)
-      return -1;
-    
-    Node node = nodeList.item(0);
-    int nodeHandler = ((DTMNodeProxy)node).getDTMNodeNumber();
-    SourceLocator locator = ((DTMNodeProxy)node).getDTM()
-      .getSourceLocatorFor(nodeHandler);
-
-    if (locator != null)
-      return locator.getColumnNumber();
-    else
-      return -1;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/ObjectFactory.java b/libcore/xml/src/main/java/org/apache/xalan/lib/ObjectFactory.java
deleted file mode 100755
index 1ce5f5e..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/ObjectFactory.java
+++ /dev/null
@@ -1,661 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ObjectFactory.java 468639 2006-10-28 06:52:33Z minchau $
- */
-
-package org.apache.xalan.lib;
-
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.File;
-import java.io.FileInputStream;
-
-import java.util.Properties;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-/**
- * This class is duplicated for each JAXP subpackage so keep it in sync.
- * It is package private and therefore is not exposed as part of the JAXP
- * API.
- * <p>
- * This code is designed to implement the JAXP 1.1 spec pluggability
- * feature and is designed to run on JDK version 1.1 and
- * later, and to compile on JDK 1.2 and onward.  
- * The code also runs both as part of an unbundled jar file and
- * when bundled as part of the JDK.
- * <p>
- * This class was moved from the <code>javax.xml.parsers.ObjectFactory</code>
- * class and modified to be used as a general utility for creating objects 
- * dynamically.
- *
- * @version $Id: ObjectFactory.java 468639 2006-10-28 06:52:33Z minchau $
- */
-class ObjectFactory {
-
-    //
-    // Constants
-    //
-
-    // name of default properties file to look for in JDK's jre/lib directory
-    private static final String DEFAULT_PROPERTIES_FILENAME =
-                                                     "xalan.properties";
-
-    private static final String SERVICES_PATH = "META-INF/services/";
-
-    /** Set to true for debugging */
-    private static final boolean DEBUG = false;
-
-    /** cache the contents of the xalan.properties file.
-     *  Until an attempt has been made to read this file, this will
-     * be null; if the file does not exist or we encounter some other error
-     * during the read, this will be empty.
-     */
-    private static Properties fXalanProperties = null;
-
-    /***
-     * Cache the time stamp of the xalan.properties file so
-     * that we know if it's been modified and can invalidate
-     * the cache when necessary.
-     */
-    private static long fLastModified = -1;
-
-    //
-    // Public static methods
-    //
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return instance of factory, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Object createObject(String factoryId, String fallbackClassName)
-        throws ConfigurationError {
-        return createObject(factoryId, null, fallbackClassName);
-    } // createObject(String,String):Object
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return instance of factory, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Object createObject(String factoryId, 
-                                      String propertiesFilename,
-                                      String fallbackClassName)
-        throws ConfigurationError
-    {
-        Class factoryClass = lookUpFactoryClass(factoryId,
-                                                propertiesFilename,
-                                                fallbackClassName);
-
-        if (factoryClass == null) {
-            throw new ConfigurationError(
-                "Provider for " + factoryId + " cannot be found", null);
-        }
-
-        try{
-            Object instance = factoryClass.newInstance();
-            debugPrintln("created new instance of factory " + factoryId);
-            return instance;
-        } catch (Exception x) {
-            throw new ConfigurationError(
-                "Provider for factory " + factoryId
-                    + " could not be instantiated: " + x, x);
-        }
-    } // createObject(String,String,String):Object
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return Class object of factory, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Class lookUpFactoryClass(String factoryId) 
-        throws ConfigurationError
-    {
-        return lookUpFactoryClass(factoryId, null, null);
-    } // lookUpFactoryClass(String):Class
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return Class object that provides factory service, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Class lookUpFactoryClass(String factoryId,
-                                           String propertiesFilename,
-                                           String fallbackClassName)
-        throws ConfigurationError
-    {
-        String factoryClassName = lookUpFactoryClassName(factoryId,
-                                                         propertiesFilename,
-                                                         fallbackClassName);
-        ClassLoader cl = findClassLoader();
-
-        if (factoryClassName == null) {
-            factoryClassName = fallbackClassName;
-        }
-
-        // assert(className != null);
-        try{
-            Class providerClass = findProviderClass(factoryClassName,
-                                                    cl,
-                                                    true);
-            debugPrintln("created new instance of " + providerClass +
-                   " using ClassLoader: " + cl);
-            return providerClass;
-        } catch (ClassNotFoundException x) {
-            throw new ConfigurationError(
-                "Provider " + factoryClassName + " not found", x);
-        } catch (Exception x) {
-            throw new ConfigurationError(
-                "Provider "+factoryClassName+" could not be instantiated: "+x,
-                x);
-        }
-    } // lookUpFactoryClass(String,String,String):Class
-
-    /**
-     * Finds the name of the required implementation class in the specified
-     * order.  The specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return name of class that provides factory service, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static String lookUpFactoryClassName(String factoryId,
-                                                String propertiesFilename,
-                                                String fallbackClassName)
-    {
-        SecuritySupport ss = SecuritySupport.getInstance();
-
-        // Use the system property first
-        try {
-            String systemProp = ss.getSystemProperty(factoryId);
-            if (systemProp != null) {
-                debugPrintln("found system property, value=" + systemProp);
-                return systemProp;
-            }
-        } catch (SecurityException se) {
-            // Ignore and continue w/ next location
-        }
-
-        // Try to read from propertiesFilename, or
-        // $java.home/lib/xalan.properties
-        String factoryClassName = null;
-        // no properties file name specified; use
-        // $JAVA_HOME/lib/xalan.properties:
-        if (propertiesFilename == null) {
-            File propertiesFile = null;
-            boolean propertiesFileExists = false;
-            try {
-                String javah = ss.getSystemProperty("java.home");
-                propertiesFilename = javah + File.separator +
-                    "lib" + File.separator + DEFAULT_PROPERTIES_FILENAME;
-                propertiesFile = new File(propertiesFilename);
-                propertiesFileExists = ss.getFileExists(propertiesFile);
-            } catch (SecurityException e) {
-                // try again...
-                fLastModified = -1;
-                fXalanProperties = null;
-            }
-
-            synchronized (ObjectFactory.class) {
-                boolean loadProperties = false;
-                FileInputStream fis = null;
-                try {
-                    // file existed last time
-                    if(fLastModified >= 0) {
-                        if(propertiesFileExists &&
-                                (fLastModified < (fLastModified = ss.getLastModified(propertiesFile)))) {
-                            loadProperties = true;
-                        } else {
-                            // file has stopped existing...
-                            if(!propertiesFileExists) {
-                                fLastModified = -1;
-                                fXalanProperties = null;
-                            } // else, file wasn't modified!
-                        }
-                    } else {
-                        // file has started to exist:
-                        if(propertiesFileExists) {
-                            loadProperties = true;
-                            fLastModified = ss.getLastModified(propertiesFile);
-                        } // else, nothing's changed
-                    }
-                    if(loadProperties) {
-                        // must never have attempted to read xalan.properties
-                        // before (or it's outdeated)
-                        fXalanProperties = new Properties();
-                        fis = ss.getFileInputStream(propertiesFile);
-                        fXalanProperties.load(fis);
-                    }
-	        } catch (Exception x) {
-	            fXalanProperties = null;
-	            fLastModified = -1;
-                    // assert(x instanceof FileNotFoundException
-	            //        || x instanceof SecurityException)
-	            // In both cases, ignore and continue w/ next location
-	        }
-                finally {
-                    // try to close the input stream if one was opened.
-                    if (fis != null) {
-                        try {
-                            fis.close();
-                        }
-                        // Ignore the exception.
-                        catch (IOException exc) {}
-                    }
-                }	            
-            }
-            if(fXalanProperties != null) {
-                factoryClassName = fXalanProperties.getProperty(factoryId);
-            }
-        } else {
-            FileInputStream fis = null;
-            try {
-                fis = ss.getFileInputStream(new File(propertiesFilename));
-                Properties props = new Properties();
-                props.load(fis);
-                factoryClassName = props.getProperty(factoryId);
-            } catch (Exception x) {
-                // assert(x instanceof FileNotFoundException
-                //        || x instanceof SecurityException)
-                // In both cases, ignore and continue w/ next location
-            }
-            finally {
-                // try to close the input stream if one was opened.
-                if (fis != null) {
-                    try {
-                        fis.close();
-                    }
-                    // Ignore the exception.
-                    catch (IOException exc) {}
-                }
-            }               
-        }
-        if (factoryClassName != null) {
-            debugPrintln("found in " + propertiesFilename + ", value="
-                          + factoryClassName);
-            return factoryClassName;
-        }
-
-        // Try Jar Service Provider Mechanism
-        return findJarServiceProviderName(factoryId);
-    } // lookUpFactoryClass(String,String):String
-
-    //
-    // Private static methods
-    //
-
-    /** Prints a message to standard error if debugging is enabled. */
-    private static void debugPrintln(String msg) {
-        if (DEBUG) {
-            System.err.println("JAXP: " + msg);
-        }
-    } // debugPrintln(String)
-
-    /**
-     * Figure out which ClassLoader to use.  For JDK 1.2 and later use
-     * the context ClassLoader.
-     */
-    static ClassLoader findClassLoader()
-        throws ConfigurationError
-    { 
-        SecuritySupport ss = SecuritySupport.getInstance();
-
-        // Figure out which ClassLoader to use for loading the provider
-        // class.  If there is a Context ClassLoader then use it.
-        ClassLoader context = ss.getContextClassLoader();
-        ClassLoader system = ss.getSystemClassLoader();
-
-        ClassLoader chain = system;
-        while (true) {
-            if (context == chain) {
-                // Assert: we are on JDK 1.1 or we have no Context ClassLoader
-                // or any Context ClassLoader in chain of system classloader
-                // (including extension ClassLoader) so extend to widest
-                // ClassLoader (always look in system ClassLoader if Xalan
-                // is in boot/extension/system classpath and in current
-                // ClassLoader otherwise); normal classloaders delegate
-                // back to system ClassLoader first so this widening doesn't
-                // change the fact that context ClassLoader will be consulted
-                ClassLoader current = ObjectFactory.class.getClassLoader();
-
-                chain = system;
-                while (true) {
-                    if (current == chain) {
-                        // Assert: Current ClassLoader in chain of
-                        // boot/extension/system ClassLoaders
-                        return system;
-                    }
-                    if (chain == null) {
-                        break;
-                    }
-                    chain = ss.getParentClassLoader(chain);
-                }
-
-                // Assert: Current ClassLoader not in chain of
-                // boot/extension/system ClassLoaders
-                return current;
-            }
-
-            if (chain == null) {
-                // boot ClassLoader reached
-                break;
-            }
-
-            // Check for any extension ClassLoaders in chain up to
-            // boot ClassLoader
-            chain = ss.getParentClassLoader(chain);
-        };
-
-        // Assert: Context ClassLoader not in chain of
-        // boot/extension/system ClassLoaders
-        return context;
-    } // findClassLoader():ClassLoader
-
-    /**
-     * Create an instance of a class using the specified ClassLoader
-     */ 
-    static Object newInstance(String className, ClassLoader cl,
-                                      boolean doFallback)
-        throws ConfigurationError
-    {
-        // assert(className != null);
-        try{
-            Class providerClass = findProviderClass(className, cl, doFallback);
-            Object instance = providerClass.newInstance();
-            debugPrintln("created new instance of " + providerClass +
-                   " using ClassLoader: " + cl);
-            return instance;
-        } catch (ClassNotFoundException x) {
-            throw new ConfigurationError(
-                "Provider " + className + " not found", x);
-        } catch (Exception x) {
-            throw new ConfigurationError(
-                "Provider " + className + " could not be instantiated: " + x,
-                x);
-        }
-    }
-
-    /**
-     * Find a Class using the specified ClassLoader
-     */ 
-    static Class findProviderClass(String className, ClassLoader cl,
-                                           boolean doFallback)
-        throws ClassNotFoundException, ConfigurationError
-    {   
-        //throw security exception if the calling thread is not allowed to access the
-        //class. Restrict the access to the package classes as specified in java.security policy.
-        SecurityManager security = System.getSecurityManager();
-        try{
-                if (security != null){
-                    final int lastDot = className.lastIndexOf(".");
-                    String packageName = className;
-                    if (lastDot != -1) packageName = className.substring(0, lastDot);
-                    security.checkPackageAccess(packageName);
-                 }   
-        }catch(SecurityException e){
-            throw e;
-        }
-        
-        Class providerClass;
-        if (cl == null) {
-            // XXX Use the bootstrap ClassLoader.  There is no way to
-            // load a class using the bootstrap ClassLoader that works
-            // in both JDK 1.1 and Java 2.  However, this should still
-            // work b/c the following should be true:
-            //
-            // (cl == null) iff current ClassLoader == null
-            //
-            // Thus Class.forName(String) will use the current
-            // ClassLoader which will be the bootstrap ClassLoader.
-            providerClass = Class.forName(className);
-        } else {
-            try {
-                providerClass = cl.loadClass(className);
-            } catch (ClassNotFoundException x) {
-                if (doFallback) {
-                    // Fall back to current classloader
-                    ClassLoader current = ObjectFactory.class.getClassLoader();
-                    if (current == null) {
-                        providerClass = Class.forName(className);
-                    } else if (cl != current) {
-                        cl = current;
-                        providerClass = cl.loadClass(className);
-                    } else {
-                        throw x;
-                    }
-                } else {
-                    throw x;
-                }
-            }
-        }
-
-        return providerClass;
-    }
-
-    /**
-     * Find the name of service provider using Jar Service Provider Mechanism
-     *
-     * @return instance of provider class if found or null
-     */
-    private static String findJarServiceProviderName(String factoryId)
-    {
-        SecuritySupport ss = SecuritySupport.getInstance();
-        String serviceId = SERVICES_PATH + factoryId;
-        InputStream is = null;
-
-        // First try the Context ClassLoader
-        ClassLoader cl = findClassLoader();
-
-        is = ss.getResourceAsStream(cl, serviceId);
-
-        // If no provider found then try the current ClassLoader
-        if (is == null) {
-            ClassLoader current = ObjectFactory.class.getClassLoader();
-            if (cl != current) {
-                cl = current;
-                is = ss.getResourceAsStream(cl, serviceId);
-            }
-        }
-
-        if (is == null) {
-            // No provider found
-            return null;
-        }
-
-        debugPrintln("found jar resource=" + serviceId +
-               " using ClassLoader: " + cl);
-
-        // Read the service provider name in UTF-8 as specified in
-        // the jar spec.  Unfortunately this fails in Microsoft
-        // VJ++, which does not implement the UTF-8
-        // encoding. Theoretically, we should simply let it fail in
-        // that case, since the JVM is obviously broken if it
-        // doesn't support such a basic standard.  But since there
-        // are still some users attempting to use VJ++ for
-        // development, we have dropped in a fallback which makes a
-        // second attempt using the platform's default encoding. In
-        // VJ++ this is apparently ASCII, which is a subset of
-        // UTF-8... and since the strings we'll be reading here are
-        // also primarily limited to the 7-bit ASCII range (at
-        // least, in English versions), this should work well
-        // enough to keep us on the air until we're ready to
-        // officially decommit from VJ++. [Edited comment from
-        // jkesselm]
-        BufferedReader rd;
-        try {
-            rd = new BufferedReader(new InputStreamReader(is, "UTF-8"));
-        } catch (java.io.UnsupportedEncodingException e) {
-            rd = new BufferedReader(new InputStreamReader(is));
-        }
-        
-        String factoryClassName = null;
-        try {
-            // XXX Does not handle all possible input as specified by the
-            // Jar Service Provider specification
-            factoryClassName = rd.readLine();
-        } catch (IOException x) {
-            // No provider found
-            return null;
-        }
-        finally {
-            try {
-                // try to close the reader.
-                rd.close();
-            }
-            // Ignore the exception.
-            catch (IOException exc) {}
-        }          
-
-        if (factoryClassName != null &&
-            ! "".equals(factoryClassName)) {
-            debugPrintln("found in resource, value="
-                   + factoryClassName);
-
-            // Note: here we do not want to fall back to the current
-            // ClassLoader because we want to avoid the case where the
-            // resource file was found using one ClassLoader and the
-            // provider class was instantiated using a different one.
-            return factoryClassName;
-        }
-
-        // No provider found
-        return null;
-    }
-
-    //
-    // Classes
-    //
-
-    /**
-     * A configuration error.
-     */
-    static class ConfigurationError 
-        extends Error {
-                static final long serialVersionUID = -7640369932165775029L;
-        //
-        // Data
-        //
-
-        /** Exception. */
-        private Exception exception;
-
-        //
-        // Constructors
-        //
-
-        /**
-         * Construct a new instance with the specified detail string and
-         * exception.
-         */
-        ConfigurationError(String msg, Exception x) {
-            super(msg);
-            this.exception = x;
-        } // <init>(String,Exception)
-
-        //
-        // Public methods
-        //
-
-        /** Returns the exception associated to this error. */
-        Exception getException() {
-            return exception;
-        } // getException():Exception
-
-    } // class ConfigurationError
-
-} // class ObjectFactory
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/PipeDocument.java b/libcore/xml/src/main/java/org/apache/xalan/lib/PipeDocument.java
deleted file mode 100644
index 252db4a..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/PipeDocument.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: PipeDocument.java 468639 2006-10-28 06:52:33Z minchau $
- */
-package org.apache.xalan.lib;
-
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Properties;
-import java.util.Vector;
-
-import javax.xml.transform.Templates;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamSource;
-
-import org.apache.xalan.extensions.XSLProcessorContext;
-import org.apache.xalan.templates.AVT;
-import org.apache.xalan.templates.ElemExtensionCall;
-import org.apache.xalan.templates.ElemLiteralResult;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xml.utils.SystemIDResolver;
-import org.apache.xpath.XPathContext;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-/**
- */
-// Imported Serializer classes
-import org.apache.xml.serializer.Serializer;
-import org.apache.xml.serializer.SerializerFactory;
-
-/**
- * PipeDocument is a Xalan extension element to set stylesheet params and pipes an XML 
- * document through a series of 1 or more stylesheets.
- * PipeDocument is invoked from a stylesheet as the {@link #pipeDocument pipeDocument extension element}.
- * 
- * It is accessed by specifying a namespace URI as follows:
- * <pre>
- *    xmlns:pipe="http://xml.apache.org/xalan/PipeDocument"
- * </pre>
- *
- * @author Donald Leslie
- */
-public class PipeDocument
-{
-/**
- * Extension element for piping an XML document through a series of 1 or more transformations.
- * 
- * <pre>Common usage pattern: A stylesheet transforms a listing of documents to be
- * transformed into a TOC. For each document in the listing calls the pipeDocument
- * extension element to pipe that document through a series of 1 or more stylesheets 
- * to the desired output document.
- * 
- * Syntax:
- * &lt;xsl:stylesheet version="1.0"
- *                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- *                xmlns:pipe="http://xml.apache.org/xalan/PipeDocument"
- *                extension-element-prefixes="pipe"&gt;
- * ...
- * &lt;pipe:pipeDocument   source="source.xml" target="target.xml"&gt;
- *   &lt;stylesheet href="ss1.xsl"&gt;
- *     &lt;param name="param1" value="value1"/&gt;
- *   &lt;/stylesheet&gt;
- *   &lt;stylesheet href="ss2.xsl"&gt;
- *     &lt;param name="param1" value="value1"/&gt;
- *     &lt;param name="param2" value="value2"/&gt;
- *   &lt;/stylesheet&gt;
- *   &lt;stylesheet href="ss1.xsl"/&gt;     
- * &lt;/pipe:pipeDocument&gt;
- * 
- * Notes:</pre>
- * <ul>
- *   <li>The base URI for the source attribute is the XML "listing" document.<li/>
- *   <li>The target attribute is taken as is (base is the current user directory).<li/>
- *   <li>The stylsheet containg the extension element is the base URI for the
- *   stylesheet hrefs.<li/>
- * </ul>
- */
-  public void pipeDocument(XSLProcessorContext context, ElemExtensionCall elem)
-	  throws TransformerException, TransformerConfigurationException, 
-         SAXException, IOException, FileNotFoundException	   
-  {
-
-      SAXTransformerFactory saxTFactory = (SAXTransformerFactory) TransformerFactory.newInstance();
-      
-      // XML doc to transform.
-      String source =  elem.getAttribute("source", 
-                                         context.getContextNode(),
-                                         context.getTransformer());
-      TransformerImpl transImpl = context.getTransformer();
-
-      //Base URI for input doc, so base for relative URI to XML doc to transform.
-      String baseURLOfSource = transImpl.getBaseURLOfSource();
-      // Absolute URI for XML doc to transform.
-      String absSourceURL = SystemIDResolver.getAbsoluteURI(source, baseURLOfSource);      
-
-      // Transformation target
-      String target =  elem.getAttribute("target", 
-                                         context.getContextNode(),
-                                         context.getTransformer());
-      
-      XPathContext xctxt = context.getTransformer().getXPathContext();
-      int xt = xctxt.getDTMHandleFromNode(context.getContextNode());
- 
-      // Get System Id for stylesheet; to be used to resolve URIs to other stylesheets.
-      String sysId = elem.getSystemId();
-      
-      NodeList ssNodes = null;
-      NodeList paramNodes = null;
-      Node ssNode = null;
-      Node paramNode = null;
-      if (elem.hasChildNodes())
-      {
-        ssNodes = elem.getChildNodes();        
-        // Vector to contain TransformerHandler for each stylesheet.
-        Vector vTHandler = new Vector(ssNodes.getLength());
-        
-        // The child nodes of an extension element node are instances of
-        // ElemLiteralResult, which requires does not fully support the standard
-        // Node interface. Accordingly, some special handling is required (see below)
-        // to get attribute values.
-        for (int i = 0; i < ssNodes.getLength(); i++)
-        {
-          ssNode = ssNodes.item(i);
-          if (ssNode.getNodeType() == Node.ELEMENT_NODE
-              && ((Element)ssNode).getTagName().equals("stylesheet")
-              && ssNode instanceof ElemLiteralResult)
-          {
-            AVT avt = ((ElemLiteralResult)ssNode).getLiteralResultAttribute("href");
-            String href = avt.evaluate(xctxt,xt, elem);
-            String absURI = SystemIDResolver.getAbsoluteURI(href, sysId);
-            Templates tmpl = saxTFactory.newTemplates(new StreamSource(absURI));
-            TransformerHandler tHandler = saxTFactory.newTransformerHandler(tmpl);
-            Transformer trans = tHandler.getTransformer();
-            
-            // AddTransformerHandler to vector
-            vTHandler.addElement(tHandler);
-
-            paramNodes = ssNode.getChildNodes();
-            for (int j = 0; j < paramNodes.getLength(); j++)
-            {
-              paramNode = paramNodes.item(j);
-              if (paramNode.getNodeType() == Node.ELEMENT_NODE 
-                  && ((Element)paramNode).getTagName().equals("param")
-                  && paramNode instanceof ElemLiteralResult)
-              {
-                 avt = ((ElemLiteralResult)paramNode).getLiteralResultAttribute("name");
-                 String pName = avt.evaluate(xctxt,xt, elem);
-                 avt = ((ElemLiteralResult)paramNode).getLiteralResultAttribute("value");
-                 String pValue = avt.evaluate(xctxt,xt, elem);
-                 trans.setParameter(pName, pValue);
-               } 
-             }
-           }
-         }
-         usePipe(vTHandler, absSourceURL, target);
-       }
-  }
-  /**
-   * Uses a Vector of TransformerHandlers to pipe XML input document through
-   * a series of 1 or more transformations. Called by {@link #pipeDocument}.
-   * 
-   * @param vTHandler Vector of Transformation Handlers (1 per stylesheet).
-   * @param source absolute URI to XML input
-   * @param target absolute path to transformation output.
-   */
-  public void usePipe(Vector vTHandler, String source, String target)
-          throws TransformerException, TransformerConfigurationException, 
-                 FileNotFoundException, IOException, SAXException, SAXNotRecognizedException
-  {
-    XMLReader reader = XMLReaderFactory.createXMLReader();
-    TransformerHandler tHFirst = (TransformerHandler)vTHandler.firstElement();
-    reader.setContentHandler(tHFirst);
-    reader.setProperty("http://xml.org/sax/properties/lexical-handler", tHFirst);
-    for (int i = 1; i < vTHandler.size(); i++)
-    {
-      TransformerHandler tHFrom = (TransformerHandler)vTHandler.elementAt(i-1);
-      TransformerHandler tHTo = (TransformerHandler)vTHandler.elementAt(i);
-      tHFrom.setResult(new SAXResult(tHTo));      
-    }
-    TransformerHandler tHLast = (TransformerHandler)vTHandler.lastElement();
-    Transformer trans = tHLast.getTransformer();
-    Properties outputProps = trans.getOutputProperties();
-    Serializer serializer = SerializerFactory.getSerializer(outputProps);
-    
-    FileOutputStream out = new FileOutputStream(target);
-    try 
-    {
-      serializer.setOutputStream(out);
-      tHLast.setResult(new SAXResult(serializer.asContentHandler()));
-      reader.parse(source);
-    }
-    finally 
-    {
-      // Always clean up the FileOutputStream,
-      // even if an exception was thrown in the try block
-      if (out != null)
-        out.close();
-    }    
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/Redirect.java b/libcore/xml/src/main/java/org/apache/xalan/lib/Redirect.java
deleted file mode 100644
index 0745986..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/Redirect.java
+++ /dev/null
@@ -1,490 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: Redirect.java 468639 2006-10-28 06:52:33Z minchau $
- */
-package org.apache.xalan.lib;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-import java.util.Hashtable;
-
-import javax.xml.transform.Result;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.stream.StreamResult;
-
-import org.apache.xalan.extensions.XSLProcessorContext;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.templates.ElemExtensionCall;
-import org.apache.xalan.templates.OutputProperties;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xpath.XPath;
-import org.apache.xpath.objects.XObject;
-import org.apache.xml.serializer.SerializationHandler;
-import org.xml.sax.ContentHandler;
-
-/**
- * Implements three extension elements to allow an XSLT transformation to
- * redirect its output to multiple output files.
- *
- * It is accessed by specifying a namespace URI as follows:
- * <pre>
- *    xmlns:redirect="http://xml.apache.org/xalan/redirect"
- * </pre>
- *
- * <p>You can either just use redirect:write, in which case the file will be
- * opened and immediately closed after the write, or you can bracket the
- * write calls by redirect:open and redirect:close, in which case the
- * file will be kept open for multiple writes until the close call is
- * encountered.  Calls can be nested.  
- *
- * <p>Calls can take a 'file' attribute
- * and/or a 'select' attribute in order to get the filename.  If a select
- * attribute is encountered, it will evaluate that expression for a string
- * that indicates the filename.  If the string evaluates to empty, it will
- * attempt to use the 'file' attribute as a default.  Filenames can be relative
- * or absolute.  If they are relative, the base directory will be the same as
- * the base directory for the output document.  This is obtained by calling
- * getOutputTarget() on the TransformerImpl.  You can set this base directory
- * by calling TransformerImpl.setOutputTarget() or it is automatically set
- * when using the two argument form of transform() or transformNode().
- *
- * <p>Calls to redirect:write and redirect:open also take an optional 
- * attribute append="true|yes", which will attempt to simply append 
- * to an existing file instead of always opening a new file.  The 
- * default behavior of always overwriting the file still happens 
- * if you do not specify append.
- * <p><b>Note:</b> this may give unexpected results when using xml 
- * or html output methods, since this is <b>not</b> coordinated 
- * with the serializers - hence, you may get extra xml decls in 
- * the middle of your file after appending to it.
- *
- * <p>Example:</p>
- * <PRE>
- * &lt;?xml version="1.0"?>
- * &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
- *                 version="1.0"
- *                 xmlns:redirect="http://xml.apache.org/xalan/redirect"
- *                 extension-element-prefixes="redirect">
- *
- *   &lt;xsl:template match="/">
- *     &lt;out>
- *       default output.
- *     &lt;/out>
- *     &lt;redirect:open file="doc3.out"/>
- *     &lt;redirect:write file="doc3.out">
- *       &lt;out>
- *         &lt;redirect:write file="doc1.out">
- *           &lt;out>
- *             doc1 output.
- *             &lt;redirect:write file="doc3.out">
- *               Some text to doc3
- *             &lt;/redirect:write>
- *           &lt;/out>
- *         &lt;/redirect:write>
- *         &lt;redirect:write file="doc2.out">
- *           &lt;out>
- *             doc2 output.
- *             &lt;redirect:write file="doc3.out">
- *               Some more text to doc3
- *               &lt;redirect:write select="doc/foo">
- *                 text for doc4
- *               &lt;/redirect:write>
- *             &lt;/redirect:write>
- *           &lt;/out>
- *         &lt;/redirect:write>
- *       &lt;/out>
- *     &lt;/redirect:write>
- *     &lt;redirect:close file="doc3.out"/>
- *   &lt;/xsl:template>
- *
- * &lt;/xsl:stylesheet>
- * </PRE>
- *
- * @author Scott Boag
- * @version 1.0
- * @see <a href="../../../../../../extensions.html#ex-redirect" target="_top">Example with Redirect extension</a>
- */
-public class Redirect
-{
-  /**
-   * List of formatter listeners indexed by filename.
-   */
-  protected Hashtable m_formatterListeners = new Hashtable ();
-
-  /**
-   * List of output streams indexed by filename.
-   */
-  protected Hashtable m_outputStreams = new Hashtable ();
-
-  /** 
-   * Default append mode for bare open calls.  
-   * False for backwards compatibility (I think). 
-   */
-  public static final boolean DEFAULT_APPEND_OPEN = false;
-
-  /** 
-   * Default append mode for bare write calls.  
-   * False for backwards compatibility. 
-   */
-  public static final boolean DEFAULT_APPEND_WRITE = false;
-
-  /**
-   * Open the given file and put it in the XML, HTML, or Text formatter listener's table.
-   */
-  public void open(XSLProcessorContext context, ElemExtensionCall elem)
-    throws java.net.MalformedURLException,
-           java.io.FileNotFoundException,
-           java.io.IOException,
-           javax.xml.transform.TransformerException
-  {
-    String fileName = getFilename(context, elem);
-    Object flistener = m_formatterListeners.get(fileName);
-    if(null == flistener)
-    {
-      String mkdirsExpr 
-        = elem.getAttribute ("mkdirs", context.getContextNode(), 
-                                                  context.getTransformer());
-      boolean mkdirs = (mkdirsExpr != null)
-                       ? (mkdirsExpr.equals("true") || mkdirsExpr.equals("yes")) : true;
-
-      // Whether to append to existing files or not, <jpvdm@iafrica.com>
-      String appendExpr = elem.getAttribute("append", context.getContextNode(), context.getTransformer());
-	  boolean append = (appendExpr != null)
-                       ? (appendExpr.equals("true") || appendExpr.equals("yes")) : DEFAULT_APPEND_OPEN;
-
-      Object ignored = makeFormatterListener(context, elem, fileName, true, mkdirs, append);
-    }
-  }
-  
-  /**
-   * Write the evalutation of the element children to the given file. Then close the file
-   * unless it was opened with the open extension element and is in the formatter listener's table.
-   */
-  public void write(XSLProcessorContext context, ElemExtensionCall elem)
-    throws java.net.MalformedURLException,
-           java.io.FileNotFoundException,
-           java.io.IOException,
-           javax.xml.transform.TransformerException
-  {
-    String fileName = getFilename(context, elem);
-    Object flObject = m_formatterListeners.get(fileName);
-    ContentHandler formatter;
-    boolean inTable = false;
-    if(null == flObject)
-    {
-      String mkdirsExpr 
-        = ((ElemExtensionCall)elem).getAttribute ("mkdirs", 
-                                                  context.getContextNode(), 
-                                                  context.getTransformer());
-      boolean mkdirs = (mkdirsExpr != null)
-                       ? (mkdirsExpr.equals("true") || mkdirsExpr.equals("yes")) : true;
-
-      // Whether to append to existing files or not, <jpvdm@iafrica.com>
-      String appendExpr = elem.getAttribute("append", context.getContextNode(), context.getTransformer());
-	  boolean append = (appendExpr != null)
-                       ? (appendExpr.equals("true") || appendExpr.equals("yes")) : DEFAULT_APPEND_WRITE;
-
-      formatter = makeFormatterListener(context, elem, fileName, true, mkdirs, append);
-    }
-    else
-    {
-      inTable = true;
-      formatter = (ContentHandler)flObject;
-    }
-    
-    TransformerImpl transf = context.getTransformer();
-    
-    startRedirection(transf, formatter);  // for tracing only
-    
-    transf.executeChildTemplates(elem,
-                                 context.getContextNode(),
-                                 context.getMode(), formatter);
-                                 
-    endRedirection(transf); // for tracing only
-    
-    if(!inTable)
-    {
-      OutputStream ostream = (OutputStream)m_outputStreams.get(fileName);
-      if(null != ostream)
-      {
-        try
-        {
-          formatter.endDocument();
-        }
-        catch(org.xml.sax.SAXException se)
-        {
-          throw new TransformerException(se);
-        }
-        ostream.close();
-        m_outputStreams.remove(fileName);
-        m_formatterListeners.remove(fileName);
-      }
-    }
-  }
-
-
-  /**
-   * Close the given file and remove it from the formatter listener's table.
-   */
-  public void close(XSLProcessorContext context, ElemExtensionCall elem)
-    throws java.net.MalformedURLException,
-    java.io.FileNotFoundException,
-    java.io.IOException,
-    javax.xml.transform.TransformerException
-  {
-    String fileName = getFilename(context, elem);
-    Object formatterObj = m_formatterListeners.get(fileName);
-    if(null != formatterObj)
-    {
-      ContentHandler fl = (ContentHandler)formatterObj;
-      try
-      {
-        fl.endDocument();
-      }
-      catch(org.xml.sax.SAXException se)
-      {
-        throw new TransformerException(se);
-      }
-      OutputStream ostream = (OutputStream)m_outputStreams.get(fileName);
-      if(null != ostream)
-      {
-        ostream.close();
-        m_outputStreams.remove(fileName);
-      }
-      m_formatterListeners.remove(fileName);
-    }
-  }
-
-  /**
-   * Get the filename from the 'select' or the 'file' attribute.
-   */
-  private String getFilename(XSLProcessorContext context, ElemExtensionCall elem)
-    throws java.net.MalformedURLException,
-    java.io.FileNotFoundException,
-    java.io.IOException,
-    javax.xml.transform.TransformerException
-  {
-    String fileName;
-    String fileNameExpr 
-      = ((ElemExtensionCall)elem).getAttribute ("select", 
-                                                context.getContextNode(), 
-                                                context.getTransformer());
-    if(null != fileNameExpr)
-    {
-      org.apache.xpath.XPathContext xctxt 
-        = context.getTransformer().getXPathContext();
-      XPath myxpath = new XPath(fileNameExpr, elem, xctxt.getNamespaceContext(), XPath.SELECT);
-      XObject xobj = myxpath.execute(xctxt, context.getContextNode(), elem);
-      fileName = xobj.str();
-      if((null == fileName) || (fileName.length() == 0))
-      {
-        fileName = elem.getAttribute ("file", 
-                                      context.getContextNode(), 
-                                      context.getTransformer());
-      }
-    }
-    else
-    {
-      fileName = elem.getAttribute ("file", context.getContextNode(), 
-                                                               context.getTransformer());
-    }
-    if(null == fileName)
-    {
-      context.getTransformer().getMsgMgr().error(elem, elem, 
-                                     context.getContextNode(), 
-                                     XSLTErrorResources.ER_REDIRECT_COULDNT_GET_FILENAME);
-                              //"Redirect extension: Could not get filename - file or select attribute must return vald string.");
-    }
-    return fileName;
-  }
-  
-  // yuck.
-  // Note: this is not the best way to do this, and may not even 
-  //    be fully correct! Patches (with test cases) welcomed. -sc
-  private String urlToFileName(String base)
-  {
-    if(null != base)
-    {
-      if(base.startsWith("file:////"))
-      {
-        base = base.substring(7);
-      }
-      else if(base.startsWith("file:///"))
-      {
-        base = base.substring(6);
-      }
-      else if(base.startsWith("file://"))
-      {
-        base = base.substring(5); // absolute?
-      }
-      else if(base.startsWith("file:/"))
-      {
-        base = base.substring(5);
-      }
-      else if(base.startsWith("file:"))
-      {
-        base = base.substring(4);
-      }
-    }
-    return base;
-  }
-
-  /**
-   * Create a new ContentHandler, based on attributes of the current ContentHandler.
-   */
-  private ContentHandler makeFormatterListener(XSLProcessorContext context,
-                                               ElemExtensionCall elem,
-                                               String fileName,
-                                               boolean shouldPutInTable,
-                                               boolean mkdirs, 
-                                               boolean append)
-    throws java.net.MalformedURLException,
-    java.io.FileNotFoundException,
-    java.io.IOException,
-    javax.xml.transform.TransformerException
-  {
-    File file = new File(fileName);
-    TransformerImpl transformer = context.getTransformer();
-    String base;          // Base URI to use for relative paths
-
-    if(!file.isAbsolute())
-    {
-      // This code is attributed to Jon Grov <jon@linpro.no>.  A relative file name
-      // is relative to the Result used to kick off the transform.  If no such
-      // Result was supplied, the filename is relative to the source document.
-      // When transforming with a SAXResult or DOMResult, call
-      // TransformerImpl.setOutputTarget() to set the desired Result base.
-  //      String base = urlToFileName(elem.getStylesheet().getSystemId());
-
-      Result outputTarget = transformer.getOutputTarget();
-      if ( (null != outputTarget) && ((base = outputTarget.getSystemId()) != null) ) {
-        base = urlToFileName(base);
-      }
-      else
-      {
-        base = urlToFileName(transformer.getBaseURLOfSource());
-      }
-
-      if(null != base)
-      {
-        File baseFile = new File(base);
-        file = new File(baseFile.getParent(), fileName);
-      }
-      // System.out.println("file is: "+file.toString());
-    }
-
-    if(mkdirs)
-    {
-      String dirStr = file.getParent();
-      if((null != dirStr) && (dirStr.length() > 0))
-      {
-        File dir = new File(dirStr);
-        dir.mkdirs();
-      }
-    }
-
-    // This should be worked on so that the output format can be 
-    // defined by a first child of the redirect element.
-    OutputProperties format = transformer.getOutputFormat();
-
-    // FileOutputStream ostream = new FileOutputStream(file);
-    // Patch from above line to below by <jpvdm@iafrica.com>
-    //  Note that in JDK 1.2.2 at least, FileOutputStream(File)
-    //  is implemented as a call to 
-    //  FileOutputStream(File.getPath, append), thus this should be 
-    //  the equivalent instead of getAbsolutePath()
-    FileOutputStream ostream = new FileOutputStream(file.getPath(), append);
-    
-    try
-    {
-      SerializationHandler flistener = 
-        createSerializationHandler(transformer, ostream, file, format);
-        
-      try
-      {
-        flistener.startDocument();
-      }
-      catch(org.xml.sax.SAXException se)
-      {
-        throw new TransformerException(se);
-      }
-      if(shouldPutInTable)
-      {
-        m_outputStreams.put(fileName, ostream);
-        m_formatterListeners.put(fileName, flistener);
-      }
-      return flistener;
-    }
-    catch(TransformerException te)
-    {
-      throw new javax.xml.transform.TransformerException(te);
-    }
-    
-  }
-
-  /**
-   * A class that extends this class can over-ride this public method and recieve
-   * a callback that redirection is about to start
-   * @param transf The transformer.
-   * @param formatter The handler that receives the redirected output
-   */
-  public void startRedirection(TransformerImpl transf, ContentHandler formatter)
-  {
-      // A class that extends this class could provide a method body        
-  }
-    
-  /**
-   * A class that extends this class can over-ride this public method and receive
-   * a callback that redirection to the ContentHandler specified in the startRedirection()
-   * call has ended
-   * @param transf The transformer.
-   */
-  public void endRedirection(TransformerImpl transf)
-  {
-      // A class that extends this class could provide a method body        
-  }
-    
-  /**
-   * A class that extends this one could over-ride this public method and receive
-   * a callback for the creation of the serializer used in the redirection.
-   * @param transformer The transformer
-   * @param ostream The output stream that the serializer wraps
-   * @param file The file associated with the ostream
-   * @param format The format parameter used to create the serializer
-   * @return the serializer that the redirection will go to.
-   * 
-   * @throws java.io.IOException
-   * @throws TransformerException
-   */
-  public SerializationHandler createSerializationHandler(
-        TransformerImpl transformer,
-        FileOutputStream ostream,
-        File file,
-        OutputProperties format) 
-        throws java.io.IOException, TransformerException
-  {
-
-      SerializationHandler serializer =
-          transformer.createSerializationHandler(
-              new StreamResult(ostream),
-              format);
-      return serializer;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/SecuritySupport.java b/libcore/xml/src/main/java/org/apache/xalan/lib/SecuritySupport.java
deleted file mode 100755
index e88d637..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/SecuritySupport.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: SecuritySupport.java 468639 2006-10-28 06:52:33Z minchau $
- */
-
-package org.apache.xalan.lib;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
-import java.util.Properties;
-
-/**
- * This class is duplicated for each Xalan-Java subpackage so keep it in sync.
- * It is package private and therefore is not exposed as part of the Xalan-Java
- * API.
- *
- * Base class with security related methods that work on JDK 1.1.
- */
-class SecuritySupport {
-
-    /*
-     * Make this of type Object so that the verifier won't try to
-     * prove its type, thus possibly trying to load the SecuritySupport12
-     * class.
-     */
-    private static final Object securitySupport;
-
-    static {
-	SecuritySupport ss = null;
-	try {
-	    Class c = Class.forName("java.security.AccessController");
-	    // if that worked, we're on 1.2.
-	    /*
-	    // don't reference the class explicitly so it doesn't
-	    // get dragged in accidentally.
-	    c = Class.forName("javax.mail.SecuritySupport12");
-	    Constructor cons = c.getConstructor(new Class[] { });
-	    ss = (SecuritySupport)cons.newInstance(new Object[] { });
-	    */
-	    /*
-	     * Unfortunately, we can't load the class using reflection
-	     * because the class is package private.  And the class has
-	     * to be package private so the APIs aren't exposed to other
-	     * code that could use them to circumvent security.  Thus,
-	     * we accept the risk that the direct reference might fail
-	     * on some JDK 1.1 JVMs, even though we would never execute
-	     * this code in such a case.  Sigh...
-	     */
-	    ss = new SecuritySupport12();
-	} catch (Exception ex) {
-	    // ignore it
-	} finally {
-	    if (ss == null)
-		ss = new SecuritySupport();
-	    securitySupport = ss;
-	}
-    }
-
-    /**
-     * Return an appropriate instance of this class, depending on whether
-     * we're on a JDK 1.1 or J2SE 1.2 (or later) system.
-     */
-    static SecuritySupport getInstance() {
-	return (SecuritySupport)securitySupport;
-    }
-
-    ClassLoader getContextClassLoader() {
-	return null;
-    }
-
-    ClassLoader getSystemClassLoader() {
-        return null;
-    }
-
-    ClassLoader getParentClassLoader(ClassLoader cl) {
-        return null;
-    }
-
-    String getSystemProperty(String propName) {
-        return System.getProperty(propName);
-    }
-
-    FileInputStream getFileInputStream(File file)
-        throws FileNotFoundException
-    {
-        return new FileInputStream(file);
-    }
-
-    InputStream getResourceAsStream(ClassLoader cl, String name) {
-        InputStream ris;
-        if (cl == null) {
-            ris = ClassLoader.getSystemResourceAsStream(name);
-        } else {
-            ris = cl.getResourceAsStream(name);
-        }
-        return ris;
-    }
-    
-    boolean getFileExists(File f) {
-        return f.exists();
-    }
-    
-    long getLastModified(File f) {
-        return f.lastModified();
-    }    
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/SecuritySupport12.java b/libcore/xml/src/main/java/org/apache/xalan/lib/SecuritySupport12.java
deleted file mode 100755
index ed57475..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/SecuritySupport12.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: SecuritySupport12.java 468639 2006-10-28 06:52:33Z minchau $
- */
-
-package org.apache.xalan.lib;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-
-import java.util.Properties;
-
-/**
- * This class is duplicated for each Xalan-Java subpackage so keep it in sync.
- * It is package private and therefore is not exposed as part of the Xalan-Java
- * API.
- *
- * Security related methods that only work on J2SE 1.2 and newer.
- */
-class SecuritySupport12 extends SecuritySupport {
-
-    ClassLoader getContextClassLoader() {
-        return (ClassLoader)
-                AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
-                ClassLoader cl = null;
-                try {
-                    cl = Thread.currentThread().getContextClassLoader();
-                } catch (SecurityException ex) { }
-                return cl;
-            }
-        });
-    }
-
-    ClassLoader getSystemClassLoader() {
-        return (ClassLoader)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    ClassLoader cl = null;
-                    try {
-                        cl = ClassLoader.getSystemClassLoader();
-                    } catch (SecurityException ex) {}
-                    return cl;
-                }
-            });
-    }
-
-    ClassLoader getParentClassLoader(final ClassLoader cl) {
-        return (ClassLoader)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    ClassLoader parent = null;
-                    try {
-                        parent = cl.getParent();
-                    } catch (SecurityException ex) {}
-
-                    // eliminate loops in case of the boot
-                    // ClassLoader returning itself as a parent
-                    return (parent == cl) ? null : parent;
-                }
-            });
-    }
-
-    String getSystemProperty(final String propName) {
-        return (String)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    return System.getProperty(propName);
-                }
-            });
-    }
-
-    FileInputStream getFileInputStream(final File file)
-        throws FileNotFoundException
-    {
-        try {
-            return (FileInputStream)
-                AccessController.doPrivileged(new PrivilegedExceptionAction() {
-                    public Object run() throws FileNotFoundException {
-                        return new FileInputStream(file);
-                    }
-                });
-        } catch (PrivilegedActionException e) {
-            throw (FileNotFoundException)e.getException();
-        }
-    }
-
-    InputStream getResourceAsStream(final ClassLoader cl,
-                                           final String name)
-    {
-        return (InputStream)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    InputStream ris;
-                    if (cl == null) {
-                        ris = ClassLoader.getSystemResourceAsStream(name);
-                    } else {
-                        ris = cl.getResourceAsStream(name);
-                    }
-                    return ris;
-                }
-            });
-    }
-    
-    boolean getFileExists(final File f) {
-    return ((Boolean)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    return new Boolean(f.exists());
-                }
-            })).booleanValue();
-    }
-    
-    long getLastModified(final File f) {
-    return ((Long)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    return new Long(f.lastModified());
-                }
-            })).longValue();
-    }
-        
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/lib/package.html b/libcore/xml/src/main/java/org/apache/xalan/lib/package.html
deleted file mode 100644
index 3a3c440..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/lib/package.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<!-- $Id: package.html 468639 2006-10-28 06:52:33Z minchau $ -->
-<html>
-  <title>Xalan and EXSLT Extensions.</title>
-  <body>
-   <p>Extension elements and functions shipped with Xalan-Java, including EXSLT functions.</p>
-   <p>We are adding extensions to this package.<p>
-  </body>
-</html>
-
-
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLMessages.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLMessages.java
index 37aae54..cbbfd88 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLMessages.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/res/XSLMessages.java
@@ -33,11 +33,7 @@
 {
 
   /** The language specific resource object for Xalan messages.  */
-  private static ListResourceBundle XSLTBundle = null;
-
-  /** The class name of the Xalan error message string table.    */
-  private static final String XSLT_ERROR_RESOURCES =
-    "org.apache.xalan.res.XSLTErrorResources";
+  private static ListResourceBundle XSLTBundle = new XSLTErrorResources(); // android-changed
 
   /**
    * Creates a message from the specified key and replacement
@@ -51,15 +47,10 @@
    */
   public static final String createMessage(String msgKey, Object args[])  //throws Exception
   {
-    if (XSLTBundle == null)
-      XSLTBundle = loadResourceBundle(XSLT_ERROR_RESOURCES);
-    
-    if (XSLTBundle != null)
-    {
+      // BEGIN android-changed
+      //     don't localize resources
       return createMsg(XSLTBundle, msgKey, args);
-    }
-    else
-      return "Could not load any resource bundles.";
+      // END android-changed
   }
   
   /**
@@ -74,14 +65,9 @@
    */
   public static final String createWarning(String msgKey, Object args[])  //throws Exception
   {
-    if (XSLTBundle == null)
-      XSLTBundle = loadResourceBundle(XSLT_ERROR_RESOURCES);
-
-    if (XSLTBundle != null)
-    {
+      // BEGIN android-changed
+      //     don't localize exception messages
       return createMsg(XSLTBundle, msgKey, args);
-    }
-    else
-      return "Could not load any resource bundles.";
+      // END android-changed
   }
 }
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ca.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ca.java
deleted file mode 100644
index d71e38a..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ca.java
+++ /dev/null
@@ -1,1529 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_ca.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_ca extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Error: no hi pot haver un car\u00e0cter '{' dins l'expressi\u00f3"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} t\u00e9 un atribut no perm\u00e8s: {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "sourceNode \u00e9s nul en xsl:apply-imports."},
-
-  {ER_CANNOT_ADD,
-      "No es pot afegir {0} a {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "sourceNode \u00e9s nul en handleApplyTemplatesInstruction."},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} ha de tenir un atribut de nom."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "No s''ha trobat la plantilla anomenada: {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "No s'ha pogut resoldre l'AVT de noms a xsl:call-template."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} necessita l''atribut: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} ha de tenir un atribut ''test''. "},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "Valor incorrecte a l''atribut de nivell: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "El nom processing-instruction no pot ser 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "El nom processing-instruction ha de ser un NCName v\u00e0lid: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} ha de tenir un atribut que hi coincideixi si t\u00e9 una modalitat."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} necessita un nom o un atribut que hi coincideixi."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "No s''ha pogut resoldre el prefix d''espai de noms: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space t\u00e9 un valor no v\u00e0lid: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "El node subordinat no t\u00e9 un document de propietari."},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "Error d''ElemTemplateElement: {0}"},
-
-    { ER_NULL_CHILD,
-     "S'est\u00e0 intentant afegir un subordinat nul."},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} necessita un atribut de selecci\u00f3."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when ha de tenir un atribut 'test'."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param ha de tenir un atribut 'name'."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "El context no t\u00e9 un document de propietari."},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "No s''ha pogut crear la relaci\u00f3 XML TransformerFactory: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: el proc\u00e9s no ha estat correcte."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan no ha estat correcte."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "La codificaci\u00f3 no t\u00e9 suport: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "No s''ha pogut crear TraceListener: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key necessita un atribut 'name'."},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key necessita un atribut 'match'."},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key necessita un atribut 'use'."},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} necessita un atribut ''elements''. "},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) falta l''atribut ''prefix'' {0}. "},
-
-    { ER_BAD_STYLESHEET_URL,
-     "La URL del full d''estils \u00e9s incorrecta: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "No s''ha trobat el fitxer del full d''estils: {0}"},
-
-    { ER_IOEXCEPTION,
-      "S''ha produ\u00eft una excepci\u00f3 d''E/S amb el fitxer de full d''estils: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) No s''ha trobat l''atribut href de {0}"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} s''est\u00e0 incloent a ell mateix directament o indirecta."},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "Error de StylesheetHandler.processInclude, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) falta l''atribut ''lang'' {0}. "},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) L''element {0} \u00e9s fora de lloc? Falta l''element de contenidor ''component''"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "La sortida nom\u00e9s pot ser cap a un Element, Fragment de document, Document o Transcriptor de documents."},
-
-    { ER_PROCESS_ERROR,
-     "Error de StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "Error d''UnImplNode: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Error. No s'ha trobat l'expressi\u00f3 select d'xpath (-select)."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "No es pot serialitzar un XSLProcessor."},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "No s'ha especificat l'entrada del full d'estils."},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "No s'ha pogut processar el full d'estils."},
-
-    { ER_COULDNT_PARSE_DOC,
-     "No s''ha pogut analitzar el document {0}."},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "No s''ha pogut trobar el fragment: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "El node al qual apuntava l''identificador de fragments no era un element: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each ha de tenir o b\u00e9 una coincid\u00e8ncia o b\u00e9 un atribut de nom."},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "Les plantilles han de tenir o b\u00e9 una coincid\u00e8ncia o b\u00e9 un atribut de nom."},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "No hi ha cap clonatge d'un fragment de document."},
-
-    { ER_CANT_CREATE_ITEM,
-      "No es pot crear un element a l''arbre de resultats: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "xml:space de l''XML d''origen t\u00e9 un valor no perm\u00e8s: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "No hi ha cap declaraci\u00f3 d''xls:key per a {0}."},
-
-    { ER_CANT_CREATE_URL,
-     "Error. No es pot crear la URL de: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions no t\u00e9 suport."},
-
-    { ER_PROCESSOR_ERROR,
-     "Error d'XSLT TransformerFactory"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} no est\u00e0 perm\u00e8s dins d''un full d''estils."},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns ja no t\u00e9 suport. En comptes d'aix\u00f2, feu servir xsl:output."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space ja no t\u00e9 suport. En comptes d'aix\u00f2, feu servir xsl:strip-space o xsl:preserve-space."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result ja no t\u00e9 suport. En comptes d'aix\u00f2, feu servir xsl:output."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} t\u00e9 un atribut no perm\u00e8s: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Element XSL desconegut: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort nom\u00e9s es pot utilitzar amb xsl:apply-templates o xsl:for-each."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when est\u00e0 mal col\u00b7locat."},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when no ha estat analitzat per xsl:choose."},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise est\u00e0 mal col\u00b7locat."},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise no t\u00e9 com a superior xsl:choose."},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} no est\u00e0 perm\u00e8s dins d''una plantilla."},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0} prefix d''espai de noms d''extensi\u00f3 {1} desconegut"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Les importacions nom\u00e9s es poden produir com els primers elements del full d'estils."},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} s''est\u00e0 important a ell mateix directament o indirecta."},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space t\u00e9 un valor no perm\u00e8s: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet no ha estat correcte."},
-
-    { ER_SAX_EXCEPTION,
-     "Excepci\u00f3 SAX"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "Aquesta funci\u00f3 no t\u00e9 suport."},
-
-
-    { ER_XSLT_ERROR,
-     "Error d'XSLT"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "El signe de moneda no est\u00e0 perm\u00e8s en una cadena de patr\u00f3 de format."},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "La funci\u00f3 document no t\u00e9 suport al DOM de full d'estils."},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "No es pot resoldre el prefix del solucionador sense prefix."},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Extensi\u00f3 de redirecci\u00f3: No s'ha pogut obtenir el nom del fitxer - els atributs file o select han de retornar una cadena v\u00e0lida."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "No es pot crear build FormatterListener en l'extensi\u00f3 de redirecci\u00f3."},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "El prefix d''exclude-result-prefixes no \u00e9s v\u00e0lid: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "Falta l'URI d'espai de noms del prefix especificat."},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Falta un argument de l''opci\u00f3: {0}"},
-
-    { ER_INVALID_OPTION,
-     "Opci\u00f3 no v\u00e0lida: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Cadena de format mal formada: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet necessita un atribut 'version'."},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "L''atribut {0} t\u00e9 un valor no perm\u00e8s {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose necessita un xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports no es permeten en un xsl:for-each"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "No es pot utilitzar una DTMLiaison per a un node DOM de sortida. En lloc d'aix\u00f2, utilitzeu org.apache.xpath.DOM2Helper."},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "No es pot utilitzar una DTMLiaison per a un node DOM d'entrada. En lloc d'aix\u00f2, utilitzeu org.apache.xpath.DOM2Helper."},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "S''ha produ\u00eft un error en la crida de l''element d''extensi\u00f3 {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "El prefix s''ha de resoldre en un espai de noms: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "S''ha detectat un suplent UTF-16 no v\u00e0lid: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} s''ha utilitzat a ell mateix; aix\u00f2 crear\u00e0 un bucle infinit."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "No es pot barrejar entrada no Xerces-DOM amb sortida Xerces-DOM."},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "En ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "S''ha trobat m\u00e9s d''una plantilla anomenada {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "Crida de funci\u00f3 no v\u00e0lida: les crides key() recursives no estan permeses."},
-
-    { ER_REFERENCING_ITSELF,
-      "La variable {0} est\u00e0 fent refer\u00e8ncia a ella mateixa directa o indirectament."},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "El node d'entrada no pot ser nul per a DOMSource de newTemplates."},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "No s''ha trobat el fitxer de classe per a l''opci\u00f3 {0}"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "L''element necessari no s''ha trobat: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream no pot ser nul."},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "L'URI no pot ser nul."},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "El fitxer no pot ser nul."},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource no pot ser nul."},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "No s'ha pogut inicialitzar BSF Manager"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "No s'ha pogut compilar l'extensi\u00f3"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "No s''ha pogut crear l''extensi\u00f3 {0} a causa de {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "La crida del m\u00e8tode d''inst\u00e0ncia {0} necessita una inst\u00e0ncia d''objecte com a primer argument"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "S''ha especificat un nom d''element no v\u00e0lid {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "El m\u00e8tode del nom de l''element ha de ser est\u00e0tic {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "No es coneix la funci\u00f3 d''extensi\u00f3 {0} : {1}."},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "Hi ha m\u00e9s d''una millor coincid\u00e8ncia per al constructor de {0}"},
-
-    { ER_MORE_MATCH_METHOD,
-             "Hi ha m\u00e9s d''una millor coincid\u00e8ncia per al m\u00e8tode {0}"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "Hi ha m\u00e9s d''una millor coincid\u00e8ncia per al m\u00e8tode d''element {0}"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "S''ha donat un context no v\u00e0lid per avaluar {0}"},
-
-    { ER_POOL_EXISTS,
-             "L'agrupaci\u00f3 ja existeix"},
-
-    { ER_NO_DRIVER_NAME,
-             "No s'ha especificat cap nom de controlador"},
-
-    { ER_NO_URL,
-             "No s'ha especificat cap URL"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "La grand\u00e0ria de l'agrupaci\u00f3 \u00e9s inferior a u"},
-
-    { ER_INVALID_DRIVER,
-             "S'ha especificat un nom de controlador no v\u00e0lid"},
-
-    { ER_NO_STYLESHEETROOT,
-             "No s'ha trobat l'arrel del full d'estils"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Valor no perm\u00e8s per a xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "S'ha produ\u00eft un error a processFromNode"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "No s''ha pogut carregar el recurs [ {0} ]: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Grand\u00e0ria del buffer <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "S'ha produ\u00eft un error desconegut en cridar l'extensi\u00f3"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "El prefix {0} no t\u00e9 una declaraci\u00f3 d''espai de noms corresponent"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "El contingut de l''element no est\u00e0 perm\u00e8s per a lang=javaclass {0}"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "El full d'estils ha ordenat l'acabament"},
-
-    { ER_ONE_OR_TWO,
-        "1 o 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 o 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "No s''ha pogut carregar {0} (comproveu la CLASSPATH); ara s''estan fent servir els valors per defecte."},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "No es poden inicialitzar les plantilles per defecte"},
-
-    { ER_RESULT_NULL,
-        "El resultat no ha de ser nul"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "No s'ha pogut establir el resultat"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "No s'ha especificat cap sortida"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "No s''ha pogut transformar en un resultat del tipus {0}"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "No s''ha pogut transformar en un origen del tipus {0}"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Manejador de contingut nul"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Manejador d'error nul"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "L'an\u00e0lisi no es pot cridar si no s'ha establert ContentHandler"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "El filtre no t\u00e9 superior"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "No s''ha trobat cap full d''estils a {0}, suport= {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "No s''ha trobat cap PI d''xml-stylesheet a {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "No t\u00e9 suport: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "El valor de la propietat {0} ha de ser una inst\u00e0ncia booleana"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "No s''ha pogut arribar a l''script extern a {0}"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "No s''ha trobat el recurs [ {0} ].\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "La propietat de sortida no es reconeix: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "S'ha produ\u00eft un error en crear la inst\u00e0ncia ElemLiteralResult"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "El valor de {0} ha de contenir un n\u00famero que es pugui analitzar"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "El valor de {0} ha de ser igual a yes o no"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "No s''ha pogut cridar el m\u00e8tode {0}"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "No s'ha pogut crear la inst\u00e0ncia ElemTemplateElement"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "En aquest punt del document no es permeten els car\u00e0cters"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "L''atribut \"{0}\" no es permet en l''element {1}"},
-
-    { ER_BAD_VALUE,
-     "{0} valor erroni {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "No s''ha trobat el valor de l''atribut {0} "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "No es reconeix el valor de l''atribut {0} "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "S'intenta generar un prefix d'espai de noms amb un URI nul"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "S'intenta formatar un n\u00famero m\u00e9s gran que l'enter llarg m\u00e9s gran"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "No es pot trobar la classe de controlador SAX1 {0}"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "S''ha trobat la classe de controlador SAX1 {0} per\u00f2 no es pot carregar"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "S''ha carregat la classe de controlador SAX1 {0} per\u00f2 no es pot particularitzar"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "La classe de controlador SAX1 {0} no implementa org.xml.sax.Parser"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "No s'ha identificat la propietat del sistema org.xml.sax.parser"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "L'argument d'analitzador ha de ser nul"},
-
-    { ER_FEATURE,
-     "Caracter\u00edstica: {0}"},
-
-    { ER_PROPERTY,
-     "Propietat: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Solucionador d'entitat nul"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Manejador de DTD nul"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "No s'ha especificat cap nom de controlador"},
-
-    { ER_NO_URL_SPECIFIED,
-     "No s'ha especificat cap URL"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "La grand\u00e0ria de l'agrupaci\u00f3 \u00e9s inferior a 1"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "S'ha especificat un nom de controlador no v\u00e0lid"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Error del programador. L'expressi\u00f3 no t\u00e9 cap superior ElemTemplateElement "},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "L''afirmaci\u00f3 del programador a RedundentExprEliminator: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} no es permet en aquesta posici\u00f3 del full d''estil"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "No es permet text sense espais en blanc en aquesta posici\u00f3 del full d'estil"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "S''ha utilitzat un valor no perm\u00e8s {1} per a l''atribut CHAR {0}. Un atribut de tipus CHAR nom\u00e9s ha de contenir un car\u00e0cter."},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "S''ha utilitzat un valor no perm\u00e8s {1} per a l''atribut QNAME {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "S''ha utilitzat un valor no perm\u00e8s {1} per a l''atribut ENUM {0}. Els valors v\u00e0lids s\u00f3n {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "S''ha utilitzat un valor no perm\u00e8s {1} per a l''atribut NMTOKEN {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "S''ha utilitzat un valor no perm\u00e8s {1} per a l''atribut NCNAME {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "S''ha utilitzat un valor no perm\u00e8s {1} per a l''atribut boolean {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "S''ha utilitzat un valor no perm\u00e8s {1} per a l''atribut number {0} "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "L''argument de {0} del patr\u00f3 de coincid\u00e8ncia ha de ser un literal."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "La declaraci\u00f3 de variable global est\u00e0 duplicada."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "La declaraci\u00f3 de variable est\u00e0 duplicada."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template ha de tenir un nom o un atribut de coincid\u00e8ncia (o tots dos)"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "El prefix d''exclude-result-prefixes no \u00e9s v\u00e0lid: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "attribute-set anomenat {0} no existeix"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "La funci\u00f3 anomenada {0} no existeix"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "L''element {0} no ha de tenir ni l''atribut content ni el select. "},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "El valor del par\u00e0metre {0} ha de ser un objecte Java v\u00e0lid "},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "L'atribut result-prefix d'un element xsl:namespace-alias t\u00e9 el valor '#default', per\u00f2 no hi ha cap declaraci\u00f3 de l'espai de noms per defecte en l'\u00e0mbit de l'element "},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "L''atribut result-prefix d''un element xsl:namespace-alias t\u00e9 el valor ''{0}'', per\u00f2 no hi ha cap declaraci\u00f3 d''espai de noms per al prefix ''{0}'' en l''\u00e0mbit de l''element. "},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "El nom de la caracter\u00edstica no pot ser nul a TransformerFactory.setFeature(nom de la cadena, valor boole\u00e0). "},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "El nom de la caracter\u00edstica no pot ser nul a TransformerFactory.getFeature(nom de cadena). "},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "No es pot establir la caracter\u00edstica ''{0}'' en aquesta TransformerFactory."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "L''\u00fas de l''element d''extensi\u00f3 ''{0}'' no est\u00e0 perm\u00e8s, si la caracter\u00edstica de proc\u00e9s segur s''ha establert en true."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "No es pot obtenir el prefix per a un URI de nom d'espais nul. "},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "No es pot obtenir l'URI del nom d'espais per a un prefix nul. "},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "El nom de la funci\u00f3 no pot ser nul. "},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "L'aritat no pot ser negativa."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "S'ha trobat '}' per\u00f2 no hi ha cap plantilla d'atribut oberta"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Av\u00eds: l''atribut de recompte no coincideix amb un antecessor d''xsl:number. Destinaci\u00f3 = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Sintaxi antiga: El nom de l'atribut 'expr' s'ha canviat per 'select'."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan encara no pot gestionar el nom de l'entorn nacional a la funci\u00f3 format-number."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Av\u00eds: no s''ha trobat l''entorn nacional d''xml:lang={0}"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "No es pot crear la URL de: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "No es pot carregar el document sol\u00b7licitat: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "No s''ha trobat el classificador de <sort xml:lang={0}"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Sintaxi antiga: la instrucci\u00f3 de funcions ha d''utilitzar una URL de {0}"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "Codificaci\u00f3 sense suport: {0}, s''utilitza UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "Codificaci\u00f3 sense suport: {0}, s''utilitza Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "S''han trobat conflictes d''especificitat: {0} S''utilitzar\u00e0 el darrer trobat al full d''estils."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= S''est\u00e0 analitzant i preparant {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Plantilla Attr, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "S'ha produ\u00eft un conflicte de coincid\u00e8ncia entre xsl:strip-space i xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan encara no pot gestionar l''atribut {0}"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "No s''ha trobat cap declaraci\u00f3 per al format decimal: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Falta l'espai de noms XSLT o \u00e9s incorrecte. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Nom\u00e9s es permet una declaraci\u00f3 xsl:decimal-format per defecte."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "Els noms d''xsl:decimal-format han de ser exclusius. El nom \"{0}\" est\u00e0 duplicat."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} t\u00e9 un atribut no perm\u00e8s: {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "No s''ha pogut resoldre el prefix d''espai de noms: {0}. Es passar\u00e0 per alt el node."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet necessita un atribut 'version'."},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "El nom d''atribut no \u00e9s perm\u00e8s: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "S''ha utilitzat un valor no perm\u00e8s a l''atribut {0}: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "El conjunt de nodes resultant del segon argument de la funci\u00f3 document est\u00e0 buit. Torna un conjunt de nodes buit."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "El valor de l'atribut 'name' del nom xsl:processing-instruction no ha de ser 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "El valor de l''atribut ''name'' de xsl:processing-instruction ha de ser un NCName v\u00e0lid: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "No es pot afegir l''atribut {0} despr\u00e9s dels nodes subordinats o abans que es produeixi un element. Es passar\u00e0 per alt l''atribut."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "S'ha intentat modificar un objecte on no es permeten modificacions. "
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "ca"},
-  {  "help_language",  "ca" },
-  {  "language",  "ca" },
-  { "BAD_CODE", "El par\u00e0metre de createMessage estava fora dels l\u00edmits."},
-  {  "FORMAT_FAILED", "S'ha generat una excepci\u00f3 durant la crida messageFormat."},
-  {  "version", ">>>>>>> Versi\u00f3 Xalan "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "s\u00ed"},
-  { "line", "L\u00ednia n\u00fam."},
-  { "column","Columna n\u00fam."},
-  { "xsldone", "XSLProcessor: fet"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Opcions de classe del proc\u00e9s de l\u00ednia d'ordres de Xalan-J:"},
-  { "xslProc_option", "Opcions de classe del proc\u00e9s de l\u00ednia d'ordres de Xalan-J\u003a"},
-  { "xslProc_invalid_xsltc_option", "L''opci\u00f3 {0} no t\u00e9 suport en modalitat XSLTC."},
-  { "xslProc_invalid_xalan_option", "L''opci\u00f3 {0} nom\u00e9s es pot fer servir amb -XSLTC."},
-  { "xslProc_no_input", "Error: no s'ha especificat cap full d'estils o xml d'entrada. Per obtenir les instruccions d'\u00fas, executeu aquesta ordre sense opcions."},
-  { "xslProc_common_options", "-Opcions comuns-"},
-  { "xslProc_xalan_options", "-Opcions per a Xalan-"},
-  { "xslProc_xsltc_options", "-Opcions per a XSLTC-"},
-  { "xslProc_return_to_continue", "(premeu <retorn> per continuar)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "   [-XSLTC (Utilitza XSLTC per a la transformaci\u00f3)]"},
-  { "optionIN", "   [-IN URL_XML_entrada]"},
-  { "optionXSL", "   [-XSL URL_transformaci\u00f3_XSL]"},
-  { "optionOUT",  "   [-OUT nom_fitxer_sortida]"},
-  { "optionLXCIN", "   [-LXCIN entrada_nom_fitxer_full_estil_compilat]"},
-  { "optionLXCOUT", "   [-LXCOUT sortida_nom_fitxer_full_estil_compilat]"},
-  { "optionPARSER", "   [-PARSER nom de classe completament qualificat de la relaci\u00f3 de l'analitzador]"},
-  {  "optionE", "   [-E (No amplia les refer\u00e8ncies d'entitat)]"},
-  {  "optionV",  "   [-E (No amplia les refer\u00e8ncies d'entitat)]"},
-  {  "optionQC", "   [-QC (Avisos de conflictes de patr\u00f3 redu\u00eft)]"},
-  {  "optionQ", "   [-Q  (Modalitat redu\u00efda)]"},
-  {  "optionLF", "   [-LF (Utilitza salts de l\u00ednia nom\u00e9s a la sortida {el valor per defecte \u00e9s CR/LF})]"},
-  {  "optionCR", "   [-CR (Utilitza retorns de carro nom\u00e9s a la sortida {el valor per defecte \u00e9s CR/LF})]"},
-  { "optionESCAPE", "   [-ESCAPE (Car\u00e0cters per aplicar un escapament {el valor per defecte \u00e9s <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "   [-INDENT (Controla quants espais tindr\u00e0 el sagnat {el valor per defecte \u00e9s 0})]"},
-  { "optionTT", "   [-TT (Fa un rastreig de les plantilles a mesura que es criden.)]"},
-  { "optionTG", "   [-TG (Fa un rastreig de cada un dels esdeveniments de generaci\u00f3.)]"},
-  { "optionTS", "   [-TS (Fa un rastreig de cada un dels esdeveniments de selecci\u00f3.)]"},
-  {  "optionTTC", "   [-TTC (Fa un rastreig dels subordinats de plantilla a mesura que es processen.)]"},
-  { "optionTCLASS", "   [-TCLASS (Classe TraceListener per a extensions de rastreig.)]"},
-  { "optionVALIDATE", "   [-VALIDATE (Estableix si es produeix la validaci\u00f3. Per defecte no est\u00e0 activada.)]"},
-  { "optionEDUMP", "   [-EDUMP {nom de fitxer opcional} (Fer el buidatge de la pila si es produeix un error.)]"},
-  {  "optionXML", "   [-XML (Utilitza el formatador XML i afegeix la cap\u00e7alera XML.)]"},
-  {  "optionTEXT", "   [-TEXT (Utilitza el formatador de text simple.)]"},
-  {  "optionHTML", "   [-HTML (Utilitza el formatador HTML.)]"},
-  {  "optionPARAM", "   [-PARAM expressi\u00f3 del nom (Estableix un par\u00e0metre de full d'estils)]"},
-  {  "noParsermsg1", "El proc\u00e9s XSL no ha estat correcte."},
-  {  "noParsermsg2", "** No s'ha trobat l'analitzador **"},
-  { "noParsermsg3",  "Comproveu la vostra classpath."},
-  { "noParsermsg4", "Si no teniu XML Parser for Java d'IBM, el podeu baixar de l'indret web"},
-  { "noParsermsg5", "AlphaWorks d'IBM: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER nom de classe complet (URIResolver que s'ha d'utilitzar per resoldre URI)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER nom de classe complet (EntityResolver que s'ha d'utilitzar per resoldre entitats)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER nom de classe complet (ContentHandler que s'ha d'utilitzar per serialitzar la sortida)]"},
-  {  "optionLINENUMBERS",  "   [-L utilitza els n\u00fameros de l\u00ednia del document origen]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (estableix la caracter\u00edstica de proc\u00e9s segur en true.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA mediaType (utilitza l'atribut media per trobar un full d'estils relacionat amb un document.)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR nom_flavor (utilitza expl\u00edcitament s2s=SAX o d2d=DOM per fer una transformaci\u00f3.)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (Imprimex els mil\u00b7lisegons en total que ha trigat la transformaci\u00f3.)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (sol\u00b7licita la construcci\u00f3 de DTM incremental establint http://xml.apache.org/xalan/features/incremental en true.)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (sol\u00b7licita que no es processi l'optimitzaci\u00f3 de full d'estils establint http://xml.apache.org/xalan/features/optimize en false.)]"},
-  { "optionRL",  "   [-RL recursionlimit (confirma el l\u00edmit num\u00e8ric de la profunditat de recursivitat del full d'estils.)]"},
-  {   "optionXO",  "   [-XO [nom_translet] (assigna el nom al translet generat)]"},
-  {  "optionXD", "   [-XD directori_destinaci\u00f3 (especifica un directori de destinaci\u00f3 per al translet)]"},
-  {  "optionXJ",  "   [-XJ fitxer_jar (empaqueta les classes de translet en un fitxer jar amb el nom <fitxer_jar>)]"},
-  {   "optionXP",  "   [-XP paquet (especifica un prefix de nom de paquet per a totes les classes de translet generades)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "   [-XN (habilita l'inlining de plantilles)]" },
-  { "optionXX",  "   [-XX (activa la sortida de missatges de depuraci\u00f3 addicionals)]"},
-  { "optionXT" , "   [-XT (utilitza el translet per a la transformaci\u00f3 si \u00e9s possible)]"},
-  { "diagTiming"," --------- La transformaci\u00f3 de {0} mitjan\u00e7ant {1} ha trigat {2} ms" },
-  { "recursionTooDeep","La imbricaci\u00f3 de plantilles t\u00e9 massa nivells. Imbricaci\u00f3 = {0}, plantilla{1} {2}" },
-  { "nameIs", "el nom \u00e9s" },
-  { "matchPatternIs", "el patr\u00f3 de coincid\u00e8ncia \u00e9s" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Error: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Av\u00eds: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("ca", "ES"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_cs.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_cs.java
deleted file mode 100644
index 2a17a2e..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_cs.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_cs.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_cs extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Chyba: Ve v\u00fdrazu nelze pou\u017e\u00edt znak '{'"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} m\u00e1 neplatn\u00fd atribut: {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "Funkce sourceNode m\u00e1 v prvku xsl:apply-imports hodnotu null!"},
-
-  {ER_CANNOT_ADD,
-      "Nelze p\u0159idat {0} do {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "Funkce sourceNode m\u00e1 v instrukci handleApplyTemplatesInstruction hodnotu null!"},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} mus\u00ed m\u00edt jmenn\u00fd atribut"},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "Nelze nal\u00e9zt \u0161ablonu s n\u00e1zvem: {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "Nelze nal\u00e9zt n\u00e1zev AVT v \u0161ablon\u011b xsl:call-template."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} mus\u00ed m\u00edt atribut: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} mus\u00ed m\u00edt atribut ''test''. "},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "Nespr\u00e1vn\u00e1 hodnota atributu \u00farovn\u011b: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "n\u00e1zev instrukce processing-instruction nem\u016f\u017ee b\u00fdt 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "n\u00e1zev instrukce processing-instruction mus\u00ed b\u00fdt platn\u00fd n\u00e1zev NCName: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "M\u00e1-li {0} re\u017eim, mus\u00ed m\u00edt vyhovuj\u00edc\u00ed atribut."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} vy\u017eaduje bu\u010f n\u00e1zev, nebo vyhovuj\u00edc\u00ed atribut."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "Nelze p\u0159elo\u017eit p\u0159edponu oboru n\u00e1zv\u016f: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "Nepovolen\u00e1 hodnota prvku xml:space: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "Uzel potomka nem\u00e1 dokument vlastn\u00edka!"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "Chyba funkce ElemTemplateElement: {0}"},
-
-    { ER_NULL_CHILD,
-     "Pokus o p\u0159id\u00e1n\u00ed potomka s hodnotou null!"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} vy\u017eaduje atribut select."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "Prvek xsl:when mus\u00ed obsahovat atribut 'test'."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "Prvek xsl:with-param mus\u00ed obsahovat atribut 'name'."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "Parametr context nem\u00e1 dokument vlastn\u00edka!"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "Nelze vytvo\u0159it prvek XML TransformerFactory Liaison: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: Proces nebyl \u00fasp\u011b\u0161n\u00fd."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: nebylo \u00fasp\u011b\u0161n\u00e9."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "K\u00f3dov\u00e1n\u00ed nen\u00ed podporov\u00e1no: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "Nelze vytvo\u0159it TraceListener: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "Prvek xsl:key vy\u017eaduje atribut 'name'!"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "Prvek xsl:key vy\u017eaduje atribut 'match'!"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "Prvek xsl:key vy\u017eaduje atribut 'use'!"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} vy\u017eaduje atribut ''elements''!"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) chyb\u00ed atribut ''prefix'' objektu {0}"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "Nespr\u00e1vn\u00e1 adresa URL p\u0159edlohy se styly: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "Soubor p\u0159edlohy se styly nebyl nalezen: {0}"},
-
-    { ER_IOEXCEPTION,
-      "Soubor p\u0159edlohy se styly m\u00e1 v\u00fdjimku vstupu/v\u00fdstupu: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) Pro {0} nelze naj\u00edt atribut href"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0}: p\u0159\u00edmo nebo nep\u0159\u00edmo zahrnuje sebe sama!"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "Chyba: StylesheetHandler.processInclude {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) chyb\u00ed atribut ''lang'' objektu {0}"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) Nespr\u00e1vn\u011b um\u00edst\u011bn\u00fd prvek {0}?? Chyb\u00ed prvek po\u0159ada\u010de ''component''"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "U atribut\u016f Element, DocumentFragment, Document a PrintWriter lze volat pouze v\u00fdstup."},
-
-    { ER_PROCESS_ERROR,
-     "Chyba: StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "Chyba: UnImplNode: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Chyba! Nebyl nalezen v\u00fdraz v\u00fdb\u011bru xpath (-select)."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "Nelze serializovat XSLProcessor!"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "Nebyl zad\u00e1n vstup p\u0159edlohy se styly!"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "Nepoda\u0159ilo se zpracovat p\u0159edlohu se styly!"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "Nelze analyzovat dokument {0}!"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "Nelze nal\u00e9zt fragment: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "Uzel, na kter\u00fd odkazuje identifik\u00e1tor fragmentu, nen\u00ed prvek: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "atribut for-each mus\u00ed m\u00edt bu\u010f shodu, nebo n\u00e1zev atributu"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "atribut templates mus\u00ed m\u00edt bu\u010f shodu, nebo n\u00e1zev atributu"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "\u017d\u00e1dn\u00fd klon fragmentu dokumentu!"},
-
-    { ER_CANT_CREATE_ITEM,
-      "Ve stromu v\u00fdsledk\u016f nelze vytvo\u0159it polo\u017eku: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "Parametr xml:space ve zdrojov\u00e9m XML m\u00e1 neplatnou hodnotu: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "{0} nem\u00e1 deklarov\u00e1n \u017e\u00e1dn\u00fd parametr xsl:key!"},
-
-    { ER_CANT_CREATE_URL,
-     "Chyba! Nelze vytvo\u0159it url pro: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "Nepodporovan\u00e1 funkce xsl:functions"},
-
-    { ER_PROCESSOR_ERROR,
-     "Chyba: XSLT TransformerFactory"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} - nen\u00ed v r\u00e1mci p\u0159edlohy se styly povoleno!"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "Parametr result-ns ji\u017e nen\u00ed podporov\u00e1n!  M\u00edsto toho pou\u017eijte parametr xsl:output."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "Parametr default-space ji\u017e nen\u00ed podporov\u00e1n!  M\u00edsto toho pou\u017eijte parametr xsl:strip-space nebo xsl:preserve-space."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "Parametr indent-result ji\u017e nen\u00ed podporov\u00e1n!  M\u00edsto toho pou\u017eijte parametr xsl:output."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} m\u00e1 neplatn\u00fd atribut: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Nezn\u00e1m\u00fd prvek XSL: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) Parametr xsl:sort lze pou\u017e\u00edt pouze s parametrem xsl:apply-templates nebo xsl:for-each."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) Nespr\u00e1vn\u011b um\u00edst\u011bn\u00fd prvek xsl:when!"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) Prvkek xsl:when nem\u00e1 v parametru xsl:choose \u017e\u00e1dn\u00e9ho rodi\u010de!"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) Nespr\u00e1vn\u011b um\u00edst\u011bn\u00fd prvek xsl:otherwise!"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) Prvek xsl:otherwise nem\u00e1 v parametru xsl:choose \u017e\u00e1dn\u00e9ho rodi\u010de!"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} - nen\u00ed v r\u00e1mci \u0161ablony povoleno!"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0}: nezn\u00e1m\u00e1 p\u0159edpona {1} p\u0159\u00edpony oboru n\u00e1zv\u016f"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Importy mus\u00ed b\u00fdt v r\u00e1mci \u0161ablony se styly na prvn\u00edch m\u00edstech!"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0}: p\u0159\u00edmo nebo nep\u0159\u00edmo importuje samo sebe!"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) Parametr xml:space m\u00e1 neplatnou hodnotu: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "Ne\u00fasp\u011b\u0161n\u00fd proces processStylesheet!"},
-
-    { ER_SAX_EXCEPTION,
-     "V\u00fdjimka SAX"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "Nepodporovan\u00e1 funkce!"},
-
-
-    { ER_XSLT_ERROR,
-     "Chyba XSLT"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "znak m\u011bny nen\u00ed v \u0159et\u011bzci vzorku form\u00e1tu povolen"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "Funkce Document nen\u00ed v p\u0159edloze se styly DOM podporov\u00e1na!"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "Nelze p\u0159elo\u017eit p\u0159edponu p\u0159eklada\u010de non-Prefix!"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "P\u0159esm\u011brov\u00e1n\u00ed p\u0159\u00edpony: Nelze z\u00edskat n\u00e1zev souboru - atribut file nebo select mus\u00ed vr\u00e1tit platn\u00fd \u0159et\u011bzec."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "V p\u0159\u00edpon\u011b Redirect nelze vytvo\u0159it FormatterListener!"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "Neplatn\u00e1 p\u0159edpona ve funkci exclude-result-prefixes: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "U zadan\u00e9 p\u0159edpony chyb\u00ed obor n\u00e1zv\u016f URI"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Chyb\u011bj\u00edc\u00ed argument volby: {0}"},
-
-    { ER_INVALID_OPTION,
-     "Neplatn\u00e1 volba: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Vadn\u00fd form\u00e1tovac\u00ed \u0159et\u011bzec: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "Prvek xsl:stylesheet vy\u017eaduje atribut 'version'!"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "Parametr Attribute: {0} m\u00e1 neplatnou hodnotu: {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "Prvek xsl:choose vy\u017eaduje parametr xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "Parametr xsl:for-each nen\u00ed v xsl:apply-imports povolen"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "Nelze pou\u017e\u00edt DTMLiaison u v\u00fdstupu uzlu DOM node... M\u00edsto toho pou\u017eijte org.apache.xpath.DOM2Helper!"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "Nelze pou\u017e\u00edt DTMLiaison u vstupu uzlu DOM node... M\u00edsto toho pou\u017eijte org.apache.xpath.DOM2Helper!"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "Ne\u00fasp\u011b\u0161n\u00e9 vol\u00e1n\u00ed prvku p\u0159\u00edpony: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "P\u0159edponu mus\u00ed b\u00fdt mo\u017eno p\u0159elo\u017eit do oboru n\u00e1zv\u016f: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "Byla zji\u0161t\u011bna neplatn\u00e1 n\u00e1hrada UTF-16: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "Prvek xsl:attribute-set {0} pou\u017e\u00edv\u00e1 s\u00e1m sebe, co\u017e zp\u016fsob\u00ed nekone\u010dnou smy\u010dku."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "Vstup Xerces-DOM nelze sm\u011b\u0161ovat s v\u00fdstupem Xerces-DOM!"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "V ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Nalezena v\u00edce ne\u017e jedna \u0161ablona s n\u00e1zvem: {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "Neplatn\u00e9 vol\u00e1n\u00ed funkce: rekurzivn\u00ed vol\u00e1n\u00ed funkce key() nen\u00ed povoleno"},
-
-    { ER_REFERENCING_ITSELF,
-      "Prom\u011bnn\u00e1 {0} odkazuje p\u0159\u00edmo \u010di nep\u0159\u00edmo sama na sebe!"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "Vstupn\u00ed uzel DOMSource pro newTemplates nesm\u00ed m\u00edt hodnotu null!"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "Nebyl nalezen soubor t\u0159\u00eddy pro volbu {0}"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "Nebyl nalezen po\u017eadovan\u00fd prvek: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "Parametr InputStream nesm\u00ed m\u00edt hodnotu null"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "Parametr URI nesm\u00ed m\u00edt hodnotu null"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "Parametr File nesm\u00ed m\u00edt hodnotu null"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "Parametr InputSource nesm\u00ed m\u00edt hodnotu null"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "Nelze inicializovat BSF Manager"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "P\u0159\u00edponu nelze kompilovat"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "Nelze vytvo\u0159it p\u0159\u00edponu: {0}, proto\u017ee: {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "Vol\u00e1n\u00ed metody {0} metodou Instance vy\u017eaduje jako prvn\u00ed argument instanci Object"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "Byl zad\u00e1n neplatn\u00fd n\u00e1zev prvku {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "N\u00e1zev metody prvku mus\u00ed b\u00fdt static {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "Funkce v\u00fdjimky {0} : {1} je nezn\u00e1m\u00e1"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "Konstruktor {0} m\u00e1 v\u00edce nejlep\u0161\u00edch shod."},
-
-    { ER_MORE_MATCH_METHOD,
-             "Metoda {0} m\u00e1 v\u00edce nejlep\u0161\u00edch shod."},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "Metoda prvku {0} m\u00e1 v\u00edce nejlep\u0161\u00edch shod."},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "Do vyhodnocen\u00ed byl p\u0159ed\u00e1n neplatn\u00fd kontext {0}."},
-
-    { ER_POOL_EXISTS,
-             "Spole\u010dn\u00e1 oblast ji\u017e existuje."},
-
-    { ER_NO_DRIVER_NAME,
-             "Nebylo zad\u00e1no \u017e\u00e1dn\u00e9 jm\u00e9no ovlada\u010de."},
-
-    { ER_NO_URL,
-             "Nebyla specifikov\u00e1na \u017e\u00e1dn\u00e1 adresa URL."},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "Velikost spole\u010dn\u00e9 oblasti je men\u0161\u00ed ne\u017e jedna!"},
-
-    { ER_INVALID_DRIVER,
-             "Byl zad\u00e1n neplatn\u00fd n\u00e1zev ovlada\u010de!"},
-
-    { ER_NO_STYLESHEETROOT,
-             "Nebyl nalezen ko\u0159en p\u0159edlohy se styly!"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Neplatn\u00e1 hodnota parametru xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "Selh\u00e1n\u00ed procesu processFromNode"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "Nelze zav\u00e9st zdroj [ {0} ]: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Velikost vyrovn\u00e1vac\u00ed pam\u011bti <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "P\u0159i vol\u00e1n\u00ed p\u0159\u00edpony do\u0161lo k nezn\u00e1m\u00e9 chyb\u011b"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "P\u0159edpona {0} nem\u00e1 deklarov\u00e1n odpov\u00eddaj\u00edc\u00ed obor n\u00e1zv\u016f"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "Obsah prvku nen\u00ed povolen pro lang=javaclass {0}"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "Ukon\u010den\u00ed sm\u011brovan\u00e9 na p\u0159edlohu se styly."},
-
-    { ER_ONE_OR_TWO,
-        "1 nebo 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 nebo 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "Nelze zav\u00e9st {0} (zkontrolujte prom\u011bnnou CLASSPATH) - proto se pou\u017e\u00edvaj\u00ed pouze v\u00fdchoz\u00ed hodnoty"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Nelze aktualizovat v\u00fdchoz\u00ed \u0161ablony."},
-
-    { ER_RESULT_NULL,
-        "V\u00fdsledek by nem\u011bl m\u00edt hodnotu null"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "Nelze nastavit v\u00fdsledek"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "Nebyl ur\u010den \u017e\u00e1dn\u00fd v\u00fdstup"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "Nelze prov\u00e9st p\u0159evod na v\u00fdsledek typu {0}"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "Nelze prov\u00e9st p\u0159evod zdroje typu {0}"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Obslu\u017en\u00fd program obsahu hodnoty null"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Obslu\u017en\u00fd program pro zpracov\u00e1n\u00ed chyb hodnoty null"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "Nen\u00ed-li nastaven obslu\u017en\u00fd program ContentHandler, nelze volat analyz\u00e1tor."},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "Filtr nem\u00e1 rodi\u010de."},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "Nebyla nalezena p\u0159edloha se styly v: {0}, m\u00e9dium= {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "Nebyla nalezena p\u0159edloha se styly xml-stylesheet PI v: {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "Nepodporov\u00e1no: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "Hodnota vlastnosti {0} by m\u011bla b\u00fdt booleovsk\u00e1 instance"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "Z {0} nelze z\u00edskat extern\u00ed skript."},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "Nelze naj\u00edt zdroj [ {0} ].\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "Nezn\u00e1m\u00e1 vlastnost v\u00fdstupu: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "Nepoda\u0159ilo se vytvo\u0159it instanci ElemLiteralResult"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "Hodnota pro {0} by m\u011bla obsahovat analyzovateln\u00e9 \u010d\u00edslo"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "Hodnota {0} mus\u00ed b\u00fdt yes nebo no."},
-
-    { ER_FAILED_CALLING_METHOD,
-        "Vol\u00e1n\u00ed metody {0} selhalo."},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "Nepoda\u0159ilo se vytvo\u0159it instanci ElemTemplateElement."},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "V t\u00e9to \u010d\u00e1sti dokumentu nejsou znaky povoleny."},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "Atribut \"{0}\" nen\u00ed u prvku {1} povolen!"},
-
-    { ER_BAD_VALUE,
-     "{0}: nespr\u00e1vn\u00e1 hodnota {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "Atribut hodnoty ({0}) nebyl nalezen "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "Atribut hodnoty ({0}) nebyl rozpozn\u00e1n "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "Pokus o generov\u00e1n\u00ed oboru n\u00e1zv\u016f s URI s hodnotou null."},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "Pokus o form\u00e1tov\u00e1n\u00ed v\u011bt\u0161\u00edho \u010d\u00edsla, ne\u017e je nejv\u011bt\u0161\u00ed dlouh\u00e9 cel\u00e9 \u010d\u00edslo."},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "Nelze naj\u00edt t\u0159\u00eddu ovlada\u010de SAX1 {0}"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "T\u0159\u00edda ovlada\u010de SAX1 {0} byla nalezena, ale nebylo mo\u017eno ji zav\u00e9st."},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "T\u0159\u00edda ovlada\u010de SAX1 {0} byla nalezena, ale nebylo mo\u017eno s n\u00ed zalo\u017eit instanci."},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "T\u0159\u00edda ovlada\u010de SAX1 {0} neimplementuje org.xml.sax.Parser."},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "Nebyla ur\u010dena vlastnost syst\u00e9mu org.xml.sax.parser."},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "Argument analyz\u00e1toru nesm\u00ed m\u00edt hodnotu null."},
-
-    { ER_FEATURE,
-     "Funkce: {0}"},
-
-    { ER_PROPERTY,
-     "Vlastnost: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "\u0158e\u0161itel s hodnotou entity null"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Obslu\u017en\u00fd program DTD s hodnotou null"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "Nebyl zad\u00e1n n\u00e1zev ovlada\u010de!"},
-
-    { ER_NO_URL_SPECIFIED,
-     "Nebyla specifikov\u00e1na adresa URL!"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "Velikost spole\u010dn\u00e9 oblasti je men\u0161\u00ed ne\u017e 1!"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "Zad\u00e1n neplatn\u00fd n\u00e1zev ovlada\u010de!"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Chyba program\u00e1tora! Ve v\u00fdrazu chyb\u00ed nad\u0159azen\u00fd \u010dlen ElemTemplateElement."},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Tvrzen\u00ed program\u00e1tora v RedundentExprEliminator: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} - nen\u00ed povoleno v tomto stylu na dan\u00e9m m\u00edst\u011b!"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "Nepr\u00e1zdn\u00fd text nen\u00ed povolen v tomto stylu na dan\u00e9m m\u00edst\u011b!"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "Neplatn\u00e1 hodnota: {1} pou\u017eito pro atribut CHAR: {0}. Atribut typu CHAR sm\u00ed m\u00edt pouze jeden znak."},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "Neplatn\u00e1 hodnota: {1} pou\u017eito pro atribut QNAME: {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "Neplatn\u00e1 hodnota: {1} pou\u017eito pro atribut ENUM {0}. Platn\u00e9 hodnoty jsou: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "Neplatn\u00e1 hodnota: {1} pou\u017eito pro atribut NMTOKEN: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "Neplatn\u00e1 hodnota: {1} pou\u017eito pro atribut NCNAME: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Neplatn\u00e1 hodnota: {1} pou\u017eito pro booleovsk\u00fd atribut: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Neplatn\u00e1 hodnota: {1} pou\u017eito pro atribut \u010d\u00edsla: {0} "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "Argument pro {0} ve vyhovuj\u00edc\u00edm vzorku mus\u00ed b\u00fdt typu literal."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "Duplicitn\u00ed deklarace glob\u00e1ln\u00ed prom\u011bnn\u00e9."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "Duplicitn\u00ed deklarace prom\u011bnn\u00e9."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "Prvek xsl:template mus\u00ed m\u00edt n\u00e1zev nebo odpov\u00eddaj\u00edc\u00ed atribut (nebo oboj\u00ed)"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "Neplatn\u00e1 p\u0159edpona ve funkci exclude-result-prefixes: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "sada atribut\u016f pojmenovan\u00e1 {0} neexistuje"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "Funkce se jm\u00e9nem {0} neexistuje."},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "Prvek {0} nesm\u00ed obsahovat sou\u010dasn\u011b obsah i atribut volby."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "Hodnota parametru {0} mus\u00ed b\u00fdt platn\u00fdm objektem technologie Java."},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "Atribut result-prefix prvku xsl:namespace-alias m\u00e1 hodnotu '#default', neexistuje v\u0161ak \u017e\u00e1dn\u00e1 deklarace v\u00fdchoz\u00edho oboru n\u00e1zv\u016f v rozsahu dan\u00e9ho prvku"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "Atribut result-prefix prvku xsl:namespace-alias m\u00e1 hodnotu ''{0}'', neexistuje v\u0161ak \u017e\u00e1dn\u00e1 deklarace oboru n\u00e1zv\u016f pro p\u0159edponu ''{0}'' v rozsahu dan\u00e9ho prvku. "},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "N\u00e1zev funkce pou\u017eit\u00fd ve vol\u00e1n\u00ed TransformerFactory.setFeature(\u0159et\u011bzec n\u00e1zvu, booleovsk\u00e1 hodnota) nesm\u00ed m\u00edt hodnotu Null. "},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "N\u00e1zev funkce pou\u017eit\u00fd ve vol\u00e1n\u00ed TransformerFactory.getFeature(\u0159et\u011bzec n\u00e1zvu) nesm\u00ed m\u00edt hodnotu Null. "},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "Nelze nastavit funkci ''{0}'' pro tuto t\u0159\u00eddu TransformerFactory. "},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "Je-li funkce zabezpe\u010den\u00e9ho zpracov\u00e1n\u00ed nastavena na hodnotu true, nen\u00ed povoleno pou\u017eit\u00ed roz\u0161i\u0159uj\u00edc\u00edho prvku ''{0}''. "},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "Nelze na\u010d\u00edst p\u0159edponu pro identifik\u00e1tor URI, jeho\u017e obor n\u00e1zv\u016f m\u00e1 hodnotu Null. "},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "Nelze na\u010d\u00edst identifik\u00e1tor URI oboru n\u00e1zv\u016f pro p\u0159edponu s hodnotou Null. "},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "N\u00e1zev funkce nesm\u00ed m\u00edt hodnotu Null. "},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "Arita nesm\u00ed m\u00edt z\u00e1pornou hodnotu. "},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "Byl nalezen znak '}', ale nen\u00ed otev\u0159ena \u017e\u00e1dn\u00e1 \u0161ablona atributu!"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Varov\u00e1n\u00ed: \u010d\u00edta\u010d atributu se neshoduje s p\u0159edch\u016fdcem v xsl:number! C\u00edl = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Star\u00e1 syntaxe: N\u00e1zev atributu 'expr' byl zm\u011bn\u011bn na 'select'."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan je\u0161t\u011b neobsluhuje n\u00e1zev n\u00e1rodn\u00edho prost\u0159ed\u00ed ve funkci format-number."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Varov\u00e1n\u00ed: Nebylo nalezeno n\u00e1rodn\u00ed prost\u0159ed\u00ed pro parametr xml:lang={0}"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "Nelze vytvo\u0159it adresu URL z: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "Po\u017eadovan\u00fd dokument nelze na\u010d\u00edst: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "Nelze naj\u00edt funkci Collator pro <sort xml:lang={0}"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Star\u00e1 syntaxe: instrukce funkc\u00ed by m\u011bla pou\u017e\u00edvat adresu url {0}"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "nepodporovan\u00e9 k\u00f3dov\u00e1n\u00ed: {0}, pou\u017eito k\u00f3dov\u00e1n\u00ed UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "nepodporovan\u00e9 k\u00f3dov\u00e1n\u00ed: {0}, pou\u017eita Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Byl nalezen konflikt specifi\u010dnosti: {0} Bude pou\u017eit naposledy nalezen\u00fd v\u00fdskyt z p\u0159edlohy se styly."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= Anal\u00fdza a p\u0159\u00edprava {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "\u0160ablona atribut\u016f, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "Konflikt souladu funkc\u00ed xsl:strip-space a xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan prozat\u00edm neobsluhuje atribut {0}!"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "U desetinn\u00e9ho form\u00e1tu nebyla nalezena \u017e\u00e1dn\u00e1 deklarace: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Chyb\u011bj\u00edc\u00ed nebo nespr\u00e1vn\u00fd obor n\u00e1zv\u016f XSLT. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Povolena je pouze v\u00fdchoz\u00ed deklarace prvku xsl:decimal-format."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "N\u00e1zvy prvk\u016f xsl:decimal-format mus\u00ed b\u00fdt jedine\u010dn\u00e9. Byla vytvo\u0159ena kopie n\u00e1zvu \"{0}\"."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} m\u00e1 neplatn\u00fd atribut: {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "Nelze p\u0159elo\u017eit p\u0159edponu oboru n\u00e1zv\u016f: {0}. Uzel bude ignorov\u00e1n."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "Prvek xsl:stylesheet vy\u017eaduje atribut 'version'!"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Neplatn\u00fd n\u00e1zev atributu: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "V atributu {0} byla pou\u017eita neplatn\u00e1 hodnota: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "V\u00fdsledn\u00e9 nastaven\u00ed uzlu z druh\u00e9ho argumentu dokumentu je pr\u00e1zdn\u00e9. Vr\u00e1t\u00ed se pr\u00e1zdn\u00e1 sada uzl\u016f."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Hodnota atributu 'name' n\u00e1zvu prvku xsl:processing-instruction nesm\u00ed b\u00fdt 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Hodnota atributu ''name'' instrukce xsl:processing-instruction mus\u00ed b\u00fdt platn\u00fdm n\u00e1zvem NCName: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Nelze p\u0159idat atribut {0} po uzlech potomk\u016f ani p\u0159ed t\u00edm, ne\u017e je vytvo\u0159en prvek. Atribut bude ignorov\u00e1n."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "Pokus o \u00fapravu objektu, u kter\u00e9ho nejsou \u00fapravy povoleny."
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "cs"},
-  {  "help_language",  "cs" },
-  {  "language",  "cs" },
-  { "BAD_CODE", "Parametr funkce createMessage je mimo limit"},
-  {  "FORMAT_FAILED", "P\u0159i vol\u00e1n\u00ed funkce messageFormat do\u0161lo k v\u00fdjimce"},
-  {  "version", ">>>>>>> Verze Xalan "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "ano"},
-  { "line", "\u0158\u00e1dek #"},
-  { "column","Sloupec #"},
-  { "xsldone", "XSLProcessor: hotovo"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "P\u0159\u00edkazov\u00fd \u0159\u00e1dek Xalan-J: Zpracov\u00e1n\u00ed voleb t\u0159\u00eddy:"},
-  { "xslProc_option", "P\u0159\u00edkazov\u00fd \u0159\u00e1dek Xalan-J: Zpracov\u00e1n\u00ed voleb t\u0159\u00eddy\u003a"},
-  { "xslProc_invalid_xsltc_option", "Volba {0} nen\u00ed v re\u017eimu XSLTC podporovan\u00e1."},
-  { "xslProc_invalid_xalan_option", "Volba {0} m\u016f\u017ee b\u00fdt pou\u017eita pouze s -XSLTC."},
-  { "xslProc_no_input", "Chyba: \u017d\u00e1dn\u00e1 p\u0159edloha stylu ani vstup xml nejsou ur\u010deny. K zobrazen\u00ed pokyn\u016f spus\u0165te tento p\u0159\u00edkaz bez jak\u00e9koliv volby."},
-  { "xslProc_common_options", "-Obecn\u00e9 volby-"},
-  { "xslProc_xalan_options", "-Volby pro Xalan-"},
-  { "xslProc_xsltc_options", "-Volby pro XSLTC-"},
-  { "xslProc_return_to_continue", "(pokra\u010dujte stisknut\u00edm kl\u00e1vesy <Enter>)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "   [-XSLTC (pou\u017eije XSLTC pro transformaci)]"},
-  { "optionIN", "   [-IN inputXMLURL]"},
-  { "optionXSL", "   [-XSL XSLTransformationURL]"},
-  { "optionOUT",  "   [-OUT outputFileName]"},
-  { "optionLXCIN", "   [-LXCIN compiledStylesheetFileNameIn]"},
-  { "optionLXCOUT", "   [-LXCOUT compiledStylesheetFileNameOutOut]"},
-  { "optionPARSER", "   [-PARSER pln\u011b kvalifikovan\u00fd n\u00e1zev t\u0159\u00eddy spojen\u00ed analyz\u00e1toru]"},
-  {  "optionE", "   [-E (neroz\u0161i\u0159ovat odkazy entity)]"},
-  {  "optionV",  "   [-E (neroz\u0161i\u0159ovat odkazy entity)]"},
-  {  "optionQC", "   [-QC (varov\u00e1n\u00ed p\u0159ed konflikty vzorkov\u00e1n\u00ed v tich\u00e9m re\u017eimu)]"},
-  {  "optionQ", "   [-Q  (tich\u00fd re\u017eim)]"},
-  {  "optionLF", "   [-LF (ve v\u00fdstupu pou\u017e\u00edt pouze \u0159\u00e1dkov\u00e1n\u00ed - LF {v\u00fdchoz\u00ed nastaven\u00ed je CR/LF})]"},
-  {  "optionCR", "   [-CR (ve v\u00fdstupu pou\u017e\u00edt pouze znak nov\u00fd \u0159\u00e1dek - CR {v\u00fdchoz\u00ed nastaven\u00ed je CR/LF})]"},
-  { "optionESCAPE", "   [-ESCAPE (nastaven\u00ed znak\u016f escape sekvence {v\u00fdchoz\u00ed nastaven\u00ed je <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "   [-INDENT (ovliv\u0148uje po\u010det znak\u016f odsazen\u00ed {v\u00fdchoz\u00ed nastaven\u00ed je 0})]"},
-  { "optionTT", "   [-TT (trasuje \u0161ablony p\u0159i vol\u00e1n\u00ed)]"},
-  { "optionTG", "   [-TG (trasuje v\u0161echny ud\u00e1losti generov\u00e1n\u00ed)]"},
-  { "optionTS", "   [-TS (trasuje v\u0161echny ud\u00e1losti v\u00fdb\u011bru)]"},
-  {  "optionTTC", "   [-TTC (trasuje potomky \u0161ablony v pr\u016fb\u011bhu jejich zpracov\u00e1n\u00ed)]"},
-  { "optionTCLASS", "   [-TCLASS (t\u0159\u00edda TraceListener p\u0159\u00edpon trasov\u00e1n\u00ed)]"},
-  { "optionVALIDATE", "   [-VALIDATE (zap\u00edn\u00e1/vyp\u00edn\u00e1 validaci;  v\u00fdchoz\u00ed nastaven\u00ed je vypnuto)]"},
-  { "optionEDUMP", "   [-EDUMP {voliteln\u00fd n\u00e1zev souboru} (p\u0159i chyb\u011b vyp\u00ed\u0161e obsah z\u00e1sobn\u00edku)]"},
-  {  "optionXML", "   [-XML (pou\u017eije program pro form\u00e1tov\u00e1n\u00ed XML a p\u0159id\u00e1 z\u00e1hlav\u00ed XML)]"},
-  {  "optionTEXT", "   [-TEXT (pou\u017eije jednoduch\u00fd program pro form\u00e1tov\u00e1n\u00ed textu)]"},
-  {  "optionHTML", "   [-HTML (pou\u017eije program pro form\u00e1tov\u00e1n\u00ed HTML)]"},
-  {  "optionPARAM", "   [-PARAM n\u00e1zev v\u00fdrazu (nastav\u00ed parametr p\u0159edlohy se styly)]"},
-  {  "noParsermsg1", "Proces XSL nebyl \u00fasp\u011b\u0161n\u00fd."},
-  {  "noParsermsg2", "** Nelze naj\u00edt analyz\u00e1tor **"},
-  { "noParsermsg3",  "Zkontrolujte cestu classpath."},
-  { "noParsermsg4", "Nem\u00e1te-li analyz\u00e1tor XML jazyka Java spole\u010dnosti IBM, m\u016f\u017eete si jej st\u00e1hnout z adresy:"},
-  { "noParsermsg5", "AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER cel\u00e9 jm\u00e9no t\u0159\u00eddy (pro p\u0159eklad URI pou\u017eije funkci URIResolver)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER cel\u00e9 jm\u00e9no t\u0159\u00eddy (pro p\u0159eklad entit pou\u017eije funkci EntityResolver)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER cel\u00e9 jm\u00e9no t\u0159\u00eddy (pro serializaci v\u00fdstupu pou\u017eije funkci ContentHandler)]"},
-  {  "optionLINENUMBERS",  "   [-L ve zdrojov\u00e9m dokumentu pou\u017eije \u010d\u00edsla \u0159\u00e1dk\u016f]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (nastav\u00ed funkci zabezpe\u010den\u00e9ho zpracov\u00e1n\u00ed na hodnotu True.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA mediaType (k vyhled\u00e1n\u00ed p\u0159edlohy se styly p\u0159i\u0159azen\u00e9 dokumentu pou\u017eije atribut m\u00e9dia)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR flavorName (p\u0159i transformaci se explicitn\u011b pou\u017eije s2s=SAX nebo d2d=DOM)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (vytiskne \u010das transformace v milisekund\u00e1ch)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (vy\u017eaduje inkrement\u00e1ln\u00ed konstrukci DTM nastaven\u00edm hodnoty http://xml.apache.org/xalan/features/incremental na true)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (vy\u017eaduje optimalizaci p\u0159edlohy se styly nastaven\u00edm hodnoty http://xml.apache.org/xalan/features/optimize na false)]"},
-  { "optionRL",  "   [-RL recursionlimit (potvrd\u00ed \u010d\u00edseln\u00fd limit hloubky p\u0159edlohy se styly)]"},
-  {   "optionXO",  "   [-XO [transletName] (p\u0159i\u0159ad\u00ed n\u00e1zev k generovan\u00e9mu transletu)]"},
-  {  "optionXD", "   [-XD destinationDirectory (ur\u010duje c\u00edlov\u00fd adres\u00e1\u0159 pro translet)]"},
-  {  "optionXJ",  "   [-XJ jarfile (zabal\u00ed t\u0159\u00eddy transletu do souboru jar s n\u00e1zvem <jarfile>)]"},
-  {   "optionXP",  "   [-XP package (ur\u010d\u00ed p\u0159edponu n\u00e1zvu sady pro v\u0161echny generovan\u00e9 t\u0159\u00eddy transletu)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "   [-XN (povol\u00ed zarovn\u00e1n\u00ed \u0161ablon)]" },
-  { "optionXX",  "   [-XX (zapne dal\u0161\u00ed v\u00fdstup zpr\u00e1v lad\u011bn\u00ed)]"},
-  { "optionXT" , "   [-XT (Pou\u017eije translet k transformaci, je-li to mo\u017en\u00e9)]"},
-  { "diagTiming"," --------- Transformace {0} pomoc\u00ed {1} trvala {2} ms." },
-  { "recursionTooDeep","Vno\u0159en\u00ed \u0161ablon je p\u0159\u00edli\u0161 hlubok\u00e9. Vno\u0159en\u00ed = {0}, \u0161ablona {1} {2}" },
-  { "nameIs", "n\u00e1zev je" },
-  { "matchPatternIs", "vzorek shody je" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#chyba";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Chyba: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Varov\u00e1n\u00ed: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("cs", "CZ"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_de.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_de.java
deleted file mode 100644
index 85d6853..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_de.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_de.java 884640 2009-11-26 16:55:07Z zongaro $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_de extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Fehler: '{' darf nicht innerhalb des Ausdrucks stehen."},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} hat ein unzul\u00e4ssiges Attribut {1}."},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "sourceNode ist Null in xsl:apply-imports!"},
-
-  {ER_CANNOT_ADD,
-      "{0} kann nicht {1} hinzugef\u00fcgt werden."},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "sourceNode ist Null in handleApplyTemplatesInstruction!"},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} muss ein Namensattribut haben."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "Vorlage konnte nicht gefunden werden: {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "Namensvorlage f\u00fcr den Attributwert in xsl:call-template konnte nicht aufgel\u00f6st werden."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} erfordert das Attribut {1}."},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} muss \u00fcber ein Attribut ''test'' verf\u00fcgen."},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "Falscher Wert f\u00fcr Ebenenattribut: {0}."},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Name der Verarbeitungsanweisung darf nicht 'xml' sein."},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Name der Verarbeitungsanweisung muss ein g\u00fcltiges NCName-Format haben: {0}."},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} muss \u00fcber ein entsprechendes Attribut verf\u00fcgen, wenn ein Modus vorhanden ist."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} erfordert einen Namen oder ein \u00dcbereinstimmungsattribut."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "Pr\u00e4fix des Namensbereichs kann nicht aufgel\u00f6st werden: {0}."},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space weist einen ung\u00fcltigen Wert auf: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "Der Kindknoten hat kein Eignerdokument!"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "ElemTemplateElement-Fehler: {0}"},
-
-    { ER_NULL_CHILD,
-     "Es wird versucht, ein leeres Kind hinzuzuf\u00fcgen!"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} erfordert ein Attribut ''''select''''."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when muss \u00fcber ein Attribut 'test' verf\u00fcgen."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param muss \u00fcber ein Attribut 'name' verf\u00fcgen."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "Der Kontextknoten verf\u00fcgt nicht \u00fcber ein Eignerdokument!"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "XML-TransformerFactory-Liaison konnte nicht erstellt werden: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan:-Prozess konnte nicht erfolgreich durchgef\u00fchrt werden."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: war nicht erfolgreich."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "Verschl\u00fcsselung wird nicht unterst\u00fctzt: {0}."},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "TraceListener konnte nicht erstellt werden: {0}."},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key erfordert ein Attribut 'name'!"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key erfordert ein Attribut 'match'!"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key erfordert ein Attribut 'use'!"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} erfordert ein Attribut ''elements''!"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) {0}: Das Attribut ''prefix'' fehlt."},
-
-    { ER_BAD_STYLESHEET_URL,
-     "Formatvorlagen-URL-Adresse ist ung\u00fcltig: {0}."},
-
-    { ER_FILE_NOT_FOUND,
-     "Formatvorlagendatei konnte nicht gefunden werden: {0}."},
-
-    { ER_IOEXCEPTION,
-      "Bei folgender Formatvorlagendatei ist eine E/A-Ausnahmebedingung aufgetreten: {0}."},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) Attribut ''href'' f\u00fcr {0} konnte nicht gefunden werden."},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} schlie\u00dft sich selbst direkt oder indirekt mit ein!"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "Fehler in StylesheetHandler.processInclude, {0}."},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) {0}: Das Attribut ''lang'' fehlt."},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) Element {0} an falscher Position? Fehlendes Containerelement ''component''."},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "Ausgabe kann nur an ein Element, Dokumentfragment, Dokument oder Druckausgabeprogramm erfolgen."},
-
-    { ER_PROCESS_ERROR,
-     "Fehler in StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "UnImplNode-Fehler: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Fehler! xpath-Auswahlausdruck (-select) konnte nicht gefunden werden."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "XSLProcessor kann nicht serialisiert werden!"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "Formatvorlageneingabe wurde nicht angegeben!"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "Verarbeitung der Formatvorlage fehlgeschlagen!"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "Dokument {0} konnte nicht syntaktisch analysiert werden!"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "Fragment konnte nicht gefunden werden: {0}."},
-
-    { ER_NODE_NOT_ELEMENT,
-      "Der Knoten, auf den von einer Fragment-ID verwiesen wurde, war kein Element: {0}."},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "'for-each' muss entweder ein Attribut 'match' oder 'name' haben."},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "Vorlagen m\u00fcssen entweder ein Attribut 'match' oder 'name' haben."},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "Kein Klon eines Dokumentfragments!"},
-
-    { ER_CANT_CREATE_ITEM,
-      "Im Ergebnisbaum kann kein Eintrag erzeugt werden: {0}."},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "xml:space in der Quellen-XML hat einen ung\u00fcltigen Wert: {0}."},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "Keine Deklaration xsl:key f\u00fcr {0} vorhanden!"},
-
-    { ER_CANT_CREATE_URL,
-     "Fehler! URL kann nicht erstellt werden f\u00fcr: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions wird nicht unterst\u00fctzt."},
-
-    { ER_PROCESSOR_ERROR,
-     "XSLT-TransformerFactory-Fehler"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} nicht zul\u00e4ssig innerhalb einer Formatvorlage!"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns wird nicht mehr unterst\u00fctzt!  Verwenden Sie stattdessen xsl:output."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space wird nicht mehr unterst\u00fctzt!  Verwenden Sie stattdessen xsl:strip-space oder xsl:preserve-space."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result wird nicht mehr unterst\u00fctzt!  Verwenden Sie stattdessen xsl:output."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} hat ein ung\u00fcltiges Attribut: {1}."},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Unbekanntes XSL-Element: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort kann nur mit xsl:apply-templates oder xsl:for-each verwendet werden."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when steht an der falschen Position!"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) F\u00fcr xsl:when ist xsl:choose nicht als Elter definiert!"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise steht an der falschen Position!"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) F\u00fcr xsl:otherwise ist xsl:choose nicht als Elter definiert!"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} ist innerhalb einer Vorlage nicht zul\u00e4ssig!"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0}: Erweiterung des Namensbereichspr\u00e4fixes {1} ist unbekannt"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Importe k\u00f6nnen nur als erste Elemente in der Formatvorlage auftreten!"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} importiert sich direkt oder indirekt selbst!"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space hat einen ung\u00fcltigen Wert: {0}."},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet nicht erfolgreich!"},
-
-    { ER_SAX_EXCEPTION,
-     "SAX-Ausnahmebedingung"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "Funktion nicht unterst\u00fctzt!"},
-
-
-    { ER_XSLT_ERROR,
-     "XSLT-Fehler"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "Ein W\u00e4hrungssymbol ist in der Formatmusterzeichenfolge nicht zul\u00e4ssig."},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "Eine Dokumentfunktion wird in der Dokumentobjektmodell-Formatvorlage nicht unterst\u00fctzt!"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "Pr\u00e4fix einer Aufl\u00f6sung ohne Pr\u00e4fix kann nicht aufgel\u00f6st werden!"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Umleitungserweiterung: Dateiname konnte nicht abgerufen werden - Datei oder Attribut 'select' muss eine g\u00fcltige Zeichenfolge zur\u00fcckgeben."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "FormatterListener kann in Umleitungserweiterung nicht erstellt werden!"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "Pr\u00e4fix in exclude-result-prefixes ist nicht g\u00fcltig: {0}."},
-
-    { ER_MISSING_NS_URI,
-      "Fehlende Namensbereichs-URI f\u00fcr angegebenes Pr\u00e4fix."},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Fehlendes Argument f\u00fcr Option: {0}."},
-
-    { ER_INVALID_OPTION,
-     "Ung\u00fcltige Option: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Syntaktisch falsche Formatzeichenfolge: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet erfordert ein Attribut 'version'!"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "Attribut {0} weist einen ung\u00fcltigen Wert auf: {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose erfordert xsl:when."},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports ist in xsl:for-each nicht zul\u00e4ssig."},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "DTMLiaison kann nicht f\u00fcr einen Ausgabe-Dokumentobjektmodellknoten verwendet werden... \u00dcbergeben Sie stattdessen org.apache.xpath.DOM2Helper!"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "DTMLiaison kann nicht f\u00fcr einen Eingabe-Dokumentobjektmodellknoten verwendet werden... \u00dcbergeben Sie stattdessen org.apache.xpath.DOM2Helper!"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "Aufruf an Erweiterungselement fehlgeschlagen: {0}."},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Das Pr\u00e4fix muss in einen Namensbereich aufgel\u00f6st werden: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "Ung\u00fcltige UTF-16-Ersetzung festgestellt: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} verwendet sich selbst, wodurch eine Endlosschleife verursacht wird."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "Nicht-Xerces-Dokumentobjektmodelleingabe kann nicht mit Xerces-Dokumentobjektmodellausgabe gemischt werden!"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "In ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Mehrere Vorlagen mit folgendem Namen gefunden: {0}."},
-
-    { ER_INVALID_KEY_CALL,
-      "Ung\u00fcltiger Funktionsaufruf: rekursive Aufrufe 'key()'sind nicht zul\u00e4ssig."},
-
-    { ER_REFERENCING_ITSELF,
-      "Variable {0} verweist direkt oder indirekt auf sich selbst!"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "Der Eingabeknoten kann f\u00fcr DOMSource f\u00fcr newTemplates nicht Null sein!"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "Klassendatei f\u00fcr Option {0} wurde nicht gefunden."},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "Erforderliches Element nicht gefunden: {0}."},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream kann nicht Null sein."},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI kann nicht Null sein."},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "Eine Datei kann nicht Null sein."},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource kann nicht Null sein."},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "BSF Manager kann nicht initialisiert werden."},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "Erweiterung konnte nicht kompiliert werden."},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "Erweiterung {0} konnte nicht erstellt werden. Ursache: {1}."},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "Der Aufruf einer Instanzdefinitionsmethode von Methode {0} erfordert eine Objektinstanz als erstes Argument."},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "Ung\u00fcltiger Elementname angegeben {0}."},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "Elementnamenmethode muss statisch sein: {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "Erweiterungsfunktion {0} : {1} ist unbekannt."},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "Mehrere passende Entsprechungen f\u00fcr Konstruktor f\u00fcr {0}."},
-
-    { ER_MORE_MATCH_METHOD,
-             "Mehrere passende Entsprechungen f\u00fcr Methode {0}."},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "Mehrere passende Entsprechungen f\u00fcr Elementmethode {0}."},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "Ung\u00fcltiger Kontext zur Auswertung von {0} \u00fcbergeben."},
-
-    { ER_POOL_EXISTS,
-             "Pool ist bereits vorhanden."},
-
-    { ER_NO_DRIVER_NAME,
-             "Kein Treibername angegeben."},
-
-    { ER_NO_URL,
-             "Keine URL-Adresse angegeben."},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "Poolgr\u00f6\u00dfe ist kleiner als Eins!"},
-
-    { ER_INVALID_DRIVER,
-             "Ung\u00fcltiger Treibername angegeben!"},
-
-    { ER_NO_STYLESHEETROOT,
-             "Root der Formatvorlage konnte nicht gefunden werden!"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Ung\u00fcltiger Wert f\u00fcr xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "processFromNode ist fehlgeschlagen."},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "Die Ressource [ {0} ] konnte nicht geladen werden: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Puffergr\u00f6\u00dfe <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Unbekannter Fehler beim Aufrufen der Erweiterung."},
-
-    { ER_NO_NAMESPACE_DECL,
-        "Pr\u00e4fix {0} hat keine entsprechende Namensbereichsdeklaration."},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "Elementinhalt nicht zul\u00e4ssig f\u00fcr lang=javaclass {0}."},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "Formatvorlage hat die Beendigung ausgel\u00f6st."},
-
-    { ER_ONE_OR_TWO,
-        "1 oder 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 oder 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "{0} (CLASSPATH pr\u00fcfen) konnte nicht geladen werden; es werden die Standardwerte verwendet."},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Standardvorlagen k\u00f6nnen nicht initialisiert werden."},
-
-    { ER_RESULT_NULL,
-        "Das Ergebnis darf nicht Null sein."},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "Das Ergebnis konnte nicht festgelegt werden."},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "Keine Ausgabe angegeben."},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "Umsetzen in ein Ergebnis des Typs {0} ist nicht m\u00f6glich"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "Umsetzen einer Quelle des Typs {0} ist nicht m\u00f6glich"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Es ist keine Inhaltssteuerroutine vorhanden."},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Kein Fehlerbehandlungsprogramm vorhanden"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "Die Syntaxanalyse kann nicht aufgerufen werden, wenn ContentHandler nicht festgelegt wurde."},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "Kein Elter f\u00fcr Filter vorhanden"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "Keine Formatvorlage gefunden in: {0}, Datentr\u00e4ger= {1}."},
-
-    { ER_NO_STYLESHEET_PI,
-         "Keine Verarbeitungsanweisung f\u00fcr xml-stylesheet gefunden in {0}."},
-
-    { ER_NOT_SUPPORTED,
-       "Nicht unterst\u00fctzt: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "Der Wert f\u00fcr Merkmal {0} sollte eine Boolesche Instanz sein."},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "Externes Script bei {0} konnte nicht erreicht werden."},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "Die Ressource [ {0} ] konnte nicht gefunden werden.\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "Ausgabemerkmal nicht erkannt: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "Das Erstellen der Instanz ElemLiteralResult ist fehlgeschlagen."},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "Der Wert f\u00fcr {0} sollte eine syntaktisch analysierbare Zahl sein."},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "Der Wert f\u00fcr {0} sollte ''''yes'''' oder ''''no'''' entsprechen."},
-
-    { ER_FAILED_CALLING_METHOD,
-        "Aufruf von Methode {0} ist fehlgeschlagen"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "Das Erstellen der Instanz ElemTemplateElement ist fehlgeschlagen."},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "Zeichen sind an dieser Stelle im Dokument nicht zul\u00e4ssig."},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "Das Attribut \"{0}\" ist im Element {1} nicht zul\u00e4ssig!"},
-
-    { ER_BAD_VALUE,
-     "{0} ung\u00fcltiger Wert {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "Attributwert {0} wurde nicht gefunden "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "Attributwert {0} wurde nicht erkannt "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "Es wird versucht, ein Namensbereichspr\u00e4fix mit einer Null-URI zu erzeugen."},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "Es wird versucht, eine gr\u00f6\u00dfere Zahl als die gr\u00f6\u00dfte erweiterte Ganzzahl zu formatieren."},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "SAX1-Treiberklasse {0} konnte nicht gefunden werden."},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "SAX1-Treiberklasse {0} gefunden, kann aber nicht geladen werden."},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "SAX1-Treiberklasse {0} geladen, kann aber nicht instanziert werden."},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "SAX1-Treiberklasse {0} implementiert nicht org.xml.sax.Parser."},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "Systemmerkmal org.xml.sax.parser ist nicht angegeben."},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "Parserargument darf nicht Null sein."},
-
-    { ER_FEATURE,
-     "Feature: {0}"},
-
-    { ER_PROPERTY,
-     "Merkmal: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Es ist keine Entit\u00e4tenaufl\u00f6sungsroutine vorhanden."},
-
-    { ER_NULL_DTD_HANDLER,
-     "Es ist keine Steuerroutine f\u00fcr Dokumenttypbeschreibungen vorhanden."},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "Kein Treibername angegeben!"},
-
-    { ER_NO_URL_SPECIFIED,
-     "Keine URL-Adresse angegeben!"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "Poolgr\u00f6\u00dfe ist kleiner als 1!"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "Ung\u00fcltiger Treibername angegeben!"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Programmierfehler! Der Ausdruck hat kein \u00fcbergeordnetes Element ElemTemplateElement!"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Programmiererfestlegung in RedundentExprEliminator: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} ist an dieser Position in der Formatvorlage nicht zul\u00e4ssig!"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "Anderer Text als Leerzeichen ist an dieser Position in der Formatvorlage nicht zul\u00e4ssig!"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "Unzul\u00e4ssiger Wert {1} f\u00fcr CHAR-Attribut verwendet: {0}. Ein Attribut des Typs CHAR darf nur ein Zeichen umfassen!"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "Unzul\u00e4ssiger Wert {1} f\u00fcr QNAME-Attribut verwendet: {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "Unzul\u00e4ssiger Wert {1} f\u00fcr ENUM-Attribut verwendet: {0}. Folgende Werte sind g\u00fcltig: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "Unzul\u00e4ssiger Wert {1} f\u00fcr NMTOKEN-Attribut verwendet: {0}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "Unzul\u00e4ssiger Wert {1} f\u00fcr NCNAME-Attribut verwendet: {0}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Unzul\u00e4ssiger Wert {1} f\u00fcr BOOLEAN-Attribut verwendet: {0}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Unzul\u00e4ssiger Wert {1} f\u00fcr NUMBER-Attribut verwendet: {0}. "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "Argument von {0} in Suchmuster muss ein Literal sein."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "Doppelte Deklaration einer globalen Variablen."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "Doppelte Deklaration einer Variablen."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template muss ein Attribut 'name' und/oder 'match' haben."},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "Pr\u00e4fix in exclude-result-prefixes ist nicht g\u00fcltig: {0}."},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "Die Attributgruppe {0} ist nicht vorhanden."},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "Die Funktion {0} ist nicht vorhanden."},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "Das Element {0} darf nicht \u00fcber ein Attribut ''''content'''' und zus\u00e4tzlich \u00fcber ein Attribut ''''select'''' verf\u00fcgen."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "Der Wert von Parameter {0} muss ein g\u00fcltiges Java-Objekt sein."},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "Das Attribut result-prefix eines Elements xsl:namespace-alias hat den Wert '#default', es ist jedoch keine Deklaration des Standardnamensbereichs vorhanden, die f\u00fcr dieses Element g\u00fcltig ist."},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "Das Attribut result-prefix eines Elements xsl:namespace-alias hat den Wert ''{0}'', es ist jedoch keine Namensbereichsdeklaration f\u00fcr das Pr\u00e4fix ''{0}'' vorhanden, die f\u00fcr dieses Element g\u00fcltig ist."},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "Der Funktionsname darf in TransformerFactory.setFeature(Name der Zeichenfolge, Boolescher Wert) nicht den Wert Null haben."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "Der Funktionsname darf in TransformerFactory.getFeature(Name der Zeichenfolge) nicht den Wert Null haben."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "Die Funktion ''{0}'' kann in dieser TransformerFactory nicht festgelegt werden."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "Die Verwendung des Erweiterungselements ''{0}'' ist nicht zul\u00e4ssig, wenn f\u00fcr die Funktion zur sicheren Verarbeitung der Wert ''true'' festgelegt wurde."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "Das Pr\u00e4fix f\u00fcr einen Namensbereich-URI mit dem Wert Null kann nicht abgerufen werden."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "Der Namensbereich-URI f\u00fcr ein Pr\u00e4fix mit dem Wert Null kann nicht abgerufen werden."},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "Es muss ein Funktionsname angegeben werden."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "Die Stelligkeit darf nicht negativ sein."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "'}' gefunden, es ist aber keine Attributvorlage ge\u00f6ffnet!"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Warnung: Attribut ''count'' entspricht keinem \u00fcbergeordneten Fensterobjekt in xsl:number! Ziel = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Veraltete Syntax: Der Name des Attributs 'expr' wurde in 'select' ge\u00e4ndert."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan bearbeitet noch nicht den L\u00e4ndereinstellungsnamen in der Funktion 'format-number'."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Warnung: L\u00e4ndereinstellung f\u00fcr xml:lang={0} konnte nicht gefunden werden."},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "URL konnte nicht erstellt werden aus: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "Angefordertes Dokument kann nicht geladen werden: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "Collator f\u00fcr <sort xml:lang={0} konnte nicht gefunden werden."},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Veraltete Syntax: Die Funktionsanweisung sollte eine URL-Adresse {0} verwenden."},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "Verschl\u00fcsselung nicht unterst\u00fctzt: {0}, UTF-8 wird verwendet."},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "Verschl\u00fcsselung nicht unterst\u00fctzt: {0}, Java {1} wird verwendet."},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Genauigkeitskonflikte gefunden: {0}. Die letzte Angabe in der Formatvorlage wird verwendet."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= Syntaxanalyse und Vorbereitung von {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Attributvorlage, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "\u00dcbereinstimmungskonflikt zwischen xsl:strip-space und xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan bearbeitet noch nicht das Attribut {0}!"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "Keine Deklaration f\u00fcr Dezimalformat gefunden: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Fehlender oder ung\u00fcltiger XSLT-Namensbereich "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Nur eine Standarddeklaration xsl:decimal-format ist zul\u00e4ssig."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "Namen in xsl:decimal-format m\u00fcssen eindeutig sein. Name \"{0}\" wurde dupliziert."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} hat ein unzul\u00e4ssiges Attribut {1}."},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "Namensbereichspr\u00e4fix konnte nicht aufgel\u00f6st werden: {0}. Der Knoten wird ignoriert."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet erfordert ein Attribut 'version'!"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Unzul\u00e4ssiger Attributname: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "Unzul\u00e4ssiger Wert f\u00fcr Attribut {0} verwendet: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "Die Ergebnisknoteneinstellung des zweiten Arguments der Dokumentfunktion ist leer. Geben Sie eine leere Knotengruppe zur\u00fcck."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Der Wert des Attributs 'name' von xsl:processing-instruction darf nicht 'xml' sein."},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Der Wert des Attributs ''name'' von xsl:processing-instruction muss ein g\u00fcltiger NCName sein: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Attribut {0} kann nicht nach Kindknoten oder vor dem Erstellen eines Elements hinzugef\u00fcgt werden. Das Attribut wird ignoriert."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "Es wurde versucht, ein Objekt an einer nicht zul\u00e4ssigen Stelle zu \u00e4ndern."
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "de"},
-  {  "help_language",  "de" },
-  {  "language",  "de" },
-  { "BAD_CODE", "Der Parameter f\u00fcr createMessage lag au\u00dferhalb des g\u00fcltigen Bereichs"},
-  {  "FORMAT_FAILED", "W\u00e4hrend des Aufrufs von messageFormat wurde eine Ausnahmebedingung ausgel\u00f6st"},
-  {  "version", ">>>>>>> Xalan-Version "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "ja"},
-  { "line", "Zeilennummer"},
-  { "column","Spaltennummer"},
-  { "xsldone", "XSLProcessor: fertig"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Optionen f\u00fcr Verarbeitungsklassen in der Xalan-J-Befehlszeile:"},
-  { "xslProc_option", "Optionen f\u00fcr Verarbeitungsklassen in der Xalan-J-Befehlszeile\u003a"},
-  { "xslProc_invalid_xsltc_option", "Die Option {0} wird im XSLTC-Modus nicht unterst\u00fctzt."},
-  { "xslProc_invalid_xalan_option", "Die Option {0} kann nur mit -XSLTC verwendet werden."},
-  { "xslProc_no_input", "Fehler: Es wurde keine Formatvorlagen- oder Eingabe-XML angegeben. F\u00fchren Sie diesen Befehl ohne Optionen f\u00fcr Syntaxanweisungen aus."},
-  { "xslProc_common_options", "-Allgemeine Optionen-"},
-  { "xslProc_xalan_options", "-Optionen f\u00fcr Xalan-"},
-  { "xslProc_xsltc_options", "-Optionen f\u00fcr XSLTC-"},
-  { "xslProc_return_to_continue", "(Dr\u00fccken Sie die Eingabetaste, um fortzufahren.)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "[-XSLTC (XSLTC f\u00fcr Umsetzung verwenden)]"},
-  { "optionIN", "[-IN EingabeXMLURL]"},
-  { "optionXSL", "[-XSL XSLUmsetzungsURL]"},
-  { "optionOUT",  "[-OUT AusgabeDateiName]"},
-  { "optionLXCIN", "[-LXCIN kompilierteDateivorlageDateiNameEin]"},
-  { "optionLXCOUT", "[-LXCOUT kompilierteDateivorlageDateiNameAus]"},
-  { "optionPARSER", "[-PARSER vollst\u00e4ndig qualifizierter Klassenname der Parser-Liaison]"},
-  {  "optionE", "[-E (Entit\u00e4tenverweise nicht erweitern)]"},
-  {  "optionV",  "[-E (Entit\u00e4tenverweise nicht erweitern)]"},
-  {  "optionQC", "[-QC (Unterdr\u00fcckte Musterkonfliktwarnungen)]"},
-  {  "optionQ", "[-Q  (Unterdr\u00fcckter Modus)]"},
-  {  "optionLF", "[-LF (Nur Zeilenvorschubzeichen bei Ausgabe verwenden {Standardeinstellung ist CR/LF})]"},
-  {  "optionCR", "[-CR (Nur Zeilenschaltung bei Ausgabe verwenden {Standardeinstellung ist CR/LF})]"},
-  { "optionESCAPE", "[-ESCAPE (Zeichen, die mit einem Escapezeichen angegeben werden m\u00fcssen {Standardeinstellung ist <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "[-INDENT (Steuerung, um wie viele Leerzeichen einger\u00fcckt werden soll {Standardeinstellung ist 0})]"},
-  { "optionTT", "[-TT (Trace f\u00fcr Vorlagen ausf\u00fchren, wenn sie aufgerufen werden.)]"},
-  { "optionTG", "[-TG (Trace f\u00fcr jedes Generierungsereignis durchf\u00fchren.)]"},
-  { "optionTS", "[-TS (Trace f\u00fcr jedes Auswahlereignis durchf\u00fchren.)]"},
-  {  "optionTTC", "[-TTC (Trace f\u00fcr die untergeordneten Vorlagen ausf\u00fchren, wenn sie verarbeitet werden.)]"},
-  { "optionTCLASS", "[-TCLASS (TraceListener-Klasse f\u00fcr Trace-Erweiterungen.)]"},
-  { "optionVALIDATE", "[-VALIDATE (Festlegen, ob eine G\u00fcltigkeitspr\u00fcfung erfolgen soll. Die G\u00fcltigkeitspr\u00fcfung ist standardm\u00e4\u00dfig ausgeschaltet.)]"},
-  { "optionEDUMP", "[-EDUMP {optionaler Dateiname} (Bei Fehler Stapelspeicherauszug erstellen.)]"},
-  {  "optionXML", "[-XML (XML-Formatierungsprogramm verwenden und XML-Header hinzuf\u00fcgen.)]"},
-  {  "optionTEXT", "[-TEXT (Einfaches Textformatierungsprogramm verwenden.)]"},
-  {  "optionHTML", "[-HTML (HTML-Formatierungsprogramm verwenden.)]"},
-  {  "optionPARAM", "[-PARAM Name Ausdruck (Festlegen eines Formatvorlagenparameters)]"},
-  {  "noParsermsg1", "XSL-Prozess konnte nicht erfolgreich durchgef\u00fchrt werden."},
-  {  "noParsermsg2", "** Parser konnte nicht gefunden werden **"},
-  { "noParsermsg3",  "Bitte \u00fcberpr\u00fcfen Sie den Klassenpfad."},
-  { "noParsermsg4", "Wenn Sie nicht \u00fcber einen IBM XML-Parser f\u00fcr Java verf\u00fcgen, k\u00f6nnen Sie ihn herunterladen:"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "[-URIRESOLVER vollst\u00e4ndiger Klassenname (URIResolver wird zum Aufl\u00f6sen von URIs verwendet)]"},
-  { "optionENTITYRESOLVER",  "[-ENTITYRESOLVER vollst\u00e4ndiger Klassenname (EntityResolver wird zum Aufl\u00f6sen von Entit\u00e4ten verwendet)]"},
-  { "optionCONTENTHANDLER",  "[-CONTENTHANDLER vollst\u00e4ndiger Klassenname (ContentHandler wird zum Serialisieren der Ausgabe verwendet)]"},
-  {  "optionLINENUMBERS",  "[-L Zeilennummern f\u00fcr das Quellendokument verwenden]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (Funktion zur sicheren Verarbeitung auf 'True' setzen)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "[-MEDIA Datentr\u00e4gerTyp (Datentr\u00e4gerattribut verwenden, um die einem Dokument zugeordnete Formatvorlage zu suchen.)]"},
-  {  "optionFLAVOR",  "[-FLAVOR WunschName (Explizit s2s=SAX oder d2d=DOM verwenden, um die Umsetzung auszuf\u00fchren.)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "[-DIAG (Gesamtanzahl Millisekunden f\u00fcr die Umsetzung ausgeben.)]"},
-  { "optionINCREMENTAL",  "[-INCREMENTAL (Inkrementelle DTM-Erstellung mit der Einstellung 'true' f\u00fcr http://xml.apache.org/xalan/features/incremental anfordern.)]"},
-  {  "optionNOOPTIMIMIZE",  "[-NOOPTIMIMIZE (Mit der Einstellung 'false' f\u00fcr 'http://xml.apache.org/xalan/features/optimize' anfordern, dass keine Formatvorlagenoptimierung ausgef\u00fchrt wird.)]"},
-  { "optionRL",  "[-RL Verschachtelungsbegrenzung (Numerische Begrenzung f\u00fcr Verschachtelungstiefe der Formatvorlage festlegen.)]"},
-  {   "optionXO",  "[-XO [transletName] (Namen dem generierten Translet zuordnen)]"},
-  {  "optionXD", "[-XD ZielVerzeichnis (Ein Zielverzeichnis f\u00fcr Translet angeben)]"},
-  {  "optionXJ",  "[-XJ jardatei (Translet-Klassen in eine jar-Datei mit dem Namen <jardatei> packen)]"},
-  {   "optionXP",  "[-XP paket (Ein Paketnamenpr\u00e4fix f\u00fcr alle generierten Translet-Klassen angeben)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "[-XN (Inline-Anordnung f\u00fcr Vorlagen aktivieren)]" },
-  { "optionXX",  "[-XX (Zus\u00e4tzliche Debugnachrichtenausgabe aktivieren)]"},
-  { "optionXT" , "[-XT (Translet f\u00fcr Umsetzung verwenden, wenn m\u00f6glich)]"},
-  { "diagTiming","--------- Umsetzung von {0} \u00fcber {1} betrug {2} Millisekunden" },
-  { "recursionTooDeep","Vorlagenverschachtelung ist zu stark. Verschachtelung = {0}, Vorlage {1} {2}" },
-  { "nameIs", "Der Name ist" },
-  { "matchPatternIs", "Das Suchmuster ist" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "FEHLERHAFTER_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FEHLGESCHLAGEN";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#Fehler";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Fehler: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Achtung: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "MUSTER ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_en.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_en.java
deleted file mode 100644
index e049fbe..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_en.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_en.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-
-/**
- * Default implementation of XSLTErrorResources.  This is just
- * an empty class.
- * @xsl.usage advanced
- */
-public class XSLTErrorResources_en extends XSLTErrorResources
-{
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_es.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_es.java
deleted file mode 100644
index e7ca369..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_es.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_es.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_es extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Error: No puede haber '{' dentro de la expresi\u00f3n"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} tiene un atributo no permitido: {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "sourceNode es nulo en xsl:apply-imports."},
-
-  {ER_CANNOT_ADD,
-      "No se puede a\u00f1adir {0} a {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "sourceNode es nulo en handleApplyTemplatesInstruction."},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} debe tener un atributo de nombre."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "No se ha podido encontrar la plantilla: {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "No se ha podido resolver AVT de nombre en xsl:call-template."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} necesita un atributo: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} debe tener un atributo ''test''."},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "Valor incorrecto en atributo de nivel: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Nombre de processing-instruction no puede ser 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Nombre de processing-instruction debe ser un NCName v\u00e1lido: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} debe tener un atributo de coincidencia si tiene una modalidad."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} necesita un atributo de nombre o de coincidencia."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "No se puede resolver el prefijo del espacio de nombres: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space tiene un valor no permitido: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "El nodo hijo no tiene un documento propietario."},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "Error de ElemTemplateElement: {0}"},
-
-    { ER_NULL_CHILD,
-     "Intentando a\u00f1adir un hijo nulo"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} necesita un atributo de selecci\u00f3n."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when debe tener un atributo 'test'."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param debe tener un atributo 'name'."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "El contexto no tiene un documento propietario."},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "No se ha podido crear Liaison TransformerFactory XML: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "El proceso Xalan no ha sido satisfactorio."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan no ha sido satisfactorio."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "Codificaci\u00f3n no soportada: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "No se ha podido crear TraceListener: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key necesita un atributo 'name'."},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key necesita un atributo 'match'."},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key necesita un atributo 'use'."},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} necesita un atributo ''elements'' "},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) Falta el atributo ''prefix'' de {0} "},
-
-    { ER_BAD_STYLESHEET_URL,
-     "El URL de la hoja de estilos es incorrecto: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "No se ha encontrado el archivo de hoja de estilos: {0}"},
-
-    { ER_IOEXCEPTION,
-      "Se ha producido una excepci\u00f3n de ES con el archivo de hoja de estilos: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) No se ha podido encontrar el atributo href para {0}"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) Inclusi\u00f3n propia de {0} directa o indirectamente."},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "Error de StylesheetHandler.processInclude, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) Falta el atributo ''lang'' de {0}"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) Elemento {0} incorrecto. Falta el elemento de contenedor ''component''."},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "S\u00f3lo se puede dar salida hacia Element, DocumentFragment, Document o PrintWriter."},
-
-    { ER_PROCESS_ERROR,
-     "Error de StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "Error de UnImplNode: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Error. No se ha encontrado la expresi\u00f3n de selecci\u00f3n (-select) de xpath."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "No se puede serializar un XSLProcessor."},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "No se ha especificado la entrada de hoja de estilos."},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "No se ha podido procesar la hoja de estilos."},
-
-    { ER_COULDNT_PARSE_DOC,
-     "No se ha podido analizar el documento {0}."},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "No se ha podido encontrar el fragmento: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "El nodo se\u00f1alado por un identificador de fragmento no es un elemento: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each debe tener un atributo de coincidencia o de nombre."},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "templates debe tener un atributo de coincidencia o de nombre."},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "No es r\u00e9plica de un fragmento de documento."},
-
-    { ER_CANT_CREATE_ITEM,
-      "No se puede crear el elemento en el \u00e1rbol de resultados: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "xml:space en el XML fuente tiene un valor no permitido: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "No hay declaraci\u00f3n xsl:key para {0}."},
-
-    { ER_CANT_CREATE_URL,
-     "Error. No se puede crear url para: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions no est\u00e1 soportado"},
-
-    { ER_PROCESSOR_ERROR,
-     "Error de XSLT TransformerFactory"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} no permitido dentro de una hoja de estilos."},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "Ya no se soporta result-ns.  Utilice xsl:output en su lugar."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "Ya no se soporta default-space.  Utilice xsl:strip-space o xsl:preserve-space en su lugar."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "Ya no se soporta indent-result.  Utilice xsl:output en su lugar."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} tiene un atributo no permitido: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Elemento XSL desconocido: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort s\u00f3lo puede utilizarse con xsl:apply-templates o xsl:for-each."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when equivocado."},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when no emparentado por xsl:choose."},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise equivocado."},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise no emparentado por xsl:choose."},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} no permitido dentro de una plantilla."},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) Prefijo {1} de espacio de nombres de extensi\u00f3n {0} desconocido"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Las importaciones s\u00f3lo pueden aparecer como primeros elementos de la hoja de estilos."},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) Importaci\u00f3n propia de {0} directa o indirectamente."},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space tiene un valor no permitido: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet no satisfactorio."},
-
-    { ER_SAX_EXCEPTION,
-     "Excepci\u00f3n SAX"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "Funci\u00f3n no soportada."},
-
-
-    { ER_XSLT_ERROR,
-     "Error de XSLT"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "El signo monetario no est\u00e1 permitido en la serie del patr\u00f3n de formato"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "La funci\u00f3n de documento no est\u00e1 soportada en DOM de hoja de estilos."},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "No se puede resolver el prefijo de un resolucionador sin prefijo."},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Extensi\u00f3n Redirect: No se ha podido obtener el nombre de archivo - el atributo de archivo o de selecci\u00f3n debe devolver una serie v\u00e1lida."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "No se puede crear FormatterListener en extensi\u00f3n Redirect."},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "El prefijo en exclude-result-prefixes no es v\u00e1lido: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "Falta el URI del espacio de nombres para el prefijo especificado"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Falta un argumento para la opci\u00f3n: {0}"},
-
-    { ER_INVALID_OPTION,
-     "Opci\u00f3n no v\u00e1lida: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Serie de formato mal formada: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet necesita un atributo 'version'."},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "Atributo: {0} tiene un valor no permitido: {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose necesita un xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports no permitido en xsl:for-each"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "No se puede utilizar DTMLiaison para un nodo DOM de salida... Pase org.apache.xpath.DOM2Helper en su lugar."},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "No se puede utilizar DTMLiaison para un nodo DOM de entrada... Pase org.apache.xpath.DOM2Helper en su lugar."},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "Anomal\u00eda al llamar al elemento de extensi\u00f3n: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "El prefijo debe resolverse como un espacio de nombres: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "\u00bfSe ha detectado un sustituto UTF-16 no v\u00e1lido: {0}?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} se ha utilizado a s\u00ed mismo lo que puede provocar un bucle infinito."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "No se puede mezclar la entrada Xerces-DOM con la salida Xerces-DOM."},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "En ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Se ha encontrado m\u00e1s de una plantilla con el nombre: {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "Llamada de funci\u00f3n no v\u00e1lida: no est\u00e1n permitidas las llamadas key() recursivas"},
-
-    { ER_REFERENCING_ITSELF,
-      "La variable {0} se est\u00e1 referenciando a s\u00ed misma directa o indirectamente."},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "El nodo de entrada no puede ser nulo para DOMSource de newTemplates."},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "No se ha encontrado el archivo de clase para la opci\u00f3n {0}"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "No se ha encontrado un elemento necesario: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream no puede ser nulo"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI no puede ser nulo"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "Archivo no puede ser nulo"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource no puede ser nulo"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "No se ha podido inicializar el Gestor BSF"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "No se ha podido compilar la extensi\u00f3n"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "No se ha podido crear la extensi\u00f3n: {0} como consecuencia de: {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "La llamada del m\u00e9todo de instancia al m\u00e9todo {0} necesita una instancia Object como primer argumento"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "Se ha especificado un nombre de elemento no v\u00e1lido {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "El m\u00e9todo del nombre de elemento debe ser est\u00e1tico {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "Funci\u00f3n de extensi\u00f3n {0} : {1} desconocida"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "Hay m\u00e1s de una coincidencia m\u00e1xima para el constructor de {0}"},
-
-    { ER_MORE_MATCH_METHOD,
-             "Hay m\u00e1s de una coincidencia m\u00e1xima para el m\u00e9todo {0}"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "Hay m\u00e1s de una coincidencia m\u00e1xima para el m\u00e9todo de elemento {0}"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "Se ha pasado un contexto no v\u00e1lido para evaluar {0}"},
-
-    { ER_POOL_EXISTS,
-             "La agrupaci\u00f3n ya existe"},
-
-    { ER_NO_DRIVER_NAME,
-             "No se ha especificado un nombre de controlador"},
-
-    { ER_NO_URL,
-             "No se ha especificado un URL"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "El tama\u00f1o de la agrupaci\u00f3n es menor que uno."},
-
-    { ER_INVALID_DRIVER,
-             "Se ha especificado un nombre de controlador no v\u00e1lido."},
-
-    { ER_NO_STYLESHEETROOT,
-             "No se ha encontrado la ra\u00edz de la hoja de estilos."},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Valor no permitido para xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "Anomal\u00eda de processFromNode"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "No se ha podido cargar el recurso [ {0} ]: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Tama\u00f1o de almacenamiento intermedio <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Error desconocido al llamar a la extensi\u00f3n"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "El prefijo {0} no tiene una declaraci\u00f3n de espacio de nombres correspondiente"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "No se permite el contenido del elemento para lang=javaclass {0}"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "Terminaci\u00f3n de hoja de estilos dirigida"},
-
-    { ER_ONE_OR_TWO,
-        "1 \u00f3 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 \u00f3 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "No se ha podido cargar {0} (compruebe la CLASSPATH), ahora s\u00f3lo se est\u00e1n utilizando los valores predeterminados"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "No se han podido inicializar las plantillas predeterminadas"},
-
-    { ER_RESULT_NULL,
-        "El resultado no deber\u00eda ser nulo"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "No se ha podido establecer el resultado"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "No se ha especificado salida"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "No se puede transformar un resultado de tipo {0} "},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "No se puede transformar un fuente de tipo {0} "},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Manejador de contenido nulo"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Manejador de error nulo"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "No se puede llamar a parse si no se ha establecido ContentHandler"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "No hay padre para el filtro"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "No se han encontrado hojas de estilos en: {0}, soporte= {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "No se ha encontrado xml-stylesheet PI en: {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "No soportado: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "El valor de la propiedad {0} deber\u00eda ser una instancia Boolean"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "No se ha podido encontrar el script externo en {0}"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "No se ha podido encontrar el recurso [ {0} ].\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "No se reconoce la propiedad de salida: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "Anomal\u00eda al crear la instancia ElemLiteralResult"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "El valor para {0} deber\u00eda contener un n\u00famero analizable"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "El valor de {0} deber\u00eda ser s\u00ed o no"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "Anomal\u00eda al llamar al m\u00e9todo {0}"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "Anomal\u00eda al crear la instancia ElemTemplateElement"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "No se permiten caracteres en este punto del documento"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "El atributo \"{0}\" no est\u00e1 permitido en el elemento {1}."},
-
-    { ER_BAD_VALUE,
-     "{0} valor incorrecto {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "No se ha encontrado el valor del atributo {0} "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "No se ha reconocido el valor del atributo {0} "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "Se ha intentado generar un prefijo de espacio de nombres con un URI nulo"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "Se ha intentado formatear un n\u00famero mayor que el entero largo m\u00e1s grande"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "No se ha podido encontrar la clase de controlador SAX1 {0}"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "Se ha encontrado la clase de controlador SAX1 {0} pero no se ha podido cargar"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "Se ha cargado la clase de controlador SAX1 {0} pero no se ha podido crear una instancia"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "La clase de controlador SAX1 {0} no implementa org.xml.sax.Parser"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "No se ha especificado la propiedad del sistema org.xml.sax.parser"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "El argumento del analizador no debe ser nulo"},
-
-    { ER_FEATURE,
-     "Caracter\u00edstica: {0}"},
-
-    { ER_PROPERTY,
-     "Propiedad: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Resolucionador de entidad nulo"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Manejador DTD nulo"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "No se ha especificado un nombre de controlador."},
-
-    { ER_NO_URL_SPECIFIED,
-     "No se ha especificado un URL."},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "El tama\u00f1o de la agrupaci\u00f3n es menor que 1."},
-
-    { ER_INVALID_DRIVER_NAME,
-     "Se ha especificado un nombre de controlador no v\u00e1lido."},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Error del programador. La expresi\u00f3n no tiene un padre ElemTemplateElement."},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Aserci\u00f3n del programador en RedundentExprEliminator: {0} "},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} no est\u00e1 permitido en esta posici\u00f3n de la hoja de estilos."},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "No est\u00e1 permitido texto sin espacios en blanco en esta posici\u00f3n de la hoja de estilos."},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "Valor no permitido: se ha utilizado {1} para el atributo CHAR: {0}.  Un atributo de tipo CHAR debe ser de un solo car\u00e1cter."},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "Valor no permitido: se ha utilizado {1} para el atributo QNAME: {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "Valor no permitido: se ha utilizado {1} para el atributo ENUM: {0}.  Los valores v\u00e1lidos son: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "Valor no permitido: se ha utilizado {1} para el atributo NMTOKEN: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "Valor no permitido: se ha utilizado {1} para el atributo NCNAME: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Valor no permitido: se ha utilizado {1} para el atributo boolean: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Valor no permitido: se ha utilizado {1} para el atributo number: {0} "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "El argumento para {0} en el patr\u00f3n de coincidencia debe ser un literal."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "Declaraci\u00f3n de variable global duplicada."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "Declaraci\u00f3n de variable duplicada."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template debe tener un atributo name o match (o ambos)."},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "El prefijo en exclude-result-prefixes no es v\u00e1lido: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "attribute-set de nombre {0} no existe"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "La funci\u00f3n de nombre {0} no existe"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "El elemento {0} no debe tener contenido y un atributo select."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "El valor del par\u00e1metro {0} debe ser un objeto Java v\u00e1lido"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "El atributo result-prefix de un elemento xsl:namespace-alias tiene el valor '#default', pero no hay declaraci\u00f3n de espacio de nombres predeterminado en el \u00e1mbito del elemento."},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "El atributo result-prefix de un elemento xsl:namespace-alias tiene el valor ''{0}'', pero no hay declaraci\u00f3n de espacio de nombres para el prefijo ''{0}'' en el \u00e1mbito del elemento."},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "El nombre de caracter\u00edstica no puede ser nulo en TransformerFactory.setFeature(nombre de tipo String, valor booleano)."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "El nombre de caracter\u00edstica no puede ser nulo en TransformerFactory.getFeature(nombre de tipo String)."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "No se puede establecer la caracter\u00edstica ''{0}'' en esta TransformerFactory."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "No se permite el uso del elemento de extensi\u00f3n ''{0}'' cuando la caracter\u00edstica de proceso seguro est\u00e1 establecida en true."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "No se puede obtener el prefijo de un uri de espacio de nombres nulo."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "No se puede obtener el uri de espacio de nombres para un prefijo nulo."},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "El nombre de funci\u00f3n no puede ser nulo."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "La aridad no puede ser negativa."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "Se ha encontrado '}' pero no se ha abierto una plantilla de atributos."},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Aviso: El atributo count no coincide con un antecesor en xsl:number. Destino = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Sintaxis antigua: El nombre del atributo 'expr' se ha cambiado por 'select'."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan no maneja a\u00fan el nombre de entorno local en la funci\u00f3n format-number."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Aviso: No se ha podido encontrar el entorno local para xml:lang={0}"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "No se puede crear URL desde: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "No se puede cargar el doc solicitado: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "No se ha podido encontrar clasificador para <sort xml:lang={0}"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Sintaxis antigua: La instrucci\u00f3n functions deber\u00eda utilizar un url de {0}"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "Codificaci\u00f3n no soportada: {0}, se utiliza UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "Codificaci\u00f3n no soportada: {0}, se utiliza Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Se han encontrado conflictos de especificaci\u00f3n: {0} Se utilizar\u00e1 lo \u00faltimo encontrado en la hoja de estilos."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= Analizando y preparando {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Plantilla de atributos, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "Conflicto de coincidencia entre xsl:strip-space y xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan no maneja a\u00fan el atributo {0}."},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "No se ha encontrado declaraci\u00f3n para el formato decimal: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Falta el espacio de nombres XSLT o es incorrecto. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "S\u00f3lo se permite una declaraci\u00f3n xsl:decimal-format predeterminada."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "Los nombres de xsl:decimal-format deben ser \u00fanicos. El nombre \"{0}\" se ha duplicado."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} tiene un atributo no permitido: {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "No se ha podido resolver el prefijo del espacio de nombres: {0}. Se ignorar\u00e1 el nodo."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet necesita un atributo 'version'."},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Nombre de atributo no permitido: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "Se ha utilizado un valor no permitido para el atributo {0}: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "El NodeSet resultante del segundo argumento de la funci\u00f3n del documento est\u00e1 vac\u00edo. Devuelve un conjunto de nodos vac\u00edo."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "El valor del atributo 'name' de nombre xsl:processing-instruction no debe ser 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "El valor del atributo ''name'' de xsl:processing-instruction debe ser un NCName v\u00e1lido: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "No se puede a\u00f1adir el atributo {0} despu\u00e9s de nodos hijo o antes de que se produzca un elemento.  Se ignorar\u00e1 el atributo."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "Se ha intentado modificar un objeto que no admite modificaciones. "
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "es"},
-  {  "help_language",  "es" },
-  {  "language",  "es" },
-  { "BAD_CODE", "El par\u00e1metro para createMessage estaba fuera de los l\u00edmites"},
-  {  "FORMAT_FAILED", "Se ha generado una excepci\u00f3n durante la llamada messageFormat"},
-  {  "version", ">>>>>>> Xalan versi\u00f3n "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "s\u00ed"},
-  { "line", "L\u00ednea n\u00fam."},
-  { "column","Columna n\u00fam."},
-  { "xsldone", "XSLProcessor: terminado"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Opciones de la clase Process de la l\u00ednea de mandatos Xalan-J:"},
-  { "xslProc_option", "Opciones de la clase Process de la l\u00ednea de mandatos Xalan-J\u003a"},
-  { "xslProc_invalid_xsltc_option", "La opci\u00f3n {0} no est\u00e1 soportada en modalidad XSLTC."},
-  { "xslProc_invalid_xalan_option", "La opci\u00f3n {0} s\u00f3lo puede utilizarse con -XSLTC."},
-  { "xslProc_no_input", "Error: No se ha especificado ninguna hoja de estilos ni xml de entrada. Ejecute este mandato sin opciones para ver las instrucciones de uso."},
-  { "xslProc_common_options", "-Opciones comunes-"},
-  { "xslProc_xalan_options", "-Opciones para Xalan-"},
-  { "xslProc_xsltc_options", "-Opciones para XSLTC-"},
-  { "xslProc_return_to_continue", "(pulse <Intro> para continuar)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "[-XSLTC (Utilizar XSLTC para transformaci\u00f3n)]"},
-  { "optionIN", "[-IN URL_XML_entrada]"},
-  { "optionXSL", "[-XSL URL_transformaci\u00f3n_XSL]"},
-  { "optionOUT",  "[-OUT nombre_archivo_salida]"},
-  { "optionLXCIN", "[-LXCIN entrada_nombre_archivo_hoja_estilos_compilada]"},
-  { "optionLXCOUT", "[-LXCOUT salida_nombre_archivo_hoja_estilos_compilada]"},
-  { "optionPARSER", "[-PARSER nombre de clase completamente cualificado del enlace del analizador]"},
-  {  "optionE", "[-E (No expandir referencias de entidades)]"},
-  {  "optionV",  "[-E (No expandir referencias de entidades)]"},
-  {  "optionQC", "[-QC (Avisos silenciosos de conflictos de patrones)]"},
-  {  "optionQ", "[-Q  (Modalidad silenciosa)]"},
-  {  "optionLF", "[-LF (Utilizar s\u00f3lo avances de l\u00ednea en la salida {el valor predeterminado es CR/LF})]"},
-  {  "optionCR", "[-CR (Utilizar s\u00f3lo retornos de carro en la salida {el valor predeterminado es CR/LF})]"},
-  { "optionESCAPE", "[-ESCAPE (Caracteres con escape {el valor predeterminado es <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "[-INDENT (Controlar el n\u00famero de espacios de sangrado {el valor predeterminado es 0})]"},
-  { "optionTT", "[-TT (Rastrear las plantillas a medida que se llaman.)]"},
-  { "optionTG", "[-TG (Rastrear cada suceso de generaci\u00f3n.)]"},
-  { "optionTS", "[-TS (Rastrear cada suceso de selecci\u00f3n.)]"},
-  {  "optionTTC", "[-TTC (Rastrear los hijos de plantillas a medida que se procesan.)]"},
-  { "optionTCLASS", "[-TCLASS (Clase TraceListener para extensiones de rastreo.)]"},
-  { "optionVALIDATE", "[-VALIDATE (Establecer si se realiza la validaci\u00f3n.  De forma predeterminada la validaci\u00f3n est\u00e1 desactivada.)]"},
-  { "optionEDUMP", "[-EDUMP {nombre de archivo opcional} (Realizar vuelco de pila si se produce un error.)]"},
-  {  "optionXML", "[-XML (Utilizar el formateador XML y a\u00f1adir la cabecera XML.)]"},
-  {  "optionTEXT", "[-TEXT (Utilizar el formateador de texto sencillo.)]"},
-  {  "optionHTML", "[-HTML (Utilizar el formateador HTML.)]"},
-  {  "optionPARAM", "[-PARAM expresi\u00f3n de nombre (Establecer un par\u00e1metro de hoja de estilos)]"},
-  {  "noParsermsg1", "El proceso XSL no ha sido satisfactorio."},
-  {  "noParsermsg2", "** No se ha podido encontrar el analizador **"},
-  { "noParsermsg3",  "Compruebe la classpath."},
-  { "noParsermsg4", "Si no dispone del analizador XML para Java de IBM, puede descargarlo de"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "[-URIRESOLVER nombre de clase completo (URIResolver a utilizar para resolver URI)]"},
-  { "optionENTITYRESOLVER",  "[-ENTITYRESOLVER nombre de clase completo (EntityResolver a utilizar para resolver entidades)]"},
-  { "optionCONTENTHANDLER",  "[-CONTENTHANDLER nombre de clase completo (ContentHandler a utilizar para serializar la salida)]"},
-  {  "optionLINENUMBERS",  "[-L utilizar n\u00fameros de l\u00ednea para el documento fuente]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (establecer la caracter\u00edstica de proceso seguro en true.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "[-MEDIA tipo_soporte (Utilizar el atributo de soporte para encontrar la hoja de estilos asociada con un documento.)]"},
-  {  "optionFLAVOR",  "[-FLAVOR nombre_estilo (Utilizar expl\u00edcitamente s2s=SAX o d2d=DOM para realizar la transformaci\u00f3n.)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "[-DIAG (Imprimir el total de milisegundos que lleva la transformaci\u00f3n.)]"},
-  { "optionINCREMENTAL",  "[-INCREMENTAL (Solicitar construcci\u00f3n DTM incremental estableciendo http://xml.apache.org/xalan/features/incremental como verdadero.)]"},
-  {  "optionNOOPTIMIMIZE",  "[-NOOPTIMIMIZE (Solicitar proceso de optimizaci\u00f3n de hoja de estilos estableciendo http://xml.apache.org/xalan/features/optimize como falso.)]"},
-  { "optionRL",  "[-RL l\u00edmite_recursi\u00f3n (L\u00edmite num\u00e9rico de aserci\u00f3n sobre profundidad de recursi\u00f3n de hoja de estilos.)]"},
-  {   "optionXO",  "[-XO [nombreTranslet] (Asignar el nombre al translet generado)]"},
-  {  "optionXD", "[-XD directorioDestino (Especificar un directorio de destino para translet)]"},
-  {  "optionXJ",  "[-XJ archivoJar (Empaqueta las clases translet en un archivo jar de nombre <archivoJar>)]"},
-  {   "optionXP",  "[-XP paquete (Especifica un prefijo para el nombre del paquete de todas las clases translet generadas)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "[-XN (habilita la inclusi\u00f3n en l\u00ednea de plantillas)]" },
-  { "optionXX",  "[-XX (activa la salida de mensajes de depuraci\u00f3n adicionales)]"},
-  { "optionXT" , "[-XT (utilizar translet para transformar si es posible)]"},
-  { "diagTiming","--------- La transformaci\u00f3n de {0} mediante {1} ha durado {2} ms" },
-  { "recursionTooDeep","Anidado de plantilla demasiado profundo. anidado = {0}, plantilla {1} {2}" },
-  { "nameIs", "el nombre es" },
-  { "matchPatternIs", "el patr\u00f3n de coincidencia es" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Error: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Aviso: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("es", "ES"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_fr.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_fr.java
deleted file mode 100644
index 342d308..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_fr.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_fr.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_fr extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Erreur : '{' interdit dans une expression"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} comporte un attribut incorrect : {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "sourceNode est vide dans xsl:apply-imports !"},
-
-  {ER_CANNOT_ADD,
-      "Impossible d''ajouter {0} \u00e0 {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "sourceNode est vide dans handleApplyTemplatesInstruction !"},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} doit poss\u00e9der un attribut de nom."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "Impossible de trouver le mod\u00e8le : {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "Impossible de convertir l'AVT du nom dans xsl:call-template."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} requiert l''attribut : {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} doit avoir un attribut ''test''."},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "Valeur erron\u00e9e dans l''attribut de niveau : {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Le nom de l'instruction de traitement ne peut \u00eatre 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Le nom de l''instruction de traitement doit \u00eatre un NCName valide : {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} doit poss\u00e9der un attribut de correspondance s''il poss\u00e8de un mode."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} requiert un nom ou un attribut de correspondance."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "Impossible de r\u00e9soudre le pr\u00e9fixe de l''espace de noms : {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space comporte une valeur non valide : {0}"},
-
-    { ER_NO_OWNERDOC,
-      "Le noeud enfant ne poss\u00e8de pas de document propri\u00e9taire !"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "Erreur de ElemTemplateElement : {0}"},
-
-    { ER_NULL_CHILD,
-     "Tentative d'ajout d'un enfant vide !"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} requiert un attribut de s\u00e9lection."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when doit poss\u00e9der un attribut 'test'."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param doit poss\u00e9der un attribut 'name'."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "Le contexte ne poss\u00e8de pas de document propri\u00e9taire !"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "Impossible de cr\u00e9er XML TransformerFactory Liaison : {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Echec du processus Xalan."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Echec de Xalan."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "Encodage non pris en charge : {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "Impossible de cr\u00e9er TraceListener : {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key requiert un attribut 'name' !"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key requiert un attribut 'match' !"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key requiert un attribut 'use' !"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} requiert un attribut ''elements''"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "L''attribut ''prefix'' de (StylesheetHandler) {0} est manquant"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "URL de la feuille de style erron\u00e9 : {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "Fichier de la feuille de style introuvable : {0}"},
-
-    { ER_IOEXCEPTION,
-      "Exception d''E-S avec le fichier de la feuille de style : {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) Impossible de trouver d''attribut href pour {0}"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} est directement ou indirectement inclus dans lui-m\u00eame !"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "Erreur de StylesheetHandler.processInclude, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "L''attribut ''lang'' de (StylesheetHandler) {0} est manquant"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) position de l''\u00e9l\u00e9ment {0} inad\u00e9quate ? El\u00e9ment ''component'' de conteneur manquant"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "Seule sortie possible vers Element, DocumentFragment, Document ou PrintWriter."},
-
-    { ER_PROCESS_ERROR,
-     "Erreur de StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "Erreur de UnImplNode : {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Erreur ! Impossible de trouver l'expression de s\u00e9lection xpath (-select)."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "Impossible de s\u00e9rialiser un XSLProcessor !"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "Entr\u00e9e de feuille de style non sp\u00e9cifi\u00e9e !"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "Impossible de traiter la feuille de style !"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "Impossible d''analyser le document {0} !"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "Impossible de trouver le fragment : {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "Le noeud d\u00e9sign\u00e9 par l''identificateur de fragment n''est pas un \u00e9l\u00e9ment : {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each doit poss\u00e9der un attribut de correspondance ou de nom"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "Les mod\u00e8les doivent poss\u00e9der un attribut de correspondance ou de nom"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "Pas de clone dans un fragment de document !"},
-
-    { ER_CANT_CREATE_ITEM,
-      "Impossible de cr\u00e9er l''\u00e9l\u00e9ment dans l''arborescence de r\u00e9sultats : {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "xml:space du source XML poss\u00e8de une valeur incorrecte : {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "Aucune d\u00e9claration xsl:key pour {0} !"},
-
-    { ER_CANT_CREATE_URL,
-     "Erreur ! Impossible de cr\u00e9er une URL pour : {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions n'est pas pris en charge"},
-
-    { ER_PROCESSOR_ERROR,
-     "Erreur TransformerFactory de XSLT"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} n''est pas pris en charge dans une feuille de style !"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns n'est plus pris en charge !  Pr\u00e9f\u00e9rez xsl:output."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space n'est plus pris en charge !  Pr\u00e9f\u00e9rez xsl:strip-space ou xsl:preserve-space."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result n'est plus pris en charge !  Pr\u00e9f\u00e9rez xsl:output."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} comporte un attribut incorrect : {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "El\u00e9ment XSL inconnu : {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort ne peut \u00eatre utilis\u00e9 qu'avec xsl:apply-templates ou xsl:for-each."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when ne figure pas \u00e0 la bonne position !"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when sans rapport avec xsl:choose !"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise ne figure pas \u00e0 la bonne position !"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise sans rapport avec xsl:choose !"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} n''est pas admis dans un mod\u00e8le !"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0} pr\u00e9fixe de l''espace de noms de l''extension {1} inconnu"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Les importations peuvent \u00eatre effectu\u00e9es uniquement en tant que premiers \u00e9l\u00e9ments de la feuille de style !"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} s''importe lui-m\u00eame directement ou indirectement !"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space poss\u00e8de une valeur incorrecte : {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "Echec de processStylesheet !"},
-
-    { ER_SAX_EXCEPTION,
-     "Exception SAX"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "Fonction non prise en charge !"},
-
-
-    { ER_XSLT_ERROR,
-     "Erreur XSLT"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "Tout symbole mon\u00e9taire est interdit dans une cha\u00eene de motif de correspondance"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "Fonction de document non prise en charge dans le DOM de la feuille de style !"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "Impossible de r\u00e9soudre le pr\u00e9fixe du solveur !"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Extension de redirection : Impossible d'extraire le nom du fichier - l'attribut de fichier ou de s\u00e9lection doit retourner une cha\u00eene valide."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "Impossible de cr\u00e9er FormatterListener dans une extension Redirect !"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "Pr\u00e9fixe de exclude-result-prefixes non valide : {0}"},
-
-    { ER_MISSING_NS_URI,
-      "URI de l'espace de noms manquant pour le pr\u00e9fixe indiqu\u00e9"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Argument manquant pour l''option : {0}"},
-
-    { ER_INVALID_OPTION,
-     "Option incorrecte : {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Cha\u00eene de format mal form\u00e9e : {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet requiert un attribut 'version' !"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "L''attribut : {0} poss\u00e8de une valeur non valide : {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose requiert xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports interdit dans un xsl:for-each"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "Impossible d'utiliser DTMLiaison pour un noeud de DOM en sortie... Transmettez org.apache.xpath.DOM2Helper \u00e0 la place !"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "Impossible d'utiliser DTMLiaison pour un noeud de DOM en entr\u00e9e... Transmettez org.apache.xpath.DOM2Helper \u00e0 la place !"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "Echec de l''appel de l''\u00e9l\u00e9ment d''extension : {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Le pr\u00e9fixe doit se convertir en espace de noms : {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "Substitut UTF-16 non valide d\u00e9tect\u00e9 : {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} s''utilise lui-m\u00eame, ce qui provoque une boucle infinie."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "Impossible de m\u00e9langer une entr\u00e9e autre que Xerces-DOM avec une sortie Xerces-DOM !"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "Dans ElemTemplateElement.readObject : {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Plusieurs mod\u00e8les s''appellent : {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "Appel de fonction non valide : appels de key() r\u00e9cursifs interdits"},
-
-    { ER_REFERENCING_ITSELF,
-      "La variable {0} fait r\u00e9f\u00e9rence \u00e0 elle-m\u00eame directement ou indirectement !"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "Le noeud d'entr\u00e9e ne peut \u00eatre vide pour un DOMSource de newTemplates !"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "Fichier de classe introuvable pour l''option {0}"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "El\u00e9ment requis introuvable : {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream ne doit pas \u00eatre vide"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "L'URI ne doit pas \u00eatre vide"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "Le fichier ne doit pas \u00eatre vide"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource ne doit pas \u00eatre vide"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "Impossible d'initialiser le gestionnaire de BSF"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "Impossible de compiler l'extension"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "Impossible de cr\u00e9er l''extension : {0} en raison de : {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "L''appel de la m\u00e9thode d''instance de la m\u00e9thode {0} requiert une instance d''Object comme premier argument"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "Nom d''\u00e9l\u00e9ment non valide sp\u00e9cifi\u00e9 {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "La m\u00e9thode de nom d''\u00e9l\u00e9ment doit \u00eatre statique {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "La fonction d''extension {0} : {1} est inconnue"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "Plusieurs occurrences proches pour le constructeur de {0}"},
-
-    { ER_MORE_MATCH_METHOD,
-             "Plusieurs occurrences proches pour la m\u00e9thode {0}"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "Plusieurs occurrences proches pour la m\u00e9thode d''\u00e9l\u00e9ment {0}"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "Contexte non valide transmis pour \u00e9valuer {0}"},
-
-    { ER_POOL_EXISTS,
-             "Pool d\u00e9j\u00e0 existant"},
-
-    { ER_NO_DRIVER_NAME,
-             "Aucun nom de p\u00e9riph\u00e9rique indiqu\u00e9"},
-
-    { ER_NO_URL,
-             "Aucune URL sp\u00e9cifi\u00e9e"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "La taille du pool est inf\u00e9rieure \u00e0 1 !"},
-
-    { ER_INVALID_DRIVER,
-             "Nom de pilote non valide sp\u00e9cifi\u00e9 !"},
-
-    { ER_NO_STYLESHEETROOT,
-             "Impossible de trouver la racine de la feuille de style !"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Valeur incorrecte pour xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "Echec de processFromNode"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "La ressource [ {0} ] n''a pas pu charger : {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Taille du tampon <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Erreur inconnue lors de l'appel de l'extension"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "Le pr\u00e9fixe {0} ne poss\u00e8de pas de d\u00e9claration d''espace de noms correspondante"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "Contenu d''\u00e9l\u00e9ment interdit pour lang=javaclass {0}"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "La feuille de style a provoqu\u00e9 l'arr\u00eat"},
-
-    { ER_ONE_OR_TWO,
-        "1 ou 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 ou 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "Impossible de charger {0} (v\u00e9rifier CLASSPATH), les valeurs par d\u00e9faut sont donc employ\u00e9es"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Impossible d'initialiser les mod\u00e8les par d\u00e9faut"},
-
-    { ER_RESULT_NULL,
-        "Le r\u00e9sultat doit \u00eatre vide"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "Le r\u00e9sultat ne peut \u00eatre d\u00e9fini"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "Aucune sortie sp\u00e9cifi\u00e9e"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "Transformation impossible vers un r\u00e9sultat de type {0}"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "Impossible de transformer une source de type {0}"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Gestionnaire de contenu vide"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Gestionnaire d'erreurs vide"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "L'analyse ne peut \u00eatre appel\u00e9e si le ContentHandler n'a pas \u00e9t\u00e9 d\u00e9fini"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "Pas de parent pour le filtre"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "Aucune feuille de style dans : {0}, support = {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "Pas de PI xml-stylesheet dans : {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "Non pris en charge : {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "La valeur de la propri\u00e9t\u00e9 {0} doit \u00eatre une instance bool\u00e9enne"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "Impossible d''extraire le script externe \u00e0 {0}"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "La ressource [ {0} ] est introuvable.\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "Propri\u00e9t\u00e9 de sortie non identifi\u00e9e : {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "Impossible de cr\u00e9er une instance de ElemLiteralResult"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "La valeur de {0} doit contenir un nombre analysable"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "La valeur de {0} doit \u00eatre oui ou non"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "Echec de l''appel de la m\u00e9thode {0}"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "Echec de la cr\u00e9ation de l'instance de ElemTemplateElement"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "La pr\u00e9sence de caract\u00e8res n'est pas admise \u00e0 cet endroit du document"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "L''attribut \"{0}\" n''est pas admis sur l''\u00e9l\u00e9ment {1} !"},
-
-    { ER_BAD_VALUE,
-     "{0} valeur erron\u00e9e {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "Impossible de trouver la valeur de l''attribut {0} "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "Valeur de l''attribut {0} non identifi\u00e9e "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "Tentative de cr\u00e9ation d'un pr\u00e9fixe d'espace de noms avec un URI vide"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "Tentative de formatage d'un nombre sup\u00e9rieur \u00e0 l'entier Long le plus \u00e9lev\u00e9"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "Impossible de trouver la classe {0} du pilote SAX1"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "Classe {0} du pilote SAX1 trouv\u00e9e mais non charg\u00e9e"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "Classe {0} du pilote SAX1 trouv\u00e9e mais non instanci\u00e9e"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "La classe {0} du pilote SAX1 n''impl\u00e9mente pas org.xml.sax.Parser"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "Propri\u00e9t\u00e9 syst\u00e8me org.xml.sax.parser non sp\u00e9cifi\u00e9e"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "L'argument de l'analyseur ne doit pas \u00eatre vide"},
-
-    { ER_FEATURE,
-     "Fonction : {0}"},
-
-    { ER_PROPERTY,
-     "Propri\u00e9t\u00e9 : {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Solveur d'entit\u00e9 vide"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Gestionnaire de DT vide"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "Aucun nom de pilote sp\u00e9cifi\u00e9 !"},
-
-    { ER_NO_URL_SPECIFIED,
-     "Aucune URL sp\u00e9cifi\u00e9e !"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "La taille du pool est inf\u00e9rieure \u00e0 1 !"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "Nom de pilote non valide sp\u00e9cifi\u00e9 !"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Erreur de programme ! L'expression n'a pas de parent ElemTemplateElement !"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Assertion du programmeur dans RedundentExprEliminator : {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} ne peut pas figurer \u00e0 cette position dans la feuille de style !"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "Seul de l'espace est accept\u00e9 \u00e0 cette position dans la feuille de style !"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "Valeur incorrecte : {1} utilis\u00e9e pour l''attribut CHAR : {0}. Un attribut de type CHAR ne peut comporter qu''un seul caract\u00e8re !"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "Valeur incorrecte : {1} utilis\u00e9e pour l''attribut QNAME : {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "Valeur incorrecte : {1} utilis\u00e9e pour l''attribut ENUM : {0}. Les valeurs autoris\u00e9es sont : {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "Valeur incorrecte : {1} utilis\u00e9e pour l''attribut NMTOKEN : {0}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "Valeur incorrecte : {1} utilis\u00e9e pour l''attribut NCNAME : {0}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Valeur incorrecte : {1} utilis\u00e9e pour l''attribut bool\u00e9en : {0}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Valeur incorrecte : {1} utilis\u00e9e pour l''attribut number : {0}. "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "L''argument de {0} dans le motif de correspondance doit \u00eatre un litt\u00e9ral."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "D\u00e9claration de variable globale en double."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "D\u00e9claration de variable en double."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template doit comporter un attribut name et/ou match"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "Pr\u00e9fixe de exclude-result-prefixes non valide : {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "attribute-set {0} n''existe pas"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "La fonction {0} n''existe pas"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "L''\u00e9l\u00e9ment {0} ne peut poss\u00e9der un attribut content et un attribut select."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "La valeur du param\u00e8tre {0} doit \u00eatre un objet Java valide"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "L'attribut result-prefix d'un \u00e9l\u00e9ment xsl:namespace-alias a la valeur '#default', mais il n'existe aucune d\u00e9claration de l'espace de noms par d\u00e9faut dans la port\u00e9e de l'\u00e9l\u00e9ment"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "L''attribut result-prefix d''un \u00e9l\u00e9ment xsl:namespace-alias a la valeur ''{0}'', mais il n''existe aucune d\u00e9claration d''espace de noms pour le pr\u00e9fixe ''{0}'' dans la port\u00e9e de l''\u00e9l\u00e9ment."},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "Le nom de la fonction ne peut pas avoir une valeur null dans TransformerFactory.setFeature (nom cha\u00eene, valeur bool\u00e9nne)."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "Le nom de la fonction ne peut pas avoir une valeur null dans TransformerFactory.getFeature (nom cha\u00eene)."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "Impossible de d\u00e9finir la fonction ''{0}'' sur cet \u00e9l\u00e9ment TransformerFactory."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "L''utilisation de l''\u00e9l\u00e9ment d''extension ''{0}'' n''est pas admise lorsque la fonction de traitement s\u00e9curis\u00e9e a la valeur true."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "Impossible d'obtenir le pr\u00e9fixe pour un uri d'espace de noms null."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "Impossible d'obtenir l'uri d'espace de noms pour le pr\u00e9fixe null."},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "Le nom de la fonction ne peut pas avoir une valeur null."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "La parit\u00e9 ne peut pas \u00eatre n\u00e9gative."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "Une accolade ('}') a \u00e9t\u00e9 trouv\u00e9e alors qu'aucun mod\u00e8le d'attribut n'est ouvert !"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Avertissement : L''attribut de count n''a pas d''ascendant dans xsl:number ! Cible = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Syntaxe obsol\u00e8te : Le nom de l'attribut 'expr' a \u00e9t\u00e9 remplac\u00e9 par 'select'."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan ne g\u00e8re pas encore le nom d'environnement local de la fonction format-number."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Avertissement : Impossible de trouver un environnement local pour xml:lang={0}"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "Impossible de cr\u00e9er l''URL \u00e0 partir de : {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "Impossible de charger le document demand\u00e9 : {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "Impossible de trouver une fonction de regroupement pour <sort xml:lang= {0}"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Syntaxe obsol\u00e8te : L''instruction de fonction doit utiliser une URL {0}"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "encodage non pris en charge : {0}, en utilisant UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "encodage non pris en charge : {0}, en utilisant Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Conflits de sp\u00e9cificit\u00e9s trouv\u00e9s : {0} La derni\u00e8re de la feuille de style sera employ\u00e9e."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= Analyse et pr\u00e9paration de {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Mod\u00e8le d''attribut, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "Conflit de correspondances entre xsl:strip-space et xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan ne g\u00e8re pas encore l''attribut {0} !"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "Pas de d\u00e9claration pour le format d\u00e9cimal : {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Espace de noms XSLT manquant ou incorrect. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Une seule d\u00e9claration xsl:decimal-format par d\u00e9faut est admise."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "Les noms xsl:decimal-format doivent \u00eatre uniques. Le nom \"{0}\" a \u00e9t\u00e9 dupliqu\u00e9."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} comporte un attribut incorrect : {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "Impossible de convertir le pr\u00e9fixe de l''espace de noms : {0}. Le noeud n''est pas trait\u00e9."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet requiert un attribut 'version' !"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Nom d''attribut incorrect : {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "Valeur incorrecte pour l''attribut {0} : {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "L'ensemble de noeuds r\u00e9sultant du second argument de la fonction du document est vide. Un ensemble de noeuds vide est retourn\u00e9."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "La valeur de l'attribut 'name' de xsl:processing-instruction doit \u00eatre diff\u00e9rente de 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "La valeur de l''attribut ''name'' de xsl:processing-instruction doit \u00eatre un nom NCName valide : {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Ajout impossible de l''attribut {0} apr\u00e8s des noeuds enfants ou avant la production d''un \u00e9l\u00e9ment. L''attribut est ignor\u00e9."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "Tentative de modification d'un objet qui n'accepte pas les modifications."
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "en"},
-  {  "help_language",  "en" },
-  {  "language",  "en" },
-  { "BAD_CODE", "Le param\u00e8tre de createMessage se trouve hors limites"},
-  {  "FORMAT_FAILED", "Exception soulev\u00e9e lors de l'appel de messageFormat"},
-  {  "version", ">>>>>>> Version de Xalan "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "oui"},
-  { "line", "Ligne #"},
-  { "column","Colonne #"},
-  { "xsldone", "XSLProcessor : termin\u00e9"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Options de classe Process de ligne de commande Xalan-J :"},
-  { "xslProc_option", "Options de classe Process de ligne de commande Xalan-J\u003a"},
-  { "xslProc_invalid_xsltc_option", "L''option {0} n''est pas prise en charge en mode XSLTC."},
-  { "xslProc_invalid_xalan_option", "L''option {0} s''utilise uniquement avec -XSLTC."},
-  { "xslProc_no_input", "Erreur : Aucun xml de feuille de style ou d'entr\u00e9e n'est sp\u00e9cifi\u00e9. Ex\u00e9cutez cette commande sans option pour les instructions d'utilisation."},
-  { "xslProc_common_options", "-Options courantes-"},
-  { "xslProc_xalan_options", "-Options pour Xalan-"},
-  { "xslProc_xsltc_options", "-Options pour XSLTC-"},
-  { "xslProc_return_to_continue", "(appuyez sur <Retour> pour continuer)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "   [-XSLTC (utilisez XSLTC pour la transformation)]"},
-  { "optionIN", "   [-IN inputXMLURL]"},
-  { "optionXSL", "   [-XSL URLXSLTransformation]"},
-  { "optionOUT",  "   [-OUT nomFichierSortie]"},
-  { "optionLXCIN", "   [-LXCIN NomFichierFeuilleDeStylesCompil\u00e9Entr\u00e9e]"},
-  { "optionLXCOUT", "   [-LXCOUT NomFichierFeuilleDeStylesCompil\u00e9Sortie]"},
-  { "optionPARSER", "   [-PARSER nom de classe pleinement qualifi\u00e9 pour la liaison de l'analyseur]"},
-  {  "optionE", "   [-E (Ne pas d\u00e9velopper les r\u00e9f. d'entit\u00e9)]"},
-  {  "optionV",  "   [-E (Ne pas d\u00e9velopper les r\u00e9f. d'entit\u00e9)]"},
-  {  "optionQC", "   [-QC (Avertissements brefs de conflits de motifs)]"},
-  {  "optionQ", "   [-Q  (Mode bref)]"},
-  {  "optionLF", "   [-LF (Utilise des sauts de ligne uniquement dans la sortie {CR/LF par d\u00e9faut})]"},
-  {  "optionCR", "   [-LF (Utilise des retours chariot uniquement dans la sortie {CR/LF par d\u00e9faut})]"},
-  { "optionESCAPE", "   [-ESCAPE (Caract\u00e8res d'\u00e9chappement {<>&\"\'\\r\\n par d\u00e9faut}]"},
-  { "optionINDENT", "   [-INDENT (Nombre d'espaces pour le retrait {par d\u00e9faut 0})]"},
-  { "optionTT", "   [-TT (Contr\u00f4le les appels de mod\u00e8les - fonction de trace.)]"},
-  { "optionTG", "   [-TG (Contr\u00f4le chaque \u00e9v\u00e9nement de g\u00e9n\u00e9ration - fonction de trace.)]"},
-  { "optionTS", "   [-TS (Contr\u00f4le chaque \u00e9v\u00e9nement de s\u00e9lection - fonction de trace.)]"},
-  {  "optionTTC", "   [-TTC (Contr\u00f4le les enfants du mod\u00e8le lors de leur traitement - fonction de trace.)]"},
-  { "optionTCLASS", "   [-TCLASS (Classe TraceListener pour les extensions de trace.)]"},
-  { "optionVALIDATE", "   [-VALIDATE (Indique si la validation se produit. La validation est d\u00e9sactiv\u00e9e par d\u00e9faut.)]"},
-  { "optionEDUMP", "   [-EDUMP {nom de fichier optionnel} (Cr\u00e9e un vidage de pile en cas d'erreur.)]"},
-  {  "optionXML", "   [-XML (Utilise un formateur XML et ajoute un en-t\u00eate XML.)]"},
-  {  "optionTEXT", "   [-TEXT (Utilise un formateur de texte simple.)]"},
-  {  "optionHTML", "   [-HTML (Utilise un formateur HTML.)]"},
-  {  "optionPARAM", "   [-PARAM nom expression (D\u00e9finit un param\u00e8tre de feuille de style)]"},
-  {  "noParsermsg1", "Echec du processus XSL."},
-  {  "noParsermsg2", "** Analyseur introuvable **"},
-  { "noParsermsg3",  "V\u00e9rifiez le chemin d'acc\u00e8s des classes."},
-  { "noParsermsg4", "XML Parser for Java disponible en t\u00e9l\u00e9chargement sur le site"},
-  { "noParsermsg5", "AlphaWorks de IBM : http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER nom de classe complet (Les URI sont r\u00e9solus par URIResolver)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER nom de classe complet (Les URI sont r\u00e9solus par EntityResolver)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER nom de classe complet (La s\u00e9rialisation de la sortie est effectu\u00e9e par ContentHandler)]"},
-  {  "optionLINENUMBERS",  "   [-L utilisation des num\u00e9ros de ligne pour le document source]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (attribuez la valeur true \u00e0 la fonction de traitement s\u00e9curis\u00e9.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA type_de_support (Utilise un attribut de support pour trouver la feuille de style associ\u00e9e \u00e0 un document.)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR sax_ou_dom (effectue la transformation \u00e0 l'aide de SAX (s2s) ou de DOM (d2d).)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (affiche la dur\u00e9e globale de la transformation - en millisecondes.)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (construction incr\u00e9mentielle du DTM en d\u00e9finissant http://xml.apache.org/xalan/features/incremental true.)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (pas de traitement d'optimisation des feuilles de style en d\u00e9finissant http://xml.apache.org/xalan/features/optimize false.)]"},
-  { "optionRL",  "   [-RL r\u00e9cursivit\u00e9_maxi (limite de la profondeur de la r\u00e9cursivit\u00e9 pour les feuilles de style.)]"},
-  {   "optionXO",  "   [-XO [nom_translet] (assignation du nom au translet g\u00e9n\u00e9r\u00e9)]"},
-  {  "optionXD", "   [-XD r\u00e9pertoire_cible (sp\u00e9cification d'un r\u00e9pertoire de destination pour translet)]"},
-  {  "optionXJ",  "   [-XJ fichier_jar (r\u00e9union des classes translet dans un fichier jar appel\u00e9 <fichier_jar>)]"},
-  {   "optionXP",  "   [-XP module (sp\u00e9cification d'un pr\u00e9fixe de nom de module pour toutes les classes translet g\u00e9n\u00e9r\u00e9es)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "   [-XN (activation de la mise en ligne de mod\u00e8le)]" },
-  { "optionXX",  "   [-XX (activation du d\u00e9bogage suppl\u00e9mentaire de sortie de message)]"},
-  { "optionXT" , "   [-XT (utilisation de translet pour la transformation si possible)]"},
-  { "diagTiming"," --------- La transformation de {0} via {1} a pris {2} ms" },
-  { "recursionTooDeep","Trop grande imbrication de mod\u00e8le. imbrication = {0}, mod\u00e8le {1} {2}" },
-  { "nameIs", "le nom est" },
-  { "matchPatternIs", "le motif de correspondance est" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Erreur : ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Avertissement : ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_hu.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_hu.java
deleted file mode 100644
index 758e57b..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_hu.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_hu.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_hu extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Hiba: Nem lehet '{' a kifejez\u00e9seken bel\u00fcl"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "A(z) {0}-nak \u00e9rv\u00e9nytelen attrib\u00fatuma van: {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "A sourceNode \u00e9rt\u00e9ke null az xsl:apply-imports met\u00f3dusban."},
-
-  {ER_CANNOT_ADD,
-      "Nem lehet a(z) {0}-t felvenni a(z) {1}-ba"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "A sourceNode null a handleApplyTemplatesInstruction-ban!"},
-
-    { ER_NO_NAME_ATTRIB,
-     "A(z) {0}-nak kell legyen name attrib\u00fatuma."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "Nem tal\u00e1lhat\u00f3 {0} nev\u0171 sablon"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "Nem lehet feloldani a n\u00e9v AVT-t az xsl:call-template-ben."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0}-nek attrib\u00fatum sz\u00fcks\u00e9ges: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "A(z) {0} -nak kell legyen ''test'' attrib\u00fatuma. "},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "Rossz \u00e9rt\u00e9k a level attrib\u00fatumban: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "A feldolgoz\u00e1si utas\u00edt\u00e1s neve nem lehet 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "A feldolgoz\u00e1si utas\u00edt\u00e1s neve \u00e9rv\u00e9nyes NCName kell legyen: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "A(z) {0}-nek kell legyen illeszked\u00e9si attrib\u00fatuma, ha van m\u00f3dja."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "A(z) {0}-nak kell vagy n\u00e9v vagy illeszked\u00e9si attrib\u00fatum."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "Nem lehet feloldani a n\u00e9vt\u00e9r el\u0151tagot: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "Az xml:space \u00e9rt\u00e9ke \u00e9rv\u00e9nytelen: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "A lesz\u00e1rmazott csom\u00f3pontnak nincs tulajdonos dokumentuma!"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "ElemTemplateElement hiba: {0}"},
-
-    { ER_NULL_CHILD,
-     "K\u00eds\u00e9rlet null lesz\u00e1rmazott felv\u00e9tel\u00e9re!"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "A(z) {0}-nak kell kiv\u00e1laszt\u00e1si attrib\u00fatum."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "Az xsl:when-nek kell legyen 'test' attrib\u00fatuma."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "Az xsl:param-nak kell legyen 'name' attrib\u00fatuma."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "A k\u00f6rnyezetnek nincs tulajdonos dokumentuma!"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "Nem lehet XML TransformerFactory Liaison-t l\u00e9trehozni: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "A Xalan folyamat sikertelen volt."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: sikertelen volt."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "A k\u00f3dol\u00e1s nem t\u00e1mogatott: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "Nem lehet TraceListener-t l\u00e9trehozni: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "Az xsl:key-nek kell legyen 'name' attrib\u00fatuma!"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "Az xsl:key-nek kell legyen 'match' attrib\u00fatuma!"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "Az xsl:key-nek kell legyen 'use' attrib\u00fatuma!"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) A(z) {0}-nak kell legyen ''elements'' attrib\u00fatuma! "},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) A(z) {0}-nak hi\u00e1nyzik a ''prefix'' attrib\u00fatuma"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "A st\u00edluslap URL rossz: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "A st\u00edluslap f\u00e1jl nem tal\u00e1lhat\u00f3: {0}"},
-
-    { ER_IOEXCEPTION,
-      "IO kiv\u00e9tel t\u00f6rt\u00e9nt a st\u00edluslap f\u00e1jln\u00e1l: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) A(z) {0} href attrib\u00fatuma nem tal\u00e1lhat\u00f3"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) A(z) {0} k\u00f6zvetlen\u00fcl vagy k\u00f6zvetetten tartalmazza saj\u00e1t mag\u00e1t!"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "StylesheetHandler.processInclude hiba, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) A(z) {0}-nak hi\u00e1nyzik a ''lang'' attrib\u00fatuma "},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) Rosszul elhelyezett {0} elem?? Hi\u00e1nyzik a ''component'' t\u00e1rol\u00f3elem"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "Csak egy Element-be, DocumentFragment-be, Document-be vagy PrintWriter-be lehet kimenetet k\u00fcldeni."},
-
-    { ER_PROCESS_ERROR,
-     "StylesheetRoot.process hiba"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "UnImplNode hiba: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Hiba! Az xpath kiv\u00e1laszt\u00e1si kifejez\u00e9s nem tal\u00e1lhat\u00f3 (-select)."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "Nem lehet sorbarakni az XSLProcessor-t!"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "Nem adott meg st\u00edluslap bemenetet!"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "Nem siker\u00fclt feldolgozni a st\u00edluslapot!"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "Nem lehet elemezni a(z) {0} dokumentumot!"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "Nem tal\u00e1lhat\u00f3 a darab: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "A darab azonos\u00edt\u00f3 \u00e1ltal mutatott csom\u00f3pont nem elem: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "A for-each-nek legal\u00e1bb egy match vagy egy name attrib\u00fatuma kell legyen"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "A sablonoknak vagy match vagy name attrib\u00fatumuk kell legyen"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "Nincs kl\u00f3nja egy dokumentumdarabnak!"},
-
-    { ER_CANT_CREATE_ITEM,
-      "Nem lehet elemet l\u00e9trehozni az eredm\u00e9nyf\u00e1ban: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "Az xml:space-nek a forr\u00e1s XML-ben tiltott \u00e9rt\u00e9ke van: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "Nincs xsl:key deklar\u00e1ci\u00f3 a(z) {0}-hoz!"},
-
-    { ER_CANT_CREATE_URL,
-     "Hiba! Nem lehet URL-t l\u00e9trehozni ehhez: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "Az xsl:functions nem t\u00e1mogatott"},
-
-    { ER_PROCESSOR_ERROR,
-     "XSLT TransformerFactory hiba"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) A(z) {0} nem megengedett a st\u00edluslapon bel\u00fcl!"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "A result-ns t\u00f6bb\u00e9 m\u00e1r nem t\u00e1mogatott!  Haszn\u00e1lja ink\u00e1bb az xsl:output-ot."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "A default-space t\u00f6bb\u00e9 m\u00e1r nem t\u00e1mogatott!  Haszn\u00e1lja ink\u00e1bb az xsl:strip-space-t vagy az  xsl:preserve-space-t."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "Az indent-result t\u00f6bb\u00e9 m\u00e1r nem t\u00e1mogatott!  Haszn\u00e1lja ink\u00e1bb az xsl:output-ot."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) A(z) {0}-nak tiltott attrib\u00fatuma van: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Ismeretlen XSL elem: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) Az xsl:sort csak az xsl:apply-templates-szel vagy xsl:for-each-el egy\u00fctt haszn\u00e1lhat\u00f3."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) Rosszul elhelyezett xsl:when!"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) Az xsl:when sz\u00fcl\u0151je nem xsl:choose!"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) Rosszul elhelyezett xsl:otherwise!"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) Az xsl:otherwise sz\u00fcl\u0151je nem xsl:choose!"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) A(z) {0} nem megengedett sablonok belsej\u00e9ben!"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) A(z) {0} kiterjeszt\u00e9s n\u00e9vt\u00e9r el\u0151tag {1} ismeretlen"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Az import\u00e1l\u00e1sok csak a st\u00edluslap els\u0151 elemei lehetnek!"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) A(z) {0} k\u00f6zvetlen\u00fcl vagy k\u00f6zvetve tartalmazza saj\u00e1t mag\u00e1t!"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space \u00e9rt\u00e9ke nem megengedett: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "A processStylesheet sikertelen volt!"},
-
-    { ER_SAX_EXCEPTION,
-     "SAX kiv\u00e9tel"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "A f\u00fcggv\u00e9ny nem t\u00e1mogatott!"},
-
-
-    { ER_XSLT_ERROR,
-     "XSLT hiba"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "A p\u00e9nzjel nem megengedett a form\u00e1tum minta karakterl\u00e1ncban"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "A document funkci\u00f3 nem t\u00e1mogatott a Stylesheet DOM-ban!"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "Nem lehet feloldani az el\u0151tagot egy nem-el\u0151tag felold\u00f3nak!"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "\u00c1tir\u00e1ny\u00edt\u00e1s kiterjeszt\u00e9s: Nem lehet megkapni a f\u00e1jlnevet - a file vagy select attrib\u00fatumnak egy \u00e9rv\u00e9nyes karakterl\u00e1ncot kell visszaadnia."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "Nem lehet FormatterListener-t \u00e9p\u00edteni az \u00e1tir\u00e1ny\u00edt\u00e1s kiterjeszt\u00e9sben!"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "Az el\u0151tag az exclude-result-prefixes-ben nem \u00e9rv\u00e9nyes: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "Hi\u00e1nyzik a megadott el\u0151tag n\u00e9vt\u00e9r URI-ja"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Hi\u00e1nyzik az opci\u00f3 argumentuma: {0}"},
-
-    { ER_INVALID_OPTION,
-     "\u00c9rv\u00e9nytelen opci\u00f3: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Rossz form\u00e1tum\u00fa karakterl\u00e1nc: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "Az xsl:stylesheet-nek kell legyen 'version' attrib\u00fatuma!"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "A(z) {0} attib\u00fatum \u00e9rt\u00e9ke \u00e9rv\u00e9nytelen: {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "Az xsl:choose-hoz egy xsl:when sz\u00fcks\u00e9ges"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "Az xsl:apply-imports nem megengedett xsl:for-each-en bel\u00fcl"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "Nem haszn\u00e1lhat DTMLiaison-t kimeneti DOM csom\u00f3pontk\u00e9nt... adjon \u00e1t ink\u00e1bb egy org.apache.xpath.DOM2Helper-t!"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "Nem haszn\u00e1lhat DTMLiaison-t bemeneti DOM csom\u00f3pontk\u00e9nt... adjon \u00e1t ink\u00e1bb egy org.apache.xpath.DOM2Helper-t!"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "A kiterjeszt\u00e9s-elem megh\u00edv\u00e1sa sikertelen volt: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Az el\u0151tagnak egy n\u00e9vt\u00e9rre kell felold\u00f3dnia: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "\u00c9rv\u00e9nytelen UTF-16 helyettes\u00edt\u00e9s: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "A(z) {0} xsl:attribute-set-et saj\u00e1t mag\u00e1val haszn\u00e1lta, ami v\u00e9gtelen ciklust eredm\u00e9nyez."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "Nem keverheti a nem Xerces-DOM bemenetet a Xerces-DOM kimenettel!"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "Az ElemTemplateElement.readObject met\u00f3dusban: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Egyn\u00e9l t\u00f6bb ''{0}'' nev\u0171 sablont tal\u00e1ltam"},
-
-    { ER_INVALID_KEY_CALL,
-      "\u00c9rv\u00e9nytelen f\u00fcggv\u00e9nyh\u00edv\u00e1s: rekurz\u00edv key() h\u00edv\u00e1sok nem megengedettek"},
-
-    { ER_REFERENCING_ITSELF,
-      "A(z) {0} v\u00e1ltoz\u00f3 k\u00f6zvetlen\u00fcl vagy k\u00f6zvetve \u00f6nmag\u00e1ra hivatkozik!"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "A bemeneti csom\u00f3pont nem lehet null egy DOMSource-ban a newTemplates-hez!"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "Az oszt\u00e1ly f\u00e1jl nem tal\u00e1lhat\u00f3 a(z) {0} opci\u00f3hoz"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "A sz\u00fcks\u00e9ges elem nem tal\u00e1lhat\u00f3: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "Az InputStream nem lehet null"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "Az URI nem lehet null"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "A f\u00e1jl nem lehet null"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "Az InputSource nem lehet null"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "Nem lehet inicializ\u00e1lni a BSF kezel\u0151t"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "Nem lehet leford\u00edtani a kiterjeszt\u00e9st"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "Nem lehet l\u00e9trehozni a kiterjeszt\u00e9st ({0}) {1} miatt"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "Az {0} met\u00f3dus p\u00e9ld\u00e1ny met\u00f3dush\u00edv\u00e1s\u00e1hoz sz\u00fcks\u00e9g van egy objektump\u00e9ld\u00e1nyra els\u0151 argumentumk\u00e9nt"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "\u00c9rv\u00e9nytelen elemnevet adott meg {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "Az elemn\u00e9v met\u00f3dus statikus {0} kell legyen"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "{0} kiterjeszt\u00e9s funkci\u00f3 : A(z) {1} ismeretlen"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "T\u00f6bb legjobb illeszked\u00e9s a(z) {0} konstruktor\u00e1ra"},
-
-    { ER_MORE_MATCH_METHOD,
-             "T\u00f6bb legjobb illeszked\u00e9s a(z) {0} met\u00f3dusra"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "T\u00f6bb legjobb illeszked\u00e9s a(z) {0} elem met\u00f3dusra"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "\u00c9rv\u00e9nytelen k\u00f6rnyzetet adott \u00e1t a(z) {0} ki\u00e9rt\u00e9kel\u00e9s\u00e9hez"},
-
-    { ER_POOL_EXISTS,
-             "A t\u00e1rol\u00f3 m\u00e1r l\u00e9tezik"},
-
-    { ER_NO_DRIVER_NAME,
-             "Nem adott meg meghajt\u00f3nevet"},
-
-    { ER_NO_URL,
-             "Nem adott meg URL-t"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "A t\u00e1rol\u00f3 m\u00e9rete egyn\u00e9l kisebb!"},
-
-    { ER_INVALID_DRIVER,
-             "\u00c9rv\u00e9nytelen meghajt\u00f3nevet adott meg!"},
-
-    { ER_NO_STYLESHEETROOT,
-             "Nem tal\u00e1lhat\u00f3 a st\u00edluslap gy\u00f6kere!"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Tiltott \u00e9rt\u00e9k az xml:space-hez"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "A processFromNode nem siker\u00fclt"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "Az er\u0151forr\u00e1st [ {0} ] nem lehet bet\u00f6lteni: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Pufferm\u00e9ret <= 0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Ismeretlen hiba a kiterjeszt\u00e9s h\u00edv\u00e1s\u00e1n\u00e1l"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "A(z) {0} el\u0151taghoz nem tartozik n\u00e9vt\u00e9r deklar\u00e1ci\u00f3"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "Elem tartalom nem megengedett a(z) {0} lang=javaclass-hoz"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "St\u00edluslap \u00e1ltal ir\u00e1ny\u00edtott le\u00e1ll\u00e1s"},
-
-    { ER_ONE_OR_TWO,
-        "1 vagy 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 vagy 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "Nem lehet bet\u00f6lteni a(z) {0}-t (ellen\u0151rizze a CLASSPATH-t), most csak az alap\u00e9rtelmez\u00e9seket haszn\u00e1ljuk"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Nem lehet inicializ\u00e1lni az alap\u00e9rtelmezett sablonokat"},
-
-    { ER_RESULT_NULL,
-        "Az eredm\u00e9ny nem lehet null"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "Nem lehet be\u00e1ll\u00edtani az eredm\u00e9nyt"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "Nem adott meg kimenetet"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "Nem alak\u00edthat\u00f3 \u00e1t {0} t\u00edpus\u00fa eredm\u00e9nny\u00e9"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "A(z) {0} t\u00edpus\u00fa forr\u00e1s nem alak\u00edthat\u00f3 \u00e1t "},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Null tartalomkezel\u0151"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Null hibakezel\u0151"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "A parse nem h\u00edvhat\u00f3 meg, ha a ContentHandler-t nem \u00e1ll\u00edtotta be"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "A sz\u0171r\u0151nek nincs sz\u00fcl\u0151je"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "Nincs st\u00edluslap ebben: {0}, adathordoz\u00f3: {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "Nem tal\u00e1lhat\u00f3 xml-stylesheet PI itt: {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "Nem t\u00e1mogatott: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "A(z) {0} tulajdons\u00e1g \u00e9rt\u00e9ke Boolean p\u00e9ld\u00e1ny kell legyen"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "Nem lehet eljutni a k\u00fcls\u0151 parancsf\u00e1jlhoz a(z) {0}-n"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "A(z) [ {0} ] er\u0151forr\u00e1s nem tal\u00e1lhat\u00f3.\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "A kimeneti tulajdons\u00e1g nem felismerhet\u0151: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "Nem siker\u00fclt ElemLiteralResult p\u00e9ld\u00e1nyt l\u00e9trehozni"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "A(z) {0} tulajdons\u00e1g \u00e9rt\u00e9ke \u00e9rtelmezhet\u0151 sz\u00e1m kell legyen"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "A(z) {0} \u00e9rt\u00e9ke igen vagy nem kell legyen"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "Nem siker\u00fclt megh\u00edvni a(z) {0} met\u00f3dust"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "Nem siker\u00fclt ElemTemplateElement p\u00e9ld\u00e1nyt l\u00e9trehozni"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "Karakterek nem megengedettek a dokumentumnak ezen a pontj\u00e1n"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "A(z) \"{0}\" attrib\u00fatum nem megengedett a(z) {1} elemhez!"},
-
-    { ER_BAD_VALUE,
-     "{0} rossz \u00e9rt\u00e9k {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "{0} attrib\u00fatum \u00e9rt\u00e9k nem tal\u00e1lhat\u00f3 "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "{0} attrib\u00fatum \u00e9rt\u00e9k ismeretlen "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "K\u00eds\u00e9rlet egy n\u00e9vt\u00e9r el\u0151tag l\u00e9trehoz\u00e1s\u00e1ra null URI-val"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "K\u00eds\u00e9rlet egy sz\u00e1m megform\u00e1z\u00e1s\u00e1ra, ami nagyobb, mint a legnagyobb Long eg\u00e9sz"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "Nem tal\u00e1lhat\u00f3 a(z) {0} SAX1 meghajt\u00f3oszt\u00e1ly"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "A(z) {0} SAX1 meghajt\u00f3oszt\u00e1ly megvan, de nem t\u00f6lthet\u0151 be"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "A(z) {0} SAX1 meghajt\u00f3oszt\u00e1ly bet\u00f6ltve, de nem lehet p\u00e9ld\u00e1nyt l\u00e9trehozni bel\u0151le"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "A(z) {0} SAX1 meghajt\u00f3oszt\u00e1ly nem implement\u00e1lja az org.xml.sax.Parser-t"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "Nem adta meg az org.xml.sax.parser rendszertulajdons\u00e1got"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "Az \u00e9rtelmez\u0151 argumentuma nem lehet null"},
-
-    { ER_FEATURE,
-     "K\u00e9pess\u00e9g: {0}"},
-
-    { ER_PROPERTY,
-     "Tulajdons\u00e1g: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Null entit\u00e1s felold\u00f3"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Null DTD kezel\u0151"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "Nem adott meg meghajt\u00f3nevet!"},
-
-    { ER_NO_URL_SPECIFIED,
-     "Nem adott meg URL-t!"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "A t\u00e1rol\u00f3 m\u00e9rete 1-n\u00e9l kisebb!"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "\u00c9rv\u00e9nytelen meghajt\u00f3nevet adott meg!"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Programoz\u00f3i hiba! A kifejez\u00e9snek nincs ElemTemplateElement sz\u00fcl\u0151je!"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Programoz\u00f3i \u00e9rtes\u00edt\u00e9s a RedundentExprEliminator h\u00edv\u00e1sban: {0} "},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} nem enged\u00e9lyezett a st\u00edluslap ezen hely\u00e9n!"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "Nem-szepar\u00e1tor sz\u00f6veg nem megengedett a st\u00edluslap ezen hely\u00e9n!"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "Tiltott \u00e9rt\u00e9ket haszn\u00e1lt a(z) {0} attrib\u00fatumhoz: {1}.  A CHAR t\u00edpus\u00fa attrib\u00fatum csak 1 karakter lehet!"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "Tiltott \u00e9rt\u00e9ket haszn\u00e1lt a(z) {0} CHAR attrib\u00fatumhoz: {1}."},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "Tiltott \u00e9rt\u00e9ket haszn\u00e1lt a(z) {0} ENUM attrib\u00fatumhoz: {1}.  Az \u00e9rv\u00e9nyes \u00e9rt\u00e9kek: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "Tiltott \u00e9rt\u00e9ket haszn\u00e1lt a(z) {0} NMTOKEN attrib\u00fatumhoz: {1}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "Tiltott \u00e9rt\u00e9ket haszn\u00e1lt a(z) {0} NCNAME attrib\u00fatumhoz: {1}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Tiltott \u00e9rt\u00e9ket haszn\u00e1lt a(z) {0} logikai attrib\u00fatumhoz: {1}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Tiltott \u00e9rt\u00e9ket haszn\u00e1lt a(z) {0} sz\u00e1m attrib\u00fatumhoz: {1}. "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "A(z) {0} argumentuma az illeszked\u00e9si mint\u00e1ban egy liter\u00e1l kell legyen."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "K\u00e9tszer szerepel a glob\u00e1lis v\u00e1ltoz\u00f3-deklar\u00e1ci\u00f3."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "K\u00e9tszer szerepel a v\u00e1ltoz\u00f3-deklar\u00e1ci\u00f3."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "Az xsl:template-nek kell legyen neve vagy illeszked\u00e9si attrib\u00fatuma (vagy mindkett\u0151)"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "Az el\u0151tag az exclude-result-prefixes-ben nem \u00e9rv\u00e9nyes: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "A(z) {0} nev\u0171 attribute-set nem l\u00e9tezik"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "A(z) {0} nev\u0171 funkci\u00f3 nem l\u00e9tezik"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "A(z) {0} elemnek nem lehet egyszerre content \u00e9s select attrib\u00fatuma."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "A(z) {0} param\u00e9ter \u00e9rt\u00e9ke egy \u00e9rv\u00e9nyes J\u00e1va objektum kell legyen"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "Az xsl:namespace-alias elem result-prefix r\u00e9sz\u00e9nek \u00e9rt\u00e9ke '#default', de nincs meghat\u00e1rozva alap\u00e9rtelmezett n\u00e9vt\u00e9r az elem hat\u00f3k\u00f6r\u00e9ben. "},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "Egy xsl:namespace-alias elem result-prefix attrib\u00fatum\u00e1nak \u00e9rt\u00e9ke ''{0}'', de nincs n\u00e9vt\u00e9r deklar\u00e1ci\u00f3 a(z) ''{0}'' el\u0151taghoz az elem hat\u00f3k\u00f6r\u00e9ben. "},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "A szolg\u00e1ltat\u00e1s neve nem lehet null a TransformerFactory.setFeature(String name, boolean value) met\u00f3dusban."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "A szolg\u00e1ltat\u00e1s neve nem lehet null a TransformerFactory.getFeature(String name) met\u00f3dusban."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "A(z) ''{0}'' szolg\u00e1ltat\u00e1s nem \u00e1ll\u00edthat\u00f3 be ehhez a TransformerFactory oszt\u00e1lyhoz."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "A(z) ''{0}'' kiterjeszt\u00e9si elem haszn\u00e1lata nem megengedett, ha biztons\u00e1gos feldolgoz\u00e1s be van kapcsolva. "},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "Nem lehet beolvasni az el\u0151tagot null n\u00e9vt\u00e9r URI eset\u00e9n. "},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "Nem olvashat\u00f3 be a n\u00e9vt\u00e9r null el\u0151tag miatt. "},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "A f\u00fcggv\u00e9ny neve nem lehet null."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "Az arit\u00e1s nem lehet negat\u00edv."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "'}'-t tal\u00e1ltunk, de nincs attrib\u00fatumsablon megnyitva!"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Figyelmeztet\u00e9s: A count attrib\u00fatum nem felel meg a egy felmen\u0151nek az xsl:number-ben! C\u00e9l = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "R\u00e9gi szintaktika: Az 'expr' attrib\u00fatum neve 'select'-re v\u00e1ltozott."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Az Xalan m\u00e9g nem kezeli a locale nevet a format-number f\u00fcggv\u00e9nyben."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Figyelmeztet\u00e9s: Nem tal\u00e1lhat\u00f3 az xml:lang={0} \u00e9rt\u00e9khez tartoz\u00f3 locale"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "Nem k\u00e9sz\u00edthet\u0151 URL ebb\u0151l: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "A k\u00e9r dokumentum nem t\u00f6lthet\u0151 be: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "Nem tal\u00e1lhat\u00f3 Collator a <sort xml:lang={0}-hez"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "R\u00e9gi szintaktika: a functions utas\u00edt\u00e1s {0} URL-t kell haszn\u00e1ljon"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "a k\u00f3dol\u00e1s nem t\u00e1mogatott: {0}, UTF-8-at haszn\u00e1lunk"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "a k\u00f3dol\u00e1s nem t\u00e1mogatott: {0}, Java {1}-t haszn\u00e1lunk"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Specifikuss\u00e1gi konfliktust tal\u00e1ltunk: {0} A st\u00edluslapon legutolj\u00e1ra megtal\u00e1ltat haszn\u00e1ljuk."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= {0} elemz\u00e9se \u00e9s el\u0151k\u00e9sz\u00edt\u00e9se =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Attr sablon, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "Illeszt\u00e9si konfliktus az xsl:strip-space \u00e9s az xsl:preserve-space k\u00f6z\u00f6tt"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "A Xalan m\u00e9g nem kezeli a(z) {0} attrib\u00fatumot!"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "Nem tal\u00e1ltuk meg a deklar\u00e1ci\u00f3t a decim\u00e1lis form\u00e1tumhoz: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Hi\u00e1nyz\u00f3 vagy helytelen XSLT n\u00e9vt\u00e9r. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Csak az alap\u00e9rtelmezett xsl:decimal-format deklar\u00e1ci\u00f3 megengedett."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "Az xsl:decimal-format neveknek egyedieknek kell lenni\u00fck. A(z) \"{0}\" n\u00e9v meg lett ism\u00e9telve."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "A(z) {0}-nak \u00e9rv\u00e9nytelen attrib\u00fatuma van: {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "Nem lehet feloldani a n\u00e9vt\u00e9r el\u0151tagot: {0}. A csom\u00f3pont figyelmen k\u00edv\u00fcl marad."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "Az xsl:stylesheet-nek kell legyen 'version' attrib\u00fatuma!"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Nem megengedett attrib\u00fatumn\u00e9v: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "Tiltott \u00e9rt\u00e9ket haszn\u00e1lt a(z) {0} attrib\u00fatumhoz: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "A document f\u00fcggv\u00e9ny m\u00e1sodik argumentum\u00e1b\u00f3l el\u0151\u00e1ll\u00f3 csom\u00f3ponthalmaz \u00fcres. \u00dcres node-k\u00e9szletetet adok vissza."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "A(z) xsl:processing-instruction  n\u00e9v 'name' attrib\u00fatuma nem lehet 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "A(z) xsl:processing-instruction  n\u00e9v ''name'' attrib\u00fatuma \u00e9rv\u00e9nyes NCName kell legyen: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Nem lehet {0} attrib\u00fatumat felvenni a gyermek node-ok ut\u00e1n vagy miel\u0151tt egy elem l\u00e9trej\u00f6nne.  Az attrib\u00fatum figyelmen k\u00edv\u00fcl marad."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "K\u00eds\u00e9rlet t\u00f6rt\u00e9nt egy objektum m\u00f3dos\u00edt\u00e1s\u00e1ra, ahol a m\u00f3dos\u00edt\u00e1sok nem megengedettek. "
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "hu"},
-  {  "help_language",  "hu" },
-  {  "language",  "hu" },
-  { "BAD_CODE", "A createMessage param\u00e9tere nincs a megfelel\u0151 tartom\u00e1nyban"},
-  {  "FORMAT_FAILED", "Kiv\u00e9tel t\u00f6rt\u00e9nt a messageFormat h\u00edv\u00e1s alatt"},
-  {  "version", ">>>>>>> Xalan verzi\u00f3 "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "igen"},
-  { "line", "Sor #"},
-  { "column","Oszlop #"},
-  { "xsldone", "XSLProcessor: k\u00e9sz"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Xalan-J parancssori Process oszt\u00e1ly opci\u00f3k:"},
-  { "xslProc_option", "Xalan-J parancssori Process oszt\u00e1ly opci\u00f3k\u003a"},
-  { "xslProc_invalid_xsltc_option", "A(z) {0} opci\u00f3 nem t\u00e1mogatott XSLTC m\u00f3dban."},
-  { "xslProc_invalid_xalan_option", "A(z) {0} opci\u00f3 csak -XSLTC-vel egy\u00fctt haszn\u00e1lhat\u00f3."},
-  { "xslProc_no_input", "Hiba: Nem adott meg st\u00edluslapot vagy bemeneti xml-t. Futtassa ezt a parancsot kapcsol\u00f3k n\u00e9lk\u00fcl a haszn\u00e1lati utas\u00edt\u00e1sok megjelen\u00edt\u00e9s\u00e9re."},
-  { "xslProc_common_options", "-\u00c1ltal\u00e1nos opci\u00f3k-"},
-  { "xslProc_xalan_options", "-Xalan opci\u00f3k-"},
-  { "xslProc_xsltc_options", "-XSLTC opci\u00f3k-"},
-  { "xslProc_return_to_continue", "(nyomja la a <return> gombot a folytat\u00e1shoz)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "   [-XSLTC (XSLTC-t haszn\u00e1l a transzform\u00e1l\u00e1shoz)]"},
-  { "optionIN", "   [-IN bemenetiXMLURL]"},
-  { "optionXSL", "   [-XSL XSLTranszform\u00e1ci\u00f3sURL]"},
-  { "optionOUT",  "   [-OUT kimenetiF\u00e1jln\u00e9v]"},
-  { "optionLXCIN", "   [-LXCIN leford\u00edtottst\u00edluslapF\u00e1jln\u00e9vBe]"},
-  { "optionLXCOUT", "   [-LXCOUT leford\u00edtottSt\u00edluslapF\u00e1jln\u00e9vKi]"},
-  { "optionPARSER", "   [-PARSER az \u00e9rtelmez\u0151kapcsolat teljesen meghat\u00e1rozott oszt\u00e1lyneve]"},
-  {  "optionE", "   [-E (Nem bontja ki az entit\u00e1s hivatkoz\u00e1sokat)]"},
-  {  "optionV",  "   [-E (Nem bontja ki az entit\u00e1s hivatkoz\u00e1sokat)]"},
-  {  "optionQC", "   [-QC (Csendes mintakonfliktus figyelmeztet\u00e9sek)]"},
-  {  "optionQ", "   [-Q  (Csendes m\u00f3d)]"},
-  {  "optionLF", "   [-LF (A soremel\u00e9seket csak kimenet eset\u00e9n haszn\u00e1lja {alap\u00e9rtelmez\u00e9s: CR/LF})]"},
-  {  "optionCR", "   [-CR (A kocsivissza karaktert csak kimenet eset\u00e9n haszn\u00e1lja {alap\u00e9rtelmez\u00e9s: CR/LF})]"},
-  { "optionESCAPE", "   [-ESCAPE (Mely karaktereket kell escape-elni {alap\u00e9rtelmez\u00e9s: <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "   [-INDENT (Meghat\u00e1rozza, hogy h\u00e1ny sz\u00f3k\u00f6zzel kell beljebb kezdeni {alap\u00e9rtelmez\u00e9s: 0})]"},
-  { "optionTT", "   [-TT (Nyomk\u00f6veti a sablonokat, ahogy azokat megh\u00edvj\u00e1k.)]"},
-  { "optionTG", "   [-TG (Nyomk\u00f6veti az \u00f6sszes gener\u00e1l\u00e1si esem\u00e9nyt.)]"},
-  { "optionTS", "   [-TS (Nyomk\u00f6veti az \u00f6sszes kiv\u00e1laszt\u00e1si esem\u00e9nyt.)]"},
-  {  "optionTTC", "   [-TTC (Nyomk\u00f6veti a sablon-lesz\u00e1rmazottakat, ahogy azokat feldolgozz\u00e1k.)]"},
-  { "optionTCLASS", "   [-TCLASS (TraceListener oszt\u00e1ly a nyomk\u00f6vet\u00e9si kiterjeszt\u00e9sekhez.)]"},
-  { "optionVALIDATE", "   [-VALIDATE (Be\u00e1ll\u00edtja, hogy legyen-e \u00e9rv\u00e9nyess\u00e9gvizsg\u00e1lat.  Alap\u00e9rtelmez\u00e9sben nincs \u00e9rv\u00e9nyess\u00e9gvizsg\u00e1lat.)]"},
-  { "optionEDUMP", "   [-EDUMP {opcion\u00e1lis f\u00e1jln\u00e9v} (Hib\u00e1n\u00e1l stackdump-ot hajt v\u00e9gre.)]"},
-  {  "optionXML", "   [-XML (XML form\u00e1z\u00f3 haszn\u00e1lata \u00e9s XML fejl\u00e9c hozz\u00e1ad\u00e1sa.)]"},
-  {  "optionTEXT", "   [-TEXT (Egyszer\u0171 sz\u00f6vegform\u00e1z\u00f3 haszn\u00e1lata.)]"},
-  {  "optionHTML", "   [-HTML (HTML form\u00e1z\u00f3 haszn\u00e1lata.)]"},
-  {  "optionPARAM", "   [-PARAM n\u00e9v kifejez\u00e9s (Be\u00e1ll\u00edt egy st\u00edluslap param\u00e9tert)]"},
-  {  "noParsermsg1", "Az XSL folyamat sikertelen volt."},
-  {  "noParsermsg2", "** Az \u00e9rtelmez\u0151 nem tal\u00e1lhat\u00f3 **"},
-  { "noParsermsg3",  "K\u00e9rem, ellen\u0151rizze az oszt\u00e1ly el\u00e9r\u00e9si utat."},
-  { "noParsermsg4", "Ha \u00f6nnek nincs meg az IBM Java XML \u00e9rtelmez\u0151je, akkor let\u00f6ltheti az"},
-  { "noParsermsg5", "az IBM AlphaWorks weblapr\u00f3l: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER teljes oszt\u00e1lyn\u00e9v (az URIResolver fogja feloldani az URI-kat)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER teljes oszt\u00e1lyn\u00e9v (az EntityResolver fogja feloldani az entit\u00e1sokat)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER teljes oszt\u00e1lyn\u00e9v (a ContentHandler fogja soros\u00edtani a kimenetet)]"},
-  {  "optionLINENUMBERS",  "   [-L sorsz\u00e1mokat haszn\u00e1l a forr\u00e1sdokumentumhoz]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (biztons\u00e1gos feldolgoz\u00e1s szolg\u00e1ltat\u00e1s igazra \u00e1ll\u00edt\u00e1sa.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA adathordoz\u00f3T\u00edpus (a media attrib\u00fatum seg\u00edts\u00e9g\u00e9vel megkeresi a dokumentumhoz tartoz\u00f3 st\u00edluslapot.)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR \u00edzl\u00e9sN\u00e9v (Explicit haszn\u00e1lja az s2s=SAX-ot vagy d2d=DOM-ot a transzform\u00e1ci\u00f3hoz.)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (Ki\u00edrja, hogy \u00f6sszesen h\u00e1ny ezredm\u00e1sodpercig tartott a transzform\u00e1ci\u00f3.)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (n\u00f6vekm\u00e9nyes DTM l\u00e9trehoz\u00e1st ig\u00e9nyel a http://xml.apache.org/xalan/features/incremental igazra \u00e1ll\u00edt\u00e1s\u00e1val.)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (nem ig\u00e9nyel st\u00edluslap optimiz\u00e1l\u00e1st a http://xml.apache.org/xalan/features/optimize hamisra \u00e1ll\u00edt\u00e1s\u00e1t.)]"},
-  { "optionRL",  "   [-RL rekurzi\u00f3korl\u00e1t (numerikusan korl\u00e1tozza a st\u00edluslap rekurzi\u00f3 m\u00e9lys\u00e9g\u00e9t.)]"},
-  {   "optionXO",  "   [-XO [transletNeve] (a nevet rendeli a gener\u00e1lt translethez)]"},
-  {  "optionXD", "   [-XD c\u00e9lAlk\u00f6nyvt\u00e1r (a translet c\u00e9l-alk\u00f6nyvt\u00e1ra)]"},
-  {  "optionXJ",  "   [-XJ jarf\u00e1jl (a translet oszt\u00e1lyokat a megadott <jarf\u00e1jl>-ba csomagolja)]"},
-  {   "optionXP",  "   [-XP csomag (megadja a gener\u00e1lt translet oszt\u00e1lyok n\u00e9v-prefix\u00e9t)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "   [-XN (enged\u00e9lyezi a template inlining optimaliz\u00e1l\u00e1st)]" },
-  { "optionXX",  "   [-XX (bekapcsolja a tov\u00e1bbi hibakeres\u00e9si kimenetet)]"},
-  { "optionXT" , "   [-XT (translet-et haszn\u00e1lt az \u00e1talak\u00edt\u00e1shoz, ha lehet)]"},
-  { "diagTiming"," --------- A(z) {0} tarnszform\u00e1ci\u00f3a a(z) {1}-el {2} ms-ig tartott" },
-  { "recursionTooDeep","A sablonon egym\u00e1sba \u00e1gyaz\u00e1sa t\u00fal m\u00e9ly. Be\u00e1gyaz\u00e1s = {0}, sablon: {1} {2}" },
-  { "nameIs", "A n\u00e9v:" },
-  { "matchPatternIs", "Az illeszked\u00e9si minta:" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Hiba: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Figyelmeztet\u00e9s: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "MINTA ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("hu", "HU"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_it.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_it.java
deleted file mode 100644
index fb893a4..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_it.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_it.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_it extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Errore: '{' non pu\u00f2 essere contenuto in un'espressione"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} ha un attributo non valido: {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "sourceNode nullo in xsl:apply-imports!"},
-
-  {ER_CANNOT_ADD,
-      "Impossibile aggiungere {0} a {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "sourceNode nullo in handleApplyTemplatesInstruction."},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} deve avere un attributo name."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "Impossibile trovare la maschera: {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "Impossibile risolvere il nome AVT in xsl:call-template."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} richiede l''''attributo: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} deve avere un attributo ''test''."},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "Valore errato nell''''attributo livello: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Il nome dell'istruzione di elaborazione non pu\u00f2 essere 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "il nome dell''''istruzione di elaborazione deve essere un NCName valido: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} deve avere un attributo match nel caso abbia un modo."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} richiede un attributo match o name."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "Impossibile risolvere il prefisso dello namespace: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space ha un valore non valido: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "Il nodo secondario non ha un documento proprietario."},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "Errore ElemTemplateElement: {0}"},
-
-    { ER_NULL_CHILD,
-     "\u00c8 stato effettuato un tentativo di aggiungere un secondario nullo."},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} richiede un attributo select."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when deve avere un attributo 'test'."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param deve avere un attributo 'name'."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "il contesto non ha un documento proprietario."},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "Impossibile creare XML TransformerFactory Liaison: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: Processo non eseguito correttamente."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: non eseguito correttamente."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "Codifica non supportata: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "Impossibile creare TraceListener: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key richiede un attributo 'name'."},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key richiede un attributo 'match'."},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key richiede un attributo 'use'."},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} richiede un attributo ''elements''."},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) {0} attributo ''prefix'' mancante"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "URL del foglio di lavoro errato: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "File del foglio di lavoro non trovato: {0}"},
-
-    { ER_IOEXCEPTION,
-      "Eccezione IO nel file del foglio di lavoro: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) Impossibile trovare l''''attributo href per {0}"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} sta direttamente o indirettamente includendo se stesso."},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "Errore StylesheetHandler.processInclude, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) {0} attributo ''lang'' mancante"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) elemento {0} non ubicato correttamente. Elemento contenitore ''component'' mancante "},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "L'emissione \u00e8 consentita solo in un elemento, frammento di documento, documento o stampante."},
-
-    { ER_PROCESS_ERROR,
-     "Errore StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "Errore UnImplNode: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Errore! Impossibile trovare espressione selezione xpath (-select)."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "Impossibile serializzare XSLProcessor!"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "Input del foglio di lavoro non specificato."},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "Impossibile elaborare il foglio di lavoro."},
-
-    { ER_COULDNT_PARSE_DOC,
-     "Impossibile analizzare il documento {0}."},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "Impossibile trovare il frammento: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "Il nodo a cui fa riferimento l''''identificativo del frammento non \u00e8 un elemento: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each deve avere un attributo match o name"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "le maschere devono avere un attributo match o name"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "Non \u00e8 possibile avere un clone di un frammento di documento."},
-
-    { ER_CANT_CREATE_ITEM,
-      "Impossibile creare la voce nella struttura dei risultati: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "xml:space in XML di origine ha un valore non valido: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "Nessuna dichiarazione xsl:key per {0}!"},
-
-    { ER_CANT_CREATE_URL,
-     "Errore! Impossibile creare url per: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions non supportato"},
-
-    { ER_PROCESSOR_ERROR,
-     "Errore XSLT TransformerFactory"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} non consentito nel foglio di lavoro."},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns non \u00e8 pi\u00f9 supportato.  Utilizzare xsl:output."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space non \u00e8 pi\u00f9 supportato.  Utilizzare xsl:strip-space oppure xsl:preserve-space."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result non \u00e8 pi\u00f9 supportato.  Utilizzare xsl:output."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} ha un attributo non valido: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Elemento XSL sconosciuto: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort pu\u00f2 essere utilizzato solo con xsl:apply-templates oppure xsl:for-each."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when posizionato in modo non corretto."},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when non reso principale da xsl:choose!"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise posizionato in modo non corretto."},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise non reso principale da xsl:choose!"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} non \u00e8 consentito in una maschera."},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0} prefisso namespace estensione {1} sconosciuto"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Le importazioni possono verificarsi solo come primi elementi nel foglio di lavoro."},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} sta direttamente o indirettamente importando se stesso."},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space ha un valore non valido: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet con esito negativo."},
-
-    { ER_SAX_EXCEPTION,
-     "Eccezione SAX"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "Funzione non supportata."},
-
-
-    { ER_XSLT_ERROR,
-     "Errore XSLT"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "il simbolo della valuta non \u00e8 consentito nella stringa modello formato."},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "La funzione documento non \u00e8 supportata nel DOM del foglio di lavoro."},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "Impossibile risolvere il prefisso di un resolver non di prefisso."},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Redirect extension: Impossibile richiamare il nome file - l'attributo file o select deve restituire una stringa valida."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "Impossibile creare FormatterListener in Redirect extension!"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "Prefisso in exclude-result-prefixes non valido: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "URI spazio nome mancante per il prefisso specificato"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Argomento mancante per l''''opzione: {0}"},
-
-    { ER_INVALID_OPTION,
-     "Opzione non valida: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Stringa di formato errato: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet richiede un attributo 'version'."},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "L''attributo: {0} ha un valore non valido: {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose richiede xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports non consentito in xsl:for-each"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "Impossibile utilizzare DTMLiaison per un nodo DOM di output... utilizzare invece org.apache.xpath.DOM2Helper."},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "Impossibile utilizzare DTMLiaison per un nodo DON di input... utilizzare invece org.apache.xpath.DOM2Helper."},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "Chiamata all''''elemento estensione non riuscita: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Il prefisso deve risolvere in uno namespace: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "Rilevato surrogato UTF-16 non valido: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} sta utilizzando se stesso, determinando un loop infinito."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "Impossibile unire input non Xerces-DOM con output Xerces-DOM."},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "In ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Sono state rilevate pi\u00f9 maschere denominate: {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "Chiamata funzione non valida: le chiamate key() ricorsive non sono consentite"},
-
-    { ER_REFERENCING_ITSELF,
-      "La variabile {0} sta direttamente o indirettamente facendo riferimento a se stessa."},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "Il nodo di input non pu\u00f2 essere nullo per DOMSource per newTemplates."},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "File di classe non trovato per l''opzione {0}"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "Elemento richiesto non trovato: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream non pu\u00f2 essere nullo"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI non pu\u00f2 essere nullo"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "File non pu\u00f2 essere nullo"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource non pu\u00f2 essere nullo"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "Impossibile inizializzare BSF Manager"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "Impossibile compilare l'estensione"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "Impossibile creare l''''estensione: {0} a causa di: {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "La chiamata metodo istanza al metodo {0} richiede un''istanza Object come primo argomento"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "Specificato nome elemento non valido{0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "Il metodo nome elemento deve essere statico {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "Funzione estensione {0} : {1} sconosciuta"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "\u00c8 stata trovata pi\u00f9 di una corrispondenza migliore per il costruttore per {0}"},
-
-    { ER_MORE_MATCH_METHOD,
-             "\u00c8 stata trovata pi\u00f9 di una corrispondenza migliore per il metodo {0}"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "\u00c8 stata trovata pi\u00f9 di una corrispondenza migliore per il metodo elemento {0}"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "Specificato contesto non valido per valutare {0}"},
-
-    { ER_POOL_EXISTS,
-             "Pool gi\u00e0 esistente"},
-
-    { ER_NO_DRIVER_NAME,
-             "Non \u00e8 stato specificato alcun Nome driver"},
-
-    { ER_NO_URL,
-             "Non \u00e8 stata specificata alcuna URL"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "La dimensione del pool \u00e8 inferiore a uno."},
-
-    { ER_INVALID_DRIVER,
-             "Specificato nome driver non valido."},
-
-    { ER_NO_STYLESHEETROOT,
-             "Impossibile trovare la root del foglio di lavoro."},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Valore non valido per xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "processFromNode non riuscito"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "Impossibile caricare la risorsa [ {0} ]: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Dimensione buffer <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Errore sconosciuto durante la chiamata all'estensione"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "Il prefisso {0} non ha una dichiarazione namaspace corrispondente"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "Contenuto elemento non consentito per lang=javaclass {0}"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "Il foglio di lavoro ha indirizzato l'interruzione"},
-
-    { ER_ONE_OR_TWO,
-        "1 o 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 o 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "Impossibile caricare {0} (controllare CLASSPATH), verranno utilizzati i valori predefiniti."},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Impossibile inizializzare le maschere predefinite"},
-
-    { ER_RESULT_NULL,
-        "Il risultato non pu\u00f2 essere nullo"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "Impossibile impostare il risultato"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "Non \u00e8 stato specificato alcun output"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "Impossibile trasformare in un risultato di tipo {0}"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "Impossibile trasformare in un''origine di tipo {0}"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Handler contenuto nullo"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Handler errori nullo"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "non \u00e8 possibile richiamare l'analisi se ContentHandler non \u00e8 stato impostato"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "Nessun principale per il filtro"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "Nessun foglio di lavoro trovato in: {0}, supporto= {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "Nessun PI xml-stylesheet trovato in: {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "Non supportato: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "Il valore della propriet\u00e0 {0} deve essere una istanza booleana"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "Impossibile richiamare lo script esterno in {0}"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "Risorsa [ {0} ] non trovata.\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "Propriet\u00e0 Output non riconosciuta: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "Creazione dell'istanza ElemLiteralResult non riuscita"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "Il valore di {0} deve contenere un numero analizzabile"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "Il valore di {0} deve essere uguale a yes o no"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "Chiamata al metodo {0} non riuscita"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "Creazione dell'istanza ElemTemplateElement non riuscita"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "I caratteri non sono consentiti in questo punto del documento"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "L''''attributo \"{0}\" non \u00e8 consentito nell''''elemento {1}."},
-
-    { ER_BAD_VALUE,
-     "{0} valore errato {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "Valore attributo {0} non trovato "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "Valore attributo {0} non riconosciuto "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "\u00c8 stato effettuato un tentativo di generare un prefisso spazio nome con un URI nullo"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "Si sta effettuando un tentativo di formattare un numero superiore all'intero Long pi\u00f9 grande"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "Impossibile trovare la classe driver SAX1 {0}"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "La classe driver SAX1 {0} \u00e8 stata trovata ma non \u00e8 stato possibile caricarla"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "La classe driver SAX1 {0} \u00e8 stata caricata ma non \u00e8 stato possibile istanziarla"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "La classe driver SAX1 {0} non implementa org.xml.sax.Parser"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "Propriet\u00e0 di sistema org.xml.sax.parser non specificata"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "L'argomento Parser non pu\u00f2 essere nullo"},
-
-    { ER_FEATURE,
-     "Funzione: {0}"},
-
-    { ER_PROPERTY,
-     "Propriet\u00e0: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Resolver entit\u00e0 nullo"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Handler DTD nullo"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "Non \u00e8 stato specificato alcun nome driver."},
-
-    { ER_NO_URL_SPECIFIED,
-     "Non \u00e8 stato specificato alcun URL."},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "La dimensione del pool \u00e8 inferiore a 1."},
-
-    { ER_INVALID_DRIVER_NAME,
-     "Specificato nome driver non valido."},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Errore di programmazione. Espressione senza ElemTemplateElement principale"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Asserzione del programmatore in RedundentExprEliminator: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0}non \u00e8 consentito in questa posizione in stylesheet"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "Testo Non-whitespace non consentito in questa posizione in stylesheet"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "Valore non valido: {1} utilizzato per l''''attributo CHAR: {0}.  Un attributo di tipo CHAR deve essere di 1 solo carattere."},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "Valore non valido: {1} utilizzato per l''''attributo QNAME: {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "Valore non valido: {1} utilizzato per l''''attributo ENUM: {0}.  I valori validi sono: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "Valore non valido: {1} utilizzato per l''''attributo NMTOKEN: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "Valore non valido: {1} utilizzato per l''''attributo NCNAME: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Valore non valido: {1} utilizzato per l''''attributo boolean: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Valore non valido: {1} utilizzato per l''''attributo number: {0} "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "L''''argomento di {0} nel modello di corrispondenza deve essere letterale."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "Dichiarazione di variabile globale duplicata."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "Dichiarazione di variabile duplicata."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template deve avere un attributo name oppure match (o entrambi)"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "Prefisso in exclude-result-prefixes non valido: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "attribute-set denominato {0} non esiste"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "La funzione {0} indicata non esiste"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "L''''elemento {0} non deve avere sia un attributo content o selection."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "Il valore del parametro {0} deve essere un oggetto Java valido"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "L'attributo result-prefix si un elemento xsl:namespace-alias ha il valore '#default', ma non c'\u00e8 dichiarazione dello spazio nome predefinito nell'ambito per l'elemento"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "L''attributo result-prefix di un elemento xsl:namespace-alias ha il valore ''{0}'', ma non c''\u00e8 dichiarazione dello spazio per il prefisso ''{0}'' nell''ambito per l''elemento."},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "Il nome della funzione non pu\u00f2 essere nullo in TransformerFactory.setFeature(Nome stringa, valore booleano)."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "Il nome della funzione non pu\u00f2 essere nullo in TransformerFactory.getFeature(Nome stringa)."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "Impossibile impostare la funzione ''{0}'' su questo TransformerFactory."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "L''''utilizzo di un elemento di estensione ''{0}'' non \u00e8 consentito quando la funzione di elaborazione sicura \u00e8 impostata su true."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "Impossibile ottenere il prefisso per un uri dello spazio nome nullo."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "Impossibile ottenere l'uri dello spazio nome per il prefisso null."},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "Il nome della funzione non pu\u00f2 essere null."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "Arity non pu\u00f2 essere negativo."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "Rilevato '}' senza una maschera attributo aperta."},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Attenzione: l''attributo count non corrisponde ad un predecessore in xsl:number! Destinazione = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Sintassi obsoleta: Il nome dell'attributo 'expr' \u00e8 stato modificato in 'select'."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan non gestisce ancora il nome locale nella funzione formato-numero."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Attenzione: Impossibile trovare la locale per xml:lang={0}"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "Impossibile ricavare l''''URL da: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "Impossibile caricare il documento richiesto: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "Impossibile trovare Collator per <sort xml:lang={0}"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Sintassi obsoleta: l''istruzione functions deve utilizzare un url di {0}"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "codifica non supportata: {0}, viene utilizzato UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "codifica non supportata: {0}, viene utilizzato Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Sono stati rilevati conflitti di specificit\u00e0: {0} Verr\u00e0 utilizzato l''ultimo trovato nel foglio di lavoro."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= Analisi e preparazione {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Maschera attributo, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "Conflitto di corrispondenza tra xsl:strip-space e xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan non pu\u00f2 ancora gestire l''''attributo {0}."},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "Nessuna dichiarazione trovata per il formato decimale: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "XSLT Namespace mancante o non corretto. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "\u00c8 consentita una sola dichiarazione xsl:decimal-format predefinita."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "I nomi xsl:decimal-format devono essere univoci. Il nome \"{0}\" \u00e8 stato duplicato."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} ha un attributo non valido: {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "Impossibile risolvere il prefisso dello spazio nome: {0}. Il nodo verr\u00e0 ignorato."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet richiede un attributo 'version'."},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Nome attributo non valido: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "Valore non valido utilizzato per l''''attributo {0}: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "Il nodeset che risulta dal secondo argomento della funzione documento \u00e8 vuoto. Restituisce un nodeset vuoto."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Il valore dell'attributo 'name' del nome xsl:processing-instruction non deve essere 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Il valore dell''attributo ''name'' di xsl:processing-instruction deve essere un NCName valido: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Impossibile aggiungere l''''attributo {0} dopo i nodi secondari o prima che sia prodotto un elemento.  L''''attributo verr\u00e0 ignorato."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "\u00c8 stato effettuato un tentativo di modificare un oggetto in un contesto in cui le modifiche non sono supportate."
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "it"},
-  {  "help_language",  "it" },
-  {  "language",  "it" },
-  { "BAD_CODE", "Il parametro per createMessage fuori limite"},
-  {  "FORMAT_FAILED", "Rilevata eccezione durante la chiamata messageFormat"},
-  {  "version", ">>>>>>> Versione Xalan "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "s\u00ec"},
-  { "line", "Riga #"},
-  { "column","Colonna #"},
-  { "xsldone", "XSLProcessor: eseguito"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Opzioni classe Process riga comandi Xalan-J:"},
-  { "xslProc_option", "Opzioni classe Process riga comandi Xalan-J\u003a"},
-  { "xslProc_invalid_xsltc_option", "Opzione {0} non supportata in modalit\u00e0."},
-  { "xslProc_invalid_xalan_option", "L''''opzione {0} pu\u00f2 essere utilizzata solo con -XSLTC."},
-  { "xslProc_no_input", "Errore: Nessun foglio di lavoro o xml di immissione specificato. Eseguire questo comando senza opzioni per istruzioni sull'utilizzo."},
-  { "xslProc_common_options", "-Opzioni comuni-"},
-  { "xslProc_xalan_options", "-Opzioni per Xalan-"},
-  { "xslProc_xsltc_options", "-Opzioni per XSLTC-"},
-  { "xslProc_return_to_continue", "(premere <invio> per continuare)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "   [-XSLTC (utilizza XSLTC per la trasformazioni)]"},
-  { "optionIN", "   [-IN inputXMLURL]"},
-  { "optionXSL", "   [-XSL XSLTransformationURL]"},
-  { "optionOUT",  "   [-OUT outputFileName]"},
-  { "optionLXCIN", "   [-LXCIN compiledStylesheetFileNameIn]"},
-  { "optionLXCOUT", "   [-LXCOUT compiledStylesheetFileNameOutOut]"},
-  { "optionPARSER", "   [-PARSER nome classe completo del collegamento parser]"},
-  {  "optionE", "   [-E (non espandere i riferimenti entit\u00e0)]"},
-  {  "optionV",  "   [-E (non espandere i riferimenti entit\u00e0)]"},
-  {  "optionQC", "   [-QC (Silenziamento avvertenze conflitti modelli)]"},
-  {  "optionQ", "   [-Q  (Modo silenzioso)]"},
-  {  "optionLF", "   [-LF (Utilizza il caricamento riga solo sull'output {valore predefinito: CR/LF})]"},
-  {  "optionCR", "   [-CR (Utilizza il ritorno a capo solo sull'output {valore predefinito: CR/LF})]"},
-  { "optionESCAPE", "   [-ESCAPE (specifica quali caratteri saltare {valore predefinito: <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "   [-INDENT (Controlla il numero dei rientri {valore predefinito: 0})]"},
-  { "optionTT", "   [-TT (Traccia le maschere quando vengono richiamate.)]"},
-  { "optionTG", "   [-TG (Traccia ogni evento di generazione.)]"},
-  { "optionTS", "   [-TS (Traccia ogni evento di selezione.)]"},
-  {  "optionTTC", "   [-TTC (Traccia il secondario della maschera quando viene elaborato.)]"},
-  { "optionTCLASS", "   [-TCLASS (classe TraceListener per le estensioni di traccia.)]"},
-  { "optionVALIDATE", "   [-VALIDATE (Imposta se eseguire la convalida.  Il valore predefinito per la convalida \u00e8 disattivato.)]"},
-  { "optionEDUMP", "   [-EDUMP {nome file facoltativo} (Eseguire stackdump in caso di errori.)]"},
-  {  "optionXML", "   [-XML (Utilizza la formattazione XML e aggiunge intestazione XML.)]"},
-  {  "optionTEXT", "   [-TEXT (Utilizza la formattazione Testo semplice.)]"},
-  {  "optionHTML", "   [-HTML (Utilizza la formattazione HTML.)]"},
-  {  "optionPARAM", "   [-PARAM nome espressione (imposta un parametro del foglio di lavoro)]"},
-  {  "noParsermsg1", "Elaborazione XSL non riuscita."},
-  {  "noParsermsg2", "** Impossibile trovare il parser **"},
-  { "noParsermsg3",  "Controllare il classpath."},
-  { "noParsermsg4", "Se non si possiede IBM XML Parser per Java, \u00e8 possibile scaricarlo da"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER nome classe completo (URIResolver da utilizzare per risolvere gli URI)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER nome classe completo (EntityResolver da utilizzare per risolvere le entit\u00e0)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER nome classe completo (ContentHandler da utilizzare per serializzare l'output)]"},
-  {  "optionLINENUMBERS",  "   [-L utilizza i numeri riga per il documento di origine]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (imposta la funzione di elaborazione sicura su true.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA mediaType (utilizza l'attributo media per individuare il foglio di lavoro associato ad un documento.)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR flavorName (Utilizza in modo esplicito s2s=SAX oppure d2d=DOM per eseguire la trasformazione.)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (Visualizza il tempo impiegato in millisecondi per la trasformazione.)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (richiede la costruzione DTM incrementale impostando http://xml.apache.org/xalan/features/incremental true.)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (non richiede alcuna elaborazione di ottimizzazione del foglio di lavoro impostando http://xml.apache.org/xalan/features/optimize false.)]"},
-  { "optionRL",  "   [-RL recursionlimit (limite numerico asserzioni nella profondit\u00e0 ricorsiva del foglio di lavoro.)]"},
-  {   "optionXO",  "   [-XO [transletName] (assegna il nome al translet generato)]"},
-  {  "optionXD", "   [-XD destinationDirectory (specifica una directory di destinazione per il translet)]"},
-  {  "optionXJ",  "   [-XJ jarfile (raggruppa la classi translet in un file jar di nome <jarfile>)]"},
-  {   "optionXP",  "   [-XP package (specifica un prefisso di nome pacchetto per tutte le classi translet generate)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "   [-XN (abilita l'allineamento della maschera)]" },
-  { "optionXX",  "   [-XX (attiva ulteriori emissioni di messaggi di debug)]"},
-  { "optionXT" , "   [-XT (utilizza il translet per la trasformazione, se possibile)]"},
-  { "diagTiming"," --------- La trasformazione di {0} utilizzando {1} ha impiegato {2} ms" },
-  { "recursionTooDeep","Nidificazione della maschera troppo elevata. nesting = {0}, maschera {1} {2}" },
-  { "nameIs", "il nome \u00e8" },
-  { "matchPatternIs", "il modello di corrispondenza \u00e8" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Errore: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Avvertenza: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "MODELLO ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("it", "IT"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ja.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ja.java
deleted file mode 100644
index 7cac262..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ja.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_ja.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_ja extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "\u30a8\u30e9\u30fc: \u5f0f\u5185\u3067\u306f '{' \u3092\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} \u306b\u6b63\u3057\u304f\u306a\u3044\u5c5e\u6027\u304c\u3042\u308a\u307e\u3059: {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "xsl:apply-imports \u5185\u306e sourceNode \u304c\u30cc\u30eb\u3067\u3059\u3002"},
-
-  {ER_CANNOT_ADD,
-      "{0} \u3092 {1} \u306b\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "handleApplyTemplatesInstruction \u5185\u306e sourceNode \u304c\u30cc\u30eb\u3067\u3059\u3002"},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} \u306b\u306f name \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "{0} \u3068\u3044\u3046\u540d\u524d\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "xsl:call-template \u5185\u306e\u540d\u524d AVT \u3092\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} \u306b\u306f\u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} \u306b\u306f ''test'' \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "level \u5c5e\u6027\u3067\u5024\u304c\u9593\u9055\u3063\u3066\u3044\u307e\u3059: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "\u51e6\u7406\u547d\u4ee4\u306e\u540d\u524d\u306f 'xml' \u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "\u51e6\u7406\u547d\u4ee4\u306e\u540d\u524d\u306f\u6709\u52b9\u306a NCName \u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} \u306b\u30e2\u30fc\u30c9\u304c\u3042\u308b\u5834\u5408\u306f\u3001match \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} \u306b\u306f name \u307e\u305f\u306f match \u306e\u3044\u305a\u308c\u304b\u306e\u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "\u540d\u524d\u7a7a\u9593\u63a5\u982d\u90e8\u3092\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space \u306b\u306f\u6b63\u3057\u304f\u306a\u3044\u5024\u304c\u3042\u308a\u307e\u3059: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "\u4e0b\u4f4d\u30ce\u30fc\u30c9\u306b\u6240\u6709\u8005\u6587\u66f8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "ElemTemplateElement \u30a8\u30e9\u30fc: {0}"},
-
-    { ER_NULL_CHILD,
-     "\u30cc\u30eb\u306e\u5b50\u3092\u8ffd\u52a0\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} \u306b\u306f select \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when \u306b\u306f 'test' \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param \u306b\u306f 'name' \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u6240\u6709\u8005\u6587\u66f8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "XML TransformerFactory Liaison \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: \u51e6\u7406\u306f\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: \u306f\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "\u30a8\u30f3\u30b3\u30fc\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "TraceListener \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key \u306b\u306f 'name' \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key \u306b\u306f 'match' \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key \u306b\u306f 'use' \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} \u306b\u306f ''elements'' \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) {0} \u306b\u5c5e\u6027 ''prefix'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8 URL \u304c\u9593\u9055\u3063\u3066\u3044\u307e\u3059: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u30fb\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f: {0}"},
-
-    { ER_IOEXCEPTION,
-      "\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u30fb\u30d5\u30a1\u30a4\u30eb\u306b\u3088\u308b\u5165\u51fa\u529b\u4f8b\u5916\u304c\u8d77\u3053\u308a\u307e\u3057\u305f: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) {0} \u306e href \u5c5e\u6027\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} \u304c\u81ea\u5206\u81ea\u8eab\u3092\u76f4\u63a5\u7684\u307e\u305f\u306f\u9593\u63a5\u7684\u306b\u7d44\u307f\u8fbc\u3082\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "StylesheetHandler.processInclude \u30a8\u30e9\u30fc\u3001{0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) {0} \u306b\u5c5e\u6027 ''lang'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) {0} \u8981\u7d20\u306e\u5834\u6240\u3092\u9593\u9055\u3048\u305f\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u30b3\u30f3\u30c6\u30ca\u30fc\u8981\u7d20 ''component'' \u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "Element\u3001DocumentFragment\u3001Document\u3001\u307e\u305f\u306f PrintWriter \u3078\u306e\u51fa\u529b\u3057\u304b\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_PROCESS_ERROR,
-     "StylesheetRoot.\u51e6\u7406\u30a8\u30e9\u30fc"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "UnImplNode \u30a8\u30e9\u30fc: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "\u30a8\u30e9\u30fc:  xpath select \u5f0f (-select) \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "XSLProcessor \u3092\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u5165\u529b\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u3092\u51e6\u7406\u3059\u308b\u3053\u3068\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "{0} \u6587\u66f8\u3092\u69cb\u6587\u89e3\u6790\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8 ID \u306b\u3088\u308a\u6307\u3055\u308c\u3066\u3044\u308b\u30ce\u30fc\u30c9\u304c\u8981\u7d20\u3067\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each \u306b\u306f match \u307e\u305f\u306f name \u306e\u3044\u305a\u308c\u304b\u306e\u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306b\u306f match \u307e\u305f\u306f name \u306e\u3044\u305a\u308c\u304b\u306e\u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "\u6587\u66f8\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u306e\u8907\u88fd\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_CANT_CREATE_ITEM,
-      "\u9805\u76ee\u3092\u7d50\u679c\u30c4\u30ea\u30fc\u306b\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "\u30bd\u30fc\u30b9 XML \u5185\u306e xml:space \u306b\u306f\u6b63\u3057\u304f\u306a\u3044\u5024\u304c\u3042\u308a\u307e\u3059: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "{0} \u306e xsl:key \u5ba3\u8a00\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_CANT_CREATE_URL,
-     "\u30a8\u30e9\u30fc:  {0} \u306e URL \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_PROCESSOR_ERROR,
-     "XSLT TransformerFactory \u30a8\u30e9\u30fc"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} \u306f\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u306e\u5185\u90e8\u3067\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns \u306f\u3082\u3046\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002  \u4ee3\u308a\u306b xsl:output \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space \u306f\u3082\u3046\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002  \u4ee3\u308a\u306b xsl:strip-space \u307e\u305f\u306f xsl:preserve-space \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result \u306f\u3082\u3046\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002  \u4ee3\u308a\u306b xsl:output \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} \u306b\u306f\u6b63\u3057\u304f\u306a\u3044\u5c5e\u6027\u304c\u3042\u308a\u307e\u3059: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "\u4e0d\u660e\u306e XSL \u8981\u7d20: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort \u306f xsl:apply-templates \u307e\u305f\u306f xsl:for-each \u3068\u3057\u304b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when \u306e\u5834\u6240\u3092\u8aa4\u3063\u3066\u3044\u307e\u3057\u305f\u3002"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when \u304c xsl:choose \u306b\u3088\u308a\u89aa\u306b\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise \u306e\u5834\u6240\u3092\u8aa4\u3063\u3066\u3044\u307e\u3057\u305f\u3002"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise \u304c xsl:choose \u306b\u3088\u308a\u89aa\u306b\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} \u306f\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u5185\u90e8\u3067\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0} \u62e1\u5f35\u540d\u524d\u7a7a\u9593\u63a5\u982d\u90e8 {1} \u304c\u4e0d\u660e\u3067\u3059\u3002"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) \u30a4\u30f3\u30dd\u30fc\u30c8\u306f\u3001\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u5185\u306e\u5148\u982d\u8981\u7d20\u3068\u3057\u3066\u306e\u307f\u5165\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} \u304c\u81ea\u5206\u81ea\u8eab\u3092\u76f4\u63a5\u7684\u307e\u305f\u306f\u9593\u63a5\u7684\u306b\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space \u306b\u6b63\u3057\u304f\u306a\u3044\u5024\u304c\u3042\u308a\u307e\u3059: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet \u306f\u6210\u529f\u3057\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_SAX_EXCEPTION,
-     "SAX \u4f8b\u5916"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-
-    { ER_XSLT_ERROR,
-     "XSLT \u30a8\u30e9\u30fc"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "\u901a\u8ca8\u8a18\u53f7\u306f\u66f8\u5f0f\u30d1\u30bf\u30fc\u30f3\u30fb\u30b9\u30c8\u30ea\u30f3\u30b0\u5185\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "\u6587\u66f8\u6a5f\u80fd\u306f\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8 DOM \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "\u975e\u63a5\u982d\u90e8\u30ea\u30be\u30eb\u30d0\u30fc\u306e\u63a5\u982d\u90e8\u3092\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u62e1\u5f35: \u30d5\u30a1\u30a4\u30eb\u540d\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002file \u307e\u305f\u306f select \u5c5e\u6027\u306f\u6709\u52b9\u306a\u30b9\u30c8\u30ea\u30f3\u30b0\u3092\u623b\u3055\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "FormatterListener \u306f\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u62e1\u5f35\u5185\u306b\u30d3\u30eb\u30c9\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "exclude-result-prefixes \u5185\u306e\u63a5\u982d\u90e8\u304c\u7121\u52b9\u3067\u3059: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "\u6307\u5b9a\u3055\u308c\u305f\u63a5\u982d\u90e8\u306e\u540d\u524d\u7a7a\u9593 URI \u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5f15\u6570\u304c\u3042\u308a\u307e\u305b\u3093: {0}"},
-
-    { ER_INVALID_OPTION,
-     "\u7121\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "\u8aa4\u3063\u305f\u5f62\u5f0f\u306e\u66f8\u5f0f\u30b9\u30c8\u30ea\u30f3\u30b0: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet \u306b\u306f 'version' \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "\u5c5e\u6027: {0} \u306b\u306f\u6b63\u3057\u304f\u306a\u3044\u5024: {1} \u304c\u3042\u308a\u307e\u3059\u3002"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose \u306b\u306f xsl:when \u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports \u306f xsl:for-each \u5185\u3067\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "DTMLiaison \u306f\u51fa\u529b DOM \u30ce\u30fc\u30c9\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093... \u4ee3\u308a\u306b org.apache.xpath.DOM2Helper \u3092\u6e21\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "DTMLiaison \u306f\u5165\u529b DOM \u30ce\u30fc\u30c9\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093... \u4ee3\u308a\u306b org.apache.xpath.DOM2Helper \u3092\u6e21\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "\u62e1\u5f35\u8981\u7d20\u3078\u306e\u547c\u3073\u51fa\u3057\u304c\u5931\u6557\u3057\u307e\u3057\u305f: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\u63a5\u982d\u90e8\u306f\u540d\u524d\u7a7a\u9593\u306b\u89e3\u6c7a\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "\u7121\u52b9\u306a UTF-16 \u30b5\u30ed\u30b2\u30fc\u30c8\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} \u304c\u81ea\u8eab\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u7121\u9650\u30eb\u30fc\u30d7\u306e\u539f\u56e0\u3068\u306a\u308a\u307e\u3059\u3002"},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "\u975e Xerces-DOM \u5165\u529b\u3068 Xerces-DOM \u51fa\u529b\u306f\u6df7\u7528\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "ElemTemplateElement.readObject \u5185: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "\u6b21\u306e\u540d\u524d\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u304c\u8907\u6570\u898b\u3064\u304b\u308a\u307e\u3057\u305f: {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "\u7121\u52b9\u306a\u95a2\u6570\u547c\u3073\u51fa\u3057: \u518d\u5e30\u7684 key() \u547c\u3073\u51fa\u3057\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_REFERENCING_ITSELF,
-      "\u5909\u6570 {0} \u304c\u76f4\u63a5\u7684\u307e\u305f\u306f\u9593\u63a5\u7684\u306b\u81ea\u5206\u81ea\u8eab\u306b\u53c2\u7167\u3065\u3051\u3066\u3044\u307e\u3059\u3002"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "newTemplates \u306e DOMSource \u306e\u5165\u529b\u30ce\u30fc\u30c9\u3092\u30cc\u30eb\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306e\u30af\u30e9\u30b9\u30fb\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "\u5fc5\u8981\u306a\u8981\u7d20\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream \u3092\u30cc\u30eb\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI \u3092\u30cc\u30eb\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "\u30d5\u30a1\u30a4\u30eb\u3092\u30cc\u30eb\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource \u3092\u30cc\u30eb\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "BSF \u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "\u62e1\u5f35\u6a5f\u80fd\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "\u539f\u56e0: {1} \u306e\u305f\u3081\u306b\u62e1\u5f35\u6a5f\u80fd: {0} \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "\u30e1\u30bd\u30c3\u30c9 {0} \u3078\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30fb\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057\u306b\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30fb\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u6700\u521d\u306e\u5f15\u6570\u3068\u3057\u3066\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "\u7121\u52b9\u306a\u8981\u7d20\u540d\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f: {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "\u8981\u7d20\u540d\u30e1\u30bd\u30c3\u30c9\u306f\u9759\u7684\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093: {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "\u62e1\u5f35\u6a5f\u80fd {0} : {1} \u304c\u4e0d\u660e\u3067\u3059\u3002"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "{0} \u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u30fc\u306e\u6700\u9069\u4e00\u81f4\u304c\u8907\u6570\u3042\u308a\u307e\u3059\u3002"},
-
-    { ER_MORE_MATCH_METHOD,
-             "\u30e1\u30bd\u30c3\u30c9 {0} \u306e\u6700\u9069\u4e00\u81f4\u304c\u8907\u6570\u3042\u308a\u307e\u3059\u3002"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "\u8981\u7d20\u30e1\u30bd\u30c3\u30c9 {0} \u306e\u6700\u9069\u4e00\u81f4\u304c\u8907\u6570\u3042\u308a\u307e\u3059\u3002"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "{0} \u3092\u8a55\u4fa1\u3059\u308b\u305f\u3081\u306b\u6e21\u3055\u308c\u305f\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304c\u7121\u52b9\u3067\u3059\u3002"},
-
-    { ER_POOL_EXISTS,
-             "\u30d7\u30fc\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-    { ER_NO_DRIVER_NAME,
-             "\u30c9\u30e9\u30a4\u30d0\u30fc\u540d\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_NO_URL,
-             "URL \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "\u30d7\u30fc\u30eb\u30fb\u30b5\u30a4\u30ba\u304c 1 \u3088\u308a\u5c0f\u3067\u3059\u3002"},
-
-    { ER_INVALID_DRIVER,
-             "\u7121\u52b9\u306a\u30c9\u30e9\u30a4\u30d0\u30fc\u540d\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-    { ER_NO_STYLESHEETROOT,
-             "\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u306e\u30eb\u30fc\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "xml:space \u306e\u5024\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "processFromNode \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "\u30ea\u30bd\u30fc\u30b9 [ {0} ] \u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "\u30d0\u30c3\u30d5\u30a1\u30fc\u30fb\u30b5\u30a4\u30ba <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "\u30a8\u30af\u30b9\u30c6\u30f3\u30b7\u30e7\u30f3\u3092\u547c\u3073\u51fa\u3057\u6642\u306b\u4e0d\u660e\u30a8\u30e9\u30fc"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "\u63a5\u982d\u90e8 {0} \u306b\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u540d\u524d\u7a7a\u9593\u5ba3\u8a00\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "\u8981\u7d20\u306e\u5185\u5bb9\u306f lang=javaclass {0} \u306e\u5834\u5408\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u3067\u7d42\u4e86\u304c\u6307\u56f3\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-    { ER_ONE_OR_TWO,
-        "1 \u307e\u305f\u306f 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 \u307e\u305f\u306f 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "{0} \u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f (CLASSPATH \u3092\u8abf\u3079\u3066\u304f\u3060\u3055\u3044)\u3002\u73fe\u5728\u306f\u307e\u3055\u306b\u30c7\u30d5\u30a9\u30eb\u30c8\u3092\u4f7f\u7528\u4e2d\u3067\u3059\u3002"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "\u30c7\u30d5\u30a9\u30eb\u30c8\u30fb\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_RESULT_NULL,
-        "\u7d50\u679c\u306f\u30cc\u30eb\u306b\u306f\u306a\u3089\u306a\u3044\u306f\u305a\u3067\u3059\u3002"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "\u7d50\u679c\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "\u51fa\u529b\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "\u578b {0} \u306e Result \u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "\u578b {0} \u306e Source \u3092\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "\u30cc\u30eb\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u30fb\u30cf\u30f3\u30c9\u30e9\u30fc"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "\u30cc\u30eb\u306e\u30a8\u30e9\u30fc\u30fb\u30cf\u30f3\u30c9\u30e9\u30fc"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "ContentHandler \u304c\u672a\u8a2d\u5b9a\u306e\u5834\u5408\u306f parse \u306e\u547c\u3073\u51fa\u3057\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "\u30d5\u30a3\u30eb\u30bf\u30fc\u306e\u89aa\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u304c {0}\u3001\u30e1\u30c7\u30a3\u30a2= {1} \u306b\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_NO_STYLESHEET_PI,
-         "XML \u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8 PI \u304c {0} \u306b\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_NOT_SUPPORTED,
-       "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc {0} \u306e\u5024\u306f\u30d6\u30fc\u30eb\u30fb\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "{0} \u306e\u5916\u90e8\u30b9\u30af\u30ea\u30d7\u30c8\u3078\u5230\u9054\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "\u30ea\u30bd\u30fc\u30b9 [ {0} ] \u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "\u51fa\u529b\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u306f\u8a8d\u8b58\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "ElemLiteralResult \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u4f5c\u6210\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "{0} \u306e\u5024\u306b\u306f\u69cb\u6587\u89e3\u6790\u53ef\u80fd\u756a\u53f7\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "{0} \u306e\u5024\u306f yes \u307e\u305f\u306f no \u3068\u7b49\u3057\u304f\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "{0} \u30e1\u30bd\u30c3\u30c9\u306e\u547c\u3073\u51fa\u3057\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "ElemTemplateElement \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u4f5c\u6210\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "\u6587\u5b57\u306f\u6587\u66f8\u5185\u306e\u3053\u306e\u30dd\u30a4\u30f3\u30c8\u3067\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "\"{0}\" \u5c5e\u6027\u306f {1} \u8981\u7d20\u3067\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_BAD_VALUE,
-     "{0} \u306e\u9593\u9055\u3063\u305f\u5024 {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "{0} \u5c5e\u6027\u5024\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002 "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "{0} \u5c5e\u6027\u5024\u306f\u8a8d\u8b58\u3055\u308c\u307e\u305b\u3093\u3002 "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "\u540d\u524d\u7a7a\u9593\u63a5\u982d\u90e8\u3092\u30cc\u30eb\u306e URI \u3067\u751f\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "\u6700\u5927 Long \u6574\u6570\u3088\u308a\u5927\u304d\u3044\u6570\u3092\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "SAX1 \u30c9\u30e9\u30a4\u30d0\u30fc\u30fb\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "SAX1 \u30c9\u30e9\u30a4\u30d0\u30fc\u30fb\u30af\u30e9\u30b9 {0} \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u304c\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "SAX1 \u30c9\u30e9\u30a4\u30d0\u30fc\u30fb\u30af\u30e9\u30b9 {0} \u304c\u30ed\u30fc\u30c9\u3055\u308c\u307e\u3057\u305f\u304c\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "SAX1 \u30c9\u30e9\u30a4\u30d0\u30fc\u30fb\u30af\u30e9\u30b9 {0} \u304c org.xml.sax.Parser \u3092\u5b9f\u88c5\u3057\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "\u30b7\u30b9\u30c6\u30e0\u30fb\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc org.xml.sax.parser \u306f\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "\u30d1\u30fc\u30b5\u30fc\u306e\u5f15\u6570\u3092\u30cc\u30eb\u306b\u3057\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_FEATURE,
-     "\u6a5f\u80fd: {0}"},
-
-    { ER_PROPERTY,
-     "\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "\u30cc\u30eb\u5b9f\u4f53\u30ea\u30be\u30eb\u30d0\u30fc"},
-
-    { ER_NULL_DTD_HANDLER,
-     "\u30cc\u30eb DTD \u30cf\u30f3\u30c9\u30e9\u30fc"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "\u30c9\u30e9\u30a4\u30d0\u30fc\u540d\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_NO_URL_SPECIFIED,
-     "URL \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "\u30d7\u30fc\u30eb\u30fb\u30b5\u30a4\u30ba\u304c 1 \u3088\u308a\u5c0f\u3055\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "\u7121\u52b9\u306a\u30c9\u30e9\u30a4\u30d0\u30fc\u540d\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306e\u30a8\u30e9\u30fc:  \u5f0f\u306b ElemTemplateElement \u89aa\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "RedundentExprEliminator \u5185\u306e\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306e\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} \u306f\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u306e\u3053\u306e\u4f4d\u7f6e\u3067\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "\u7a7a\u767d\u6587\u5b57\u4ee5\u5916\u306e\u30c6\u30ad\u30b9\u30c8\u306f\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u306e\u3053\u306e\u4f4d\u7f6e\u3067\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "\u6b63\u3057\u304f\u306a\u3044\u5024: {1} \u304c CHAR \u5c5e\u6027: {0} \u306b\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002CHAR \u578b\u306e\u5c5e\u6027\u306f 1 \u6587\u5b57\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "\u6b63\u3057\u304f\u306a\u3044\u5024: {1} \u304c QNAME \u5c5e\u6027: {0} \u306b\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "\u6b63\u3057\u304f\u306a\u3044\u5024: {1} \u304c ENUM \u5c5e\u6027: {0} \u306b\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002\u6709\u52b9\u5024: {2}\u3002"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "\u6b63\u3057\u304f\u306a\u3044\u5024: {1} \u304c NMTOKEN \u5c5e\u6027: {0} \u306b\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "\u6b63\u3057\u304f\u306a\u3044\u5024: {1} \u304c NCNAME \u5c5e\u6027: {0} \u306b\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "\u6b63\u3057\u304f\u306a\u3044\u5024: {1} \u304c boolean \u5c5e\u6027: {0} \u306b\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "\u6b63\u3057\u304f\u306a\u3044\u5024: {1} \u304c number \u5c5e\u6027: {0} \u306b\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "\u30de\u30c3\u30c1\u30f3\u30b0\u30fb\u30d1\u30bf\u30fc\u30f3\u306e {0} \u3078\u306e\u5f15\u6570\u306f\u30ea\u30c6\u30e9\u30eb\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002"},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "\u30b0\u30ed\u30fc\u30d0\u30eb\u5909\u6570\u5ba3\u8a00\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "\u5909\u6570\u5ba3\u8a00\u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template \u306b\u306f name \u307e\u305f\u306f match \u5c5e\u6027 (\u3042\u308b\u3044\u306f\u305d\u306e\u4e21\u65b9) \u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "exclude-result-prefixes \u5185\u306e\u63a5\u982d\u90e8\u304c\u7121\u52b9\u3067\u3059: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "{0} \u3068\u3044\u3046\u540d\u524d\u306e attribute-set \u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "{0} \u3068\u3044\u3046\u540d\u524d\u306e\u95a2\u6570\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "{0} \u8981\u7d20\u306b\u5185\u5bb9\u304a\u3088\u3073 select \u5c5e\u6027\u306e\u4e21\u65b9\u304c\u3042\u3063\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "param {0} \u306e\u5024\u306f\u6709\u52b9\u306a Java \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "xsl:namespace-alias \u8981\u7d20\u306e result-prefix \u5c5e\u6027\u306e\u5024\u304c '#default' \u306b\u306a\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u3053\u306e\u8981\u7d20\u306e\u30b9\u30b3\u30fc\u30d7\u5185\u306b\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u540d\u524d\u7a7a\u9593\u306e\u5ba3\u8a00\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "xsl:namespace-alias \u8981\u7d20\u306e result-prefix \u5c5e\u6027\u306e\u5024\u304c ''{0}'' \u306b\u306a\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u3053\u306e\u8981\u7d20\u306e\u30b9\u30b3\u30fc\u30d7\u5185\u306b\u306f\u63a5\u982d\u90e8 ''{0}'' \u306e\u540d\u524d\u7a7a\u9593\u5ba3\u8a00\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "TransformerFactory.setFeature(String name, boolean value) \u306e\u6a5f\u80fd\u540d\u3092\u30cc\u30eb\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "TransformerFactory.getFeature(String name) \u306e\u6a5f\u80fd\u540d\u3092\u30cc\u30eb\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "\u6a5f\u80fd ''{0}'' \u306f\u3053\u306e TransformerFactory \u306b\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30fc\u4fdd\u8b77\u3055\u308c\u305f\u51e6\u7406\u6a5f\u80fd\u304c true \u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u3068\u304d\u306b\u3001\u62e1\u5f35\u8981\u7d20 ''{0}'' \u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "\u30cc\u30eb\u540d\u524d\u7a7a\u9593 URI \u306e\u63a5\u982d\u90e8\u306f\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "\u30cc\u30eb\u63a5\u982d\u90e8\u306e\u540d\u524d\u7a7a\u9593 URI \u306f\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "\u95a2\u6570\u540d \u306f\u30cc\u30eb\u306b\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "\u30a2\u30ea\u30c6\u30a3\u30fc (\u5f15\u6570\u306e\u6570) \u306f\u8ca0\u306e\u5024\u306b\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "'}' \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u304c\u3001\u30aa\u30fc\u30d7\u30f3\u3055\u308c\u305f\u5c5e\u6027\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "\u8b66\u544a: count \u5c5e\u6027\u304c xsl:number \u5185\u306e\u4e0a\u4f4d\u3068\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002 \u30bf\u30fc\u30b2\u30c3\u30c8 = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "\u65e7\u69cb\u6587: 'expr' \u5c5e\u6027\u306e\u540d\u524d\u304c 'select' \u306b\u5909\u66f4\u3055\u308c\u3066\u3044\u307e\u3059\u3002"},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan \u306f\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u756a\u53f7\u95a2\u6570\u5185\u3067\u307e\u3060\u30ed\u30b1\u30fc\u30eb\u540d\u3092\u51e6\u7406\u3057\u307e\u305b\u3093\u3002"},
-
-    { WG_LOCALE_NOT_FOUND,
-      "\u8b66\u544a: xml:lang={0} \u306e\u30ed\u30b1\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "URL \u3092 {0} \u304b\u3089\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "\u8981\u6c42\u3055\u308c\u305f doc: {0} \u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "<sort xml:lang={0} \u306e\u30b3\u30ec\u30fc\u30bf\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "\u65e7\u69cb\u6587: \u95a2\u6570\u547d\u4ee4\u3067\u306f {0} \u306e URL \u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "\u30a8\u30f3\u30b3\u30fc\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093: {0} \u306f UTF-8 \u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "\u30a8\u30f3\u30b3\u30fc\u30c9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093: {0} \u306f Java {1} \u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "\u9650\u5b9a\u6027\u306e\u77db\u76fe\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f: {0} \u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u5185\u3067\u6700\u5f8c\u306b\u691c\u51fa\u3055\u308c\u305f\u3082\u306e\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002"},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= {0} \u3092\u69cb\u6587\u89e3\u6790\u4e2d\u304a\u3088\u3073\u6e96\u5099\u4e2d =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "\u5c5e\u6027\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "xsl:strip-space \u3068 xsl:preserve-space \u306e\u9593\u306e\u30de\u30c3\u30c1\u30f3\u30b0\u306e\u77db\u76fe"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan \u306f\u307e\u3060 {0} \u5c5e\u6027\u3092\u51e6\u7406\u3057\u307e\u305b\u3093\u3002"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "10 \u9032\u6570\u5f62\u5f0f\u306e\u5ba3\u8a00\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "XSLT \u540d\u524d\u7a7a\u9593\u304c\u306a\u3044\u304b\u8aa4\u3063\u3066\u3044\u307e\u3059\u3002 "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "\u30c7\u30d5\u30a9\u30eb\u30c8\u306e xsl:decimal-format \u5ba3\u8a00\u306f 1 \u3064\u3057\u304b\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "xsl:decimal-format \u540d\u306f\u56fa\u6709\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\u540d\u524d \"{0}\" \u304c\u91cd\u8907\u3057\u3066\u3044\u307e\u3057\u305f\u3002"},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} \u306b\u6b63\u3057\u304f\u306a\u3044\u5c5e\u6027\u304c\u3042\u308a\u307e\u3059: {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "\u540d\u524d\u7a7a\u9593\u63a5\u982d\u90e8\u3092\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0} - \u30ce\u30fc\u30c9\u306f\u7121\u8996\u3055\u308c\u307e\u3059\u3002"},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet \u306b\u306f 'version' \u5c5e\u6027\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "\u6b63\u3057\u304f\u306a\u3044\u5c5e\u6027\u540d: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "\u5c5e\u6027 {0}: {1} \u306b\u4f7f\u7528\u3055\u308c\u305f\u5024\u306f\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "\u6587\u66f8\u6a5f\u80fd\u306e 2 \u756a\u76ee\u306e\u5f15\u6570\u304b\u3089\u5f97\u3089\u308c\u305f nodeset \u304c\u7a7a\u3067\u3059\u3002\u7a7a\u306e node-set \u3092\u623b\u3057\u307e\u3059\u3002"},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "xsl:processing-instruction \u540d\u306e 'name' \u5c5e\u6027\u306e\u5024\u306f 'xml' \u3067\u3042\u3063\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "xsl:processing-instruction \u306e ''name'' \u5c5e\u6027\u306e\u5024\u306f\u6709\u52b9\u306a NCName \u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "\u4e0b\u4f4d\u30ce\u30fc\u30c9\u306e\u5f8c\u307e\u305f\u306f\u8981\u7d20\u304c\u751f\u6210\u3055\u308c\u308b\u524d\u306b\u5c5e\u6027 {0} \u306f\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u5c5e\u6027\u306f\u7121\u8996\u3055\u308c\u307e\u3059\u3002"},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "\u5909\u66f4\u3067\u304d\u306a\u3044\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u5909\u66f4\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002"
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "en"},
-  {  "help_language",  "en" },
-  {  "language",  "en" },
-  { "BAD_CODE", "createMessage \u3078\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u304c\u7bc4\u56f2\u5916\u3067\u3057\u305f\u3002"},
-  {  "FORMAT_FAILED", "messageFormat \u547c\u3073\u51fa\u3057\u4e2d\u306b\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f\u3002"},
-  {  "version", ">>>>>>> Xalan \u30d0\u30fc\u30b8\u30e7\u30f3 "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "\u306f\u3044 (y)"},
-  { "line", "\u884c #"},
-  { "column","\u6841 #"},
-  { "xsldone", "XSLProcessor: \u5b8c\u4e86"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Xalan-J \u30b3\u30de\u30f3\u30c9\u884c Process \u30af\u30e9\u30b9\u30fb\u30aa\u30d7\u30b7\u30e7\u30f3"},
-  { "xslProc_option", "Xalan-J \u30b3\u30de\u30f3\u30c9\u884c Process \u30af\u30e9\u30b9\u30fb\u30aa\u30d7\u30b7\u30e7\u30f3\u003a"},
-  { "xslProc_invalid_xsltc_option", "\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306f XSLTC \u30e2\u30fc\u30c9\u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-  { "xslProc_invalid_xalan_option", "\u30aa\u30d7\u30b7\u30e7\u30f3 {0} \u306f -XSLTC \u3068\u4e00\u7dd2\u306b\u3057\u304b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002"},
-  { "xslProc_no_input", "\u30a8\u30e9\u30fc: \u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u304c\u306a\u3044\u304b\u5165\u529b xml \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u4f7f\u7528\u6cd5\u306e\u8aac\u660e\u306b\u3064\u3044\u3066\u306f\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u306a\u3057\u3067\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-  { "xslProc_common_options", "-\u5171\u901a\u30aa\u30d7\u30b7\u30e7\u30f3-"},
-  { "xslProc_xalan_options", "-Xalan \u7528\u30aa\u30d7\u30b7\u30e7\u30f3-"},
-  { "xslProc_xsltc_options", "-XSLTC \u7528\u30aa\u30d7\u30b7\u30e7\u30f3-"},
-  { "xslProc_return_to_continue", "(\u7d9a\u3051\u308b\u306b\u306f <return> \u3092\u62bc\u3057\u3066\u304f\u3060\u3055\u3044)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "   [-XSLTC (\u5909\u63db\u306b XSLTC \u3092\u4f7f\u7528)]"},
-  { "optionIN", "   [-IN inputXMLURL]"},
-  { "optionXSL", "   [-XSL XSLTransformationURL]"},
-  { "optionOUT",  "   [-OUT outputFileName]"},
-  { "optionLXCIN", "   [-LXCIN compiledStylesheetFileNameIn]"},
-  { "optionLXCOUT", "   [-LXCOUT compiledStylesheetFileNameOutOut]"},
-  { "optionPARSER", "   [-PARSER parser liaison \u306e\u5b8c\u5168\u4fee\u98fe\u30af\u30e9\u30b9\u540d]"},
-  {  "optionE", "   [-E (\u5b9f\u4f53\u53c2\u7167\u3092\u5c55\u958b\u3057\u306a\u3044)]"},
-  {  "optionV",  "   [-E (\u5b9f\u4f53\u53c2\u7167\u3092\u5c55\u958b\u3057\u306a\u3044)]"},
-  {  "optionQC", "   [-QC (\u9759\u6b62\u30d1\u30bf\u30fc\u30f3\u77db\u76fe\u8b66\u544a)]"},
-  {  "optionQ", "   [-Q  (\u9759\u6b62\u30e2\u30fc\u30c9)]"},
-  {  "optionLF", "   [-LF (LF (\u6539\u884c) \u3092\u51fa\u529b\u6642\u306e\u307f\u306b\u4f7f\u7528  {\u30c7\u30d5\u30a9\u30eb\u30c8\u306f CR/LF})]"},
-  {  "optionCR", "   [-CR (CR (\u5fa9\u5e30) \u3092\u51fa\u529b\u6642\u306e\u307f\u306b\u4f7f\u7528 {\u30c7\u30d5\u30a9\u30eb\u30c8\u306f CR/LF})]"},
-  { "optionESCAPE", "   [-ESCAPE (\u30a8\u30b9\u30b1\u30fc\u30d7\u3059\u308b\u6587\u5b57 {\u30c7\u30d5\u30a9\u30eb\u30c8\u306f <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "   [-INDENT (\u5b57\u4e0b\u3052\u3059\u308b\u30b9\u30da\u30fc\u30b9\u3092\u5236\u5fa1 {\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 0})]"},
-  { "optionTT", "   [-TT (\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u547c\u3073\u51fa\u3057\u4e2d\u306b\u30c8\u30ec\u30fc\u30b9\u3002)]"},
-  { "optionTG", "   [-TG (\u5404\u751f\u6210\u30a4\u30d9\u30f3\u30c8\u3092\u30c8\u30ec\u30fc\u30b9\u3002)]"},
-  { "optionTS", "   [-TS (\u5404\u9078\u629e\u30a4\u30d9\u30f3\u30c8\u3092\u30c8\u30ec\u30fc\u30b9\u3002)]"},
-  {  "optionTTC", "   [-TTC (\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u5b50\u3092\u547c\u3073\u51fa\u3057\u4e2d\u306b\u30c8\u30ec\u30fc\u30b9\u3002)]"},
-  { "optionTCLASS", "   [-TCLASS (\u30c8\u30ec\u30fc\u30b9\u62e1\u5f35\u6a5f\u80fd\u306e TraceListener \u30af\u30e9\u30b9\u3002)]"},
-  { "optionVALIDATE", "   [-VALIDATE (\u59a5\u5f53\u6027\u691c\u67fb\u3092\u5b9f\u884c\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u8a2d\u5b9a\u3002  \u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u3001\u59a5\u5f53\u6027\u691c\u67fb\u306f\u30aa\u30d5\u3067\u3059\u3002)]"},
-  { "optionEDUMP", "   [-EDUMP {optional filename} (\u30a8\u30e9\u30fc\u6642\u306b stackdump \u3092\u5b9f\u884c\u3002)]"},
-  {  "optionXML", "   [-XML (XML \u30d5\u30a9\u30fc\u30de\u30c3\u30bf\u30fc\u3092\u4f7f\u7528\u304a\u3088\u3073 XML \u30d8\u30c3\u30c0\u30fc\u3092\u8ffd\u52a0\u3002)]"},
-  {  "optionTEXT", "   [-TEXT (\u30b7\u30f3\u30d7\u30eb\u30fb\u30c6\u30ad\u30b9\u30c8\u30fb\u30d5\u30a9\u30fc\u30de\u30c3\u30bf\u30fc\u3092\u4f7f\u7528\u3002)]"},
-  {  "optionHTML", "   [-HTML (HTML \u30d5\u30a9\u30fc\u30de\u30c3\u30bf\u30fc\u3092\u4f7f\u7528\u3002)]"},
-  {  "optionPARAM", "   [-PARAM \u540d\u524d\u5f0f (stylesheet \u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u8a2d\u5b9a\u3002)]"},
-  {  "noParsermsg1", "XSL \u51e6\u7406\u306f\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-  {  "noParsermsg2", "** \u30d1\u30fc\u30b5\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f **"},
-  { "noParsermsg3",  "\u30af\u30e9\u30b9\u30d1\u30b9\u3092\u8abf\u3079\u3066\u304f\u3060\u3055\u3044\u3002"},
-  { "noParsermsg4", "IBM \u306e XML Parser for Java \u304c\u306a\u3044\u5834\u5408\u306f\u3001\u6b21\u306e\u30b5\u30a4\u30c8\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u3059:"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER \u7d76\u5bfe\u30af\u30e9\u30b9\u540d (URI \u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b URIResolver)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER \u7d76\u5bfe\u30af\u30e9\u30b9\u540d (\u5b9f\u4f53\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b EntityResolver)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER \u7d76\u5bfe\u30af\u30e9\u30b9\u540d (\u51fa\u529b\u3092\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b ContentHandler)]"},
-  {  "optionLINENUMBERS",  "   [-L \u30bd\u30fc\u30b9\u30fb\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u884c\u756a\u53f7\u3092\u4f7f\u7528]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30fc\u4fdd\u8b77\u3055\u308c\u305f\u51e6\u7406\u6a5f\u80fd\u3092 true \u306b\u8a2d\u5b9a)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA mediaType (\u6587\u66f8\u3068\u95a2\u9023\u3057\u305f\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u3092\u691c\u7d22\u3059\u308b\u30e1\u30c7\u30a3\u30a2\u5c5e\u6027\u3092\u4f7f\u7528\u3002)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR flavorName (\u5909\u63db\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306b s2s=SAX \u307e\u305f\u306f d2d=DOM \u3092\u660e\u793a\u7684\u306b\u4f7f\u7528\u3002)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (\u5909\u63db\u306b\u304b\u304b\u3063\u305f\u5168\u30df\u30ea\u79d2\u3092\u5370\u5237\u3002)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (http://xml.apache.org/xalan/features/incremental \u3092 true \u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u5897\u5206 DTM \u69cb\u9020\u3092\u8981\u6c42\u3002)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (http://xml.apache.org/xalan/features/optimize \u3092 false \u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u6700\u9069\u5316\u51e6\u7406\u306a\u3057\u3092\u8981\u6c42\u3002)]"},
-  { "optionRL",  "   [-RL recursionlimit (\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u306e\u518d\u5e30\u306e\u6df1\u3055\u306b\u3064\u3044\u3066\u306e\u6570\u5024\u9650\u754c\u3092\u6307\u5b9a\u3002)]"},
-  {   "optionXO",  "   [-XO [transletName] (\u540d\u524d\u3092\u751f\u6210\u5f8c\u306e translet \u306b\u5272\u308a\u5f53\u3066)]"},
-  {  "optionXD", "   [-XD destinationDirectory (\u5b9b\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092 translet \u306b\u6307\u5b9a)]"},
-  {  "optionXJ",  "   [-XJ jarfile (translet \u30af\u30e9\u30b9\u3092\u540d\u524d <jarfile> \u306e JAR \u30d5\u30a1\u30a4\u30eb\u306b\u30d1\u30c3\u30b1\u30fc\u30b8\u3057\u307e\u3059)]"},
-  {   "optionXP",  "   [-XP package (\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u63a5\u982d\u90e8\u3092\u3059\u3079\u3066\u306e\u751f\u6210\u5f8c\u306e translet \u30af\u30e9\u30b9\u306b\u6307\u5b9a\u3057\u307e\u3059)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "   [-XN (\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u30a4\u30f3\u30e9\u30a4\u30f3\u3067\u4f7f\u7528\u53ef\u80fd\u306b\u3057\u307e\u3059)]" },
-  { "optionXX",  "   [-XX (\u8ffd\u52a0\u306e\u30c7\u30d0\u30c3\u30b0\u30fb\u30e1\u30c3\u30bb\u30fc\u30b8\u51fa\u529b\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059)]"},
-  { "optionXT" , "   [-XT (\u53ef\u80fd\u306a\u5834\u5408\u306f translet \u3092\u4f7f\u7528\u3057\u3066\u5909\u63db)]"},
-  { "diagTiming"," --------- {0} \u306e {1} \u306b\u3088\u308b\u5909\u63db\u306b\u306f {2} \u30df\u30ea\u79d2\u304b\u304b\u308a\u307e\u3057\u305f" },
-  { "recursionTooDeep","\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u30cd\u30b9\u30c8\u304c\u6df1\u3059\u304e\u307e\u3059\u3002 \u30cd\u30b9\u30c8 = {0}\u3001\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 {1} {2}" },
-  { "nameIs", "\u540d\u524d\u306f" },
-  { "matchPatternIs", "\u30de\u30c3\u30c1\u30f3\u30b0\u30fb\u30d1\u30bf\u30fc\u30f3\u306f" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "\u30a8\u30e9\u30fc: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "\u8b66\u544a: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "\u30d1\u30bf\u30fc\u30f3 ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ko.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ko.java
deleted file mode 100644
index e2ff025..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ko.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_ko.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_ko extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "\uc624\ub958: \ud45c\ud604\uc2dd\uc5d0 '{'\uac00 \uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0}\uc5d0 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc18d\uc131 {1}\uc774(\uac00) \uc788\uc2b5\ub2c8\ub2e4."},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "xsl:apply-imports\uc5d0\uc11c sourceNode\uac00 \ub110(null)\uc785\ub2c8\ub2e4."},
-
-  {ER_CANNOT_ADD,
-      "{1}\uc5d0 {0}\uc744(\ub97c) \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "handleApplyTemplatesInstruction\uc5d0\uc11c sourceNode\uac00 \ub110(null)\uc785\ub2c8\ub2e4."},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0}\uc5d0 \uc774\ub984 \uc18d\uc131\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "{0} \uc774\ub984\uc758 \ud15c\ud50c\ub9ac\ud2b8\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "xsl:call-template\uc5d0 \uc788\ub294 \uc774\ub984 AVT\ub97c \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0}\uc740(\ub294) {1} \uc18d\uc131\uc744 \ud544\uc694\ub85c \ud569\ub2c8\ub2e4."},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0}\uc5d0 ''test'' \uc18d\uc131\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "{0} \ub808\ubca8 \uc18d\uc131\uc5d0 \uc798\ubabb\ub41c \uac12\uc774 \uc788\uc2b5\ub2c8\ub2e4."},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "\ucc98\ub9ac \uba85\ub839\uc5b4 \uc774\ub984\uc740 'xml'\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "\ucc98\ub9ac \uba85\ub839\uc5b4 \uc774\ub984\uc740 \uc720\ud6a8\ud55c NCName\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0}\uc5d0 \ubaa8\ub4dc\uac00 \uc788\uc73c\uba74 \uc77c\uce58 \uc18d\uc131\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0}\uc5d0 \uc774\ub984 \ub610\ub294 \uc77c\uce58 \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "\uc774\ub984 \uacf5\uac04 \uc811\ub450\ubd80\ub97c \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space\uc5d0 \uc798\ubabb\ub41c \uac12\uc774 \uc788\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "\ud558\uc704 \ub178\ub4dc\uc5d0 \uc18c\uc720\uc790 \ubb38\uc11c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "ElemTemplateElement \uc624\ub958: {0}"},
-
-    { ER_NULL_CHILD,
-     "\ub110(null) \ud558\uc704\ub97c \ucd94\uac00\ud558\ub824\uace0 \ud569\ub2c8\ub2e4."},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0}\uc5d0 \uc120\ud0dd\uc801 \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when\uc5d0 'test' \uc18d\uc131\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param\uc5d0 'name' \uc18d\uc131\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "\ubb38\ub9e5\uc5d0 \uc18c\uc720\uc790 \ubb38\uc11c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "XML TransformerFactory Liaison\uc744 \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: \ud504\ub85c\uc138\uc2a4\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan:\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "\uc778\ucf54\ub529\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "TraceListener\ub97c \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key\uc5d0 'name' \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key\uc5d0 'match' \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key\uc5d0 'use' \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0}\uc5d0 ''elements'' \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) {0} \uc18d\uc131 ''prefix''\uac00 \ub204\ub77d\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-    { ER_BAD_STYLESHEET_URL,
-     "\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 URL\uc774 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_IOEXCEPTION,
-      "\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \ud30c\uc77c\uc5d0 \uc785\ucd9c\ub825 \uc608\uc678\uac00 \uc788\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) {0}\uc758 href \uc18d\uc131\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0}\uc774(\uac00) \uc9c1\uc811 \ub610\ub294 \uac04\uc811\uc801\uc73c\ub85c \uc790\uc2e0\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4."},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "StylesheetHandler.processInclude \uc624\ub958, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) {0} \uc18d\uc131 ''lang''\uc774 \ub204\ub77d\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) {0} \uc694\uc18c\uac00 \uc798\ubabb\ub41c \uc704\uce58\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. \ucee8\ud14c\uc774\ub108 \uc694\uc18c ''component''\uac00 \ub204\ub77d\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "Element, DocumentFragment, Document \ub610\ub294 PrintWriter\ub85c\ub9cc \ucd9c\ub825\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},
-
-    { ER_PROCESS_ERROR,
-     "StylesheetRoot.process \uc624\ub958"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "UnImplNode \uc624\ub958: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "\uc624\ub958. xpath \uc120\ud0dd \ud45c\ud604\uc2dd(-select)\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "XSLProcessor\ub97c \uc9c1\ub82c\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \uc785\ub825\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "\uc2a4\ud0c0\uc77c\uc2dc\ud2b8\ub97c \ucc98\ub9ac\ud558\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_COULDNT_PARSE_DOC,
-     "{0} \ubb38\uc11c\ub97c \uad6c\ubb38 \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "\ub2e8\ud3b8\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "\ub2e8\ud3b8 ID\uac00 \uac00\ub9ac\ud0a4\ub294 \ub178\ub4dc\uac00 \uc694\uc18c\uac00 \uc544\ub2d9\ub2c8\ub2e4: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each\uc5d0\ub294 \uc77c\uce58 \ub610\ub294 \uc774\ub984 \uc18d\uc131\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "\ud15c\ud50c\ub9ac\ud2b8\uc5d0\ub294 \uc77c\uce58 \ub610\ub294 \uc774\ub984 \uc18d\uc131\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "\ubb38\uc11c \ub2e8\ud3b8\uc758 \ubcf5\uc81c\ubcf8\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANT_CREATE_ITEM,
-      "\uacb0\uacfc \ud2b8\ub9ac\uc5d0 \ud56d\ubaa9\uc744 \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "\uc6d0\ubcf8 XML\uc758 xml:space\uc5d0 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12\uc774 \uc788\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "{0}\uc5d0 \ub300\ud55c xsl:key \uc120\uc5b8\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANT_CREATE_URL,
-     "\uc624\ub958. url\uc744 \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_PROCESSOR_ERROR,
-     "XSLT TransformerFactory \uc624\ub958"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) \uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \ub0b4\uc5d0 {0}\uc774(\uac00) \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns\uac00 \ub354 \uc774\uc0c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 xsl:output\uc744 \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space\uac00 \ub354 \uc774\uc0c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 xsl:strip-space \ub610\ub294 xsl:preserve-space\ub97c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result\uac00 \ub354 \uc774\uc0c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 xsl:output\uc744 \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0}\uc5d0 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc18d\uc131\uc774 \uc788\uc2b5\ub2c8\ub2e4: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "\uc54c \uc218 \uc5c6\ub294 XSL \uc694\uc18c: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort\ub294 xsl:apply-templates \ub610\ub294 xsl:for-each\uc640 \ud568\uaed8 \uc0ac\uc6a9\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when\uc774 \uc798\ubabb\ub41c \uc704\uce58\uc5d0 \ub193\uc5ec \uc788\uc2b5\ub2c8\ub2e4."},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when\uc774 xsl:choose\uc758 \uc0c1\uc704\uc5d0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise\uac00 \uc798\ubabb\ub41c \uc704\uce58\uc5d0 \ub193\uc5ec \uc788\uc2b5\ub2c8\ub2e4."},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise\uac00 xsl:choose\uc758 \uc0c1\uc704\uc5d0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) \ud15c\ud50c\ub9ac\ud2b8 \ub0b4\uc5d0 {0}\uc774(\uac00) \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0} \ud655\uc7a5 \uc774\ub984 \uacf5\uac04 \uc811\ub450\ubd80 {1}\uc744(\ub97c) \uc54c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) \uac00\uc838\uc624\uae30\ub294 \uc2a4\ud0c0\uc77c\uc2dc\ud2b8\uc5d0\uc11c \uccab \ubc88\uc9f8 \uc694\uc18c\ub85c\ub9cc \ub098\ud0c0\ub0a0 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0}\uc774(\uac00) \uc9c1\uc811 \ub610\ub294 \uac04\uc811\uc801\uc73c\ub85c \uc790\uc2e0\uc744 \uac00\uc838\uc635\ub2c8\ub2e4."},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:\uacf5\uac04\uc5d0 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12\uc774 \uc788\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SAX_EXCEPTION,
-     "SAX \uc608\uc678"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "\ud568\uc218\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-
-    { ER_XSLT_ERROR,
-     "XSLT \uc624\ub958"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "\ud3ec\ub9f7 \ud328\ud134 \ubb38\uc790\uc5f4\uc5d0 \ud1b5\ud654 \ubd80\ud638\uac00 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 DOM\uc5d0\uc11c Document \ud568\uc218\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "\ube44\uc811\ub450\ubd80 \ubd84\uc11d\uc790\uc758 \uc811\ub450\ubd80\ub97c \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Redirect extension: \ud30c\uc77c \uc774\ub984\uc744 \uac00\uc838\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ud30c\uc77c \ub610\ub294 \uc120\ud0dd\uc801 \uc18d\uc131\uc740 \uc62c\ubc14\ub978 \ubb38\uc790\uc5f4\uc744 \ub9ac\ud134\ud574\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "\uacbd\ub85c \uc7ac\uc9c0\uc815 \ud655\uc7a5\uc5d0 FormatterListener\ub97c \ube4c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "exclude-result-prefixes\uc5d0 \uc788\ub294 \uc811\ub450\ubd80\uac00 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "\uc9c0\uc815\ub41c \uc811\ub450\ubd80\uc758 \uc774\ub984 \uacf5\uac04 URI\uac00 \ub204\ub77d\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "\uc635\uc158\uc758 \uc778\uc218\uac00 \ub204\ub77d\ub418\uc5c8\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_INVALID_OPTION,
-     "\uc798\ubabb\ub41c \uc635\uc158: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "\uc798\ubabb \ud615\uc2dd\ud654\ub41c \ud3ec\ub9f7 \ubb38\uc790\uc5f4: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet\uc5d0 'version' \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "\uc18d\uc131: {0}\uc5d0 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12\uc774 \uc788\uc2b5\ub2c8\ub2e4: {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose\uc5d0 xsl:when\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports\ub294 xsl:for-each\uc5d0 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "\ucd9c\ub825 DOM \ub178\ub4dc\uc5d0 DTMLiaison\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 org.apache.xpath.DOM2Helper\ub97c \uc804\ub2ec\ud558\uc2ed\uc2dc\uc624."},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "\uc785\ub825 DOM \ub178\ub4dc\uc5d0 DTMLiaison\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ub300\uc2e0 org.apache.xpath.DOM2Helper\ub97c \uc804\ub2ec\ud558\uc2ed\uc2dc\uc624."},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "\ud655\uc7a5 \uc694\uc18c \ud638\ucd9c\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\uc811\ub450\ubd80\ub294 \uc774\ub984 \uacf5\uac04\uc73c\ub85c \ubd84\uc11d\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "\uc798\ubabb\ub41c UTF-16 \ub300\ub9ac\uc790(surrogate)\uac00 \ubc1c\uacac\ub418\uc5c8\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0}\uc774(\uac00) \uc790\uc2e0\uc744 \uc0ac\uc6a9\ud588\uc73c\ubbc0\ub85c \ubb34\ud55c \ub8e8\ud504\ub97c \ucd08\ub798\ud569\ub2c8\ub2e4."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "\ube44Xerces-DOM \uc785\ub825\uacfc Xerces-DOM \ucd9c\ub825\uc744 \ud63c\ud569\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "{0} \uc774\ub984\uc758 \ud15c\ud50c\ub9ac\ud2b8\uac00 \ub458 \uc774\uc0c1\uc785\ub2c8\ub2e4."},
-
-    { ER_INVALID_KEY_CALL,
-      "\uc798\ubabb\ub41c \ud568\uc218 \ud638\ucd9c: recursive key() \ud638\ucd9c\uc774 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_REFERENCING_ITSELF,
-      "{0} \ubcc0\uc218\ub294 \uc9c1\uc811 \ub610\ub294 \uac04\uc811\uc801\uc73c\ub85c \uc790\uc2e0\uc744 \ucc38\uc870\ud569\ub2c8\ub2e4."},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "newTemplates\uc758 DOMSource\uc5d0 \ub300\ud55c \uc785\ub825 \ub178\ub4dc\ub294 \ub110(null)\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "{0} \uc635\uc158\uc5d0 \ub300\ud55c \ud074\ub798\uc2a4 \ud30c\uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "\ud544\uc218 \uc694\uc18c\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream\uc740 \ub110(null)\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI\ub294 \ub110(null)\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "\ud30c\uc77c\uc740 \ub110(null)\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource\ub294 \ub110(null)\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "BSF \uad00\ub9ac\uc790\ub97c \ucd08\uae30\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "\ud655\uc7a5\uc790\ub97c \ucef4\ud30c\uc77c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "\ud655\uc7a5\uc790\ub97c \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}, \uc6d0\uc778: {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "{0} \uba54\uc18c\ub4dc\uc5d0 \ub300\ud55c \uc778\uc2a4\ud134\uc2a4 \uba54\uc18c\ub4dc \ud638\ucd9c\uc740 \uccab \ubc88\uc9f8 \uc778\uc218\ub85c \uc624\ube0c\uc81d\ud2b8 \uc778\uc2a4\ud134\uc2a4\ub97c \ud544\uc694\ub85c \ud569\ub2c8\ub2e4."},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "\uc798\ubabb\ub41c \uc694\uc18c \uc774\ub984\uc774 \uc9c0\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "\uc694\uc18c \uc774\ub984 \uba54\uc18c\ub4dc\ub294 static\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4: {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "\ud655\uc7a5 \ud568\uc218 {0} : {1}\uc744(\ub97c) \uc54c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "{0}\uc5d0 \ub300\ud55c \uc0dd\uc131\uc790\uc5d0 \uac00\uc7a5 \uc77c\uce58\ud558\ub294 \uac83\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_MORE_MATCH_METHOD,
-             "{0} \uba54\uc18c\ub4dc\uc5d0 \uac00\uc7a5 \uc77c\uce58\ud558\ub294 \uac83\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "{0} \uc694\uc18c \uba54\uc18c\ub4dc\uc5d0 \uac00\uc7a5 \uc77c\uce58\ud558\ub294 \uac83\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "{0}\uc744(\ub97c) \ud3c9\uac00\ud558\ub294 \ub370 \uc798\ubabb\ub41c \ubb38\ub9e5\uc774 \uc804\ub2ec\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-    { ER_POOL_EXISTS,
-             "\ud480\uc774 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_DRIVER_NAME,
-             "\ub4dc\ub77c\uc774\ubc84 \uc774\ub984\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_URL,
-             "URL\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "\ud480 \ud06c\uae30\uac00 1 \ubbf8\ub9cc\uc785\ub2c8\ub2e4."},
-
-    { ER_INVALID_DRIVER,
-             "\uc798\ubabb\ub41c \ub4dc\ub77c\uc774\ubc84 \uc774\ub984\uc744 \uc9c0\uc815\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_STYLESHEETROOT,
-             "\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \ub8e8\ud2b8\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "xml:space\uc5d0 \ub300\ud574 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12\uc785\ub2c8\ub2e4."},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "processFromNode\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "[ {0} ] \uc790\uc6d0\uc774 {1} \n {2} \t {3}\uc744 \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "\ubc84\ud37c \ud06c\uae30 <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "\ud655\uc7a5 \ud638\ucd9c \uc2dc \uc54c \uc218 \uc5c6\ub294 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_NAMESPACE_DECL,
-        "{0} \uc811\ub450\ubd80\uc5d0 \ud574\ub2f9\ud558\ub294 \uc774\ub984 \uacf5\uac04 \uc120\uc5b8\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "lang=javaclass {0}\uc5d0 \ub300\ud574 \uc694\uc18c \ucee8\ud150\uce20\uac00 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "\uc2a4\ud0c0\uc77c\uc2dc\ud2b8\uac00 \uc885\ub8cc\ub97c \uc9c0\uc2dc\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ONE_OR_TWO,
-        "1 \ub610\ub294 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 \ub610\ub294 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "{0}(CLASSPATH \ud655\uc778)\uc744(\ub97c) \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc73c\ubbc0\ub85c \ud604\uc7ac \uae30\ubcf8\uac12\ub9cc\uc744 \uc0ac\uc6a9\ud558\ub294 \uc911\uc785\ub2c8\ub2e4."},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "\uae30\ubcf8 \ud15c\ud50c\ub9ac\ud2b8\ub97c \ucd08\uae30\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_RESULT_NULL,
-        "\uacb0\uacfc\ub294 \ub110(null)\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "\uacb0\uacfc\ub97c \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "\ucd9c\ub825\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "{0} \uc720\ud615\uc758 \uacb0\uacfc\ub85c \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "{0} \uc720\ud615\uc758 \uc18c\uc2a4\ub97c \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "\ub110(null) \ucee8\ud150\uce20 \ud578\ub4e4\ub7ec"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "\ub110(null) \uc624\ub958 \ud578\ub4e4\ub7ec"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "ContentHandler\ub97c \uc124\uc815\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0\uc5d0\ub294 parse\ub97c \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "\uc0c1\uc704 \ud544\ud130\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "{0}\uc5d0 \uc2a4\ud0c0\uc77c\uc2dc\ud2b8\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \ub9e4\uccb4= {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "{0}\uc5d0 xml-\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 PI\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NOT_SUPPORTED,
-       "\uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "{0} \ud2b9\uc131\uac12\uc740 \ubd80\uc6b8 \uc778\uc2a4\ud134\uc2a4\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "{0}\uc5d0 \uc788\ub294 \uc678\ubd80 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0 \ub3c4\ub2ec\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "[ {0} ] \uc790\uc6d0\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.\n{1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "\ucd9c\ub825 \ud2b9\uc131\uc774 \uc778\uc2dd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "ElemLiteralResult \uc778\uc2a4\ud134\uc2a4 \uc791\uc131\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "{0}\uc5d0 \ub300\ud55c \uac12\uc5d0 \uad6c\ubb38 \ubd84\uc11d \uac00\ub2a5\ud55c \uc22b\uc790\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "{0}\uc758 \uac12\uc740 yes \ub610\ub294 no\uc5ec\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_FAILED_CALLING_METHOD,
-        "{0} \uba54\uc18c\ub4dc \ud638\ucd9c\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "ElemTemplateElement \uc778\uc2a4\ud134\uc2a4 \uc791\uc131\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "\ubb38\uc11c\uc758 \uc774 \uc9c0\uc810\uc5d0 \ubb38\uc790\uac00 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "{1} \uc694\uc18c\uc5d0 \"{0}\" \uc18d\uc131\uc774 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_BAD_VALUE,
-     "{0} \uc798\ubabb\ub41c \uac12 {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "{0} \uc18d\uc131\uac12\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "{0} \uc18d\uc131\uac12\uc774 \uc778\uc2dd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "\ub110(null) URI\ub85c \uc774\ub984 \uacf5\uac04 \uc811\ub450\ubd80\ub97c \uc0dd\uc131\ud558\ub824\uace0 \ud569\ub2c8\ub2e4."},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "\ucd5c\ub300\ub85c \uae34 \uc815\uc218\ubcf4\ub2e4 \ud070 \uc22b\uc790\ub97c \ud3ec\ub9f7\ud558\ub824\uace0 \ud569\ub2c8\ub2e4."},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "SAX1 \ub4dc\ub77c\uc774\ubc84 \ud074\ub798\uc2a4 {0}\uc744(\ub97c) \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "SAX1 \ub4dc\ub77c\uc774\ubc84 \ud074\ub798\uc2a4 {0}\uc774(\uac00) \uc788\uc73c\ub098 \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "SAX1 \ub4dc\ub77c\uc774\ubc84 \ud074\ub798\uc2a4 {0}\uc744(\ub97c) \ub85c\ub4dc\ud588\uc73c\ub098 \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "SAX1 \ub4dc\ub77c\uc774\ubc84 \ud074\ub798\uc2a4 {0}\uc774(\uac00) org.xml.sax.Parser\ub97c \uad6c\ud604\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "\uc2dc\uc2a4\ud15c \ud2b9\uc131 org.xml.sax.parser\ub97c \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "\uad6c\ubb38 \ubd84\uc11d\uae30 \uc778\uc218\ub294 \ub110(null)\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_FEATURE,
-     "\ud2b9\uc131: {0}"},
-
-    { ER_PROPERTY,
-     "\ud2b9\uc131: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "\ub110(null) \uc5d4\ud2f0\ud2f0 \ubd84\uc11d\uae30"},
-
-    { ER_NULL_DTD_HANDLER,
-     "\ub110(null) DTD \ud578\ub4e4\ub7ec"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "\ub4dc\ub77c\uc774\ubc84 \uc774\ub984\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_URL_SPECIFIED,
-     "URL\uc744 \uc9c0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "\ud480 \ud06c\uae30\uac00 1 \ubbf8\ub9cc\uc785\ub2c8\ub2e4."},
-
-    { ER_INVALID_DRIVER_NAME,
-     "\uc798\ubabb\ub41c \ub4dc\ub77c\uc774\ubc84 \uc774\ub984\uc744 \uc9c0\uc815\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "\ud504\ub85c\uadf8\ub798\uba38 \uc624\ub958. \ud45c\ud604\uc2dd\uc5d0 ElemTemplateElement\uc758 \uc0c1\uc704 \ud56d\ubaa9\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "RedundentExprEliminator\uc5d0 \uc788\ub294 \ud504\ub85c\uadf8\ub798\uba38\uc758 \ub2e8\uc5b8\ubb38: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0}\uc740(\ub294) \uc2a4\ud0c0\uc77c\uc2dc\ud2b8\uc758 \uc774 \uc704\uce58\uc5d0\uc11c \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "\ud654\uc774\ud2b8 \uc2a4\ud398\uc774\uc2a4\uac00 \uc544\ub2cc \ud14d\uc2a4\ud2b8\ub294 \uc2a4\ud0c0\uc77c\uc2dc\ud2b8\uc758 \uc774 \uc704\uce58\uc5d0\uc11c \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "{0} CHAR \uc18d\uc131\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ub41c {1} \uac12\uc774 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. CHAR \uc720\ud615\uc758 \uc18d\uc131\uc740 1\uc790\uc5ec\uc57c \ud569\ub2c8\ub2e4."},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "{0} QNAME \uc18d\uc131\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ub41c {1} \uac12\uc774 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "{0} ENUM \uc18d\uc131\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ub41c {1} \uac12\uc774 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc720\ud6a8\ud55c \uac12\uc740 {2}\uc785\ub2c8\ub2e4."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "{0} NMTOKEN \uc18d\uc131\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ub41c {1} \uac12\uc774 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "{0} NCNAME \uc18d\uc131\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ub41c {1} \uac12\uc774 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "{0} \ubd80\uc6b8 \uc18d\uc131\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ub41c {1} \uac12\uc774 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "{0} \uc22b\uc790 \uc18d\uc131\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ub41c {1} \uac12\uc774 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "\uc77c\uce58 \ud328\ud134\uc5d0\uc11c {0}\uc5d0 \ub300\ud55c \uc778\uc218\ub294 \ub9ac\ud130\ub7f4\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "\uc911\ubcf5 \uae00\ub85c\ubc8c \ubcc0\uc218 \uc120\uc5b8\uc785\ub2c8\ub2e4."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "\uc911\ubcf5 \ubcc0\uc218 \uc120\uc5b8\uc785\ub2c8\ub2e4."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template\uc5d0 \uc774\ub984 \ub610\ub294 \uc77c\uce58 \uc18d\uc131(\ub610\ub294 \ub458 \ub2e4)\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "exclude-result-prefixes\uc5d0 \uc788\ub294 \uc811\ub450\ubd80\uac00 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "\uc774\ub984\uc774 {0}\uc778 attribute-set\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "\uc774\ub984\uc774 {0}\uc778 \ud568\uc218\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "{0} \uc694\uc18c\uc5d0 \ucee8\ud150\uce20\uc640 select \uc18d\uc131\uc774 \ub458 \ub2e4 \uc788\uc5b4\uc11c\ub294 \uc548\ub429\ub2c8\ub2e4. "},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "{0} \ub9e4\uac1c\ubcc0\uc218 \uac12\uc740 \uc720\ud6a8\ud55c Java \uc624\ube0c\uc81d\ud2b8\uc5ec\uc57c \ud569\ub2c8\ub2e4. "},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "xsl:namespace-alias \uc694\uc18c\uc758 result-prefix \uc18d\uc131\uc774 #default' \uac12\uc744 \uac16\uc9c0\ub9cc \uc694\uc18c\uc758 \ubc94\uc704\uc5d0 \uae30\ubcf8 \uc774\ub984 \uacf5\uac04\uc5d0 \ub300\ud55c \uc120\uc5b8\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "xsl:namespace-alias \uc694\uc18c\uc758 result-prefix \uc18d\uc131\uc774 ''{0}'' \uac12\uc744 \uac16\uc9c0\ub9cc \uc694\uc18c\uc758 \ubc94\uc704\uc5d0 \uc811\ub450\ubd80 ''{0}''\uc5d0 \ub300\ud55c \uc774\ub984 \uacf5\uac04 \uc120\uc5b8\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "TransformerFactory.setFeature(\ubb38\uc790\uc5f4 \uc774\ub984, \ubd80\uc6b8 \uac12)\uc5d0\uc11c \uae30\ub2a5 \uc774\ub984\uc774 \ub110(null)\uc774\uba74 \uc548\ub429\ub2c8\ub2e4."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "TransformerFactory.getFeature(\ubb38\uc790\uc5f4 \uc774\ub984)\uc5d0\uc11c \uae30\ub2a5 \uc774\ub984\uc774 \ub110(null)\uc774\uba74 \uc548\ub429\ub2c8\ub2e4."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "\uc774 TransformerFactory\uc5d0\uc11c ''{0}'' \uae30\ub2a5\uc744 \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "\ubcf4\uc548 \ucc98\ub9ac \uae30\ub2a5\uc774 true\ub85c \uc124\uc815\ub41c \uacbd\uc6b0\uc5d0\ub294 ''{0}'' \ud655\uc7a5 \uc694\uc18c\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "\ub110(null) \uc774\ub984 \uacf5\uac04 uri\uc5d0 \ub300\ud55c \uc811\ub450\ubd80\ub97c \uac00\uc838\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "\ub110(null) \uc811\ub450\ubd80\uc5d0 \ub300\ud55c \uc774\ub984 \uacf5\uac04 uri\ub97c \uac00\uc838\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "\ud568\uc218 \uc774\ub984\uc774 \ub110(null)\uc774\uba74 \uc548\ub429\ub2c8\ub2e4."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "arity\uac00 \uc74c\uc218\uc774\uba74 \uc548\ub429\ub2c8\ub2e4."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "'}'\uac00 \ubc1c\uacac\ub418\uc5c8\uc73c\ub098 \uc5f4\ub9b0 \uc18d\uc131 \ud15c\ud50c\ub9ac\ud2b8\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "\uacbd\uace0: \uacc4\uc218 \uc18d\uc131\uc774 xsl:number\uc758 \uc0c1\uc704 \uc694\uc18c\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub300\uc0c1 = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "\uc774\uc804 \uad6c\ubb38: 'expr' \uc18d\uc131\uc758 \uc774\ub984\uc774 'select'\ub85c \ubcc0\uacbd\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan\uc774 \uc544\uc9c1 format-number \ud568\uc218\uc5d0 \uc788\ub294 \ub85c\ucf00\uc77c \uc774\ub984\uc744 \ucc98\ub9ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "\uacbd\uace0: xml:lang={0}\uc5d0 \ub300\ud55c \ub85c\ucf00\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "{0}\uc5d0\uc11c URL\uc744 \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "\uc694\uccad\ub41c \ubb38\uc11c {0}\uc744(\ub97c) \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "<sort xml:lang={0}\uc5d0 \ub300\ud55c Collator\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "\uc774\uc804 \uad6c\ubb38: \ud568\uc218 \uba85\ub839\uc5b4\ub294 {0}\uc758 url\uc744 \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4."},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "\uc778\ucf54\ub529\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}, UTF-8 \uc0ac\uc6a9"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "\uc778\ucf54\ub529\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}, Java {1} \uc0ac\uc6a9"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "\ud2b9\uc131 \ucda9\ub3cc\uc774 \ubc1c\uacac\ub418\uc5c8\uc2b5\ub2c8\ub2e4: {0}. \uc2a4\ud0c0\uc77c\uc2dc\ud2b8\uc5d0\uc11c \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ubc1c\uacac\ub41c \uac83\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= \uad6c\ubb38 \ubd84\uc11d \ubc0f \uc900\ube44 {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Attr \ud15c\ud50c\ub9ac\ud2b8, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "xsl:strip-space \ubc0f xsl:preserve-space \uc0ac\uc774\uc758 \uc77c\uce58 \ucda9\ub3cc"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan\uc774 \uc544\uc9c1 {0} \uc18d\uc131\uc744 \ucc98\ub9ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "10\uc9c4\uc218 \ud3ec\ub9f7\uc5d0 \ub300\ud55c \uc120\uc5b8\uc774 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "XSLT \uc774\ub984 \uacf5\uac04\uc774 \ub204\ub77d\ub418\uc5c8\uac70\ub098 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "\ud558\ub098\uc758 \uae30\ubcf8 xsl:decimal-format \uc120\uc5b8\ub9cc \ud5c8\uc6a9\ub429\ub2c8\ub2e4."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "xsl:decimal-format \uc774\ub984\uc774 \uace0\uc720\ud574\uc57c \ud569\ub2c8\ub2e4. \"{0}\" \uc774\ub984\uc774 \uc911\ubcf5\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0}\uc5d0 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc18d\uc131 {1}\uc774(\uac00) \uc788\uc2b5\ub2c8\ub2e4."},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "\uc774\ub984 \uacf5\uac04 \uc811\ub450\ubd80\ub97c \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}. \ub178\ub4dc\uac00 \ubb34\uc2dc\ub429\ub2c8\ub2e4."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet\uc5d0 'version' \uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc18d\uc131 \uc774\ub984: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "{0} \uc18d\uc131\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ub41c \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "document \ud568\uc218 \ub450 \ubc88\uc9f8 \uc778\uc218\ub85c\ubd80\ud130\uc758 \uacb0\uacfc nodeset\uac00 \ube44\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ube48 \ub178\ub4dc \uc138\ud2b8\ub97c \ub9ac\ud134\ud558\uc2ed\uc2dc\uc624."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "xsl:processing-instruction\uc758 'name' \uc18d\uc131\uac12\uc740 'xml'\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "xsl:processing-instruction\uc758 ''name'' \uc18d\uc131\uac12\uc774 \uc720\ud6a8\ud55c NCName\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "\ud558\uc704 \ub178\ub4dc\uac00 \uc0dd\uc131\ub41c \uc774\ud6c4 \ub610\ub294 \uc694\uc18c\uac00 \uc791\uc131\ub418\uae30 \uc774\uc804\uc5d0 {0} \uc18d\uc131\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc18d\uc131\uc774 \ubb34\uc2dc\ub429\ub2c8\ub2e4."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "\uc218\uc815\ud560 \uc218 \uc5c6\ub294 \uc624\ube0c\uc81d\ud2b8\ub97c \uc218\uc815\ud558\ub824 \ud588\uc2b5\ub2c8\ub2e4."
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "ko"},
-  {  "help_language",  "ko" },
-  {  "language",  "ko" },
-  { "BAD_CODE", "createMessage\uc5d0 \ub300\ud55c \ub9e4\uac1c\ubcc0\uc218\uac00 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4."},
-  {  "FORMAT_FAILED", "messageFormat \ud638\ucd9c \uc911 \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4."},
-  {  "version", ">>>>>>> Xalan \ubc84\uc804 "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "\uc608"},
-  { "line", "\ud589 #"},
-  { "column","\uc5f4 #"},
-  { "xsldone", "XSLProcessor: \uc644\ub8cc"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Xalan-J \uba85\ub839\ud589 \ud504\ub85c\uc138\uc2a4 \ud074\ub798\uc2a4 \uc635\uc158:"},
-  { "xslProc_option", "Xalan-J \uba85\ub839\ud589 \ud504\ub85c\uc138\uc2a4 \ud074\ub798\uc2a4 \uc635\uc158\u003a"},
-  { "xslProc_invalid_xsltc_option", "{0} \uc635\uc158\uc740 XSLTC \ubaa8\ub4dc\uc5d0\uc11c \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-  { "xslProc_invalid_xalan_option", "{0} \uc635\uc158\uc740 -XSLTC\ub85c\ub9cc \uc0ac\uc6a9\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},
-  { "xslProc_no_input", "\uc624\ub958: \uc9c0\uc815\ub41c \uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \ub610\ub294 \uc785\ub825 xml\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\ubc95 \uba85\ub839\uc5b4\uc5d0 \ub300\ud55c \uc635\uc158\uc5c6\uc774 \uc774 \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc2ed\uc2dc\uc624."},
-  { "xslProc_common_options", "-\uc77c\ubc18 \uc635\uc158-"},
-  { "xslProc_xalan_options", "-Xalan\uc5d0 \ub300\ud55c \uc635\uc158-"},
-  { "xslProc_xsltc_options", "-XSLTC\uc5d0 \ub300\ud55c \uc635\uc158-"},
-  { "xslProc_return_to_continue", "(\uacc4\uc18d\ud558\ub824\uba74 Enter \ud0a4\ub97c \ub204\ub974\uc2ed\uc2dc\uc624.)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "[-XSLTC(\ubcc0\ud658\uc5d0 \ub300\ud574 XSLTC \uc0ac\uc6a9)]"},
-  { "optionIN", "[-IN inputXMLURL]"},
-  { "optionXSL", "[-XSL XSLTransformationURL]"},
-  { "optionOUT",  "[-OUT outputFileName]"},
-  { "optionLXCIN", "[-LXCIN compiledStylesheetFileNameIn]"},
-  { "optionLXCOUT", "[-LXCOUT compiledStylesheetFileNameOutOut]"},
-  { "optionPARSER", "[-PARSER \uad6c\ubb38 \ubd84\uc11d\uae30 liaison\uc758 \uc644\uc804\ud55c \ud074\ub798\uc2a4 \uc774\ub984]"},
-  {  "optionE", "[-E(\uc5d4\ud2f0\ud2f0 ref\ub97c \ud3bc\uce58\uc9c0 \uc54a\uc74c)]"},
-  {  "optionV",  "[-E(\uc5d4\ud2f0\ud2f0 ref\ub97c \ud3bc\uce58\uc9c0 \uc54a\uc74c)]"},
-  {  "optionQC", "[-QC(\uc790\ub3d9 \ud328\ud134 \ucda9\ub3cc \uacbd\uace0)]"},
-  {  "optionQ", "[-Q(\uc790\ub3d9 \ubaa8\ub4dc)]"},
-  {  "optionLF", "[-LF(\ucd9c\ub825\uc5d0\uc11c\ub9cc \uc904\ubc14\uafb8\uae30 \uc0ac\uc6a9{\uae30\ubcf8\uac12\uc740 CR/LF\uc784})]"},
-  {  "optionCR", "[-CR(\ucd9c\ub825\uc5d0\uc11c\ub9cc \uce90\ub9ac\uc9c0 \ub9ac\ud134 \uc0ac\uc6a9{\uae30\ubcf8\uac12\uc740 CR/LF\uc784})]"},
-  { "optionESCAPE", "[-ESCAPE(\uc774\uc2a4\ucf00\uc774\ud504\ud560 \ubb38\uc790{\uae30\ubcf8\uac12\uc740 <>&\"\'\\r\\n\uc784})]"},
-  { "optionINDENT", "[-INDENT(\ub4e4\uc5ec\uc4f0\uae30\ud560 \uacf5\ubc31 \uc218 \uc81c\uc5b4{\uae30\ubcf8\uac12\uc740 0\uc784})]"},
-  { "optionTT", "[-TT(\ud15c\ud50c\ub9ac\ud2b8 \ud638\ucd9c \uc2dc \ud15c\ud50c\ub9ac\ud2b8 \ucd94\uc801)]"},
-  { "optionTG", "[-TG(\uac01 \uc0dd\uc131 \uc774\ubca4\ud2b8 \ucd94\uc801)]"},
-  { "optionTS", "[-TS(\uac01 \uc120\ud0dd \uc774\ubca4\ud2b8 \ucd94\uc801)]"},
-  {  "optionTTC", "[-TTC(\ud558\uc704 \ud15c\ud50c\ub9ac\ud2b8 \ucc98\ub9ac \uc2dc \ud558\uc704 \ud15c\ud50c\ub9ac\ud2b8 \ucd94\uc801)]"},
-  { "optionTCLASS", "[-TCLASS(\ucd94\uc801 \ud655\uc7a5\uc5d0 \ub300\ud55c TraceListener \ud074\ub798\uc2a4)]"},
-  { "optionVALIDATE", "[-VALIDATE(\uc720\ud6a8\uc131 \uac80\uc99d \ubc1c\uc0dd \uc5ec\ubd80 \uc124\uc815. \uae30\ubcf8\uc801\uc73c\ub85c\ub294 \uc720\ud6a8\uc131 \uac80\uc99d\uc774 off\ub85c \uc124\uc815\ub428.)]"},
-  { "optionEDUMP", "[-EDUMP{optional filename}(\uc624\ub958 \uc2dc stackdump \uc218\ud589)]"},
-  {  "optionXML", "[-XML(XML \ud3ec\ub9f7\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec XML \uba38\ub9ac\uae00 \ucd94\uac00)]"},
-  {  "optionTEXT", "[-TEXT(\ub2e8\uc21c \ud14d\uc2a4\ud2b8 \ud3ec\ub9f7\ud130 \uc0ac\uc6a9)]"},
-  {  "optionHTML", "[-HTML(HTML \ud3ec\ub9f7\ud130 \uc0ac\uc6a9)]"},
-  {  "optionPARAM", "[-PARAM name expression(\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \ub9e4\uac1c\ubcc0\uc218 \uc124\uc815)]"},
-  {  "noParsermsg1", "XSL \ud504\ub85c\uc138\uc2a4\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-  {  "noParsermsg2", "** \uad6c\ubb38 \ubd84\uc11d\uae30\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4 **"},
-  { "noParsermsg3",  "\ud074\ub798\uc2a4 \uacbd\ub85c\ub97c \uc810\uac80\ud558\uc2ed\uc2dc\uc624."},
-  { "noParsermsg4", "Java\uc6a9 IBM XML \uad6c\ubb38 \ubd84\uc11d\uae30\uac00 \uc5c6\ub294 \uacbd\uc6b0 \ub2e4\uc74c\uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. "},
-  { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "[-URIRESOLVER full class name(URIResolver\ub97c \uc0ac\uc6a9\ud558\uc5ec URI \ubd84\uc11d)]"},
-  { "optionENTITYRESOLVER",  "[-ENTITYRESOLVER full class name(EntityResolver\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc5d4\ud2f0\ud2f0 \ubd84\uc11d)]"},
-  { "optionCONTENTHANDLER",  "[-CONTENTHANDLER full class name(ContentHandler\ub97c \uc0ac\uc6a9\ud558\uc5ec \ucd9c\ub825 \uc9c1\ub82c\ud654)]"},
-  {  "optionLINENUMBERS",  "[-L \uc18c\uc2a4 \ubb38\uc11c\uc5d0 \ud589 \ubc88\ud638 \uc0ac\uc6a9]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (\ubcf4\uc548 \ucc98\ub9ac \uae30\ub2a5\uc744 true\ub85c \uc124\uc815)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA mediaType(\ub9e4\uccb4 \uc18d\uc131\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubb38\uc11c\uc640 \uc5f0\uad00\ub41c \uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \ucc3e\uae30)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR flavorName(\uba85\uc2dc\uc801\uc73c\ub85c s2s=SAX \ub610\ub294 d2d=DOM\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubcc0\ud658 \uc218\ud589)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG(\ubcc0\ud658\uc5d0 \uc18c\uc694\ub41c \uc804\uccb4 \ubc00\ub9ac\ucd08 \uc778\uc1c4)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL(http://xml.apache.org/xalan/features/incremental\uc744 true\ub85c \uc124\uc815\ud558\uc5ec \uc99d\ubd84 DTM \uad6c\uc131 \uc694\uccad)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE(http://xml.apache.org/xalan/features/optimize\ub97c false\ub85c \uc124\uc815\ud558\uc5ec \uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \ucd5c\uc801\ud654 \ucc98\ub9ac\ub97c \uc694\uccad\ud558\uc9c0 \uc54a\uc74c)]"},
-  { "optionRL",  "   [-RL recursionlimit(\uc2a4\ud0c0\uc77c\uc2dc\ud2b8 \ubc18\ubcf5 \uc815\ub3c4\uc5d0 \ub300\ud55c \uc22b\uc790 \ud55c\uacc4 \ub2e8\uc5b8)]"},
-  {   "optionXO",  "[-XO [transletName](\uc0dd\uc131\ub41c translet\uc5d0 \uc774\ub984 \uc9c0\uc815)]"},
-  {  "optionXD", "[-XD destinationDirectory(translet\uc5d0 \ub300\ud574 \ub300\uc0c1 \ub514\ub809\ud1a0\ub9ac \uc9c0\uc815)]"},
-  {  "optionXJ",  "[-XJ jarfile(\uc774\ub984\uc774 <jarfile>\uc778 jar \ud30c\uc77c\ub85c translet \ud074\ub798\uc2a4 \ud328\ud0a4\uc9c0)]"},
-  {   "optionXP",  "[-XP package(\uc0dd\uc131\ub41c \ubaa8\ub4e0 translet \ud074\ub798\uc2a4\uc5d0 \ub300\ud574 \ud328\ud0a4\uc9c0 \uc774\ub984 \uc811\ub450\ubd80 \uc9c0\uc815)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "[-XN(\ud15c\ud50c\ub9ac\ud2b8 \uc778\ub77c\uc774\ub2dd \uc0ac\uc6a9 \uac00\ub2a5)]" },
-  { "optionXX",  "[-XX(\ucd94\uac00 \ub514\ubc84\uae45 \uba54\uc2dc\uc9c0 \ucd9c\ub825 \ucf1c\uae30)]"},
-  { "optionXT" , "[-XT(\uac00\ub2a5\ud55c \uacbd\uc6b0, translet\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubcc0\ud658)]"},
-  { "diagTiming","--------- {1}\uc744(\ub97c) \ud1b5\ud55c {0} \ubcc0\ud658\uc5d0 {2}ms\uac00 \uc18c\uc694\ub418\uc5c8\uc2b5\ub2c8\ub2e4." },
-  { "recursionTooDeep","\ud15c\ud50c\ub9ac\ud2b8 \uc911\ucca9\uc774 \ub108\ubb34 \ub9ce\uc2b5\ub2c8\ub2e4. \uc911\ucca9 = {0}, \ud15c\ud50c\ub9ac\ud2b8 {1} {2}" },
-  { "nameIs", "\uc774\ub984" },
-  { "matchPatternIs", "\uc77c\uce58 \ud328\ud134" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "\uc624\ub958: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "\uacbd\uace0: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("ko", "KR"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_pl.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_pl.java
deleted file mode 100644
index d633633..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_pl.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_pl.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_pl extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "B\u0142\u0105d: Wewn\u0105trz wyra\u017cenia nie mo\u017ce by\u0107 znaku '{'"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} ma niedozwolony atrybut {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "sourceNode jest puste w xsl:apply-imports!"},
-
-  {ER_CANNOT_ADD,
-      "Nie mo\u017cna doda\u0107 {0} do {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "sourceNode jest puste w handleApplyTemplatesInstruction!"},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} musi mie\u0107 atrybut name."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "Nie mo\u017cna znale\u017a\u0107 szablonu o nazwie {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "Nie mo\u017cna przet\u0142umaczy\u0107 AVT nazwy na xsl:call-template."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} wymaga atrybutu: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} musi mie\u0107 atrybut ''test''."},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "B\u0142\u0119dna warto\u015b\u0107 w atrybucie level: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Nazw\u0105 instrukcji przetwarzania nie mo\u017ce by\u0107 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Nazwa instrukcji przetwarzania musi by\u0107 poprawn\u0105 nazw\u0105 NCName {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} musi mie\u0107 atrybut match, je\u015bli ma mode."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} wymaga albo atrybutu name, albo match."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "Nie mo\u017cna rozstrzygn\u0105\u0107 przedrostka przestrzeni nazw {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space ma niepoprawn\u0105 warto\u015b\u0107 {0}"},
-
-    { ER_NO_OWNERDOC,
-      "Bezpo\u015bredni w\u0119ze\u0142 potomny nie ma dokumentu w\u0142a\u015bciciela!"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "B\u0142\u0105d ElemTemplateElement: {0}"},
-
-    { ER_NULL_CHILD,
-     "Pr\u00f3ba dodania pustego bezpo\u015bredniego elementu potomnego!"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} wymaga atrybutu select."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when musi mie\u0107 atrybut 'test'."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param musi mie\u0107 atrybut 'name'."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "Kontekst nie ma dokumentu w\u0142a\u015bciciela!"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "Nie mo\u017cna utworzy\u0107 po\u0142\u0105czenia XML TransformerFactory: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Proces Xalan nie wykona\u0142 si\u0119 pomy\u015blnie."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan nie wykona\u0142 si\u0119 pomy\u015blnie."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "Nieobs\u0142ugiwane kodowanie {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "Nie mo\u017cna utworzy\u0107 TraceListener: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key wymaga atrybutu 'name'."},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key wymaga atrybutu 'match'."},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key wymaga atrybutu 'use'."},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} wymaga atrybutu ''elements''!"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) {0} brakuje atrybutu ''prefix''"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "Adres URL arkusza styl\u00f3w jest b\u0142\u0119dny {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "Nie znaleziono pliku arkusza styl\u00f3w {0}"},
-
-    { ER_IOEXCEPTION,
-      "Wyst\u0105pi\u0142 wyj\u0105tek we/wy w pliku arkusza styl\u00f3w {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) Nie mo\u017cna znale\u017a\u0107 atrybutu href dla {0}"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} zawiera siebie bezpo\u015brednio lub po\u015brednio!"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "B\u0142\u0105d StylesheetHandler.processInclude {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) {0} brakuje atrybutu ''lang''"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) \u017ale umieszczony element {0}?? Brakuje elementu kontenera ''component''"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "Mo\u017cna wyprowadza\u0107 dane tylko do Element, DocumentFragment, Document lub PrintWriter."},
-
-    { ER_PROCESS_ERROR,
-     "B\u0142\u0105d StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "B\u0142\u0105d UnImplNode: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "B\u0142\u0105d! Nie znaleziono wyra\u017cenia wyboru xpath (-select)."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "Nie mo\u017cna szeregowa\u0107 XSLProcessor!"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "Nie podano danych wej\u015bciowych do arkusza styl\u00f3w!"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "Nie powiod\u0142o si\u0119 przetworzenie arkusza styl\u00f3w!"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "Nie mo\u017cna zanalizowa\u0107 dokumentu {0}!"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "Nie mo\u017cna znale\u017a\u0107 fragmentu {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "W\u0119ze\u0142 wskazywany przez identyfikator fragmentu nie by\u0142 elementem {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each musi mie\u0107 albo atrybut match, albo name"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "templates musi mie\u0107 albo atrybut match, albo name"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "Brak klonu fragmentu dokumentu!"},
-
-    { ER_CANT_CREATE_ITEM,
-      "Nie mo\u017cna utworzy\u0107 elementu w wynikowym drzewie {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "xml:space w \u017ar\u00f3d\u0142owym pliku XML ma niepoprawn\u0105 warto\u015b\u0107 {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "Nie ma deklaracji xsl:key dla {0}!"},
-
-    { ER_CANT_CREATE_URL,
-     "B\u0142\u0105d! Nie mo\u017cna utworzy\u0107 adresu url dla {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions jest nieobs\u0142ugiwane"},
-
-    { ER_PROCESSOR_ERROR,
-     "B\u0142\u0105d XSLT TransformerFactory"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} jest niedozwolone wewn\u0105trz arkusza styl\u00f3w!"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns nie jest ju\u017c obs\u0142ugiwane!  U\u017cyj zamiast tego xsl:output."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space nie jest ju\u017c obs\u0142ugiwane!  U\u017cyj zamiast tego xsl:strip-space lub xsl:preserve-space."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result nie jest ju\u017c obs\u0142ugiwane!  U\u017cyj zamiast tego xsl:output."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} ma niedozwolony atrybut {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Nieznany element XSL {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort mo\u017ce by\u0107 u\u017cywane tylko z xsl:apply-templates lub xsl:for-each."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) b\u0142\u0119dnie umieszczone xsl:when!"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when bez nadrz\u0119dnego xsl:choose!"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) b\u0142\u0119dnie umieszczone xsl:otherwise!"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise bez nadrz\u0119dnego xsl:choose!"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} jest niedozwolone wewn\u0105trz szablonu!"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) Nieznany przedrostek {1} rozszerzenia {0} przestrzeni nazw"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Importy mog\u0105 wyst\u0105pi\u0107 tylko jako pierwsze elementy w arkuszu styl\u00f3w!"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} importuje siebie bezpo\u015brednio lub po\u015brednio!"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space ma niedozwolon\u0105 warto\u015b\u0107: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet by\u0142o niepomy\u015blne!"},
-
-    { ER_SAX_EXCEPTION,
-     "Wyj\u0105tek SAX"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "Nieobs\u0142ugiwana funkcja!"},
-
-
-    { ER_XSLT_ERROR,
-     "B\u0142\u0105d XSLT"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "Znak waluty jest niedozwolony w ci\u0105gu znak\u00f3w wzorca formatu"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "Funkcja Document nie jest obs\u0142ugiwana w arkuszu styl\u00f3w DOM!"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "Nie mo\u017cna rozstrzygn\u0105\u0107 przedrostka przelicznika bez przedrostka!"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Rozszerzenie Redirect: Nie mo\u017cna pobra\u0107 nazwy pliku - atrybut file lub select musi zwr\u00f3ci\u0107 poprawny ci\u0105g znak\u00f3w."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "Nie mo\u017cna zbudowa\u0107 FormatterListener w rozszerzeniu Redirect!"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "Przedrostek w exclude-result-prefixes jest niepoprawny: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "Nieobecny identyfikator URI przestrzeni nazw w podanym przedrostku"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Nieobecny argument opcji {0}"},
-
-    { ER_INVALID_OPTION,
-     "Niepoprawna opcja {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Zniekszta\u0142cony ci\u0105g znak\u00f3w formatu {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet wymaga atrybutu 'version'!"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "Atrybut {0} ma niepoprawn\u0105 warto\u015b\u0107 {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose wymaga xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports jest niedozwolone w xsl:for-each"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "Nie mo\u017cna u\u017cy\u0107 DTMLiaison w wyj\u015bciowym w\u0119\u017ale DOM... przeka\u017c zamiast tego org.apache.xpath.DOM2Helper!"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "Nie mo\u017cna u\u017cy\u0107 DTMLiaison w wej\u015bciowym w\u0119\u017ale DOM... przeka\u017c zamiast tego org.apache.xpath.DOM2Helper!"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "Wywo\u0142anie elementu rozszerzenia nie powiod\u0142o si\u0119: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Przedrostek musi da\u0107 si\u0119 przet\u0142umaczy\u0107 na przestrze\u0144 nazw: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "Wykryto niepoprawny odpowiednik UTF-16: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} u\u017cy\u0142o siebie, co wywo\u0142a niesko\u0144czon\u0105 p\u0119tl\u0119."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "Nie mo\u017cna miesza\u0107 wej\u015bcia innego ni\u017c Xerces-DOM z wyj\u015bciem Xerces-DOM!"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "W ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Znaleziono wi\u0119cej ni\u017c jeden szablon o nazwie {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "Niepoprawne wywo\u0142anie funkcji: Rekurencyjne wywo\u0142ania key() s\u0105 niedozwolone"},
-
-    { ER_REFERENCING_ITSELF,
-      "Zmienna {0} odwo\u0142uje si\u0119 do siebie bezpo\u015brednio lub po\u015brednio!"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "W\u0119ze\u0142 wej\u015bciowy nie mo\u017ce by\u0107 pusty dla DOMSource dla newTemplates!"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "Nie znaleziono pliku klasy dla opcji {0}"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "Nie znaleziono wymaganego elementu {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream nie mo\u017ce by\u0107 pusty"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "Identyfikator URI nie mo\u017ce by\u0107 pusty"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "File nie mo\u017ce by\u0107 pusty"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource nie mo\u017ce by\u0107 pusty"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "Nie mo\u017cna zainicjowa\u0107 mened\u017cera BSF"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "Nie mo\u017cna skompilowa\u0107 rozszerzenia"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "Nie mo\u017cna utworzy\u0107 rozszerzenia {0} z powodu  {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "Wywo\u0142anie metody Instance do metody {0} wymaga instancji Object jako pierwszego argumentu"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "Podano niepoprawn\u0105 nazw\u0119 elementu {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "Metoda nazwy elementu musi by\u0107 statyczna {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "Funkcja rozszerzenia {0} : {1} jest nieznana"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "Wi\u0119cej ni\u017c jedno najlepsze dopasowanie dla konstruktora {0}"},
-
-    { ER_MORE_MATCH_METHOD,
-             "Wi\u0119cej ni\u017c jedno najlepsze dopasowanie dla metody {0}"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "Wi\u0119cej ni\u017c jedno najlepsze dopasowanie dla metody elementu {0}"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "Przekazano niepoprawny kontekst do wyliczenia {0}"},
-
-    { ER_POOL_EXISTS,
-             "Pula ju\u017c istnieje"},
-
-    { ER_NO_DRIVER_NAME,
-             "Nie podano nazwy sterownika"},
-
-    { ER_NO_URL,
-             "Nie podano adresu URL"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "Wielko\u015b\u0107 puli jest mniejsza od jedno\u015bci!"},
-
-    { ER_INVALID_DRIVER,
-             "Podano niepoprawn\u0105 nazw\u0119 sterownika!"},
-
-    { ER_NO_STYLESHEETROOT,
-             "Nie znaleziono elementu g\u0142\u00f3wnego arkusza styl\u00f3w!"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Niedozwolona warto\u015b\u0107 xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "processFromNode nie powiod\u0142o si\u0119"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "Zas\u00f3b [ {0} ] nie m\u00f3g\u0142 za\u0142adowa\u0107: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Wielko\u015b\u0107 buforu <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Nieznany b\u0142\u0105d podczas wywo\u0142ywania rozszerzenia"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "Przedrostek {0} nie ma odpowiadaj\u0105cej mu deklaracji przestrzeni nazw"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "Zawarto\u015b\u0107 elementu niedozwolona dla lang=javaclass {0}"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "Arkusz styl\u00f3w zarz\u0105dzi\u0142 zako\u0144czenie"},
-
-    { ER_ONE_OR_TWO,
-        "1 lub 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 lub 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "Nie mo\u017cna za\u0142adowa\u0107 {0} (sprawd\u017a CLASSPATH), u\u017cywane s\u0105 teraz warto\u015bci domy\u015blne"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Nie mo\u017cna zainicjowa\u0107 domy\u015blnych szablon\u00f3w"},
-
-    { ER_RESULT_NULL,
-        "Rezultat nie powinien by\u0107 pusty"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "Nie mo\u017cna ustawi\u0107 rezultatu"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "Nie podano wyj\u015bcia"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "Nie mo\u017cna przekszta\u0142ci\u0107 do rezultatu o typie {0}"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "Nie mo\u017cna przekszta\u0142ci\u0107 \u017ar\u00f3d\u0142a o typie {0}"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Pusta procedura obs\u0142ugi zawarto\u015bci"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Pusta procedura obs\u0142ugi b\u0142\u0119du"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "Nie mo\u017cna wywo\u0142a\u0107 parse, je\u015bli nie ustawiono ContentHandler"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "Brak elementu nadrz\u0119dnego dla filtru"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "Nie znaleziono arkusza styl\u00f3w w {0}, no\u015bnik= {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "Nie znaleziono instrukcji przetwarzania xml-stylesheet w {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "Nieobs\u0142ugiwane: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "Warto\u015b\u0107 w\u0142a\u015bciwo\u015bci {0} powinna by\u0107 instancj\u0105 typu Boolean"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "Nie mo\u017cna si\u0119 dosta\u0107 do zewn\u0119trznego skryptu w {0}"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "Nie mo\u017cna znale\u017a\u0107 zasobu [ {0} ].\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "Nierozpoznana w\u0142a\u015bciwo\u015b\u0107 wyj\u015bciowa {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "Nie powiod\u0142o si\u0119 utworzenie instancji ElemLiteralResult"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "Warto\u015b\u0107 {0} powinna zawiera\u0107 liczb\u0119 mo\u017cliw\u0105 do zanalizowania"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "Warto\u015bci\u0105 {0} powinno by\u0107 yes lub no"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "Niepowodzenie wywo\u0142ania metody {0}"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "Nie powiod\u0142o si\u0119 utworzenie instancji ElemTemplateElement"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "W tym miejscu dokumentu znaki s\u0105 niedozwolone"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "Atrybut \"{0}\" nie jest dozwolony w elemencie {1}!"},
-
-    { ER_BAD_VALUE,
-     "B\u0142\u0119dna warto\u015b\u0107 {0} {1}"},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "Nie znaleziono warto\u015bci atrybutu {0}"},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "Nie rozpoznano warto\u015bci atrybutu {0}"},
-
-    { ER_NULL_URI_NAMESPACE,
-     "Pr\u00f3ba wygenerowania przedrostka przestrzeni nazw z pustym identyfikatorem URI"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "Pr\u00f3ba sformatowania liczby wi\u0119kszej ni\u017c najwi\u0119ksza liczba typu long integer"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "Nie mo\u017cna znale\u017a\u0107 klasy sterownika SAX1 {0}"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "Znaleziono klas\u0119 sterownika SAX1 {0}, ale nie mo\u017cna jej za\u0142adowa\u0107"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "Klasa sterownika SAX1 {0} zosta\u0142a za\u0142adowana, ale nie mo\u017cna utworzy\u0107 jej instancji"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "Klasa sterownika SAX1 {0} nie implementuje org.xml.sax.Parser"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "W\u0142a\u015bciwo\u015b\u0107 systemowa org.xml.sax.parser nie zosta\u0142a podana"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "Argument analizatora nie mo\u017ce by\u0107 pusty"},
-
-    { ER_FEATURE,
-     "Opcja: {0}"},
-
-    { ER_PROPERTY,
-     "W\u0142a\u015bciwo\u015b\u0107: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Pusty przelicznik encji"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Pusta procedura obs\u0142ugi DTD"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "Nie podano nazwy sterownika!"},
-
-    { ER_NO_URL_SPECIFIED,
-     "Nie podano adresu URL!"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "Wielko\u015b\u0107 puli jest mniejsza od 1!"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "Podano niepoprawn\u0105 nazw\u0119 sterownika!"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "B\u0142\u0105d programisty! Wyra\u017cenie nie ma elementu nadrz\u0119dnego ElemTemplateElement!"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Asercja programisty w RedundentExprEliminator: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} jest niedozwolone na tej pozycji w arkuszu styl\u00f3w!"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "Tekst z\u0142o\u017cony ze znak\u00f3w innych ni\u017c odst\u0119py jest niedozwolony na tej pozycji w arkuszu styl\u00f3w!"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "Niedozwolona warto\u015b\u0107 {1} u\u017cyta w atrybucie CHAR {0}.  Atrybut typu CHAR musi by\u0107 pojedynczym znakiem!"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "Niedozwolona warto\u015b\u0107 {1} u\u017cyta w atrybucie QNAME {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "Niedozwolona warto\u015b\u0107 {1} u\u017cyta w atrybucie ENUM {0}.  Poprawne warto\u015bci to: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "Niedozwolona warto\u015b\u0107 {1} u\u017cyta w atrybucie NMTOKEN {0}"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "Niedozwolona warto\u015b\u0107 {1} u\u017cyta w atrybucie NCNAME {0}"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Niedozwolona warto\u015b\u0107 {1} u\u017cyta w atrybucie logicznym {0}"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Niedozwolona warto\u015b\u0107 {1} u\u017cyta w atrybucie liczbowym {0}"},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "Argument opcji {0} we wzorcu uzgadniania musi by\u0107 litera\u0142em."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "Zduplikowana deklaracja zmiennej globalnej."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "Zduplikowana deklaracja zmiennej."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template musi mie\u0107 atrybut name lub match (lub obydwa)"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "Przedrostek w exclude-result-prefixes jest niepoprawny: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "Zbi\u00f3r atrybut\u00f3w o nazwie {0} nie istnieje"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "Funkcja o nazwie {0} nie istnieje"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "Element {0} nie mo\u017ce mie\u0107 jednocze\u015bnie zawarto\u015bci i atrybutu select."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "Warto\u015bci\u0105 parametru {0} musi by\u0107 poprawny obiekt j\u0119zyka Java."},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "Atrybut result-prefix elementu xsl:namespace-alias ma warto\u015b\u0107 '#default', ale nie ma deklaracji domy\u015blnej przestrzeni nazw w zasi\u0119gu tego elementu."},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "Atrybut result-prefix elementu xsl:namespace-alias ma warto\u015b\u0107 ''{0}'', ale nie ma deklaracji przestrzeni nazw dla przedrostka ''{0}'' w zasi\u0119gu tego elementu."},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "Nazwa opcji nie mo\u017ce mie\u0107 warto\u015bci null w TransformerFactory.setFeature(String nazwa, boolean warto\u015b\u0107)."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "Nazwa opcji nie mo\u017ce mie\u0107 warto\u015bci null w TransformerFactory.getFeature(String nazwa)."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "Nie mo\u017cna ustawi\u0107 opcji ''{0}'' w tej klasie TransformerFactory."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "U\u017cycie elementu rozszerzenia ''{0}'' jest niedozwolone, gdy opcja przetwarzania bezpiecznego jest ustawiona na warto\u015b\u0107 true."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "Nie mo\u017cna pobra\u0107 przedrostka dla pustego identyfikatora uri przestrzeni nazw."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "Nie mo\u017cna pobra\u0107 identyfikatora uri przestrzeni nazw dla pustego przedrostka."},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "Nazwa funkcji nie mo\u017ce by\u0107 pusta (null)."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "Liczba parametr\u00f3w nie mo\u017ce by\u0107 ujemna."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "Znaleziono znak '}', ale nie jest otwarty \u017caden szablon atrybut\u00f3w!"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Ostrze\u017cenie: Atrybut count nie jest zgodny ze swym przodkiem w xsl:number! Cel = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Stara sk\u0142adnia: Nazwa atrybutu 'expr' zosta\u0142a zmieniona na 'select'."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan nie obs\u0142uguje jeszcze nazwy ustawie\u0144 narodowych w funkcji format-number."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Ostrze\u017cenie: Nie mo\u017cna znale\u017a\u0107 ustawie\u0144 narodowych dla xml:lang={0}"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "Nie mo\u017cna utworzy\u0107 adresu URL z {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "Nie mo\u017cna za\u0142adowa\u0107 \u017c\u0105danego dokumentu {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "Nie mo\u017cna znale\u017a\u0107 procesu sortuj\u0105cego (Collator) dla <sort xml:lang={0}"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Stara sk\u0142adnia: Instrukcja functions powinna u\u017cywa\u0107 adresu url {0}"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "Kodowanie nieobs\u0142ugiwane: {0}, u\u017cywane jest UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "Kodowanie nieobs\u0142ugiwane: {0}, u\u017cywane jest Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Znaleziono konflikty specyfiki {0}, u\u017cywany b\u0119dzie ostatni znaleziony w arkuszu styl\u00f3w."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= Analizowanie i przygotowywanie {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Szablon atrybutu {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "Konflikt zgodno\u015bci pomi\u0119dzy xsl:strip-space oraz xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan nie obs\u0142uguje jeszcze atrybutu {0}!"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "Nie znaleziono deklaracji formatu dziesi\u0119tnego {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Nieobecna lub niepoprawna przestrze\u0144 nazw XSLT."},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Dozwolona jest tylko jedna domy\u015blna deklaracja xsl:decimal-format."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "Nazwy xsl:decimal-format musz\u0105 by\u0107 unikalne. Nazwa \"{0}\" zosta\u0142a zduplikowana."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} ma niedozwolony atrybut {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "Nie mo\u017cna przet\u0142umaczy\u0107 przedrostka przestrzeni nazw {0}. W\u0119ze\u0142 zostanie zignorowany."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet wymaga atrybutu 'version'!"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Niedozwolona nazwa atrybutu {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "Niedozwolona warto\u015b\u0107 atrybutu {0}: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "Wynikaj\u0105cy z drugiego argumentu funkcji document zestaw w\u0119z\u0142\u00f3w jest pusty. Zwracany jest pusty zestaw w\u0119z\u0142\u00f3w."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Warto\u015bci\u0105 atrybutu 'name' nazwy xsl:processing-instruction nie mo\u017ce by\u0107 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Warto\u015bci\u0105 atrybutu ''name'' xsl:processing-instruction musi by\u0107 poprawna nazwa NCName: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Nie mo\u017cna doda\u0107 atrybutu {0} po w\u0119z\u0142ach potomnych ani przed wyprodukowaniem elementu.  Atrybut zostanie zignorowany."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "Usi\u0142owano zmodyfikowa\u0107 obiekt, tam gdzie modyfikacje s\u0105 niedozwolone."
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "pl"},
-  {  "help_language",  "pl" },
-  {  "language",  "pl" },
-  { "BAD_CODE", "Parametr createMessage by\u0142 spoza zakresu"},
-  {  "FORMAT_FAILED", "Podczas wywo\u0142ania messageFormat zg\u0142oszony zosta\u0142 wyj\u0105tek"},
-  {  "version", ">>>>>>> Wersja Xalan "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "tak"},
-  { "line", "Nr wiersza: "},
-  { "column","Nr kolumny: "},
-  { "xsldone", "XSLProcessor: gotowe"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Opcje wiersza komend klasy Process Xalan-J:"},
-  { "xslProc_option", "Opcje wiersza komend klasy Process Xalan-J\u003a"},
-  { "xslProc_invalid_xsltc_option", "Opcja {0} jest nieobs\u0142ugiwana w trybie XSLTC."},
-  { "xslProc_invalid_xalan_option", "Opcji {0} mo\u017cna u\u017cywa\u0107 tylko razem z -XSLTC."},
-  { "xslProc_no_input", "B\u0142\u0105d: Nie podano arkusza styl\u00f3w lub wej\u015bciowego pliku xml. Wykonaj t\u0119 komend\u0119 bez \u017cadnych opcji, aby zapozna\u0107 si\u0119 z informacjami o sk\u0142adni."},
-  { "xslProc_common_options", "-Wsp\u00f3lne opcje-"},
-  { "xslProc_xalan_options", "-Opcje dla Xalan-"},
-  { "xslProc_xsltc_options", "-Opcje dla XSLTC-"},
-  { "xslProc_return_to_continue", "(naci\u015bnij klawisz <enter>, aby kontynuowa\u0107)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "[-XSLTC (u\u017cycie XSLTC do transformacji)]"},
-  { "optionIN", "[-IN wej\u015bciowyXMLURL]"},
-  { "optionXSL", "[-XSL URLTransformacjiXSL]"},
-  { "optionOUT",  "[-OUT NazwaPlikuWyj\u015bciowego]"},
-  { "optionLXCIN", "[-LXCIN NazwaWej\u015bciowegoPlikuSkompilowanegoArkuszaStyl\u00f3w]"},
-  { "optionLXCOUT", "[-LXCOUT NazwaWyj\u015bciowegoPlikuSkompilowanegoArkuszaStyl\u00f3w]"},
-  { "optionPARSER", "[-PARSER pe\u0142na nazwa klasy po\u0142\u0105czenia analizatora]"},
-  {  "optionE", "[-E (bez rozwijania odwo\u0142a\u0144 do encji)]"},
-  {  "optionV",  "[-E (bez rozwijania odwo\u0142a\u0144 do encji)]"},
-  {  "optionQC", "[-QC (ciche ostrze\u017cenia o konfliktach wzorc\u00f3w)]"},
-  {  "optionQ", "[-Q  (tryb cichy)]"},
-  {  "optionLF", "[-LF (u\u017cycie tylko znak\u00f3w wysuwu wiersza na wyj\u015bciu {domy\u015blnie CR/LF})]"},
-  {  "optionCR", "[-LF (u\u017cycie tylko znak\u00f3w powrotu karetki na wyj\u015bciu {domy\u015blnie CR/LF})]"},
-  { "optionESCAPE", "[-ESCAPE (znaki o zmienionym znaczeniu {domy\u015blne <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "[-INDENT (liczba znak\u00f3w wci\u0119cia {domy\u015blnie 0})]"},
-  { "optionTT", "[-TT (\u015bledzenie szablon\u00f3w podczas ich wywo\u0142ywania)]"},
-  { "optionTG", "[-TG (\u015bledzenie ka\u017cdego zdarzenia generowania)]"},
-  { "optionTS", "[-TS (\u015bledzenie ka\u017cdego zdarzenia wyboru)]"},
-  {  "optionTTC", "[-TTC (\u015bledzenie szablon\u00f3w potomnych podczas ich przetwarzania)]"},
-  { "optionTCLASS", "[-TCLASS (klasa TraceListener dla rozszerze\u0144 \u015bledzenia)]"},
-  { "optionVALIDATE", "[-VALIDATE (w\u0142\u0105czenie sprawdzania poprawno\u015bci - domy\u015blnie jest wy\u0142\u0105czona)]"},
-  { "optionEDUMP", "[-EDUMP {opcjonalna nazwa pliku} (wykonywanie zrzutu stosu w przypadku wyst\u0105pienia b\u0142\u0119du)]"},
-  {  "optionXML", "[-XML (u\u017cycie formatera XML i dodanie nag\u0142\u00f3wka XML)]"},
-  {  "optionTEXT", "[-TEXT (u\u017cycie prostego formatera tekstu)]"},
-  {  "optionHTML", "[-HTML (u\u017cycie formatera HTML)]"},
-  {  "optionPARAM", "[-PARAM nazwa wyra\u017cenie (ustawienie parametru arkusza styl\u00f3w)]"},
-  {  "noParsermsg1", "Proces XSL nie wykona\u0142 si\u0119 pomy\u015blnie."},
-  {  "noParsermsg2", "** Nie mo\u017cna znale\u017a\u0107 analizatora **"},
-  { "noParsermsg3",  "Sprawd\u017a classpath."},
-  { "noParsermsg4", "Je\u015bli nie masz analizatora XML dla j\u0119zyka Java firmy IBM, mo\u017cesz go pobra\u0107"},
-  { "noParsermsg5", "z serwisu AlphaWorks firmy IBM: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER pe\u0142na nazwa klasy (URIResolver u\u017cywany do t\u0142umaczenia URI)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER pe\u0142na nazwa klasy (EntityResolver u\u017cywany do t\u0142umaczenia encji)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER pe\u0142na nazwa klasy (ContentHandler u\u017cywany do szeregowania wyj\u015bcia)]"},
-  {  "optionLINENUMBERS",  "    [-L u\u017cycie numer\u00f3w wierszy w dokumentach \u017ar\u00f3d\u0142owych]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (ustawienie opcji przetwarzania bezpiecznego na warto\u015b\u0107 true.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA typ_no\u015bnika (u\u017cywaj atrybutu media w celu znalezienia arkusza styl\u00f3w zwi\u0105zanego z dokumentem)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR nazwa_posmaku (u\u017cywaj jawnie s2s=SAX lub d2d=DOM w celu wykonania transformacji)]"}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (wy\u015bwietlenie ca\u0142kowitego czasu trwania transformacji)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (\u017c\u0105danie przyrostowego budowania DTM poprzez ustawienie http://xml.apache.org/xalan/features/incremental true.)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (\u017c\u0105danie braku optymalizowania arkuszy styl\u00f3w poprzez ustawienie http://xml.apache.org/xalan/features/optimize false.)]"},
-  { "optionRL",  "   [-RL limit_rekurencji (okre\u015blenie liczbowego limitu g\u0142\u0119boko\u015bci rekurencji w arkuszach styl\u00f3w)]"},
-  {   "optionXO",  "[-XO [NazwaTransletu] (przypisanie nazwy wygenerowanemu transletowi)]"},
-  {  "optionXD", "[-XD KatalogDocelowy (okre\u015blenie katalogu docelowego dla transletu)]"},
-  {  "optionXJ",  "[-XJ plik_jar (pakowanie klas transletu do pliku jar o nazwie <plik_jar>)]"},
-  {   "optionXP",  "[-XP pakiet (okre\u015blenie przedrostka nazwy pakietu dla wszystkich wygenerowanych klas transletu)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "[-XN (w\u0142\u0105czenie wstawiania szablon\u00f3w)]" },
-  { "optionXX",  "[-XX (w\u0142\u0105czenie dodatkowych diagnostycznych komunikat\u00f3w wyj\u015bciowych)]"},
-  { "optionXT" , "[-XT (u\u017cycie transletu do transformacji, je\u015bli to mo\u017cliwe)]"},
-  { "diagTiming","--------- Transformacja {0} przez {1} zaj\u0119\u0142a {2} ms" },
-  { "recursionTooDeep","Zbyt g\u0142\u0119bokie zagnie\u017cd\u017cenie szablon\u00f3w. zagnie\u017cd\u017cenie= {0}, szablon {1} {2}" },
-  { "nameIs", "nazw\u0105 jest" },
-  { "matchPatternIs", "wzorcem uzgadniania jest" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "nr b\u0142\u0119du";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "B\u0142\u0105d: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Ostrze\u017cenie: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "WZORZEC ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("pl", "PL"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_pt_BR.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_pt_BR.java
deleted file mode 100644
index b78c012..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_pt_BR.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_pt_BR.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_pt_BR extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Erro: Imposs\u00edvel ter '{' na express\u00e3o"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} possui um atributo inv\u00e1lido: {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "sourceNode \u00e9 nulo em xsl:apply-imports!"},
-
-  {ER_CANNOT_ADD,
-      "Imposs\u00edvel incluir {0} em {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "sourceNode \u00e9 nulo em handleApplyTemplatesInstruction!"},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} deve ter um atributo name."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "N\u00e3o foi poss\u00edvel localizar o template: {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "N\u00e3o foi poss\u00edvel resolver nome AVT em xsl:call-template."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} requer o atributo: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} deve ter um atributo ''test''."},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "Valor inv\u00e1lido no atributo de n\u00edvel: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "O nome de processing-instruction n\u00e3o pode ser 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "O nome de processing-instruction deve ser um NCName v\u00e1lido: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} deve ter um atributo de correspond\u00eancia se tiver um modo."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} requer um nome ou um atributo de correspond\u00eancia."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "Imposs\u00edvel resolver prefixo do espa\u00e7o de nomes: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space possui um valor inv\u00e1lido: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "O n\u00f3 filho n\u00e3o possui um documento do propriet\u00e1rio!"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "Erro de ElemTemplateElement: {0}"},
-
-    { ER_NULL_CHILD,
-     "Tentando incluir um filho nulo!"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} requer um atributo select."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when deve ter um atributo 'test'."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param deve ter um atributo 'name'."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "context n\u00e3o possui um documento do propriet\u00e1rio!"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "N\u00e3o foi poss\u00edvel criar XML TransformerFactory Liaison: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: O processo n\u00e3o foi bem-sucedido."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: n\u00e3o foi bem-sucedido."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "Codifica\u00e7\u00e3o n\u00e3o suportada: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "N\u00e3o foi poss\u00edvel criar TraceListener: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key requer um atributo 'name'!"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key requer um atributo 'match'!"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key requer um atributo 'use'!"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} requer um atributo ''elements''!"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) O atributo ''prefix'' de {0} est\u00e1 ausente"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "A URL da p\u00e1gina de estilo \u00e9 inv\u00e1lida: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "O arquivo da p\u00e1gina de estilo n\u00e3o foi encontrado: {0}"},
-
-    { ER_IOEXCEPTION,
-      "Ocorreu uma Exce\u00e7\u00e3o de E/S (entrada/sa\u00edda) no arquivo de p\u00e1gina de estilo: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) N\u00e3o foi poss\u00edvel encontrar o atributo href para {0}"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} est\u00e1 incluindo a si mesmo, direta ou indiretamente!"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "Erro de StylesheetHandler.processInclude, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) O atributo ''lang'' de {0} est\u00e1 ausente"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) Elemento {0} aplicado incorretamente?? O elemento de cont\u00eainer ''component'' est\u00e1 ausente "},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "A sa\u00edda pode ser apenas para um Element, DocumentFragment, Document ou PrintWriter."},
-
-    { ER_PROCESS_ERROR,
-     "Erro de StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "Erro de UnImplNode: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Erro! N\u00e3o encontrada a express\u00e3o xpath select (-select)."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "N\u00e3o \u00e9 poss\u00edvel serializar um XSLProcessor!"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "A entrada de folha de estilo n\u00e3o foi especificada!"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "Falha ao processar folha de estilo!"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "N\u00e3o foi poss\u00edvel analisar o documento {0}!"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "N\u00e3o foi poss\u00edvel localizar o fragmento: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "O n\u00f3 apontado por um identificador de fragmento n\u00e3o era um elemento: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each deve ter um atributo match ou name"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "templates deve ter um atributo match ou name"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "Nenhum clone de fragmento de documento!"},
-
-    { ER_CANT_CREATE_ITEM,
-      "Imposs\u00edvel criar item na \u00e1rvore de resultados: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "xml:space no XML de origem possui um valor inv\u00e1lido: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "N\u00e3o existe nenhuma declara\u00e7\u00e3o xsl:key para {0}!"},
-
-    { ER_CANT_CREATE_URL,
-     "Erro! Imposs\u00edvel criar url para: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions n\u00e3o \u00e9 suportado"},
-
-    { ER_PROCESSOR_ERROR,
-     "Erro de XSLT TransformerFactory"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} n\u00e3o permitido dentro de uma folha de estilo!"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns n\u00e3o \u00e9 mais suportado!  Utilize ent\u00e3o xsl:output."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space n\u00e3o \u00e9 mais suportado!  Utilize ent\u00e3o xsl:strip-space ou xsl:preserve-space."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result n\u00e3o \u00e9 mais suportado!  Utilize ent\u00e3o xsl:output."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} possui um atributo inv\u00e1lido: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Elemento XSL desconhecido: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort somente pode ser utilizado com xsl:apply-templates ou xsl:for-each."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when aplicado incorretamente!"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when n\u00e3o est\u00e1 ligado a xsl:choose!"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise aplicado incorretamente!"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise n\u00e3o est\u00e1 ligado a xsl:choose!"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} n\u00e3o \u00e9 permitido dentro de um template!"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) o espa\u00e7o de nomes de extens\u00e3o {0} possui prefixo {1} desconhecido"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Importa\u00e7\u00f5es s\u00f3 podem ocorrer como os primeiros elementos na folha de estilo!"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} est\u00e1 importando a si mesmo, direta ou indiretamente!"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space tem um valor inv\u00e1lido: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet n\u00e3o obteve \u00eaxito!"},
-
-    { ER_SAX_EXCEPTION,
-     "Exce\u00e7\u00e3o de SAX"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "Fun\u00e7\u00e3o n\u00e3o suportada!"},
-
-
-    { ER_XSLT_ERROR,
-     "Erro de XSLT"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "O sinal monet\u00e1rio n\u00e3o \u00e9 permitido na cadeia de padr\u00f5es de formato"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "Fun\u00e7\u00e3o Document n\u00e3o suportada no DOM da Folha de Estilo!"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "Imposs\u00edvel resolver prefixo de solucionador sem Prefixo!"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Redirecionar extens\u00e3o: N\u00e3o foi poss\u00edvel obter o nome do arquivo - o atributo file ou select deve retornar uma cadeia v\u00e1lida."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "Imposs\u00edvel construir FormatterListener em Redirecionar extens\u00e3o!"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "O prefixo em exclude-result-prefixes n\u00e3o \u00e9 v\u00e1lido: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "URI do espa\u00e7o de nomes ausente para o prefixo especificado"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Argumento ausente para a op\u00e7\u00e3o: {0}"},
-
-    { ER_INVALID_OPTION,
-     "Op\u00e7\u00e3o inv\u00e1lida: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Cadeia com problemas de formata\u00e7\u00e3o: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet requer um atributo 'version'!"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "Atributo: {0} possui um valor inv\u00e1lido: {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose requer um xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports n\u00e3o permitido em um xsl:for-each"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "Imposs\u00edvel utilizar um DTMLiaison para um n\u00f3 DOM de sa\u00edda... transmita um org.apache.xpath.DOM2Helper no lugar!"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "Imposs\u00edvel utilizar um DTMLiaison para um n\u00f3 DOM de entrada... transmita um org.apache.xpath.DOM2Helper no lugar!"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "Falha na chamada do elemento da extens\u00e3o: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "O prefixo deve ser resolvido para um espa\u00e7o de nomes: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "Detectado substituto UTF-16 inv\u00e1lido: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} utilizou a si mesmo, o que causar\u00e1 um loop infinito."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "Imposs\u00edvel misturar entrada n\u00e3o Xerces-DOM com sa\u00edda Xerces-DOM!"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "Em ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Encontrado mais de um template chamado: {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "Chamada de fun\u00e7\u00e3o inv\u00e1lida: chamadas key() recursivas n\u00e3o s\u00e3o permitidas"},
-
-    { ER_REFERENCING_ITSELF,
-      "A vari\u00e1vel {0} est\u00e1 fazendo refer\u00eancia a si mesmo, direta ou indiretamente!"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "O n\u00f3 de entrada n\u00e3o pode ser nulo para um DOMSource de newTemplates!"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "Arquivo de classe n\u00e3o encontrado para a op\u00e7\u00e3o {0}"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "Elemento requerido n\u00e3o encontrado: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream n\u00e3o pode ser nulo"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI n\u00e3o pode ser nulo"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "File n\u00e3o pode ser nulo"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource n\u00e3o pode ser nulo"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "N\u00e3o foi poss\u00edvel inicializar o BSF Manager"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "N\u00e3o foi poss\u00edvel compilar a extens\u00e3o"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "N\u00e3o foi poss\u00edvel criar extens\u00e3o: {0} devido a: {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "A chamada do m\u00e9todo da inst\u00e2ncia para o m\u00e9todo {0} requer uma inst\u00e2ncia Object como primeiro argumento"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "Especificado nome de elemento inv\u00e1lido {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "O m\u00e9todo do nome de elemento deve ser est\u00e1tico {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "A fun\u00e7\u00e3o de extens\u00e3o {0} : {1} \u00e9 desconhecida"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "Mais de uma correspond\u00eancia principal para o construtor de {0}"},
-
-    { ER_MORE_MATCH_METHOD,
-             "Mais de uma correspond\u00eancia principal para o m\u00e9todo {0}"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "Mais de uma correspond\u00eancia principal para o m\u00e9todo do elemento {0}"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "Contexto inv\u00e1lido transmitido para avaliar {0}"},
-
-    { ER_POOL_EXISTS,
-             "O conjunto j\u00e1 existe"},
-
-    { ER_NO_DRIVER_NAME,
-             "Nenhum Nome de driver foi especificado"},
-
-    { ER_NO_URL,
-             "Nenhuma URL especificada"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "O tamanho do conjunto \u00e9 menor que um!"},
-
-    { ER_INVALID_DRIVER,
-             "Especificado nome de driver inv\u00e1lido!"},
-
-    { ER_NO_STYLESHEETROOT,
-             "N\u00e3o encontrada a raiz da folha de estilo!"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Valor inv\u00e1lido para xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "processFromNode falhou"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "O recurso [ {0} ] n\u00e3o p\u00f4de carregar: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Tamanho do buffer <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Erro desconhecido ao chamar a extens\u00e3o"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "O prefixo {0} n\u00e3o possui uma declara\u00e7\u00e3o do espa\u00e7o de nomes correspondente"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "Conte\u00fado de elemento n\u00e3o permitido para lang=javaclass {0}"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "Finaliza\u00e7\u00e3o direcionada por folha de estilo"},
-
-    { ER_ONE_OR_TWO,
-        "1 ou 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 ou 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "N\u00e3o foi poss\u00edvel carregar {0} (verificar CLASSPATH); utilizando apenas os padr\u00f5es"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Imposs\u00edvel inicializar templates padr\u00e3o"},
-
-    { ER_RESULT_NULL,
-        "O resultado n\u00e3o deve ser nulo"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "O resultado n\u00e3o p\u00f4de ser definido"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "Nenhuma sa\u00edda especificada"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "N\u00e3o \u00e9 poss\u00edvel transformar em um Resultado do tipo {0} "},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "N\u00e3o \u00e9 poss\u00edvel transformar em uma Origem do tipo {0} "},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Rotina de tratamento de conte\u00fado nula"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Rotina de tratamento de erros nula"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "parse n\u00e3o pode ser chamado se ContentHandler n\u00e3o tiver sido definido"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "Nenhum pai para o filtro"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "Nenhuma p\u00e1gina de estilo foi encontrada em: {0}, m\u00eddia= {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "Nenhum PI xml-stylesheet encontrado em: {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "N\u00e3o suportado: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "O valor para a propriedade {0} deve ser uma inst\u00e2ncia Booleana"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "N\u00e3o foi poss\u00edvel obter script externo em {0}"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "O recurso [ {0} ] n\u00e3o p\u00f4de ser encontrado.\n{1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "Propriedade de sa\u00edda n\u00e3o reconhecida: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "Falha ao criar a inst\u00e2ncia ElemLiteralResult"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "O valor para {0} deve conter um n\u00famero analis\u00e1vel"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "O valor de {0} deve ser igual a yes ou no"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "Falha ao chamar o m\u00e9todo {0}"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "Falha ao criar a inst\u00e2ncia ElemTemplateElement"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "N\u00e3o s\u00e3o permitidos caracteres neste ponto do documento"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "O atributo \"{0}\" n\u00e3o \u00e9 permitido no elemento {1}!"},
-
-    { ER_BAD_VALUE,
-     "{0} possui valor inv\u00e1lido {1}"},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "Valor do atributo {0} n\u00e3o encontrado"},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "Valor do atributo {0} n\u00e3o reconhecido"},
-
-    { ER_NULL_URI_NAMESPACE,
-     "Tentando gerar um prefixo do espa\u00e7o de nomes com URI nulo"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "Tentando formatar um n\u00famero superior ao maior inteiro Longo"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "Imposs\u00edvel encontrar a classe de driver SAX1 {0}"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "Classe de driver SAX1 {0} encontrada, mas n\u00e3o pode ser carregada"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "Classe de driver SAX1 {0} carregada, mas n\u00e3o pode ser instanciada"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "A classe de driver SAX1 {0} n\u00e3o implementa org.xml.sax.Parser"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "Propriedade de sistema org.xml.sax.parser n\u00e3o especificada"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "O argumento Parser n\u00e3o deve ser nulo"},
-
-    { ER_FEATURE,
-     "Recurso: {0}"},
-
-    { ER_PROPERTY,
-     "Propriedade: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Solucionador de entidade nulo"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Rotina de tratamento DTD nula"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "Nenhum Nome de Driver Especificado!"},
-
-    { ER_NO_URL_SPECIFIED,
-     "Nenhuma URL Especificada!"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "O tamanho do conjunto \u00e9 menor que 1!"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "Especificado Nome de Driver Inv\u00e1lido!"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Erro do programador! A express\u00e3o n\u00e3o possui o pai ElemTemplateElement!"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Declara\u00e7\u00e3o do programador em RedundentExprEliminator: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} n\u00e3o \u00e9 permitido nesta posi\u00e7\u00e3o na p\u00e1gina de estilo!"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "O texto sem espa\u00e7o em branco n\u00e3o \u00e9 permitido nesta posi\u00e7\u00e3o na p\u00e1gina de estilo!"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "Valor inv\u00e1lido: {1} utilizado para o caractere CHAR: {0}. Um atributo de tipo CHAR deve ter apenas 1 caractere!"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "Valor inv\u00e1lido: {1} utilizado para o atributo QNAME: {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "Valor inv\u00e1lido: {1} utilizado para o atributo ENUM: {0}. Os valores v\u00e1lidos s\u00e3o: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "Valor inv\u00e1lido: {1} utilizado para o atributo NMTOKEN: {0}"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "Valor inv\u00e1lido: {1} utilizado para o atributo NCNAME: {0}"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Valor inv\u00e1lido: {1} utilizado para o atributo boolean: {0}"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Valor inv\u00e1lido: {1} utilizado para o atributo number: {0}"},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "Argumento para {0} no padr\u00e3o de correspond\u00eancia deve ser um literal."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "Declara\u00e7\u00e3o de vari\u00e1vel global duplicada."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "Declara\u00e7\u00e3o de vari\u00e1vel duplicada."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template deve ter um atributo name ou match (ou ambos)"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "O prefixo em exclude-result-prefixes n\u00e3o \u00e9 v\u00e1lido: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "O attribute-set {0} n\u00e3o existe"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "A fun\u00e7\u00e3o denominada {0} n\u00e3o existe"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "O elemento {0} n\u00e3o deve ter um conte\u00fado e um atributo de sele\u00e7\u00e3o ao mesmo tempo."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "O valor do par\u00e2metro {0} deve ser um Objeto Java v\u00e1lido"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "O atributo result-prefix de um elemento xsl:namespace-alias tem o valor '#default', mas n\u00e3o h\u00e1 nenhuma declara\u00e7\u00e3o do espa\u00e7o de nomes padr\u00e3o no escopo para o elemento"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "O atributo result-prefix de um elemento xsl:namespace-alias tem o valor ''{0}'', mas n\u00e3o h\u00e1 nenhuma declara\u00e7\u00e3o do espa\u00e7o de nomes para o prefixo ''{0}'' no escopo para o elemento."},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "O nome do recurso n\u00e3o pode ser nulo em TransformerFactory.setFeature(String name, boolean value)."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "O nome do recurso n\u00e3o pode ser nulo em TransformerFactory.getFeature(String name)."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "N\u00e3o \u00e9 poss\u00edvel definir o recurso ''{0}'' neste TransformerFactory."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "O uso do elemento de extens\u00e3o ''{0}'' n\u00e3o \u00e9 permitido quando o recurso de processamento seguro \u00e9 definido como true."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "N\u00e3o \u00e9 poss\u00edvel obter o prefixo para um uri de espa\u00e7o de nomes nulo."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "N\u00e3o \u00e9 poss\u00edvel obter o uri do espa\u00e7o de nomes para um prefixo nulo."},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "O nome da fun\u00e7\u00e3o n\u00e3o pode ser nulo."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "O arity n\u00e3o pode ser negativo."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "Encontrado '}', mas nenhum template de atributo aberto!"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Aviso: o atributo count n\u00e3o corresponde a um predecessor em xsl:number! Destino = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Sintaxe antiga: O nome do atributo 'expr' foi alterado para 'select'."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan ainda n\u00e3o trata do nome de locale na fun\u00e7\u00e3o format-number."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Aviso: N\u00e3o foi poss\u00edvel localizar o locale para xml:lang={0}"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "Imposs\u00edvel criar URL a partir de: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "Imposs\u00edvel carregar doc solicitado: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "Imposs\u00edvel localizar Intercalador para <sort xml:lang={0}"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Sintaxe antiga: a instru\u00e7\u00e3o functions deve utilizar uma url de {0}"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "codifica\u00e7\u00e3o n\u00e3o suportada: {0}, utilizando UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "codifica\u00e7\u00e3o n\u00e3o suportada: {0}, utilizando Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Encontrados conflitos de especifica\u00e7\u00e3o: O \u00faltimo {0} encontrado na p\u00e1gina de estilo ser\u00e1 utilizado."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= An\u00e1lise e prepara\u00e7\u00e3o {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Template de Atr, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "Conflito de correspond\u00eancia entre xsl:strip-space e xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan ainda n\u00e3o trata do atributo {0}!"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "Nenhuma declara\u00e7\u00e3o encontrada para formato decimal: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Espa\u00e7o de nomes XSLT ausente ou incorreto."},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Apenas uma declara\u00e7\u00e3o padr\u00e3o xsl:decimal-format \u00e9 permitida."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "Os nomes de xsl:decimal-format devem ser exclusivos. O nome \"{0}\" foi duplicado."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} possui um atributo inv\u00e1lido: {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "N\u00e3o foi poss\u00edvel resolver prefixo do espa\u00e7o de nomes: {0}. O n\u00f3 ser\u00e1 ignorado."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet requer um atributo 'version'!"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Nome de atributo inv\u00e1lido: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "Valor inv\u00e1lido utilizado para o atributo {0}: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "O nodeset resultante do segundo argumento da fun\u00e7\u00e3o document est\u00e1 vazio. Retornar um node-set vazio."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "O valor do atributo 'name' do nome xsl:processing-instruction n\u00e3o deve ser 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "O valor do atributo ''name'' de xsl:processing-instruction deve ser um NCName v\u00e1lido: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Imposs\u00edvel incluir atributo {0} depois de n\u00f3s filhos ou antes da gera\u00e7\u00e3o de um elemento. O atributo ser\u00e1 ignorado."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "Foi feita uma tentativa de modificar um objeto no qual n\u00e3o s\u00e3o permitidas modifica\u00e7\u00f5es. "
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "pt"},
-  {  "help_language",  "pt" },
-  {  "language",  "pt" },
-  { "BAD_CODE", "O par\u00e2metro para createMessage estava fora dos limites"},
-  {  "FORMAT_FAILED", "Exce\u00e7\u00e3o emitida durante chamada messageFormat"},
-  {  "version", ">>>>>>> Vers\u00e3o Xalan"},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "sim"},
-  { "line", "Linha n\u00b0"},
-  { "column","Coluna n\u00b0"},
-  { "xsldone", "XSLProcessor: conclu\u00eddo"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Op\u00e7\u00f5es da classe Process da linha de comando de Xalan-J:"},
-  { "xslProc_option", "Op\u00e7\u00f5es da classe Process da linha de comandos de Xalan-J\u003a"},
-  { "xslProc_invalid_xsltc_option", "A op\u00e7\u00e3o {0} n\u00e3o \u00e9 suportada no modo XSLTC."},
-  { "xslProc_invalid_xalan_option", "A op\u00e7\u00e3o {0} somente pode ser utilizada com -XSLTC."},
-  { "xslProc_no_input", "Erro: Nenhuma p\u00e1gina de estilo ou xml de entrada foi especificado. Execute este comando sem nenhuma op\u00e7\u00e3o para instru\u00e7\u00f5es de uso."},
-  { "xslProc_common_options", "-Op\u00e7\u00f5es Comuns-"},
-  { "xslProc_xalan_options", "-Op\u00e7\u00f5es para Xalan-"},
-  { "xslProc_xsltc_options", "-Op\u00e7\u00f5es para XSLTC-"},
-  { "xslProc_return_to_continue", "(pressione <return> para continuar)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "   [-XSLTC (utilizar XSLTC para transforma\u00e7\u00e3o)]"},
-  { "optionIN", "   [-IN inputXMLURL]"},
-  { "optionXSL", "   [-XSL XSLTransformationURL]"},
-  { "optionOUT",  "   [-OUT outputFileName]"},
-  { "optionLXCIN", "   [-LXCIN compiledStylesheetFileNameIn]"},
-  { "optionLXCOUT", "   [-LXCOUT compiledStylesheetFileNameOutOut]"},
-  { "optionPARSER", "   [-PARSER nome completo da classe do analisador liaison]"},
-  {  "optionE", "   [-E (N\u00e3o expandir refs de entidade)]"},
-  {  "optionV",  "   [-E (N\u00e3o expandir refs de entidade)]"},
-  {  "optionQC", "   [-QC (Avisos de Conflitos de Padr\u00e3o Silencioso)]"},
-  {  "optionQ", "   [-Q  (Modo Silencioso)]"},
-  {  "optionLF", "   [-LF (Utilizar avan\u00e7os de linha apenas na sa\u00edda {padr\u00e3o \u00e9 CR/LF})]"},
-  {  "optionCR", "   [-CR (Utilizar retornos de carro apenas na sa\u00edda {padr\u00e3o \u00e9 CR/LF})]"},
-  { "optionESCAPE", "   [-ESCAPE (Quais caracteres de escape {padr\u00e3o \u00e9 <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "   [-INDENT (Controlar como os espa\u00e7os s\u00e3o recuados {padr\u00e3o \u00e9 0})]"},
-  { "optionTT", "   [-TT (Rastrear os templates enquanto est\u00e3o sendo chamados.)]"},
-  { "optionTG", "   [-TG (Rastrear cada evento de gera\u00e7\u00e3o.)]"},
-  { "optionTS", "   [-TS (Rastrear cada evento de sele\u00e7\u00e3o.)]"},
-  {  "optionTTC", "   [-TTC (Rastrear os filhos do modelo enquanto est\u00e3o sendo processados.)]"},
-  { "optionTCLASS", "   [-TCLASS (Classe TraceListener para extens\u00f5es de rastreio.)]"},
-  { "optionVALIDATE", "   [-VALIDATE (Definir se ocorrer valida\u00e7\u00e3o. A valida\u00e7\u00e3o fica desativada por padr\u00e3o.)]"},
-  { "optionEDUMP", "   [-EDUMP {nome de arquivo opcional} (Executar stackdump sob erro.)]"},
-  {  "optionXML", "   [-XML (Utilizar formatador XML e incluir cabe\u00e7alho XML.)]"},
-  {  "optionTEXT", "   [-TEXT (Utilizar formatador de Texto simples.)]"},
-  {  "optionHTML", "   [-HTML (Utilizar formatador HTML.)]"},
-  {  "optionPARAM", "   [-PARAM express\u00e3o de nome (Definir um par\u00e2metro stylesheet)]"},
-  {  "noParsermsg1", "O Processo XSL n\u00e3o obteve \u00eaxito."},
-  {  "noParsermsg2", "** N\u00e3o foi poss\u00edvel encontrar o analisador **"},
-  { "noParsermsg3",  "Verifique seu classpath."},
-  { "noParsermsg4", "Se voc\u00ea n\u00e3o tiver o XML Parser para Java da IBM, poder\u00e1 fazer o download dele a partir de"},
-  { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER nome completo da classe (URIResolver a ser utilizado para resolver URIs)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER nome completo da classe (EntityResolver a ser utilizado para resolver entidades)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER nome completo da classe (ContentHandler a ser utilizado para serializar sa\u00edda)]"},
-  {  "optionLINENUMBERS",  "   [-L utilizar n\u00fameros de linha para documento de origem]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (define o recurso de processamento seguro como true.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA mediaType (utilizar atributo de m\u00eddia para encontrar folha de estilo associada a um documento.)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR flavorName (Utilizar explicitamente s2s=SAX ou d2d=DOM para executar transforma\u00e7\u00e3o.)]"}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (Imprimir total de milissegundos que a transforma\u00e7\u00e3o gastou.)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (pedir constru\u00e7\u00e3o incremental de DTM definindo http://xml.apache.org/xalan/features/incremental verdadeiro.)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (n\u00e3o solicitar o processamento de otimiza\u00e7\u00e3o de folha de estilo definindo http://xml.apache.org/xalan/features/optimize false.)]"},
-  { "optionRL",  "   [-RL recursionlimit (declarar limite num\u00e9rico em profundidade de recorr\u00eancia de folha de estilo.)]"},
-  {   "optionXO",  "   [-XO [transletName] (atribuir nome ao translet gerado)]"},
-  {  "optionXD", "   [-XD destinationDirectory (especificar um diret\u00f3rio de destino para translet)]"},
-  {  "optionXJ",  "   [-XJ jarfile (empacota classes translet em um arquivo jar denominado <arquivo_jar>)]"},
-  {   "optionXP",  "   [-XP package (especifica um prefixo de nome de pacote para todas as classes translet geradas)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "   [-XN (ativa a seq\u00fc\u00eancia de templates)]" },
-  { "optionXX",  "   [-XX (ativa a sa\u00edda de mensagem de depura\u00e7\u00e3o adicional)]"},
-  { "optionXT" , "   [-XT (utilizar translet para transforma\u00e7\u00e3o, se poss\u00edvel)]"},
-  { "diagTiming"," --------- Transforma\u00e7\u00e3o de {0} via {1} levou {2} ms" },
-  { "recursionTooDeep","Aninhamento de templates muito extenso. aninhamento = {0}, template {1} {2}" },
-  { "nameIs", "o nome \u00e9" },
-  { "matchPatternIs", "o padr\u00e3o de correspond\u00eancia \u00e9" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Erro: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Aviso: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "PADR\u00c3O ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("pt", "BR"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ru.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ru.java
deleted file mode 100644
index 4f877bb..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_ru.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_ru.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_ru extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "\u041e\u0448\u0438\u0431\u043a\u0430: \u0421\u043a\u043e\u0431\u043a\u0430 '{' \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430 \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "\u0414\u043b\u044f {0} \u0443\u043a\u0430\u0437\u0430\u043d \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442: {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "\u041f\u0443\u0441\u0442\u043e\u0439 sourceNode \u0432 xsl:apply-imports!"},
-
-  {ER_CANNOT_ADD,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c {0} \u0432 {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "\u041f\u0443\u0441\u0442\u043e\u0439 sourceNode \u0432 handleApplyTemplatesInstruction!"},
-
-    { ER_NO_NAME_ATTRIB,
-     "\u0423 {0} \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 name"},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "\u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d: {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u044f AVT \u0432 xsl:call-template."},
-
-    {ER_REQUIRES_ATTRIB,
-     "\u0414\u043b\u044f {0} \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d \u0430\u0442\u0440\u0438\u0431\u0443\u0442: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 ''test''. "},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u0443\u0440\u043e\u0432\u043d\u044f: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "\u0418\u043c\u044f processing-instruction \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u043d\u043e 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "\u0418\u043c\u044f processing-instruction \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c NCName: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "\u0415\u0441\u043b\u0438 \u0434\u043b\u044f {0} \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0440\u0435\u0436\u0438\u043c, \u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 match."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "\u0423 {0} \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 name \u0438\u043b\u0438 match."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "\u0412 xml:space \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "\u0423 \u0434\u043e\u0447\u0435\u0440\u043d\u0435\u0433\u043e \u0443\u0437\u043b\u0430 \u043d\u0435\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430-\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430!"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "\u041e\u0448\u0438\u0431\u043a\u0430 ElemTemplateElement: {0}"},
-
-    { ER_NULL_CHILD,
-     "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043c\u043a\u0430!"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "\u0423 {0} \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 select."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "\u0414\u043b\u044f xsl:when \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u043d \u0430\u0442\u0440\u0438\u0431\u0443\u0442 'test'."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "\u0414\u043b\u044f xsl:with-param \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u043d \u0430\u0442\u0440\u0438\u0431\u0443\u0442 'name'."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "\u0412 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442-\u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446!"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c XML TransformerFactory Liaison: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b \u043e\u0448\u0438\u0431\u043a\u0438."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: \u041e\u0448\u0438\u0431\u043a\u0430."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c TraceListener: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "\u0414\u043b\u044f xsl:key \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 'name'!"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "\u0414\u043b\u044f xsl:key \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 'match'!"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "\u0414\u043b\u044f xsl:key \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 'use'!"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "\u0414\u043b\u044f (StylesheetHandler) {0} \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442 ''elements''!"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "\u0414\u043b\u044f (StylesheetHandler) {0} \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 ''prefix''"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 URL \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0444\u0430\u0439\u043b \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439: {0}"},
-
-    { ER_IOEXCEPTION,
-      "\u0418\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043a \u0444\u0430\u0439\u043b\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) \u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0430\u0442\u0440\u0438\u0431\u0443\u0442 href \u0434\u043b\u044f {0}"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u043b\u0438 \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u043e \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0431\u044f!"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "\u041e\u0448\u0438\u0431\u043a\u0430 StylesheetHandler.processInclude, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "\u0414\u043b\u044f (StylesheetHandler) {0} \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 ''lang''"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) \u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 {0} ?? \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 ''component''"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "\u0412\u044b\u0432\u043e\u0434 \u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b: Element, DocumentFragment, Document \u0438\u043b\u0438 PrintWriter."},
-
-    { ER_PROCESS_ERROR,
-     "\u041e\u0448\u0438\u0431\u043a\u0430 StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "\u041e\u0448\u0438\u0431\u043a\u0430 UnImplNode: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "\u041e\u0448\u0438\u0431\u043a\u0430! \u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 xpath (-select)."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c XSLProcessor!"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u0442\u0438\u043b\u0435\u0439!"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439!"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 {0} !"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "\u0423\u0437\u0435\u043b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430, \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u043c: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "\u0423 for-each \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 match \u0438\u043b\u0438 name"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "\u0423 templates \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 match \u0438\u043b\u0438 name"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u043f\u0438\u044f \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430!"},
-
-    { ER_CANT_CREATE_ITEM,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0435\u0440\u0435\u0432\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "\u0417\u0430\u0434\u0430\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 xml:space \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c XML: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 xsl:key \u0434\u043b\u044f {0}!"},
-
-    { ER_CANT_CREATE_URL,
-     "\u041e\u0448\u0438\u0431\u043a\u0430! \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c URL \u0434\u043b\u044f {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f"},
-
-    { ER_PROCESSOR_ERROR,
-     "\u041e\u0448\u0438\u0431\u043a\u0430 XSLT TransformerFactory"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0441\u0442\u0438\u043b\u0435\u0439!"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f!  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 xsl:output."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f!  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 xsl:strip-space \u0438\u043b\u0438 xsl:preserve-space."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f!  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 xsl:output."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) \u0414\u043b\u044f {0} \u0443\u043a\u0430\u0437\u0430\u043d \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 XSL: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441 xsl:apply-templates \u0438\u043b\u0438 xsl:for-each."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) \u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 xsl:when!"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e xsl:choose!"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) \u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 xsl:otherwise!"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e xsl:choose!"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0435!"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) \u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 {1} \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f {0}"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Imports \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439!"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u043b\u0438 \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0441\u0435\u0431\u044f!"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) \u0414\u043b\u044f xml:space \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "\u041e\u0448\u0438\u0431\u043a\u0430 processStylesheet!"},
-
-    { ER_SAX_EXCEPTION,
-     "\u0418\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f SAX"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f!"},
-
-
-    { ER_XSLT_ERROR,
-     "\u041e\u0448\u0438\u0431\u043a\u0430 XSLT"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "\u0421\u0438\u043c\u0432\u043e\u043b \u0434\u0435\u043d\u0435\u0436\u043d\u043e\u0439 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 DOM \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439!"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f non-Prefix!"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f: \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 - \u0430\u0442\u0440\u0438\u0431\u0443\u0442 file \u0438\u043b\u0438 select \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c FormatterListener \u0432 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0438 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f!"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0432 exclude-result-prefixes: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "\u0414\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 URI \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043e\u043f\u0446\u0438\u0438: {0}"},
-
-    { ER_INVALID_OPTION,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430\u044f \u043e\u043f\u0446\u0438\u044f: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "\u0414\u043b\u044f xsl:stylesheet \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 'version'!"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "\u0410\u0442\u0440\u0438\u0431\u0443\u0442: \u0412 {0} \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "\u0414\u043b\u044f xsl:choose \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 xsl:for-each"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "\u041d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c DTMLiaison \u0434\u043b\u044f \u0443\u0437\u043b\u0430 \u0432\u044b\u0432\u043e\u0434\u0430 DOM ... \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 org.apache.xpath.DOM2Helper!"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "\u041d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c DTMLiaison \u0434\u043b\u044f \u0443\u0437\u043b\u0430 \u0432\u0432\u043e\u0434\u0430 DOM ... \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 org.apache.xpath.DOM2Helper!"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 UTF-16: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u0435\u0431\u044f, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "\u041d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432\u0432\u043e\u0434 \u043d\u0435-Xerces-DOM \u0438 \u0432\u044b\u0432\u043e\u0434 Xerces-DOM!"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "\u0412 ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c: {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b key() \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b"},
-
-    { ER_REFERENCING_ITSELF,
-      "\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f {0} \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u043b\u0438 \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u043e \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0431\u044f!"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "\u0414\u043b\u044f DOMSource \u0432 newTemplates \u0443\u0437\u0435\u043b \u0432\u0432\u043e\u0434\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c!"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0444\u0430\u0439\u043b \u043a\u043b\u0430\u0441\u0441\u0430 \u0434\u043b\u044f \u043e\u043f\u0446\u0438\u0438 {0}"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "\u0424\u0430\u0439\u043b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 BSF"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435: {0}, \u043f\u0440\u0438\u0447\u0438\u043d\u0430: {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "\u041f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0432 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 {0} \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "\u0423\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0438\u043c\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "\u041c\u0435\u0442\u043e\u0434 name \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f {0} : {1}"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u0445 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0439 \u0434\u043b\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 {0}"},
-
-    { ER_MORE_MATCH_METHOD,
-             "\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0443\u0447\u0448\u0438\u0445 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0439 \u0434\u043b\u044f \u043c\u0435\u0442\u043e\u0434\u0430 {0}"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0443\u0447\u0448\u0438\u0445 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0439 \u0434\u043b\u044f \u043c\u0435\u0442\u043e\u0434\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 {0}"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "\u0414\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 {0}"},
-
-    { ER_POOL_EXISTS,
-             "\u041f\u0443\u043b \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442"},
-
-    { ER_NO_DRIVER_NAME,
-             "\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043c\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430"},
-
-    { ER_NO_URL,
-             "\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d URL"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "\u0420\u0430\u0437\u043c\u0435\u0440 \u043f\u0443\u043b\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b!"},
-
-    { ER_INVALID_DRIVER,
-             "\u0423\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0438\u043c\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430!"},
-
-    { ER_NO_STYLESHEETROOT,
-             "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439!"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "\u041e\u0448\u0438\u0431\u043a\u0430 processFromNode"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441 [ {0} ]: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "\u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0443\u0444\u0435\u0440\u0430 <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "\u0423 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 {0} \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e \u0434\u043b\u044f lang=javaclass {0}"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "\u041f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u0441\u0442\u0438\u043b\u0435\u0439"},
-
-    { ER_ONE_OR_TWO,
-        "1 \u0438\u043b\u0438 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 \u0438\u043b\u0438 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c {0} (\u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 CLASSPATH), \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e"},
-
-    { ER_RESULT_NULL,
-        "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d \u0432\u044b\u0432\u043e\u0434"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u0438\u043f\u0430 {0}"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0442\u0438\u043f\u0430 {0}"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "\u041f\u0443\u0441\u0442\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "\u041f\u0443\u0441\u0442\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043e\u0448\u0438\u0431\u043a\u0438"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d ContentHandler"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "\u041d\u0435 \u0437\u0430\u0434\u0430\u043d \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0444\u0438\u043b\u044c\u0442\u0440\u0430"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "\u0412 {0} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u0442\u0438\u043b\u0435\u0439, \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c={1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d PI xml-stylesheet \u0432 {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "\u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 {0} \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u043c Boolean"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0432 {0}"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "\u0420\u0435\u0441\u0443\u0440\u0441 [ {0} ] \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0432\u044b\u0432\u043e\u0434\u0430 \u043d\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043e: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 ElemLiteralResult"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {0} \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "\u0412 {0} \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 yes \u0438\u043b\u0438 no"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 {0}"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 ElemTemplateElement"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "\u0421\u0438\u043c\u0432\u043e\u043b\u044b \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "\u0410\u0442\u0440\u0438\u0431\u0443\u0442 \"{0}\" \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 {1}!"},
-
-    { ER_BAD_VALUE,
-     "{0} \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 {0} "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 {0} \u043d\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043e "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d \u0441 \u043f\u0443\u0441\u0442\u044b\u043c URI"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u043e\u0442\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e LongInteger"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u043a\u043b\u0430\u0441\u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 SAX1 {0}"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "\u041a\u043b\u0430\u0441\u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 SAX1 {0} \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d, \u043d\u043e \u0435\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "\u041a\u043b\u0430\u0441\u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 SAX1 {0} \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d, \u043d\u043e \u0435\u0433\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "\u0412 \u043a\u043b\u0430\u0441\u0441\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 SAX1 {0} \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d org.xml.sax.Parser"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "\u041d\u0435 \u0437\u0430\u0434\u0430\u043d\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e org.xml.sax.parser"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"},
-
-    { ER_FEATURE,
-     "\u0424\u0443\u043d\u043a\u0446\u0438\u044f: {0}"},
-
-    { ER_PROPERTY,
-     "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "\u041f\u0443\u0441\u0442\u043e\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u0430\u043a\u0440\u043e\u0441\u0430"},
-
-    { ER_NULL_DTD_HANDLER,
-     "\u041f\u0443\u0441\u0442\u043e\u0439 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 DTD"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043c\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430!"},
-
-    { ER_NO_URL_SPECIFIED,
-     "\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d URL!"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "\u0420\u0430\u0437\u043c\u0435\u0440 \u043f\u0443\u043b\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 1!"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "\u0423\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0438\u043c\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430!"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430! \u0423 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u0442 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 ElemTemplateElement!"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "\u0417\u0430\u043f\u0438\u0441\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \u0432 RedundentExprEliminator: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439!"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "\u0422\u0435\u043a\u0441\u0442 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439!"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {1} \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 CHAR: {0}.  \u0410\u0442\u0440\u0438\u0431\u0443\u0442 \u0442\u0438\u043f\u0430 CHAR \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 1 \u0441\u0438\u043c\u0432\u043e\u043b!"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {1} \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 QNAME: {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {1} \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 ENUM: {0}.  \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {1} \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 NMTOKEN: {0}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {1} \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 NCNAME: {0}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {1} \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 boolean: {0}. "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {1} \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 number: {0}. "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 {0} \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u043e\u043c."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "\u0414\u043b\u044f xsl:template \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u0434\u0430\u043d \u0430\u0442\u0440\u0438\u0431\u0443\u0442 name \u0438\u043b\u0438 match, \u043b\u0438\u0431\u043e \u043e\u0431\u0430 \u044d\u0442\u0438\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0432 exclude-result-prefixes: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "attribute-set \u0441 \u0438\u043c\u0435\u043d\u0435\u043c {0} \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0441 \u0438\u043c\u0435\u043d\u0435\u043c {0} \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "\u0414\u043b\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 {0} \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0438 \u0432\u044b\u0431\u043e\u0440\u0430. "},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 {0} \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c Java"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "\u0410\u0442\u0440\u0438\u0431\u0443\u0442 result-prefix \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 xsl:namespace-alias \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 '#default', \u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "\u0410\u0442\u0440\u0438\u0431\u0443\u0442 result-prefix \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 xsl:namespace-alias \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ''{0}'', \u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d \u0434\u043b\u044f \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430 ''{0}'' \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e. "},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "\u0418\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c \u0432 TransformerFactory.setFeature(\u0418\u043c\u044f \u0441\u0442\u0440\u043e\u043a\u0438, \u0431\u0443\u043b\u0435\u0432\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435). "},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "\u0418\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c \u0432 TransformerFactory.getFeature(\u0418\u043c\u044f \u0441\u0442\u0440\u043e\u043a\u0438). "},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e ''{0}'' \u0432 \u044d\u0442\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435 TransformerFactory. "},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f ''{0}'' \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0435\u0441\u043b\u0438 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430\u0434\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 true. "},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043b\u044f uri \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d. "},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 uri \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d \u0434\u043b\u044f \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430. "},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "\u0418\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c. "},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "\u0427\u0438\u0441\u043b\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c. "},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "\u041d\u0430\u0439\u0434\u0435\u043d\u0430 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0430\u044f \u0441\u043a\u043e\u0431\u043a\u0430 '}', \u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442!"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: \u0410\u0442\u0440\u0438\u0431\u0443\u0442 count \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c\u0443 \u0432 xsl:number! \u0426\u0435\u043b\u0435\u0432\u043e\u0439 = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "\u0421\u0442\u0430\u0440\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441: \u0418\u043c\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 'expr' \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043e \u043d\u0430 'select'."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan \u0435\u0449\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0438\u043c\u044f \u043b\u043e\u043a\u0430\u043b\u0438 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 format-number."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: \u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c \u0434\u043b\u044f xml:lang={0}"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c URL \u0438\u0437: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 Collator \u0434\u043b\u044f <sort xml:lang={0}"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "\u0421\u0442\u0430\u0440\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441: \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 functions \u043d\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c url {0}"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f: {0}, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f: {0}, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439: \u0411\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0441\u0442\u0438\u043b\u0435\u0439 {0}."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= \u0410\u043d\u0430\u043b\u0438\u0437 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "\u0428\u0430\u0431\u043b\u043e\u043d \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f xsl:strip-space \u0438 xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan \u0435\u0449\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 {0}!"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0438\u043b\u0438 \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d XSLT. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 xsl:decimal-format \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "\u0418\u043c\u0435\u043d\u0430 xsl:decimal-format \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438. \u0418\u043c\u044f \"{0}\" \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "\u0414\u043b\u044f {0} \u0443\u043a\u0430\u0437\u0430\u043d \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442: {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d: {0}. \u0423\u0437\u0435\u043b \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "\u0414\u043b\u044f xsl:stylesheet \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 'version'!"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0438\u043c\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 {0}: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u043d\u0430\u0431\u043e\u0440 \u0443\u0437\u043b\u043e\u0432 \u0438\u0437 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 document \u043f\u0443\u0441\u0442. \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u043f\u0443\u0441\u0442\u043e\u0433\u043e node-set."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 'name' \u0432 \u0438\u043c\u0435\u043d\u0438 xsl:processing-instruction \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u0430\u0432\u043d\u043e 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 ''name'' \u0432 xsl:processing-instruction \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c NCName: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 {0} \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u0443\u0437\u043b\u043e\u0432 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0434 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430.  \u0410\u0442\u0440\u0438\u0431\u0443\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d. "},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e. "
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "en"},
-  {  "help_language",  "en" },
-  {  "language",  "en" },
-  { "BAD_CODE", "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 createMessage \u043b\u0435\u0436\u0438\u0442 \u0432\u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430"},
-  {  "FORMAT_FAILED", "\u0418\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 messageFormat"},
-  {  "version", ">>>>>>> \u0412\u0435\u0440\u0441\u0438\u044f Xalan "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "\u0434\u0430"},
-  { "line", "\u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 "},
-  { "column","\u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 "},
-  { "xsldone", "XSLProcessor: \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "\u041e\u043f\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 Xalan-J:"},
-  { "xslProc_option", "\u041e\u043f\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 Xalan-J\u003a"},
-  { "xslProc_invalid_xsltc_option", "\u041e\u043f\u0446\u0438\u044f {0} \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 XSLTC."},
-  { "xslProc_invalid_xalan_option", "\u041e\u043f\u0446\u0438\u044f {0} \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441 -XSLTC."},
-  { "xslProc_no_input", "\u041e\u0448\u0438\u0431\u043a\u0430: \u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u0442\u0438\u043b\u0435\u0439 \u0438\u043b\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0444\u0430\u0439\u043b xml. \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0441\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0431\u0435\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432."},
-  { "xslProc_common_options", "-\u041e\u0431\u0449\u0438\u0435 \u043e\u043f\u0446\u0438\u0438-"},
-  { "xslProc_xalan_options", "-\u041e\u043f\u0446\u0438\u0438 Xalan-"},
-  { "xslProc_xsltc_options", "-\u041e\u043f\u0446\u0438\u0438 XSLTC-"},
-  { "xslProc_return_to_continue", "(\u0414\u043b\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f \u043d\u0430\u0436\u043c\u0438\u0442\u0435 <Enter>)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "   [-XSLTC (\u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 XSLTC)]"},
-  { "optionIN", "   [-IN inputXMLURL]"},
-  { "optionXSL", "   [-XSL XSLTransformationURL]"},
-  { "optionOUT",  "   [-OUT outputFileName]"},
-  { "optionLXCIN", "   [-LXCIN compiledStylesheetFileNameIn]"},
-  { "optionLXCOUT", "   [-LXCOUT compiledStylesheetFileNameOutOut]"},
-  { "optionPARSER", "   [-PARSER \u043f\u043e\u043b\u043d\u043e\u0435 \u0438\u043c\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430]"},
-  {  "optionE", "   [-E (\u041d\u0435 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043c\u0430\u043a\u0440\u043e\u0441\u044b entity)]"},
-  {  "optionV",  "   [-E (\u041d\u0435 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043c\u0430\u043a\u0440\u043e\u0441\u044b entity)]"},
-  {  "optionQC", "   [-QC (\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u043e \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u0430\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432)]"},
-  {  "optionQ", "   [-Q  (\u0422\u0438\u0445\u0438\u0439 \u0440\u0435\u0436\u0438\u043c)]"},
-  {  "optionLF", "   [-LF (\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0432\u044b\u0432\u043e\u0434\u0435 \u0442\u043e\u043b\u044c\u043a\u043e LF {\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e - CR/LF})]"},
-  {  "optionCR", "   [-CR (\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0432\u044b\u0432\u043e\u0434\u0435 \u0442\u043e\u043b\u044c\u043a\u043e CR {\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e - CR/LF})]"},
-  { "optionESCAPE", "   [-ESCAPE (\u0421\u0438\u043c\u0432\u043e\u043b\u044b, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 Esc-\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0435\u0439 {\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e - <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "   [-INDENT (\u0427\u0438\u0441\u043b\u043e \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432 \u0432 \u043e\u0442\u0441\u0442\u0443\u043f\u0435 {\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e - 0})]"},
-  { "optionTT", "   [-TT (\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432.)]"},
-  { "optionTG", "   [-TG (\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f.)]"},
-  { "optionTS", "   [-TS (\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432\u044b\u0431\u043e\u0440\u0430.)]"},
-  {  "optionTTC", "   [-TTC (\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432.)]"},
-  { "optionTCLASS", "   [-TCLASS (\u041a\u043b\u0430\u0441\u0441 TraceListener \u0434\u043b\u044f \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439.)]"},
-  { "optionVALIDATE", "   [-VALIDATE (\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443.  \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0430.)]"},
-  { "optionEDUMP", "   [-EDUMP {\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430} (\u0414\u0430\u043c\u043f \u0441\u0442\u0435\u043a\u0430 \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0435.)]"},
-  {  "optionXML", "   [-XML (\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 XML \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a XML.)]"},
-  {  "optionTEXT", "   [-TEXT (\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.)]"},
-  {  "optionHTML", "   [-HTML (\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 HTML.)]"},
-  {  "optionPARAM", "   [-PARAM \u0438\u043c\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 (\u0417\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439)]"},
-  {  "noParsermsg1", "\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 XSL \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b \u043e\u0448\u0438\u0431\u043a\u0438."},
-  {  "noParsermsg2", "** \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d **"},
-  { "noParsermsg3",  "\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 classpath."},
-  { "noParsermsg4", "\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 XML Parser for Java \u0444\u0438\u0440\u043c\u044b IBM, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u0441\u0430\u0439\u0442\u0430"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER \u0438\u043c\u044f \u043a\u043b\u0430\u0441\u0441\u0430 (URIResolver \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f URL)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER \u0438\u043c\u044f \u043a\u043b\u0430\u0441\u0441\u0430 (EntityResolver \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0430\u043a\u0440\u043e\u0441\u043e\u0432)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER \u0438\u043c\u044f \u043a\u043b\u0430\u0441\u0441\u0430 (ContentHandler \u0434\u043b\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u044b\u0432\u043e\u0434\u0430)]"},
-  {  "optionLINENUMBERS",  "   [-L \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0442\u0440\u043e\u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (\u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 true.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA \u0442\u0438\u043f-\u043d\u043e\u0441\u0438\u0442. (\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044f \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439.)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR \u0438\u043c\u044f-\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f (\u042f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c s2s=SAX \u0438\u043b\u0438 d2d=DOM.)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (\u041f\u0435\u0447\u0430\u0442\u044c \u043e\u0442\u0447\u0435\u0442\u0430 \u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445.)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (\u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c DTM \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f http://xml.apache.org/xalan/features/incremental true.)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0438\u043b\u0435\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f http://xml.apache.org/xalan/features/optimize false.)]"},
-  { "optionRL",  "   [-RL \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 (\u0427\u0438\u0441\u043b\u043e\u0432\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0433\u043b\u0443\u0431\u0438\u043d\u044b \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446 \u0441\u0442\u0438\u043b\u0435\u0439.)]"},
-  {   "optionXO",  "   [-XO [\u0438\u043c\u044f-\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b] (\u041f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u0438\u043c\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f)]"},
-  {  "optionXD", "   [-XD \u0446\u0435\u043b\u0435\u0432\u043e\u0439-\u043a\u0430\u0442\u0430\u043b\u043e\u0433 (\u0417\u0430\u0434\u0430\u0435\u0442 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u043b\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f)]"},
-  {  "optionXJ",  "   [-XJ \u0444\u0430\u0439\u043b-jar (\u0423\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u043a\u043b\u0430\u0441\u0441\u044b \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 <\u0444\u0430\u0439\u043b-jar>)]"},
-  {   "optionXP",  "   [-XP \u043f\u0430\u043a\u0435\u0442 (\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438\u043c\u0435\u043d\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 translet)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "   [-XN (\u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u0430)]" },
-  { "optionXX",  "   [-XX (\u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432\u044b\u0432\u043e\u0434 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439)]"},
-  { "optionXT" , "   [-XT (\u043f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f)]"},
-  { "diagTiming"," --------- \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 {0} \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e {1} \u0437\u0430\u043d\u044f\u043b\u043e {2} \u043c\u0441" },
-  { "recursionTooDeep","\u0421\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432. \u0412\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c = {0}, \u0448\u0430\u0431\u043b\u043e\u043d {1} {2}" },
-  { "nameIs", "\u0438\u043c\u044f" },
-  { "matchPatternIs", "\u0448\u0430\u0431\u043b\u043e\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "\u041e\u0448\u0438\u0431\u043a\u0430";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "\u041e\u0448\u0438\u0431\u043a\u0430: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_sk.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_sk.java
deleted file mode 100644
index b65f079..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_sk.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_sk.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_sk extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Chyba: Nie je mo\u017en\u00e9 ma\u0165 vo v\u00fdraze '{'"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} m\u00e1 neplatn\u00fd atrib\u00fat: {1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "sourceNode je v xsl:apply-imports nulov\u00fd!"},
-
-  {ER_CANNOT_ADD,
-      "Nem\u00f4\u017ee prida\u0165 {0} do {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "sourceNode je nulov\u00fd v handleApplyTemplatesInstruction!"},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} mus\u00ed ma\u0165 atrib\u00fat n\u00e1zvu."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "Nebolo mo\u017en\u00e9 n\u00e1js\u0165 vzor s n\u00e1zvom: {0}"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "Nebolo mo\u017en\u00e9 rozl\u00ed\u0161i\u0165 n\u00e1zov AVT v xsl:call-template."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} vy\u017eaduje atrib\u00fat: {1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} mus\u00ed ma\u0165 atrib\u00fat ''test''."},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "Nespr\u00e1vna hodnota na atrib\u00fate \u00farovne: {0}"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "n\u00e1zov processing-instruction nem\u00f4\u017ee by\u0165 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "n\u00e1zov in\u0161trukcie spracovania mus\u00ed by\u0165 platn\u00fdm NCName: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} mus\u00ed ma\u0165 porovn\u00e1vac\u00ed atrib\u00fat, ak m\u00e1 re\u017eim."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} vy\u017eaduje bu\u010f n\u00e1zov, alebo porovn\u00e1vac\u00ed atrib\u00fat."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "Nie je mo\u017en\u00e9 rozl\u00ed\u0161i\u0165 predponu n\u00e1zvov\u00e9ho priestoru: {0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space m\u00e1 neplatn\u00fa hodnotu: {0}"},
-
-    { ER_NO_OWNERDOC,
-      "Potomok uzla nem\u00e1 dokument vlastn\u00edka!"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "Chyba ElemTemplateElement: {0}"},
-
-    { ER_NULL_CHILD,
-     "Pokus o pridanie nulov\u00e9ho potomka!"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} vy\u017eaduje atrib\u00fat v\u00fdberu."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when mus\u00ed ma\u0165 atrib\u00fat 'test'."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param mus\u00ed ma\u0165 atrib\u00fat 'name'."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "kontext nem\u00e1 dokument vlastn\u00edka!"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "Nebolo mo\u017en\u00e9 vytvori\u0165 vz\u0165ah XML TransformerFactory: {0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: Proces bol ne\u00faspe\u0161n\u00fd."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: bol ne\u00faspe\u0161n\u00fd."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "K\u00f3dovanie nie je podporovan\u00e9: {0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "Nebolo mo\u017en\u00e9 vytvori\u0165 TraceListener: {0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key vy\u017eaduje atrib\u00fat 'name'!"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key vy\u017eaduje atrib\u00fat 'match'!"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key vy\u017eaduje atrib\u00fat 'use'!"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} vy\u017eaduje atrib\u00fat ''elements''!"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) {0} ch\u00fdba atrib\u00fat ''prefix''"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "URL \u0161t\u00fdlu dokumentu je nespr\u00e1vna: {0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "S\u00fabor \u0161t\u00fdlu dokumentu nebol n\u00e1jden\u00fd: {0}"},
-
-    { ER_IOEXCEPTION,
-      "V s\u00fabore \u0161t\u00fdlu dokumentu bola vstupno-v\u00fdstupn\u00e1 v\u00fdnimka: {0}"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) Nebolo mo\u017en\u00e9 n\u00e1js\u0165 atrib\u00fat href pre {0}"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} priamo, alebo nepriamo, obsahuje s\u00e1m seba!"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "chyba StylesheetHandler.processInclude, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) {0} ch\u00fdba atrib\u00fat ''lang''"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) chybne umiestnen\u00fd {0} element?? Ch\u00fdba kontajnerov\u00fd prvok ''component''"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "M\u00f4\u017ee prev\u00e1dza\u0165 v\u00fdstup len do Element, DocumentFragment, Document, alebo PrintWriter."},
-
-    { ER_PROCESS_ERROR,
-     "chyba StylesheetRoot.process"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "Chyba UnImplNode: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Chyba! Nena\u0161lo sa vyjadrenie v\u00fdberu xpath (-select)."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "Nie je mo\u017en\u00e9 serializova\u0165 XSLProcessor!"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "Nebol zadan\u00fd vstup \u0161t\u00fdl dokumentu!"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "Zlyhalo spracovanie \u0161t\u00fdlu dokumentu!"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "Nebolo mo\u017en\u00e9 analyzova\u0165 dokument {0}!"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "Nebolo mo\u017en\u00e9 n\u00e1js\u0165 fragment: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "Uzol, na ktor\u00fd ukazuje identifik\u00e1tor fragmentu nebol elementom: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each mus\u00ed ma\u0165 bu\u010f porovn\u00e1vac\u00ed atrib\u00fat, alebo atrib\u00fat n\u00e1zvu"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "vzory musia ma\u0165 bu\u010f porovn\u00e1vacie atrib\u00faty, alebo atrib\u00faty n\u00e1zvov"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "\u017diadna k\u00f3pia fragmentu dokumentu!"},
-
-    { ER_CANT_CREATE_ITEM,
-      "Nie je mo\u017en\u00e9 vytvori\u0165 polo\u017eku vo v\u00fdsledkovom strome: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "xml:space v zdrojovom XML m\u00e1 neplatn\u00fa hodnotu: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "Neexistuje \u017eiadna deklar\u00e1cia xsl:key pre {0}!"},
-
-    { ER_CANT_CREATE_URL,
-     "Chyba! Nie je mo\u017en\u00e9 vytvori\u0165 url pre: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions nie je podporovan\u00e9"},
-
-    { ER_PROCESSOR_ERROR,
-     "Chyba XSLT TransformerFactory"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} nie je povolen\u00fd vn\u00fatri \u0161t\u00fdlu dokumentu!"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns u\u017e viac nie je podporovan\u00fd!  Pou\u017eite namiesto toho xsl:output."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space u\u017e viac nie je podporovan\u00fd!  Pou\u017eite namiesto toho xsl:strip-space alebo xsl:preserve-space."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result u\u017e viac nie je podporovan\u00fd!  Pou\u017eite namiesto toho xsl:output."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} m\u00e1 neplatn\u00fd atrib\u00fat: {1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Nezn\u00e1my element XSL: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort mo\u017eno pou\u017ei\u0165 len s xsl:apply-templates alebo xsl:for-each."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when na nespr\u00e1vnom mieste!"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when nem\u00e1 ako rodi\u010da xsl:choose!"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise na nespr\u00e1vnom mieste!"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise nem\u00e1 ako rodi\u010da xsl:choose!"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} nie je povolen\u00fd vn\u00fatri vzoru!"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0} prefix roz\u0161\u00edren\u00e9ho n\u00e1zvov\u00e9ho priestoru {1} nie je zn\u00e1my"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Importy sa m\u00f4\u017eu vyskytn\u00fa\u0165 len ako prv\u00e9 \u010dasti \u0161t\u00fdlu dokumentu!"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} priamo, alebo nepriami, importuje s\u00e1m seba!"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space m\u00e1 neplatn\u00fa hodnotu: {0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet nebol \u00faspe\u0161n\u00fd!"},
-
-    { ER_SAX_EXCEPTION,
-     "V\u00fdnimka SAX"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "Funkcia nie je podporovan\u00e1!"},
-
-
-    { ER_XSLT_ERROR,
-     "Chyba XSLT"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "znak meny nie je povolen\u00fd vo re\u0165azci form\u00e1tu vzoru"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "Funckia dokumentu nie je podporovan\u00e1 v \u0161t\u00fdle dokumentu DOM!"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "Nie je mo\u017en\u00e9 ur\u010di\u0165 prefix bezprefixov\u00e9ho rozklada\u010da!"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Roz\u0161\u00edrenie presmerovania: Nedal sa z\u00edska\u0165 n\u00e1zov s\u00faboru - s\u00fabor alebo atrib\u00fat v\u00fdberu mus\u00ed vr\u00e1ti\u0165 platn\u00fd re\u0165azec."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "Nie je mo\u017en\u00e9 vytvori\u0165 FormatterListener v roz\u0161\u00edren\u00ed Redirect!"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "Predpona v exclude-result-prefixes je neplatn\u00e1: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "Ch\u00fdbaj\u00faci n\u00e1zvov\u00fd priestor URI pre zadan\u00fd prefix"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "Ch\u00fdbaj\u00faci argument pre vo\u013ebu: {0}"},
-
-    { ER_INVALID_OPTION,
-     "Neplatn\u00e1 vo\u013eba. {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Znetvoren\u00fd re\u0165azec form\u00e1tu: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet si vy\u017eaduje atrib\u00fat 'version'!"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "Atrib\u00fat: {0} m\u00e1 neplatn\u00fa hodnotu: {1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose vy\u017eaduje xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports nie je povolen\u00fd v xsl:for-each"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "Nem\u00f4\u017ee pou\u017ei\u0165 DTMLiaison pre v\u00fdstupn\u00fd uzol DOM... namiesto neho odo\u0161lite org.apache.xpath.DOM2Helper!"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "Nem\u00f4\u017ee pou\u017ei\u0165 DTMLiaison pre vstupn\u00fd uzol DOM... namiesto neho odo\u0161lite org.apache.xpath.DOM2Helper!"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "Volanie elementu roz\u0161\u00edrenia zlyhalo: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Predpona sa mus\u00ed rozl\u00ed\u0161i\u0165 do n\u00e1zvov\u00e9ho priestoru: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "Bolo zisten\u00e9 neplatn\u00e9 nahradenie UTF-16: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} pou\u017eil s\u00e1m seba, \u010do sp\u00f4sob\u00ed nekone\u010dn\u00fa slu\u010dku."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "Nie je mo\u017en\u00e9 mie\u0161a\u0165 vstup in\u00fd, ne\u017e Xerces-DOM s v\u00fdstupom Xerces-DOM!"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "V ElemTemplateElement.readObject: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Na\u0161iel sa viac ne\u017e jeden vzor s n\u00e1zvom: {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "Neplatn\u00e9 volanie funkcie: rekurz\u00edvne volanie k\u013e\u00fa\u010da() nie je povolen\u00e9"},
-
-    { ER_REFERENCING_ITSELF,
-      "Premenn\u00e1 {0} sa priamo, alebo nepriamo, odkazuje sama na seba!"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "Vstupn\u00fd uzol nem\u00f4\u017ee by\u0165 pre DOMSource pre newTemplates nulov\u00fd!"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "S\u00fabor triedy nebol pre vo\u013ebu {0} n\u00e1jden\u00fd"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "Po\u017eadovan\u00fd element sa nena\u0161iel: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream nem\u00f4\u017ee by\u0165 nulov\u00fd"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI nem\u00f4\u017ee by\u0165 nulov\u00fd"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "S\u00fabor nem\u00f4\u017ee by\u0165 nulov\u00fd"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource nem\u00f4\u017ee by\u0165 nulov\u00fd"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "Nebolo mo\u017en\u00e9 inicializova\u0165 Spr\u00e1vcu BSF"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "Nebolo mo\u017en\u00e9 skompilova\u0165 pr\u00edponu"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "Nebolo mo\u017en\u00e9 vytvori\u0165 roz\u0161\u00edrenie: {0} z d\u00f4vodu: {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "Volanie met\u00f3dy met\u00f3dou in\u0161tancie {0} vy\u017eaduje ako prv\u00fd argument In\u0161tanciu objektu"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "Bol zadan\u00fd neplatn\u00fd n\u00e1zov s\u00fa\u010dasti {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "Met\u00f3da n\u00e1zvu s\u00fa\u010dasti mus\u00ed by\u0165 statick\u00e1 {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "Roz\u0161\u00edrenie funkcie {0} : {1} je nezn\u00e1me"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "Bola n\u00e1jden\u00e1 viac ne\u017e jedna najlep\u0161ia zhoda s kon\u0161truktorom pre {0}"},
-
-    { ER_MORE_MATCH_METHOD,
-             "Bola n\u00e1jden\u00e1 viac ne\u017e jedna najlep\u0161ia zhoda pre met\u00f3du {0}"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "Bola n\u00e1jden\u00e1 viac ne\u017e jedna najlep\u0161ia zhoda pre met\u00f3du s\u00fa\u010dasti {0}"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "Bolo odoslan\u00fd neplatn\u00fd kontext na zhodnotenie {0}"},
-
-    { ER_POOL_EXISTS,
-             "Oblas\u0165 u\u017e existuje"},
-
-    { ER_NO_DRIVER_NAME,
-             "Nebol zadan\u00fd \u017eiaden n\u00e1zov ovl\u00e1da\u010da"},
-
-    { ER_NO_URL,
-             "Nebola zadan\u00e1 \u017eiadna URL"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "Ve\u013ekos\u0165 oblasti je men\u0161ia ne\u017e jeden!"},
-
-    { ER_INVALID_DRIVER,
-             "Bol zadan\u00fd neplatn\u00fd n\u00e1zov ovl\u00e1da\u010da!"},
-
-    { ER_NO_STYLESHEETROOT,
-             "Nebol n\u00e1jden\u00fd kore\u0148 \u0161t\u00fdlu dokumentu!"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "Neplatn\u00e1 hodnota pre xml:space"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "zlyhal processFromNode"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "Prostriedok [ {0} ] sa nedal na\u010d\u00edta\u0165: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Ve\u013ekos\u0165 vyrovn\u00e1vacej pam\u00e4te <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Nezn\u00e1ma chyba po\u010das volania pr\u00edpony"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "Prefix {0} nem\u00e1 zodpovedaj\u00facu deklar\u00e1ciu n\u00e1zvov\u00e9ho priestoru"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "Obsah elementu nie je povolen\u00fd pre lang=javaclass {0}"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "Ukon\u010denie riaden\u00e9 \u0161t\u00fdlom dokumentu"},
-
-    { ER_ONE_OR_TWO,
-        "1, alebo 2"},
-
-    { ER_TWO_OR_THREE,
-        "2, alebo 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "Nebolo mo\u017en\u00e9 zavies\u0165 {0} (check CLASSPATH), teraz s\u00fa po\u017eit\u00e9 len predvolen\u00e9 \u0161tandardy"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Nie je mo\u017en\u00e9 inicializova\u0165 predvolen\u00e9 vzory"},
-
-    { ER_RESULT_NULL,
-        "V\u00fdsledok by nemal by\u0165 nulov\u00fd"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "V\u00fdsledkom nem\u00f4\u017ee by\u0165 mno\u017eina"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "Nie je zadan\u00fd \u017eiaden v\u00fdstup"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "Ned\u00e1 sa transformova\u0165 na v\u00fdsledok typu {0}"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "Ned\u00e1 sa transformova\u0165 zdroj typu {0}"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Nulov\u00fd manipula\u010dn\u00fd program obsahu"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Nulov\u00fd chybov\u00fd manipula\u010dn\u00fd program"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "nem\u00f4\u017ee by\u0165 volan\u00e9 analyzovanie, ak nebol nastaven\u00fd ContentHandler"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "\u017diaden rodi\u010d pre filter"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "Nena\u0161iel sa \u017eiadny stylesheet v: {0}, m\u00e9dium= {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "Nena\u0161iel sa \u017eiadny xml-stylesheet PI v: {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "Nie je podporovan\u00e9: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "Hodnota vlastnosti {0} by mala by\u0165 boolovsk\u00e1 in\u0161tancia"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "Nie je mo\u017en\u00e9 dosiahnu\u0165 extern\u00fd skript na {0}"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "Prostriedok [ {0} ] nemohol by\u0165 n\u00e1jden\u00fd.\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "V\u00fdstupn\u00e9 vlastn\u00edctvo nebolo rozoznan\u00e9: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "Zlyhalo vytv\u00e1ranie in\u0161tancie ElemLiteralResult"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "Hodnota pre {0} by mala obsahova\u0165 analyzovate\u013en\u00e9 \u010d\u00edslo"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "Hodnota {0} by sa mala rovna\u0165 \u00e1no, alebo nie"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "Zlyhalo volanie met\u00f3dy {0}"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "Zlyhalo vytv\u00e1ranie in\u0161tancie ElemTemplateElement"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "V tomto bode dokumentu nie s\u00fa znaky povolen\u00e9"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "Atrib\u00fat \"{0}\" nie je povolen\u00fd na s\u00fa\u010dasti {1}!"},
-
-    { ER_BAD_VALUE,
-     "{0} zl\u00e1 hodnota {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "Hodnota atrib\u00fatu {0} nebola n\u00e1jden\u00e1 "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "Hodnota atrib\u00fatu {0} nebola rozpoznan\u00e1 "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "Pokus o vytvorenie prefixu n\u00e1zvov\u00e9ho priestoru s nulov\u00fdm URI"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "Pokus o form\u00e1tovanie \u010d\u00edsla v\u00e4\u010d\u0161ieho, ne\u017e je najdlh\u0161\u00ed dlh\u00fd celo\u010d\u00edseln\u00fd typ"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "Nie je mo\u017en\u00e9 n\u00e1js\u0165 triedu ovl\u00e1da\u010da SAX1 {0}"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "Trieda ovl\u00e1da\u010da SAX1 {0} bola n\u00e1jden\u00e1, ale nem\u00f4\u017ee by\u0165 zaveden\u00e1"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "Trieda ovl\u00e1da\u010da SAX1 {0} bola zaveden\u00e1, ale nem\u00f4\u017ee by\u0165 dolo\u017een\u00e1 pr\u00edkladom"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "Trieda ovl\u00e1da\u010da SAX1 {0} neimplementuje org.xml.sax.Parser"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "Syst\u00e9mov\u00e1 vlastnos\u0165 org.xml.sax.parser nie je zadan\u00e1"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "Argument syntaktick\u00e9ho analyz\u00e1tora nesmie by\u0165 nulov\u00fd"},
-
-    { ER_FEATURE,
-     "Vlastnos\u0165: {0}"},
-
-    { ER_PROPERTY,
-     "Vlastn\u00edctvo: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Rozklada\u010d nulov\u00fdch ent\u00edt"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Nulov\u00fd manipula\u010dn\u00fd program DTD"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "Nie je zadan\u00fd \u017eiaden n\u00e1zov ovl\u00e1da\u010da!"},
-
-    { ER_NO_URL_SPECIFIED,
-     "Nie je zadan\u00e1 \u017eiadna URL!"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "Ve\u013ekos\u0165 oblasti je men\u0161ia ne\u017e 1!"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "Je zadan\u00fd neplatn\u00fd n\u00e1zov ovl\u00e1da\u010da!"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Chyba program\u00e1tora! V\u00fdraz nem\u00e1 rodi\u010da ElemTemplateElement!"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Tvrdenie program\u00e1tora v RedundentExprEliminator: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0}nie je na tejto poz\u00edcii predlohy so \u0161t\u00fdlmi povolen\u00e9!"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "Text bez medzier nie je povolen\u00fd na tejto poz\u00edcii predlohy so \u0161t\u00fdlmi!"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "Neplatn\u00e1 hodnota: {1} pou\u017e\u00edvan\u00fd pre atrib\u00fat CHAR: {0}.  Atrib\u00fat typu CHAR mus\u00ed by\u0165 len 1 znak!"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "Neplatn\u00e1 hodnota: {1} pou\u017e\u00edvan\u00e1 pre atrib\u00fat QNAME: {0}"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "Neplatn\u00e1 hodnota: {1} pou\u017e\u00edvan\u00e1 pre atrib\u00fat ENUM: {0}.  Platn\u00e9 hodnoty s\u00fa: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "Neplatn\u00e1 hodnota: {1} pou\u017e\u00edvan\u00e1 pre atrib\u00fat NMTOKEN:{0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "Neplatn\u00e1 hodnota: {1} pou\u017e\u00edvan\u00e1 pre atrib\u00fat NCNAME: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Neplatn\u00e1 hodnota: {1} pou\u017e\u00edvan\u00e1 pre boolovsk\u00fd atrib\u00fat: {0} "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Neplatn\u00e1 hodnota: {1} pou\u017e\u00edvan\u00e1 pre atrib\u00fat \u010d\u00edsla: {0} "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "Argument pre {0} v zhodnom vzore mus\u00ed by\u0165 liter\u00e1lom."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "Duplicitn\u00e1 deklar\u00e1cia glob\u00e1lnej premennej."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "Duplicitn\u00e1 deklar\u00e1cia premennej."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template mus\u00ed ma\u0165 n\u00e1zov alebo atrib\u00fat zhody (alebo oboje)"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "Predpona v exclude-result-prefixes je neplatn\u00e1: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "pomenovan\u00e1 sada atrib\u00fatov {0} neexistuje"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "Funkcia s n\u00e1zvom {0} neexistuje."},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "Prvok {0} nesmie ma\u0165 aj atrib\u00fat content aj atrib\u00fat select."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "Hodnota parametra {0} mus\u00ed by\u0165 platn\u00fdm objektom jazyka Java."},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "Atrib\u00fat result-prefix prvku xsl:namespace-alias m\u00e1 hodnotu '#default', ale v rozsahu pre prvok neexistuje \u017eiadna deklar\u00e1cia \u0161tandardn\u00e9ho n\u00e1zvov\u00e9ho priestoru"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "Atrib\u00fat result-prefix prvku xsl:namespace-alias m\u00e1 hodnotu ''{0}'', ale v rozsahu pre prvok neexistuje \u017eiadna deklar\u00e1cia n\u00e1zvov\u00e9ho priestoru pre predponu ''{0}''."},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "V TransformerFactory.setFeature(N\u00e1zov re\u0165azca, boolovsk\u00e1 hodnota)nem\u00f4\u017ee ma\u0165 funkcia n\u00e1zov null."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "N\u00e1zov vlastnosti nem\u00f4\u017ee by\u0165 null v TransformerFactory.getFeature(N\u00e1zov re\u0165azca)."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "V tomto TransformerFactory sa ned\u00e1 nastavi\u0165 vlastnos\u0165 ''{0}''."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "Pou\u017e\u00edvanie prvku roz\u0161\u00edrenia ''{0}'' nie je povolen\u00e9, ke\u010f je funkcia bezpe\u010dn\u00e9ho spracovania nastaven\u00e1 na hodnotu true."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "Ned\u00e1 sa z\u00edska\u0165 predpona pre null n\u00e1zvov\u00fd priestor uri."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "Ned\u00e1 sa z\u00edska\u0165 n\u00e1zvov\u00fd priestor uri pre predponu null."},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "N\u00e1zov funkcie nem\u00f4\u017ee by\u0165 null."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "Arita nem\u00f4\u017ee by\u0165 z\u00e1porn\u00e1."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "Bol n\u00e1jden\u00fd znak '}', ale nie otvoren\u00fd \u017eiaden vzor atrib\u00fatu!"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Upozornenie: atrib\u00fat po\u010dtu sa nezhoduje s predchodcom v xsl:number! Cie\u013e = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Star\u00e1 syntax: N\u00e1zov atrib\u00fatu 'expr' bol zmenen\u00fd na 'select'."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan zatia\u013e nespracov\u00e1va n\u00e1zov umiestnenia vo funkcii format-number."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Upozornenie: Nebolo mo\u017en\u00e9 n\u00e1js\u0165 lok\u00e1l pre xml:lang={0}"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "Nie je mo\u017en\u00e9 vytvori\u0165 URL z: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "Nie je mo\u017en\u00e9 zavies\u0165 po\u017eadovan\u00fd doc: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "Nebolo mo\u017en\u00e9 n\u00e1js\u0165 porovn\u00e1va\u010d pre <sort xml:lang={0}"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Star\u00e1 syntax: in\u0161trukcia funkci\u00ed by mala pou\u017e\u00edva\u0165 url {0}"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "K\u00f3dovanie nie je podporovan\u00e9: {0}, pou\u017e\u00edva UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "K\u00f3dovanie nie je podporovan\u00e9: {0}, pou\u017e\u00edva Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Boli zisten\u00e9 konflikty \u0161pecifickosti: {0} naposledy n\u00e1jden\u00e1 v \u0161t\u00fdle dokumentu bude pou\u017eit\u00e1."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= Anal\u00fdza a pr\u00edprava {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "Attr vzor, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "Konflikt zhodnosti medzi xsl:strip-space a xsl:preserve-space"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan zatia\u013e nesprac\u00fava atrib\u00fat {0}!"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "Pre desiatkov\u00fd form\u00e1t sa nena\u0161la \u017eiadna deklar\u00e1cia: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Ch\u00fdbaj\u00faci, alebo nespr\u00e1vny n\u00e1zvov\u00fd priestor XSLT. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Povolen\u00e1 je len jedna \u0161tandardn\u00e1 deklar\u00e1cia xsl:decimal-format."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "N\u00e1zvy xsl:decimal-format musia by\u0165 jedine\u010dn\u00e9. N\u00e1zov \"{0}\" bol zopakovan\u00fd."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} m\u00e1 neplatn\u00fd atrib\u00fat: {1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "Nebolo mo\u017en\u00e9 rozl\u00ed\u0161i\u0165 predponu n\u00e1zvov\u00e9ho priestoru: {0}. Uzol bude ignorovan\u00fd."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet si vy\u017eaduje atrib\u00fat 'version'!"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Neplatn\u00fd n\u00e1zov atrib\u00fatu: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "Neplatn\u00e1 hodnota pou\u017e\u00edvan\u00e1 pre atrib\u00fat {0}: {1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "V\u00fdsledn\u00fd nodeset z druh\u00e9ho argumentu funkcie dokumentu je pr\u00e1zdny. Vr\u00e1\u0165te pr\u00e1zdnu mno\u017einu uzlov."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Hodnota atrib\u00fatu 'name' n\u00e1zvu xsl:processing-instruction nesmie by\u0165 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Hodnota atrib\u00fatu ''name'' xsl:processing-instruction mus\u00ed by\u0165 platn\u00fdm NCName: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Nie je mo\u017en\u00e9 prida\u0165 atrib\u00fat {0} po uzloch potomka alebo pred vytvoren\u00edm elementu.  Atrib\u00fat bude ignorovan\u00fd."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "Prebieha pokus o \u00fapravu objektu, pre ktor\u00fd nie s\u00fa povolen\u00e9 \u00fapravy."
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "en"},
-  {  "help_language",  "en" },
-  {  "language",  "en" },
-  { "BAD_CODE", "Parameter na createMessage bol mimo ohrani\u010denia"},
-  {  "FORMAT_FAILED", "V\u00fdnimka po\u010das volania messageFormat"},
-  {  "version", ">>>>>>> Verzia Xalan "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "\u00e1no"},
-  { "line", "Riadok #"},
-  { "column","St\u013apec #"},
-  { "xsldone", "XSLProcessor: vykonan\u00e9"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Vo\u013eby triedy procesu pr\u00edkazov\u00e9ho riadka Xalan-J:"},
-  { "xslProc_option", "Vo\u013eby triedy Process pr\u00edkazov\u00e9ho riadka Xalan-J\u003a"},
-  { "xslProc_invalid_xsltc_option", "Vo\u013eba {0} nie je podporovan\u00e1 v re\u017eime XSLTC."},
-  { "xslProc_invalid_xalan_option", "Vo\u013ebu {0} mo\u017eno pou\u017ei\u0165 len spolu s -XSLTC."},
-  { "xslProc_no_input", "Chyba: nie je uveden\u00fd \u017eiadny \u0161t\u00fdl dokumentu, ani vstupn\u00fd xml. Spustite tento pr\u00edkaz bez akejko\u013evek vo\u013eby pre in\u0161trukcie pou\u017eitia."},
-  { "xslProc_common_options", "-Be\u017en\u00e9 vo\u013eby-"},
-  { "xslProc_xalan_options", "-Vo\u013eby pre Xalan-"},
-  { "xslProc_xsltc_options", "-Vo\u013eby pre XSLTC-"},
-  { "xslProc_return_to_continue", "(stla\u010dte <return> a pokra\u010dujte)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "   [-XSLTC (pou\u017eite XSLTC na transform\u00e1ciu)]"},
-  { "optionIN", "   [-IN inputXMLURL]"},
-  { "optionXSL", "   [-XSL XSLTransformationURL]"},
-  { "optionOUT",  "   [-OUT outputFileName]"},
-  { "optionLXCIN", "   [-LXCIN compiledStylesheetFileNameIn]"},
-  { "optionLXCOUT", "   [-LXCOUT compiledStylesheetFileNameOutOut]"},
-  { "optionPARSER", "   [-PARSER plne kvalifikovan\u00fd n\u00e1zov triedy sprostredkovate\u013ea syntaktick\u00e9ho analyz\u00e1tora]"},
-  {  "optionE", "   [-E (Nerozvinie odkazy na entity)]"},
-  {  "optionV",  "   [-E (Nerozvinie odkazy na entity)]"},
-  {  "optionQC", "   [-QC (Varovania pri konfliktoch Quiet Pattern)]"},
-  {  "optionQ", "   [-Q  (Tich\u00fd re\u017eim)]"},
-  {  "optionLF", "   [-LF (Znaky pre posun riadka pou\u017ei\u0165 len vo v\u00fdstupe {default is CR/LF})]"},
-  {  "optionCR", "   [-CR (Znaky n\u00e1vratu voz\u00edka pou\u017ei\u0165 len vo v\u00fdstupe {default is CR/LF})]"},
-  { "optionESCAPE", "   [-ESCAPE (Ktor\u00e9 znaky maj\u00fa ma\u0165 zmenen\u00fd v\u00fdznam {default is <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "   [-INDENT (Riadi po\u010det medzier odsadenia {default is 0})]"},
-  { "optionTT", "   [-TT (Sledovanie, ako s\u00fa volan\u00e9 vzory.)]"},
-  { "optionTG", "   [-TG (Sledovanie udalost\u00ed ka\u017edej gener\u00e1cie.)]"},
-  { "optionTS", "   [-TS (Sledovanie udalost\u00ed ka\u017ed\u00e9ho v\u00fdberu.)]"},
-  {  "optionTTC", "   [-TTC (Sledovanie ako s\u00fa vytv\u00e1ran\u00ed potomkovia vzorov.)]"},
-  { "optionTCLASS", "   [-TCLASS (Trieda TraceListener pre pr\u00edpony sledovania.)]"},
-  { "optionVALIDATE", "   [-VALIDATE (Ur\u010duje, \u010di m\u00e1 doch\u00e1dza\u0165 k overovaniu.  Overovanie je \u0161tandardne vypnut\u00e9.)]"},
-  { "optionEDUMP", "   [-EDUMP {optional filename} (Vytvori\u0165 v\u00fdpis z\u00e1sobn\u00edka pri chybe.)]"},
-  {  "optionXML", "   [-XML (Pou\u017eije form\u00e1tor XML a prid\u00e1 hlavi\u010dku XML.)]"},
-  {  "optionTEXT", "   [-TEXT (Jednoduch\u00fd textov\u00fd form\u00e1tor.)]"},
-  {  "optionHTML", "   [-HTML (Pou\u017eije form\u00e1tor HTML.)]"},
-  {  "optionPARAM", "   [-PARAM vyjadrenie n\u00e1zvu (nastav\u00ed parameter \u0161t\u00fdlu dokumentu)]"},
-  {  "noParsermsg1", "Proces XSL nebol \u00faspe\u0161n\u00fd."},
-  {  "noParsermsg2", "** Nebolo mo\u017en\u00e9 n\u00e1js\u0165 syntaktick\u00fd analyz\u00e1tor **"},
-  { "noParsermsg3",  "Skontroluje, pros\u00edm, svoju classpath."},
-  { "noParsermsg4", "Ak nem\u00e1te Syntaktick\u00fd analyz\u00e1tor XML pre jazyk Java od firmy IBM, m\u00f4\u017eete si ho stiahnu\u0165 z"},
-  { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "   [-URIRESOLVER pln\u00fd n\u00e1zov triedy (URIResolver bude pou\u017eit\u00fd na ur\u010dovanie URI)]"},
-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER pln\u00fd n\u00e1zov triedy (EntityResolver bude pou\u017eit\u00fd na ur\u010denie ent\u00edt)]"},
-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER pln\u00fd n\u00e1zov triedy (ContentHandler bude pou\u017eit\u00fd na serializ\u00e1ciu v\u00fdstupu)]"},
-  {  "optionLINENUMBERS",  "   [-L pou\u017eije \u010d\u00edsla riadkov pre zdrojov\u00fd dokument]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (nastav\u00ed funkciu bezpe\u010dn\u00e9ho spracovania na hodnotu true.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA mediaType (pou\u017ei\u0165 atrib\u00fat m\u00e9dia na n\u00e1jdenie \u0161t\u00fdlu h\u00e1rka, priraden\u00e9ho k dokumentu.)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR flavorName (Explicitne pou\u017ei\u0165 s2s=SAX alebo d2d=DOM na vykonanie transform\u00e1cie.)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (Vytla\u010di\u0165 celkov\u00fd \u010das transform\u00e1cie v milisekund\u00e1ch.)]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL (\u017eiados\u0165 o inkrement\u00e1lnu kon\u0161trukciu DTM nastaven\u00edm http://xml.apache.org/xalan/features/incremental true.)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (po\u017eiadavka na nesprac\u00favanie optimaliz\u00e1cie defin\u00edcie \u0161t\u00fdlov nastaven\u00edm http://xml.apache.org/xalan/features/optimize na hodnotu false.)]"},
-  { "optionRL",  "   [-RL recursionlimit (nastavi\u0165 \u010d\u00edseln\u00fd limit pre h\u013abku rekurzie \u0161t\u00fdlov h\u00e1rkov.)]"},
-  {   "optionXO",  "   [-XO [transletName] (prira\u010fuje n\u00e1zov ku generovan\u00e9mu transletu)]"},
-  {  "optionXD", "   [-XD destinationDirectory (uv\u00e1dza cie\u013eov\u00fd adres\u00e1r pre translet)]"},
-  {  "optionXJ",  "   [-XJ jarfile (pakuje triedy transletu do s\u00faboru jar s n\u00e1zvom <jarfile>)]"},
-  {   "optionXP",  "   [-XP package (uv\u00e1dza predponu n\u00e1zvu bal\u00edka pre v\u0161etky generovan\u00e9 triedy transletu)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "   [-XN (povo\u013euje zoradenie vzorov do riadka)]" },
-  { "optionXX",  "   [-XX (zap\u00edna \u010fal\u0161\u00ed v\u00fdstup spr\u00e1v ladenia)]"},
-  { "optionXT" , "   [-XT (ak je to mo\u017en\u00e9, pou\u017eite translet na transform\u00e1ciu)]"},
-  { "diagTiming"," --------- Transform\u00e1cia z {0} cez {1} trvala {2} ms" },
-  { "recursionTooDeep","Vnorenie vzoru je pr\u00edli\u0161 hlbok\u00e9. vnorenie = {0}, vzor {1} {2}" },
-  { "nameIs", "n\u00e1zov je" },
-  { "matchPatternIs", "vzor zhody je" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Chyba: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Upozornenie: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_sl.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_sl.java
deleted file mode 100755
index d77dcea..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_sl.java
+++ /dev/null
@@ -1,1517 +0,0 @@
-/*

- * Licensed to the Apache Software Foundation (ASF) under one

- * or more contributor license agreements. See the NOTICE file

- * distributed with this work for additional information

- * regarding copyright ownership. The ASF licenses this file

- * to you under the Apache License, Version 2.0 (the  "License");

- * you may not use this file except in compliance with the License.

- * You may obtain a copy of the License at

- *

- *     http://www.apache.org/licenses/LICENSE-2.0

- *

- * Unless required by applicable law or agreed to in writing, software

- * distributed under the License is distributed on an "AS IS" BASIS,

- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

- * See the License for the specific language governing permissions and

- * limitations under the License.

- */

-/*

- * $Id: XSLTErrorResources_sl.java 338081 2004-12-15 17:35:58Z jycli $

- */

-package org.apache.xalan.res;

-

-import java.util.ListResourceBundle;

-import java.util.Locale;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-/**

- * Set up error messages.

- * We build a two dimensional array of message keys and

- * message strings. In order to add a new message here,

- * you need to first add a String constant. And

- *  you need to enter key , value pair as part of contents

- * Array. You also need to update MAX_CODE for error strings

- * and MAX_WARNING for warnings ( Needed for only information

- * purpose )

- */

-public class XSLTErrorResources_sl extends ListResourceBundle

-{

-

-/*

- * This file contains error and warning messages related to Xalan Error

- * Handling.

- *

- *  General notes to translators:

- *

- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of

- *     components.

- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".

- *     XSLTC is an acronym for XSLT Compiler.

- *

- *  2) A stylesheet is a description of how to transform an input XML document

- *     into a resultant XML document (or HTML document or text).  The

- *     stylesheet itself is described in the form of an XML document.

- *

- *  3) A template is a component of a stylesheet that is used to match a

- *     particular portion of an input document and specifies the form of the

- *     corresponding portion of the output document.

- *

- *  4) An element is a mark-up tag in an XML document; an attribute is a

- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>

- *     "elem" is an element name, "attr" and "attr2" are attribute names with

- *     the values "val" and "val2", respectively.

- *

- *  5) A namespace declaration is a special attribute that is used to associate

- *     a prefix with a URI (the namespace).  The meanings of element names and

- *     attribute names that use that prefix are defined with respect to that

- *     namespace.

- *

- *  6) "Translet" is an invented term that describes the class file that

- *     results from compiling an XML stylesheet into a Java class.

- *

- *  7) XPath is a specification that describes a notation for identifying

- *     nodes in a tree-structured representation of an XML document.  An

- *     instance of that notation is referred to as an XPath expression.

- *

- */

-

-  /*

-   * Static variables

-   */

-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =

-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";

-

-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =

-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";

-

-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";

-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";

-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";

-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";

-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";

-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";

-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";

-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";

-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";

-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";

-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";

-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =

-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";

-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =

-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";

-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =

-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";

-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";

-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =

-         "ER_NEED_NAME_OR_MATCH_ATTRIB";

-  public static final String ER_CANT_RESOLVE_NSPREFIX =

-         "ER_CANT_RESOLVE_NSPREFIX";

-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";

-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";

-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";

-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";

-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";

-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";

-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";

-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";

-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =

-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";

-  public static final String ER_PROCESS_NOT_SUCCESSFUL =

-         "ER_PROCESS_NOT_SUCCESSFUL";

-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";

-  public static final String ER_ENCODING_NOT_SUPPORTED =

-         "ER_ENCODING_NOT_SUPPORTED";

-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =

-         "ER_COULD_NOT_CREATE_TRACELISTENER";

-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =

-         "ER_KEY_REQUIRES_NAME_ATTRIB";

-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =

-         "ER_KEY_REQUIRES_MATCH_ATTRIB";

-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =

-         "ER_KEY_REQUIRES_USE_ATTRIB";

-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =

-         "ER_REQUIRES_ELEMENTS_ATTRIB";

-  public static final String ER_MISSING_PREFIX_ATTRIB =

-         "ER_MISSING_PREFIX_ATTRIB";

-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";

-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";

-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";

-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";

-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =

-         "ER_STYLESHEET_INCLUDES_ITSELF";

-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";

-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";

-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =

-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";

-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =

-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";

-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";

-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";

-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";

-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =

-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";

-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";

-  public static final String ER_FAILED_PROCESS_STYLESHEET =

-         "ER_FAILED_PROCESS_STYLESHEET";

-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";

-  public static final String ER_COULDNT_FIND_FRAGMENT =

-         "ER_COULDNT_FIND_FRAGMENT";

-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";

-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =

-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";

-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =

-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";

-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =

-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";

-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";

-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =

-         "ER_XMLSPACE_ILLEGAL_VALUE";

-  public static final String ER_NO_XSLKEY_DECLARATION =

-         "ER_NO_XSLKEY_DECLARATION";

-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";

-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =

-         "ER_XSLFUNCTIONS_UNSUPPORTED";

-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";

-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =

-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";

-  public static final String ER_RESULTNS_NOT_SUPPORTED =

-         "ER_RESULTNS_NOT_SUPPORTED";

-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =

-         "ER_DEFAULTSPACE_NOT_SUPPORTED";

-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =

-         "ER_INDENTRESULT_NOT_SUPPORTED";

-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";

-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";

-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";

-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";

-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =

-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";

-  public static final String ER_MISPLACED_XSLOTHERWISE =

-         "ER_MISPLACED_XSLOTHERWISE";

-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =

-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";

-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =

-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";

-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =

-         "ER_UNKNOWN_EXT_NS_PREFIX";

-  public static final String ER_IMPORTS_AS_FIRST_ELEM =

-         "ER_IMPORTS_AS_FIRST_ELEM";

-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";

-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";

-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =

-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";

-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";

-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";

-  public static final String ER_CURRENCY_SIGN_ILLEGAL=

-         "ER_CURRENCY_SIGN_ILLEGAL";

-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =

-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";

-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =

-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";

-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =

-         "ER_REDIRECT_COULDNT_GET_FILENAME";

-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =

-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";

-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =

-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";

-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";

-  public static final String ER_MISSING_ARG_FOR_OPTION =

-         "ER_MISSING_ARG_FOR_OPTION";

-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";

-  public static final String ER_MALFORMED_FORMAT_STRING =

-         "ER_MALFORMED_FORMAT_STRING";

-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =

-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";

-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =

-         "ER_ILLEGAL_ATTRIBUTE_VALUE";

-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";

-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =

-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";

-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =

-         "ER_CANT_USE_DTM_FOR_OUTPUT";

-  public static final String ER_CANT_USE_DTM_FOR_INPUT =

-         "ER_CANT_USE_DTM_FOR_INPUT";

-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";

-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";

-  public static final String ER_INVALID_UTF16_SURROGATE =

-         "ER_INVALID_UTF16_SURROGATE";

-  public static final String ER_XSLATTRSET_USED_ITSELF =

-         "ER_XSLATTRSET_USED_ITSELF";

-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";

-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";

-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =

-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";

-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =

-         "ER_DUPLICATE_NAMED_TEMPLATE";

-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";

-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";

-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =

-         "ER_ILLEGAL_DOMSOURCE_INPUT";

-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =

-         "ER_CLASS_NOT_FOUND_FOR_OPTION";

-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =

-         "ER_REQUIRED_ELEM_NOT_FOUND";

-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";

-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";

-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";

-  public static final String ER_SOURCE_CANNOT_BE_NULL =

-         "ER_SOURCE_CANNOT_BE_NULL";

-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";

-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";

-  public static final String ER_CANNOT_CREATE_EXTENSN =

-         "ER_CANNOT_CREATE_EXTENSN";

-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =

-         "ER_INSTANCE_MTHD_CALL_REQUIRES";

-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";

-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =

-         "ER_ELEMENT_NAME_METHOD_STATIC";

-  public static final String ER_EXTENSION_FUNC_UNKNOWN =

-         "ER_EXTENSION_FUNC_UNKNOWN";

-  public static final String ER_MORE_MATCH_CONSTRUCTOR =

-         "ER_MORE_MATCH_CONSTRUCTOR";

-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";

-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";

-  public static final String ER_INVALID_CONTEXT_PASSED =

-         "ER_INVALID_CONTEXT_PASSED";

-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";

-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";

-  public static final String ER_NO_URL = "ER_NO_URL";

-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =

-         "ER_POOL_SIZE_LESSTHAN_ONE";

-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";

-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";

-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =

-         "ER_ILLEGAL_XMLSPACE_VALUE";

-  public static final String ER_PROCESSFROMNODE_FAILED =

-         "ER_PROCESSFROMNODE_FAILED";

-  public static final String ER_RESOURCE_COULD_NOT_LOAD =

-         "ER_RESOURCE_COULD_NOT_LOAD";

-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =

-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";

-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =

-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";

-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";

-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =

-         "ER_ELEM_CONTENT_NOT_ALLOWED";

-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =

-         "ER_STYLESHEET_DIRECTED_TERMINATION";

-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";

-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";

-  public static final String ER_COULD_NOT_LOAD_RESOURCE =

-         "ER_COULD_NOT_LOAD_RESOURCE";

-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =

-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";

-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";

-  public static final String ER_RESULT_COULD_NOT_BE_SET =

-         "ER_RESULT_COULD_NOT_BE_SET";

-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";

-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =

-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";

-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =

-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";

-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";

-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";

-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";

-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";

-  public static final String ER_NO_STYLESHEET_IN_MEDIA =

-         "ER_NO_STYLESHEET_IN_MEDIA";

-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";

-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";

-  public static final String ER_PROPERTY_VALUE_BOOLEAN =

-         "ER_PROPERTY_VALUE_BOOLEAN";

-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =

-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";

-  public static final String ER_RESOURCE_COULD_NOT_FIND =

-         "ER_RESOURCE_COULD_NOT_FIND";

-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =

-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";

-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =

-         "ER_FAILED_CREATING_ELEMLITRSLT";

-  public static final String ER_VALUE_SHOULD_BE_NUMBER =

-         "ER_VALUE_SHOULD_BE_NUMBER";

-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";

-  public static final String ER_FAILED_CALLING_METHOD =

-         "ER_FAILED_CALLING_METHOD";

-  public static final String ER_FAILED_CREATING_ELEMTMPL =

-         "ER_FAILED_CREATING_ELEMTMPL";

-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";

-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";

-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";

-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =

-         "ER_ATTRIB_VALUE_NOT_FOUND";

-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =

-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";

-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";

-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";

-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =

-         "ER_CANNOT_FIND_SAX1_DRIVER";

-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =

-         "ER_SAX1_DRIVER_NOT_LOADED";

-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =

-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;

-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =

-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";

-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =

-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";

-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =

-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;

-  public static final String  ER_FEATURE = "ER_FEATURE";

-  public static final String ER_PROPERTY = "ER_PROPERTY" ;

-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";

-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;

-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =

-         "ER_NO_DRIVER_NAME_SPECIFIED";

-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";

-  public static final String ER_POOLSIZE_LESS_THAN_ONE =

-         "ER_POOLSIZE_LESS_THAN_ONE";

-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";

-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";

-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =

-         "ER_ASSERT_NO_TEMPLATE_PARENT";

-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =

-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";

-  public static final String ER_NOT_ALLOWED_IN_POSITION =

-         "ER_NOT_ALLOWED_IN_POSITION";

-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =

-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";

-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =

-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";

-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =

-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";

-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =

-         "ER_XPATH_RESOLVER_NULL_QNAME";

-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =

-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";

-  public static final String INVALID_TCHAR = "INVALID_TCHAR";

-  public static final String INVALID_QNAME = "INVALID_QNAME";

-  public static final String INVALID_ENUM = "INVALID_ENUM";

-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";

-  public static final String INVALID_NCNAME = "INVALID_NCNAME";

-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";

-  public static final String INVALID_NUMBER = "INVALID_NUMBER";

-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";

-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";

-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";

-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";

-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";

-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";

-  public static final String ER_FUNCTION_NOT_FOUND =

-         "ER_FUNCTION_NOT_FOUND";

-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =

-     "ER_CANT_HAVE_CONTENT_AND_SELECT";

-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";

-  public static final String ER_SET_FEATURE_NULL_NAME =

-        "ER_SET_FEATURE_NULL_NAME";

-  public static final String ER_GET_FEATURE_NULL_NAME =

-        "ER_GET_FEATURE_NULL_NAME";

-  public static final String ER_UNSUPPORTED_FEATURE =

-        "ER_UNSUPPORTED_FEATURE";

-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =

-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";

-

-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";

-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =

-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";

-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =

-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";

-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =

-         "WG_NO_LOCALE_IN_FORMATNUMBER";

-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";

-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";

-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =

-         "WG_CANNOT_LOAD_REQUESTED_DOC";

-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";

-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =

-         "WG_FUNCTIONS_SHOULD_USE_URL";

-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =

-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";

-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =

-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";

-  public static final String WG_SPECIFICITY_CONFLICTS =

-         "WG_SPECIFICITY_CONFLICTS";

-  public static final String WG_PARSING_AND_PREPARING =

-         "WG_PARSING_AND_PREPARING";

-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";

-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";

-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";

-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =

-         "WG_NO_DECIMALFORMAT_DECLARATION";

-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";

-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =

-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";

-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =

-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";

-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";

-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =

-         "WG_COULD_NOT_RESOLVE_PREFIX";

-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =

-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";

-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =

-         "WG_ILLEGAL_ATTRIBUTE_NAME";

-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =

-         "WG_ILLEGAL_ATTRIBUTE_VALUE";

-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";

-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =

-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";

-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =

-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";

-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =

-         "WG_ILLEGAL_ATTRIBUTE_POSITION";

-  public static final String NO_MODIFICATION_ALLOWED_ERR =

-         "NO_MODIFICATION_ALLOWED_ERR";

-

-  /*

-   * Now fill in the message text.

-   * Then fill in the message text for that message code in the

-   * array. Use the new error code as the index into the array.

-   */

-

-  // Error messages...

-

-  /** Get the lookup table for error messages.

-   *

-   * @return The message lookup table.

-   */

-  public Object[][] getContents()

-  {

-    return new Object[][] {

-

-  /** Error message ID that has a null message, but takes in a single object.    */

-  {"ER0000" , "{0}" },

-

-

-    { ER_NO_CURLYBRACE,

-      "Napaka: Izraz ne sme vsebovati '{'"},

-

-    { ER_ILLEGAL_ATTRIBUTE ,

-     "{0} vsebuje neveljaven atribut: {1}"},

-

-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,

-      "sourceNode je NULL v xsl:apply-imports!"},

-

-  {ER_CANNOT_ADD,

-      "Ne morem dodati {0} k {1}"},

-

-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,

-      "sourceNode je NULL v handleApplyTemplatesInstruction!"},

-

-    { ER_NO_NAME_ATTRIB,

-     "{0} mora vsebovati atribut imena."},

-

-    {ER_TEMPLATE_NOT_FOUND,

-     "Nisem na\u0161em predloge z imenom: {0}"},

-

-    {ER_CANT_RESOLVE_NAME_AVT,

-      "Imena AVT v xsl:call-template ni bilo mogo\u010de razre\u0161iti."},

-

-    {ER_REQUIRES_ATTRIB,

-     "{0} zahteva atribut: {1}"},

-

-    { ER_MUST_HAVE_TEST_ATTRIB,

-      "{0} mora imeti atribut ''test''."},

-

-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,

-      "Slaba vrednost pri atributu stopnje: {0}"},

-

-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,

-      "Ime navodila za obdelavo ne more biti 'xml'"},

-

-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,

-      "Ime navodila za obdelavo mora biti veljavno NCIme: {0}"},

-

-    { ER_NEED_MATCH_ATTRIB,

-      "{0} mora vsebovati primerjalni atribut, \u010de vsebuje vozli\u0161\u010de."},

-

-    { ER_NEED_NAME_OR_MATCH_ATTRIB,

-      "{0} zahteva atribut imena ali primerjalni atribut."},

-

-    {ER_CANT_RESOLVE_NSPREFIX,

-      "Predpone imenskega prostora ni mogo\u010de razre\u0161iti: {0}"},

-

-    { ER_ILLEGAL_VALUE,

-     "xml:space vsebuje neveljavno vrednost: {0}"},

-

-    { ER_NO_OWNERDOC,

-      "Podrejeno vozli\u0161\u010de ne vsebuje lastni\u0161kega dokumenta!"},

-

-    { ER_ELEMTEMPLATEELEM_ERR,

-     "Napaka ElemTemplateElement: {0}"},

-

-    { ER_NULL_CHILD,

-     "Poskus dodajanja podrejenega elementa z vrednostjo NULL!"},

-

-    { ER_NEED_SELECT_ATTRIB,

-     "{0} zahteva atribut izbire."},

-

-    { ER_NEED_TEST_ATTRIB ,

-      "xsl:when mora vsebovati atribut 'test'."},

-

-    { ER_NEED_NAME_ATTRIB,

-      "xsl:with-param mora vsebovati atribut 'ime'."},

-

-    { ER_NO_CONTEXT_OWNERDOC,

-      "Kontekst ne vsebuje lastni\u0161kega dokumenta!"},

-

-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,

-      "Ne morem ustvariti zveze XML TransformerFactory: {0}"},

-

-    {ER_PROCESS_NOT_SUCCESSFUL,

-      "Xalan: postopek ni uspel."},

-

-    { ER_NOT_SUCCESSFUL,

-     "Xalan: ni uspel."},

-

-    { ER_ENCODING_NOT_SUPPORTED,

-     "Kodiranje ni podprto: {0}"},

-

-    {ER_COULD_NOT_CREATE_TRACELISTENER,

-      "Ne morem ustvariti javanskega razreda TraceListener: {0}"},

-

-    {ER_KEY_REQUIRES_NAME_ATTRIB,

-      "xsl:key zahteva atribut 'ime'!"},

-

-    { ER_KEY_REQUIRES_MATCH_ATTRIB,

-      "xsl:key zahteva atribut 'ujemanje'!"},

-

-    { ER_KEY_REQUIRES_USE_ATTRIB,

-      "xsl:key zahteva atribut 'uporaba'!"},

-

-    { ER_REQUIRES_ELEMENTS_ATTRIB,

-      "(StylesheetHandler) {0} zahteva atribut ''elementi''!"},

-

-    { ER_MISSING_PREFIX_ATTRIB,

-      "(StylesheetHandler) {0} manjka atribut ''predpona''"},

-

-    { ER_BAD_STYLESHEET_URL,

-     "URL slogovne datoteke je neveljaven: {0}"},

-

-    { ER_FILE_NOT_FOUND,

-     "Slogovne datoteke ni bilo mogo\u010de najti: {0}"},

-

-    { ER_IOEXCEPTION,

-      "Pri slogovni datoteki je pri\u0161lo do izjeme IO: {0}"},

-

-    { ER_NO_HREF_ATTRIB,

-      "(StylesheetHandler) Atributa href za {0} ni bilo mogo\u010de najti"},

-

-    { ER_STYLESHEET_INCLUDES_ITSELF,

-      "(StylesheetHandler) {0} neposredno ali posredno vklju\u010duje samega sebe!"},

-

-    { ER_PROCESSINCLUDE_ERROR,

-      "Napaka StylesheetHandler.processInclude, {0}"},

-

-    { ER_MISSING_LANG_ATTRIB,

-      "(StylesheetHandler) {0} manjka atribut ''lang'' "},

-

-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,

-      "(StylesheetHandler) napa\u010dna postavitev elementa {0}?? Manjka vsebni element ''komponenta''"},

-

-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,

-      "Prenos mogo\u010d samo v Element, DocumentFragment, Document, ali PrintWriter."},

-

-    { ER_PROCESS_ERROR,

-     "Napaka StylesheetRoot.process"},

-

-    { ER_UNIMPLNODE_ERROR,

-     "Napaka UnImplNode: {0}"},

-

-    { ER_NO_SELECT_EXPRESSION,

-      "Napaka! Ne najdem izbirnega izraza xpath (-select)."},

-

-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,

-      "Ne morem serializirati XSLProcessor!"},

-

-    { ER_NO_INPUT_STYLESHEET,

-      "Vnos slogovne datoteke ni dolo\u010den!"},

-

-    { ER_FAILED_PROCESS_STYLESHEET,

-      "Obdelava slogovne datoteke ni uspela!"},

-

-    { ER_COULDNT_PARSE_DOC,

-     "Dokumenta {0} ni mogo\u010de raz\u010dleniti!"},

-

-    { ER_COULDNT_FIND_FRAGMENT,

-     "Ne najdem fragmenta: {0}"},

-

-    { ER_NODE_NOT_ELEMENT,

-      "Vozli\u0161\u010de, na katerega ka\u017ee identifikator fragmenta, ni element: {0}"},

-

-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,

-      "vsak mora vsebovati primerjalni atribut ali atribut imena"},

-

-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,

-      "predloge morajo imeti primerjalni atribut ali atribut imena"},

-

-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,

-      "Ni klona fragmenta dokumenta!"},

-

-    { ER_CANT_CREATE_ITEM,

-      "Ne morem ustvariti elementa v drevesu rezultatov: {0}"},

-

-    { ER_XMLSPACE_ILLEGAL_VALUE,

-      "xml:space v izvirnem XML ima neveljavno vrednost: {0}"},

-

-    { ER_NO_XSLKEY_DECLARATION,

-      "Ni deklaracije xsl:key za {0}!"},

-

-    { ER_CANT_CREATE_URL,

-     "Napaka! Ne morem ustvariti URL za: {0}"},

-

-    { ER_XSLFUNCTIONS_UNSUPPORTED,

-     "xsl:functions niso podprte"},

-

-    { ER_PROCESSOR_ERROR,

-     "Napaka XSLT TransformerFactory"},

-

-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,

-      "(StylesheetHandler) {0} ni dovoljen znotraj slogovne datoteke!"},

-

-    { ER_RESULTNS_NOT_SUPPORTED,

-      "result-ns ni ve\u010d podprt!  Namesto njega uporabite xsl:output."},

-

-    { ER_DEFAULTSPACE_NOT_SUPPORTED,

-      "default-space ni ve\u010d podprt!  Namesto njega uporabite xsl:strip-space ali xsl:preserve-space."},

-

-    { ER_INDENTRESULT_NOT_SUPPORTED,

-      "indent-result ni ve\u010d podprt!  Namesto njega uporabite xsl:output."},

-

-    { ER_ILLEGAL_ATTRIB,

-      "(StylesheetHandler) {0} ima neveljaven atribut: {1}"},

-

-    { ER_UNKNOWN_XSL_ELEM,

-     "Neznani element XSL: {0}"},

-

-    { ER_BAD_XSLSORT_USE,

-      "(StylesheetHandler) xsl:sort lahko uporabljamo samo z xsl:apply-templates ali z xsl:for-each."},

-

-    { ER_MISPLACED_XSLWHEN,

-      "(StylesheetHandler) napa\u010dna postavitev xsl:when!"},

-

-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,

-      "(StylesheetHandler) xsl:choose ni nadrejen xsl:when!"},

-

-    { ER_MISPLACED_XSLOTHERWISE,

-      "(StylesheetHandler) napa\u010dna postavitev xsl:otherwise!"},

-

-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,

-      "(StylesheetHandler) xsl:choose ni nadrejen xsl:otherwise!"},

-

-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,

-      "(StylesheetHandler) {0} ni dovoljen znotraj predloge!"},

-

-    { ER_UNKNOWN_EXT_NS_PREFIX,

-      "(StylesheetHandler) Neznana {0} kon\u010dnica predpone imenskega prostora {1}"},

-

-    { ER_IMPORTS_AS_FIRST_ELEM,

-      "(StylesheetHandler) Uvozi se lahko pojavijo samo kot prvi elementi v slogovni datoteki!"},

-

-    { ER_IMPORTING_ITSELF,

-      "(StylesheetHandler) {0} neposredno ali posredno uva\u017ea samega sebe!"},

-

-    { ER_XMLSPACE_ILLEGAL_VAL,

-      "(StylesheetHandler) xml:space vsebuje neveljavno vrednost: {0}"},

-

-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,

-      "processStylesheet ni uspelo!"},

-

-    { ER_SAX_EXCEPTION,

-     "Izjema SAX"},

-

-//  add this message to fix bug 21478

-    { ER_FUNCTION_NOT_SUPPORTED,

-     "Funkcija ni podprta!"},

-

-

-    { ER_XSLT_ERROR,

-     "Napaka XSLT"},

-

-    { ER_CURRENCY_SIGN_ILLEGAL,

-      "V oblikovnem nizu vzorca znak za denarno enoto ni dovoljen"},

-

-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,

-      "Funkcija dokumenta v slogovni datoteki DOM ni podprta!"},

-

-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,

-      "Ne morem razbrati predpone nepredponskega razre\u0161evalnika!"},

-

-    { ER_REDIRECT_COULDNT_GET_FILENAME,

-      "Preusmeri kon\u010dnico: ne morem pridobiti imena datoteke - atribut datoteke ali izbire mora vrniti veljaven niz."},

-

-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,

-      "V Preusmeritvi kon\u010dnice ne morem zgraditi FormatterListener!"},

-

-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,

-      "Predpona v izklju\u010di-predpone-rezultatov (exclude-result-prefixes) ni veljavna: {0}"},

-

-    { ER_MISSING_NS_URI,

-      "Za navedeno predpono manjka imenski prostor URI"},

-

-    { ER_MISSING_ARG_FOR_OPTION,

-      "Manjka argument za mo\u017enost: {0}"},

-

-    { ER_INVALID_OPTION,

-     "Neveljavna mo\u017enost: {0}"},

-

-    { ER_MALFORMED_FORMAT_STRING,

-     "Po\u0161kodovan niz sloga: {0}"},

-

-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,

-      "xsl:stylesheet zahteva atribut 'razli\u010dica'!"},

-

-    { ER_ILLEGAL_ATTRIBUTE_VALUE,

-      "Atribut: {0} ima neveljavno vrednost: {1}"},

-

-    { ER_CHOOSE_REQUIRES_WHEN,

-     "xsl:choose zahteva xsl:when"},

-

-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,

-      "xsl:apply-imports v xsl:for-each ni dovoljen"},

-

-    { ER_CANT_USE_DTM_FOR_OUTPUT,

-      "Za izhodno vozli\u0161\u010de DOM ne morem uporabiti DTMLiaison... namesto njega posredujte org.apache.xpath.DOM2Helper!"},

-

-    { ER_CANT_USE_DTM_FOR_INPUT,

-      "Za vhodno vozli\u0161\u010de DOM ne morem uporabiti DTMLiaison... namesto njega posredujte org.apache.xpath.DOM2Helper!"},

-

-    { ER_CALL_TO_EXT_FAILED,

-      "Klic elementa kon\u010dnice ni uspel: {0}"},

-

-    { ER_PREFIX_MUST_RESOLVE,

-      "Predpona se mora razre\u0161iti v imenski prostor: {0}"},

-

-    { ER_INVALID_UTF16_SURROGATE,

-      "Zaznan neveljaven nadomestek UTF-16: {0} ?"},

-

-    { ER_XSLATTRSET_USED_ITSELF,

-      "xsl:attribute-set {0} je uporabil samega sebe, kar bo povzro\u010dilo neskon\u010do ponavljanje."},

-

-    { ER_CANNOT_MIX_XERCESDOM,

-      "Prepletanje ne-Xerces-DOM vhoda s Xerces-DOM vhodom ni mogo\u010de!"},

-

-    { ER_TOO_MANY_LISTENERS,

-      "addTraceListenersToStylesheet - TooManyListenersException"},

-

-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,

-      "V ElemTemplateElement.readObject: {0}"},

-

-    { ER_DUPLICATE_NAMED_TEMPLATE,

-      "Na\u0161el ve\u010d predlog z istim imenom: {0}"},

-

-    { ER_INVALID_KEY_CALL,

-      "Neveljaven klic funkcije: povratni klici key() niso dovoljeni"},

-

-    { ER_REFERENCING_ITSELF,

-      "Spremenljivka {0} se neposredno ali posredno sklicuje sama nase!"},

-

-    { ER_ILLEGAL_DOMSOURCE_INPUT,

-      "Vhodno vozli\u0161\u010de za DOMSource za newTemplates ne more biti NULL!"},

-

-    { ER_CLASS_NOT_FOUND_FOR_OPTION,

-        "Datoteke razreda za mo\u017enost {0} ni bilo mogo\u010de najti"},

-

-    { ER_REQUIRED_ELEM_NOT_FOUND,

-        "Zahtevanega elementa ni bilo mogo\u010de najti: {0}"},

-

-    { ER_INPUT_CANNOT_BE_NULL,

-        "InputStream ne more biti NULL"},

-

-    { ER_URI_CANNOT_BE_NULL,

-        "URI ne more biti NULL"},

-

-    { ER_FILE_CANNOT_BE_NULL,

-        "Datoteka ne more biti NULL"},

-

-    { ER_SOURCE_CANNOT_BE_NULL,

-                "InputSource ne more biti NULL"},

-

-    { ER_CANNOT_INIT_BSFMGR,

-                "Inicializacija BSF Manager-ja ni mogo\u010da"},

-

-    { ER_CANNOT_CMPL_EXTENSN,

-                "Kon\u010dnice ni mogo\u010de prevesti"},

-

-    { ER_CANNOT_CREATE_EXTENSN,

-      "Ne morem ustvariti kon\u010dnice: {0} zaradi: {1}"},

-

-    { ER_INSTANCE_MTHD_CALL_REQUIRES,

-      "Klic primerkov metode za metodo {0} zahteva primerek objekta kot prvi argument"},

-

-    { ER_INVALID_ELEMENT_NAME,

-      "Navedeno neveljavno ime elementa {0}"},

-

-    { ER_ELEMENT_NAME_METHOD_STATIC,

-      "Metoda imena elementa mora biti stati\u010dna (static) {0}"},

-

-    { ER_EXTENSION_FUNC_UNKNOWN,

-             "Funkcija kon\u010dnice {0} : {1} je neznana"},

-

-    { ER_MORE_MATCH_CONSTRUCTOR,

-             "Ve\u010d kot eno najbolj\u0161e ujemanje za graditelja za {0}"},

-

-    { ER_MORE_MATCH_METHOD,

-             "Ve\u010d kot eno najbolj\u0161e ujemanje za metodo {0}"},

-

-    { ER_MORE_MATCH_ELEMENT,

-             "Ve\u010d kot eno najbolj\u0161e ujemanje za metodo elementa {0}"},

-

-    { ER_INVALID_CONTEXT_PASSED,

-             "Posredovan neveljaven kontekst za ovrednotenje {0}"},

-

-    { ER_POOL_EXISTS,

-             "Zaloga \u017ee obstaja"},

-

-    { ER_NO_DRIVER_NAME,

-             "Ime gonilnika ni dolo\u010deno"},

-

-    { ER_NO_URL,

-             "URL ni dolo\u010den"},

-

-    { ER_POOL_SIZE_LESSTHAN_ONE,

-             "Zaloga je manj\u0161a od ena!"},

-

-    { ER_INVALID_DRIVER,

-             "Navedeno neveljavno ime gonilnika!"},

-

-    { ER_NO_STYLESHEETROOT,

-             "Korena slogovne datoteke ni mogo\u010de najti!"},

-

-    { ER_ILLEGAL_XMLSPACE_VALUE,

-         "Neveljavna vrednost za xml:space"},

-

-    { ER_PROCESSFROMNODE_FAILED,

-         "processFromNode spodletelo"},

-

-    { ER_RESOURCE_COULD_NOT_LOAD,

-        "Sredstva [ {0} ] ni bilo mogo\u010de nalo\u017eiti: {1} \n {2} \t {3}"},

-

-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,

-        "Velikost medpomnilnika <=0"},

-

-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,

-        "Neznana napaka pri klicu kon\u010dnice"},

-

-    { ER_NO_NAMESPACE_DECL,

-        "Predpona {0} nima ustrezne deklaracije imenskega prostora"},

-

-    { ER_ELEM_CONTENT_NOT_ALLOWED,

-        "Vsebina elementa za lang=javaclass {0} ni dovoljena"},

-

-    { ER_STYLESHEET_DIRECTED_TERMINATION,

-        "Prekinitev usmerja slogovna datoteka"},

-

-    { ER_ONE_OR_TWO,

-        "1 ali 2"},

-

-    { ER_TWO_OR_THREE,

-        "2 ali 3"},

-

-    { ER_COULD_NOT_LOAD_RESOURCE,

-        "Nisem mogel nalo\u017eiti {0} (preverite CLASSPATH), trenutno se uporabljajo privzete vrednosti"},

-

-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,

-        "Ne morem inicializirati privzetih predlog"},

-

-    { ER_RESULT_NULL,

-        "Rezultat naj ne bi bil NULL"},

-

-    { ER_RESULT_COULD_NOT_BE_SET,

-        "Rezultata ni bilo mogo\u010de nastaviti"},

-

-    { ER_NO_OUTPUT_SPECIFIED,

-        "Izhod ni naveden"},

-

-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,

-        "Ne morem pretvoriti v rezultat tipa {0}"},

-

-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,

-        "Ne morem pretvoriti vira tipa {0}"},

-

-    { ER_NULL_CONTENT_HANDLER,

-        "Program za obravnavo vsebine NULL"},

-

-    { ER_NULL_ERROR_HANDLER,

-        "Program za obravnavo napak NULL"},

-

-    { ER_CANNOT_CALL_PARSE,

-        "klic raz\u010dlenitve ni mo\u017een \u010de ContentHandler ni bil nastavljen"},

-

-    { ER_NO_PARENT_FOR_FILTER,

-        "Ni nadrejenega za filter"},

-

-    { ER_NO_STYLESHEET_IN_MEDIA,

-         "Ni mogo\u010de najti slogovne datoteke v: {0}, medij= {1}"},

-

-    { ER_NO_STYLESHEET_PI,

-         "Ne najdem xml-stylesheet PI v: {0}"},

-

-    { ER_NOT_SUPPORTED,

-       "Ni podprto: {0}"},

-

-    { ER_PROPERTY_VALUE_BOOLEAN,

-       "Vrednost lastnosti {0} bi morala biti ponovitev logi\u010dne vrednosti"},

-

-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,

-         "Ne morem dostopati do zunanje skripte na {0}"},

-

-    { ER_RESOURCE_COULD_NOT_FIND,

-        "Vira [ {0} ] ni mogo\u010de najti.\n {1}"},

-

-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,

-        "Izhodna lastnost ni prepoznana: {0}"},

-

-    { ER_FAILED_CREATING_ELEMLITRSLT,

-        "Priprava primerka ElemLiteralResult ni uspela"},

-

-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE

-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care

-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.

-  //NOTE: Not only the key name but message has also been changed.

-

-    { ER_VALUE_SHOULD_BE_NUMBER,

-        "Vrednost za {0} bi morala biti \u0161tevilka, ki jo je mogo\u010de raz\u010dleniti"},

-

-    { ER_VALUE_SHOULD_EQUAL,

-        "Vrednost za {0} bi morala biti enaka da ali ne"},

-

-    { ER_FAILED_CALLING_METHOD,

-        "Klic metode {0} ni uspel"},

-

-    { ER_FAILED_CREATING_ELEMTMPL,

-        "Priprava primerka ElemTemplateElement ni uspela"},

-

-    { ER_CHARS_NOT_ALLOWED,

-        "V tem trenutku znaki v dokumentu niso na voljo"},

-

-    { ER_ATTR_NOT_ALLOWED,

-        "Atribut \"{0}\" v elementu {1} ni dovoljen!"},

-

-    { ER_BAD_VALUE,

-     "{0} slaba vrednost {1} "},

-

-    { ER_ATTRIB_VALUE_NOT_FOUND,

-     "Vrednosti atributa {0} ni bilo mogo\u010de najti "},

-

-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,

-     "Vrednosti atributa {0} ni bilo mogo\u010de prepoznati "},

-

-    { ER_NULL_URI_NAMESPACE,

-     "Posku\u0161am generirati predpono imenskega prostora z URI z vrednostjo NULL"},

-

-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)

-

-    { ER_NUMBER_TOO_BIG,

-     "Poskus oblikovanja \u0161tevilke, ve\u010dje od najve\u010djega dolgega celega \u0161tevila"},

-

-    { ER_CANNOT_FIND_SAX1_DRIVER,

-     "Ne najdem razreda gonilnika SAX1 {0}"},

-

-    { ER_SAX1_DRIVER_NOT_LOADED,

-     "Na\u0161el razred gonilnika SAX1 {0}, vendar ga ne morem nalo\u017eiti"},

-

-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,

-     "Nalo\u017eil razred gonilnika SAX1 {0}, vendar ga ne morem udejaniti"},

-

-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,

-     "Razred gonilnika SAX1 {0} ne vklju\u010duje org.xml.sax.Parser"},

-

-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,

-     "Sistemska lastnost org.xml.sax.parser ni dolo\u010dena"},

-

-    { ER_PARSER_ARG_CANNOT_BE_NULL,

-     "Argument raz\u010dlenjevalnika sme biti NULL"},

-

-    { ER_FEATURE,

-     "Zna\u010dilnost: {0}"},

-

-    { ER_PROPERTY,

-     "Lastnost: {0}"},

-

-    { ER_NULL_ENTITY_RESOLVER,

-     "Razre\u0161evalnik entitet NULL"},

-

-    { ER_NULL_DTD_HANDLER,

-     "Program za obravnavanje DTD z vrednostjo NULL"},

-

-    { ER_NO_DRIVER_NAME_SPECIFIED,

-     "Ime gonilnika ni dolo\u010deno!"},

-

-    { ER_NO_URL_SPECIFIED,

-     "URL ni dolo\u010den!"},

-

-    { ER_POOLSIZE_LESS_THAN_ONE,

-     "Zaloga je manj\u0161a od 1!"},

-

-    { ER_INVALID_DRIVER_NAME,

-     "Dolo\u010deno neveljavno ime gonilnika!"},

-

-    { ER_ERRORLISTENER,

-     "ErrorListener"},

-

-

-// Note to translators:  The following message should not normally be displayed

-//   to users.  It describes a situation in which the processor has detected

-//   an internal consistency problem in itself, and it provides this message

-//   for the developer to help diagnose the problem.  The name

-//   'ElemTemplateElement' is the name of a class, and should not be

-//   translated.

-    { ER_ASSERT_NO_TEMPLATE_PARENT,

-     "Programerjeva napaka! Izraz nima nadrejenega ElemTemplateElement!"},

-

-

-// Note to translators:  The following message should not normally be displayed

-//   to users.  It describes a situation in which the processor has detected

-//   an internal consistency problem in itself, and it provides this message

-//   for the developer to help diagnose the problem.  The substitution text

-//   provides further information in order to diagnose the problem.  The name

-//   'RedundentExprEliminator' is the name of a class, and should not be

-//   translated.

-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,

-     "Programerjeva izjava v RedundentExprEliminator: {0}"},

-

-    { ER_NOT_ALLOWED_IN_POSITION,

-     "Na tem polo\u017eaju v slogovni datoteki {0} ni dovoljen!"},

-

-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,

-     "Besedilo, ki niso presledki in drugi podobni znaki, na tem polo\u017eaju v slogovni datoteki ni dovoljeno.!"},

-

-  // This code is shared with warning codes.

-  // SystemId Unknown

-    { INVALID_TCHAR,

-     "Neveljavna vrednost: {1} uporabljena za atribut CHAR: {0}.  Atribut tipa CHAR mora biti samo 1 znak!"},

-

-    // Note to translators:  The following message is used if the value of

-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of

-    // the attribute, and should not be translated.  The substitution text {1} is

-    // the attribute value and {0} is the attribute name.

-    //The following codes are shared with the warning codes...

-    { INVALID_QNAME,

-     "Neveljavna vrednost: {1} uporabljena za atribut QNAME: {0}"},

-

-    // Note to translators:  The following message is used if the value of

-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of

-    // the attribute, and should not be translated.  The substitution text {1} is

-    // the attribute value, {0} is the attribute name, and {2} is a list of valid

-    // values.

-    { INVALID_ENUM,

-     "Neveljavna vrednost: {1} uporabljena za atribut ENUM: {0}.  Veljavne vrednosti so: {2}."},

-

-// Note to translators:  The following message is used if the value of

-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type

-// of the attribute, and should not be translated.  The substitution text {1} is

-// the attribute value and {0} is the attribute name.

-    { INVALID_NMTOKEN,

-     "Neveljavna vrednost: {1} uporabljena za atribut NMTOKEN: {0} "},

-

-// Note to translators:  The following message is used if the value of

-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type

-// of the attribute, and should not be translated.  The substitution text {1} is

-// the attribute value and {0} is the attribute name.

-    { INVALID_NCNAME,

-     "Neveljavna vrednost: {1} uporabljena za atribut NCNAME: {0} "},

-

-// Note to translators:  The following message is used if the value of

-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type

-// of the attribute, and should not be translated.  The substitution text {1} is

-// the attribute value and {0} is the attribute name.

-    { INVALID_BOOLEAN,

-     "Neveljavna vrednost: {1} uporabljena za atribut boolean: {0} "},

-

-// Note to translators:  The following message is used if the value of

-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type

-// of the attribute, and should not be translated.  The substitution text {1} is

-// the attribute value and {0} is the attribute name.

-     { INVALID_NUMBER,

-     "Neveljavna vrednost: {1} uporabljena za atribut number: {0} "},

-

-

-  // End of shared codes...

-

-// Note to translators:  A "match pattern" is a special form of XPath expression

-// that is used for matching patterns.  The substitution text is the name of

-// a function.  The message indicates that when this function is referenced in

-// a match pattern, its argument must be a string literal (or constant.)

-// ER_ARG_LITERAL - new error message for bugzilla //5202

-    { ER_ARG_LITERAL,

-     "Argument za {0} v primerjalnem vzorcu mora biti dobesedni niz."},

-

-// Note to translators:  The following message indicates that two definitions of

-// a variable.  A "global variable" is a variable that is accessible everywher

-// in the stylesheet.

-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790

-    { ER_DUPLICATE_GLOBAL_VAR,

-     "Dvojnik deklaracije globalne spremenljivke."},

-

-

-// Note to translators:  The following message indicates that two definitions of

-// a variable were encountered.

-// ER_DUPLICATE_VAR - new error message for bugzilla #790

-    { ER_DUPLICATE_VAR,

-     "Dvojnik deklaracije spremenljivke."},

-

-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords

-    // which must not be translated.

-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789

-    { ER_TEMPLATE_NAME_MATCH,

-     "xsl:template mora vsebovati atribut name ali match (ali oba)"},

-

-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which

-    // should not be translated.  The message indicates that a namespace prefix

-    // encountered as part of the value of the exclude-result-prefixes attribute

-    // was in error.

-    // ER_INVALID_PREFIX - new error message for bugzilla #788

-    { ER_INVALID_PREFIX,

-     "Predpona v izklju\u010di-predpone-rezultatov (exclude-result-prefixes) ni veljavna: {0}"},

-

-    // Note to translators:  An "attribute set" is a set of attributes that can

-    // be added to an element in the output document as a group.  The message

-    // indicates that there was a reference to an attribute set named {0} that

-    // was never defined.

-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782

-    { ER_NO_ATTRIB_SET,

-     "Nabor atributov, imenovana {0}, ne obstaja"},

-

-    // Note to translators:  This message indicates that there was a reference

-    // to a function named {0} for which no function definition could be found.

-    { ER_FUNCTION_NOT_FOUND,

-     "Funkcija, imenovana {0}, ne obstaja"},

-

-    // Note to translators:  This message indicates that the XSLT instruction

-    // that is named by the substitution text {0} must not contain other XSLT

-    // instructions (content) or a "select" attribute.  The word "select" is

-    // an XSLT keyword in this case and must not be translated.

-    { ER_CANT_HAVE_CONTENT_AND_SELECT,

-     "Element {0} ne sme imeti vsebine in atributa izbire hkrati."},

-

-    // Note to translators:  This message indicates that the value argument

-    // of setParameter must be a valid Java Object.

-    { ER_INVALID_SET_PARAM_VALUE,

-     "Vrednost parametra {0} mora biti veljaven javanski objekt"},

-

-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,

-         "Atribut result-prefix elementa xsl:namespace-alias element ima vrednost '#default' (privzeto), ampak ni deklaracije privzetega imenskega prostora v razponu za ta element."},

-

-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,

-         "Atribut result-prefix elementa xsl:namespace-alias ima vrednost ''{0}'', ampak ni deklaracije privzetega imenskega prostora za predpono ''{0}'' v razponu za ta element."},

-

-    { ER_SET_FEATURE_NULL_NAME,

-      "Ime funkcije ne sme biti null v TransformerFactory.getFeature(Ime niza, vrednost boolean)."},

-

-    { ER_GET_FEATURE_NULL_NAME,

-      "Ime funkcije ne sme biti null v TransformerFactory.getFeature(Ime niza)."},

-

-    { ER_UNSUPPORTED_FEATURE,

-      "Ni mogo\u010de nastaviti funkcije ''{0}'' v tem TransformerFactory."},

-

-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,

-        "Uporaba raz\u0161iritvene elementa ''{0}'' ni na voljo, ko je funkcija varnega procesiranja nastavljena na true."},

-

-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,

-          "Ni mogo\u010de dobiti predpone za URI imenskega prostora null."},

-

-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,

-          "Ni mogo\u010de dobiti URI-ja imenskega prostora za predpono null."},

-

-        { ER_XPATH_RESOLVER_NULL_QNAME,

-          "Ime funkcije ne more biti ni\u010d."},

-

-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,

-          "\u0160tevilo argumentov ne more biti negativno"},

-

-  // Warnings...

-

-    { WG_FOUND_CURLYBRACE,

-      "Najden '}' vendar ni odprtih predlog atributov!"},

-

-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,

-      "Opozorilo: \u0161tevni atribut ni skladen s prednikom v xsl:number! Cilj = {0}"},

-

-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,

-      "Stara sintaksa: Ime atributa 'izraz' je bilo spremenjeno v 'izbira'."},

-

-    { WG_NO_LOCALE_IN_FORMATNUMBER,

-      "Xalan \u0161e ne podpira podro\u010dnih imen v funkciji za oblikovanje \u0161tevilk."},

-

-    { WG_LOCALE_NOT_FOUND,

-      "Opozorilo: ne najdem podro\u010dnih nastavitev za xml:lang={0}"},

-

-    { WG_CANNOT_MAKE_URL_FROM,

-      "Iz {0} ni mogo\u010de narediti naslova URL."},

-

-    { WG_CANNOT_LOAD_REQUESTED_DOC,

-      "Ne morem nalo\u017eiti zahtevanega dokumenta: {0}"},

-

-    { WG_CANNOT_FIND_COLLATOR,

-      "Ne najdem kolacionista (collator) za <sort xml:lang={0}"},

-

-    { WG_FUNCTIONS_SHOULD_USE_URL,

-      "Stara sintaksa: navodilo za funkcije bi moralo uporabljati URL {0}"},

-

-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,

-      "Kodiranje ni podprto: {0}, uporabljen bo UTF-8"},

-

-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,

-      "kodiranje ni podprto: {0}, uporabljena bo Java {1}"},

-

-    { WG_SPECIFICITY_CONFLICTS,

-      "Spori pri specifi\u010dnosti: uporabljen bo zadnji najdeni {0} v slogovni datoteki."},

-

-    { WG_PARSING_AND_PREPARING,

-      "========= Poteka raz\u010dlenjevanje in priprava {0} =========="},

-

-    { WG_ATTR_TEMPLATE,

-     "Predloga atributa, {0}"},

-

-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,

-      "Spor ujemanja med xsl:strip-space in xsl:preserve-space"},

-

-    { WG_ATTRIB_NOT_HANDLED,

-      "Xalan \u0161e ne podpira atributa {0}!"},

-

-    { WG_NO_DECIMALFORMAT_DECLARATION,

-      "Deklaracije za decimalno obliko ni bilo mogo\u010de najti: {0}"},

-

-    { WG_OLD_XSLT_NS,

-     "Manjkajo\u010d ali nepravilen imenski prostor XSLT. "},

-

-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,

-      "Dovoljena je samo ena privzeta deklaracija xsl:decimal-format."},

-

-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,

-      "Imena xsl:decimal-format morajo biti enoli\u010dna. Ime \"{0}\" je bilo podvojeno."},

-

-    { WG_ILLEGAL_ATTRIBUTE,

-      "{0} vsebuje neveljaven atribut: {1}"},

-

-    { WG_COULD_NOT_RESOLVE_PREFIX,

-      "Ne morem razre\u0161iti predpone imenskega prostora: {0}. Vozli\u0161\u010de bo prezrto."},

-

-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,

-      "xsl:stylesheet zahteva atribut 'razli\u010dica'!"},

-

-    { WG_ILLEGAL_ATTRIBUTE_NAME,

-      "Neveljavno ime atributa: {0}"},

-

-    { WG_ILLEGAL_ATTRIBUTE_VALUE,

-      "Uporabljena neveljavna vrednost za atribut {0}: {1}"},

-

-    { WG_EMPTY_SECOND_ARG,

-      "Posledi\u010dna skupina vozli\u0161\u010d iz drugega argumenta funkcije dokumenta je prazna. Posredujte prazno skupino vozli\u0161\u010d."},

-

-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)

-

-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords

-    // and must not be translated.

-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,

-      "Vrednost atributa 'ime' iz imena xsl:processing-instruction ne sme biti 'xml'"},

-

-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords

-    // and must not be translated.  "NCName" is an XML data-type and must not be

-    // translated.

-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,

-      "Vrednost atributa ''ime'' iz xsl:processing-instruction mora biti veljavno NCIme: {0}"},

-

-    // Note to translators:  This message is reported if the stylesheet that is

-    // being processed attempted to construct an XML document with an attribute in a

-    // place other than on an element.  The substitution text specifies the name of

-    // the attribute.

-    { WG_ILLEGAL_ATTRIBUTE_POSITION,

-      "Atributa {0} ne morem dodati za podrejenimi vozli\u0161\u010di ali pred izdelavo elementa.  Atribut bo prezrt."},

-

-    { NO_MODIFICATION_ALLOWED_ERR,

-      "Izveden je poskus spremembe objekta tam, kjer spremembe niso dovoljene."

-    },

-

-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?

-

-  // Other miscellaneous text used inside the code...

-  { "ui_language", "sl"},

-  {  "help_language",  "sl" },

-  {  "language",  "sl" },

-  { "BAD_CODE", "Parameter za createMessage presega meje"},

-  {  "FORMAT_FAILED", "Med klicem messageFormat naletel na izjemo"},

-  {  "version", ">>>>>>> Razli\u010dica Xalan "},

-  {  "version2",  "<<<<<<<"},

-  {  "yes", "da"},

-  { "line", "Vrstica #"},

-  { "column","Stolpec #"},

-  { "xsldone", "XSLProcessor: dokon\u010dano"},

-

-

-  // Note to translators:  The following messages provide usage information

-  // for the Xalan Process command line.  "Process" is the name of a Java class,

-  // and should not be translated.

-  { "xslProc_option", "Ukazna vrstica Xalan-J Mo\u017enosti razreda postopka:"},

-  { "xslProc_option", "Ukazna vrstica Xalan-J Mo\u017enosti razredov postopkov\u003a"},

-  { "xslProc_invalid_xsltc_option", "Mo\u017enost {0} v na\u010dinu XSLTC ni podprta."},

-  { "xslProc_invalid_xalan_option", "Mo\u017enost {0} se lahko uporablja samo z -XSLTC."},

-  { "xslProc_no_input", "Napaka: ni dolo\u010dene slogovne datoteke ali vhodnega xml. Po\u017eenite ta ukaz, za katerega ni na voljo napotkov za uporabo."},

-  { "xslProc_common_options", "-Splo\u0161ne mo\u017enosti-"},

-  { "xslProc_xalan_options", "-Mo\u017enosti za Xalan-"},

-  { "xslProc_xsltc_options", "-Mo\u017enosti za XSLTC-"},

-  { "xslProc_return_to_continue", "(za nadaljevanje pritisnite <return>)"},

-

-   // Note to translators: The option name and the parameter name do not need to

-   // be translated. Only translate the messages in parentheses.  Note also that

-   // leading whitespace in the messages is used to indent the usage information

-   // for each option in the English messages.

-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.

-  { "optionXSLTC", "   [-XSLTC (za preoblikovanje uporabite XSLTC)]"},

-  { "optionIN", "   [-IN vhodniXMLURL]"},

-  { "optionXSL", "   [-XSL XSLPreoblikovanjeURL]"},

-  { "optionOUT",  "   [-OUT ImeIzhodneDatoteke]"},

-  { "optionLXCIN", "   [-LXCIN ImeVhodneDatotekePrevedeneSlogovneDatoteke]"},

-  { "optionLXCOUT", "   [-LXCOUT ImeIzhodneDatotekePrevedeneSlogovneDatoteke]"},

-  { "optionPARSER", "   [-PARSER popolnoma ustrezno ime razreda zveze raz\u010dlenjevalnika]"},

-  {  "optionE", "   [-E (Ne raz\u0161irjajte sklicev entitet)]"},

-  {  "optionV",  "   [-E (Ne raz\u0161irjajte sklicev entitet)]"},

-  {  "optionQC", "   [-QC (Tiha opozorila o sporih vzorcev)]"},

-  {  "optionQ", "   [-Q  (Tihi na\u010din)]"},

-  {  "optionLF", "   [-LF (Uporabite pomike samo na izhodu {privzeto je CR/LF})]"},

-  {  "optionCR", "   [-CR (Uporabite prehode v novo vrstico samo na izhodu {privzeto je CR/LF})]"},

-  { "optionESCAPE", "   [-ESCAPE (Znaki za izogib {privzeto je <>&\"\'\\r\\n}]"},

-  { "optionINDENT", "   [-INDENT (Koliko presledkov zamika {privzeto je 0})]"},

-  { "optionTT", "   [-TT (Sledite predlogam glede na njihov poziv.)]"},

-  { "optionTG", "   [-TG (Sledite vsakemu dogodku rodu.)]"},

-  { "optionTS", "   [-TS (Sledite vsakemu dogodku izbire.)]"},

-  {  "optionTTC", "   [-TTC (Sledite podrejenim predloge kot se obdelujejo.)]"},

-  { "optionTCLASS", "   [-TCLASS (Razred TraceListener za kon\u010dnice sledi.)]"},

-  { "optionVALIDATE", "   [-VALIDATE (Nastavi v primeru preverjanja veljavnosti.  Privzeta vrednost za preverjanje veljavnosti je izklopljeno.)]"},

-  { "optionEDUMP", "   [-EDUMP {izbirno ime datoteke} (V primeru napake naredi izvoz skladov.)]"},

-  {  "optionXML", "   [-XML (Uporabite oblikovalnik XML in dodajte glavo XML.)]"},

-  {  "optionTEXT", "   [-TEXT (Uporabite preprost oblikovalnik besedila.)]"},

-  {  "optionHTML", "   [-HTML (Uporabite oblikovalnik za HTML.)]"},

-  {  "optionPARAM", "   [-PARAM izraz imena (nastavite parameter slogovne datoteke)]"},

-  {  "noParsermsg1", "Postopek XSL ni uspel."},

-  {  "noParsermsg2", "** Nisem na\u0161el raz\u010dlenjevalnika **"},

-  { "noParsermsg3",  "Preverite pot razreda."},

-  { "noParsermsg4", "\u010ce nimate IBM raz\u010dlenjevalnika za Javo, ga lahko prenesete iz"},

-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},

-  { "optionURIRESOLVER", "   [-URIRESOLVER polno ime razreda (URIResolver za razre\u0161evanje URL-jev)]"},

-  { "optionENTITYRESOLVER",  "   [-ENTITYRESOLVER polno ime razreda (EntityResolver za razre\u0161evanje entitet)]"},

-  { "optionCONTENTHANDLER",  "   [-CONTENTHANDLER polno ime razreda (ContentHandler za serializacijo izhoda)]"},

-  {  "optionLINENUMBERS",  "   [-L za izvorni dokument uporabite \u0161tevilke vrstic]"},

-  { "optionSECUREPROCESSING", "   [-SECURE (nastavite funkcijo varne obdelave na True.)]"},

-

-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)

-

-

-  {  "optionMEDIA",  "   [-MEDIA TipMedija (z atributom medija poi\u0161\u010dite slogovno datoteko, ki se nana\u0161a na dokument.)]"},

-  {  "optionFLAVOR",  "   [-FLAVOR ImePosebnosti (Za preoblikovanje izrecno uporabljajte s2s=SAX ali d2d=DOM.)] "}, // Added by sboag/scurcuru; experimental

-  { "optionDIAG", "   [-DIAG (Natisnite skupni \u010das trajanja pretvorbe v milisekundah.)]"},

-  { "optionINCREMENTAL",  "   [-INCREMENTAL (zahtevajte gradnjo prirastnega DTM tako, da nastavite http://xml.apache.org/xalan/features/incremental na resni\u010dno.)]"},

-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (prepre\u010dite obdelavo optimiziranja slogovne datoteke, tako da nastavite http://xml.apache.org/xalan/features/optimize na false.)]"},

-  { "optionRL",  "   [-RL mejaRekurzije (zahtevajte numeri\u010dno mejo globine rekurzije slogovne datoteke.)]"},

-  {   "optionXO",  "   [-XO [imeTransleta] (dodelite ime ustvarjenemu transletu)]"},

-  {  "optionXD", "   [-XD ciljnaMapa (navedite ciljno mapo za translet)]"},

-  {  "optionXJ",  "   [-XJ datotekaJar (zdru\u017ei razrede transleta v datoteko jar z imenom <jarfile>)]"},

-  {   "optionXP",  "   [-XP paket (navede predpono imena paketa vsem ustvarjenim razredom transletov)]"},

-

-  //AddITIONAL  STRINGS that need L10n

-  // Note to translators:  The following message describes usage of a particular

-  // command-line option that is used to enable the "template inlining"

-  // optimization.  The optimization involves making a copy of the code

-  // generated for a template in another template that refers to it.

-  { "optionXN",  "   [-XN (omogo\u010da vstavljanje predlog)]" },

-  { "optionXX",  "   [-XX (vklopi izhod za dodatna sporo\u010dila za iskanje napak)]"},

-  { "optionXT" , "   [-XT (\u010de je mogo\u010de, uporabite translet za pretvorbo)]"},

-  { "diagTiming"," --------- Pretvorba {0} prek {1} je trajala {2} ms" },

-  { "recursionTooDeep","Predloga pregloboko vgnezdena. Gnezdenje = {0}, predloga {1} {2}" },

-  { "nameIs", "ime je" },

-  { "matchPatternIs", "primerjalni vzorec je" }

-

-  };

-  }

-  // ================= INFRASTRUCTURE ======================

-

-  /** String for use when a bad error code was encountered.    */

-  public static final String BAD_CODE = "BAD_CODE";

-

-  /** String for use when formatting of the error string failed.   */

-  public static final String FORMAT_FAILED = "FORMAT_FAILED";

-

-  /** General error string.   */

-  public static final String ERROR_STRING = "#error";

-

-  /** String to prepend to error messages.  */

-  public static final String ERROR_HEADER = "Napaka: ";

-

-  /** String to prepend to warning messages.    */

-  public static final String WARNING_HEADER = "Opozorilo: ";

-

-  /** String to specify the XSLT module.  */

-  public static final String XSL_HEADER = "XSLT ";

-

-  /** String to specify the XML parser module.  */

-  public static final String XML_HEADER = "XML ";

-

-  /** I don't think this is used any more.

-   * @deprecated  */

-  public static final String QUERY_HEADER = "VZOREC ";

-

-

-  /**

-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior

-   *   of ResourceBundle.getBundle().

-   *

-   *   @param className the name of the class that implements the resource bundle.

-   *   @return the ResourceBundle

-   *   @throws MissingResourceException

-   */

-  public static final XSLTErrorResources loadResourceBundle(String className)

-          throws MissingResourceException

-  {

-

-    Locale locale = Locale.getDefault();

-    String suffix = getResourceSuffix(locale);

-

-    try

-    {

-

-      // first try with the given locale

-      return (XSLTErrorResources) ResourceBundle.getBundle(className

-              + suffix, locale);

-    }

-    catch (MissingResourceException e)

-    {

-      try  // try to fall back to en_US if we can't load

-      {

-

-        // Since we can't find the localized property file,

-        // fall back to en_US.

-        return (XSLTErrorResources) ResourceBundle.getBundle(className,

-                new Locale("sl", "US"));

-      }

-      catch (MissingResourceException e2)

-      {

-

-        // Now we are really in trouble.

-        // very bad, definitely very bad...not going to get very far

-        throw new MissingResourceException(

-          "Could not load any resource bundles.", className, "");

-      }

-    }

-  }

-

-  /**

-   * Return the resource file suffic for the indicated locale

-   * For most locales, this will be based the language code.  However

-   * for Chinese, we do distinguish between Taiwan and PRC

-   *

-   * @param locale the locale

-   * @return an String suffix which canbe appended to a resource name

-   */

-  private static final String getResourceSuffix(Locale locale)

-  {

-

-    String suffix = "_" + locale.getLanguage();

-    String country = locale.getCountry();

-

-    if (country.equals("TW"))

-      suffix += "_" + country;

-

-    return suffix;

-  }

-

-

-}

diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_sv.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_sv.java
deleted file mode 100644
index e97a047..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_sv.java
+++ /dev/null
@@ -1,2339 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_sv.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_sv extends XSLTErrorResources
-{
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;          
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-  /** Get the lookup table for error messages.   
-   *
-   * @return The int to message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  //public static final int ERROR0000 = 0;
-
-
-  {
-    "ERROR0000", "{0}"},
-
-
-  /** ER_NO_CURLYBRACE          */
-  //public static final int ER_NO_CURLYBRACE = 1;
-
-
-  {
-    ER_NO_CURLYBRACE,
-      "Fel: Kan inte ha '{' inuti uttryck"},
-
-
-  /** ER_ILLEGAL_ATTRIBUTE          */
-  //public static final int ER_ILLEGAL_ATTRIBUTE = 2;
-
-
-  {
-    ER_ILLEGAL_ATTRIBUTE, "{0} har ett otill\u00e5tet attribut: {1}"},
-
-
-  /** ER_NULL_SOURCENODE_APPLYIMPORTS          */
-  //public static final int ER_NULL_SOURCENODE_APPLYIMPORTS = 3;
-
-
-  {
-    ER_NULL_SOURCENODE_APPLYIMPORTS,
-      "sourceNode \u00e4r null i xsl:apply-imports!"},
-
-
-  /** ER_CANNOT_ADD          */
-  //public static final int ER_CANNOT_ADD = 4;
-
-
-  {
-    ER_CANNOT_ADD, "Kan inte l\u00e4gga {0} till {1}"},
-
-
-  /** ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES          */
-  //public static final int ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES = 5;
-
-
-  {
-    ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "sourceNode \u00e4r null i handleApplyTemplatesInstruction!"},
-
-
-  /** ER_NO_NAME_ATTRIB          */
-  //public static final int ER_NO_NAME_ATTRIB = 6;
-
-
-  {
-    ER_NO_NAME_ATTRIB, "{0} m\u00e5ste ha ett namn-attribut."},
-
-
-  /** ER_TEMPLATE_NOT_FOUND          */
-  //public static final int ER_TEMPLATE_NOT_FOUND = 7;
-
-
-  {
-    ER_TEMPLATE_NOT_FOUND, "Hittade inte mallen med namn: {0}"},
-
-
-  /** ER_CANT_RESOLVE_NAME_AVT          */
-  //public static final int ER_CANT_RESOLVE_NAME_AVT = 8;
-
-
-  {
-    ER_CANT_RESOLVE_NAME_AVT,
-      "Kunde inte l\u00f6sa namn-AVT i xsl:call-template."},
-
-
-  /** ER_REQUIRES_ATTRIB          */
-  //public static final int ER_REQUIRES_ATTRIB = 9;
-
-
-  {
-    ER_REQUIRES_ATTRIB, "{0} kr\u00e4ver attribut: {1}"},
-
-
-  /** ER_MUST_HAVE_TEST_ATTRIB          */
-  //public static final int ER_MUST_HAVE_TEST_ATTRIB = 10;
-
-
-  {
-    ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} m\u00e5ste ha ett ''test''-attribut."},
-
-
-  /** ER_BAD_VAL_ON_LEVEL_ATTRIB          */
-  //public static final int ER_BAD_VAL_ON_LEVEL_ATTRIB = 11;
-
-
-  {
-    ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "D\u00e5ligt v\u00e4rde p\u00e5 niv\u00e5-attribut: {0}"},
-
-
-  /** ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML          */
-  //public static final int ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML = 12;
-
-
-  {
-    ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "Namn p\u00e5 behandlande instruktion f\u00e5r inte vara 'xml'"},
-
-
-  /** ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME          */
-  //public static final int ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME = 13;
-
-
-  {
-    ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "Namn p\u00e5 behandlande instruktion m\u00e5ste vara ett giltigt NCNamn: {0}"},
-
-
-  /** ER_NEED_MATCH_ATTRIB          */
-  //public static final int ER_NEED_MATCH_ATTRIB = 14;
-
-
-  {
-    ER_NEED_MATCH_ATTRIB,
-      "{0} m\u00e5ste ha ett matchningsattribut om det har ett tillst\u00e5nd."},
-
-
-  /** ER_NEED_NAME_OR_MATCH_ATTRIB          */
-  //public static final int ER_NEED_NAME_OR_MATCH_ATTRIB = 15;
-
-
-  {
-    ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} kr\u00e4ver antingen ett namn eller ett matchningsattribut."},
-
-
-  /** ER_CANT_RESOLVE_NSPREFIX          */
-  //public static final int ER_CANT_RESOLVE_NSPREFIX = 16;
-
-
-  {
-    ER_CANT_RESOLVE_NSPREFIX,
-      "Kan inte l\u00f6sa namnrymdsprefix: {0}"},
-
-
-  /** ER_ILLEGAL_VALUE          */
-  //public static final int ER_ILLEGAL_VALUE = 17;
-
-
-  {
-    ER_ILLEGAL_VALUE, "xml:space har ett otill\u00e5tet v\u00e4rde: {0}"},
-
-
-  /** ER_NO_OWNERDOC          */
-  //public static final int ER_NO_OWNERDOC = 18;
-
-
-  {
-    ER_NO_OWNERDOC,
-      "Barnnod saknar \u00e4gardokument!"},
-
-
-  /** ER_ELEMTEMPLATEELEM_ERR          */
-  //public static final int ER_ELEMTEMPLATEELEM_ERR = 19;
-
-
-  {
-    ER_ELEMTEMPLATEELEM_ERR, "ElemTemplateElement-fel: {0}"},
-
-
-  /** ER_NULL_CHILD          */
-  //public static final int ER_NULL_CHILD = 20;
-
-
-  {
-    ER_NULL_CHILD, "F\u00f6rs\u00f6ker l\u00e4gga till ett null-barn!"},
-
-
-  /** ER_NEED_SELECT_ATTRIB          */
-  //public static final int ER_NEED_SELECT_ATTRIB = 21;
-
-
-  {
-    ER_NEED_SELECT_ATTRIB, "{0} kr\u00e4ver ett valattribut."},
-
-
-  /** ER_NEED_TEST_ATTRIB          */
-  //public static final int ER_NEED_TEST_ATTRIB = 22;
-
-
-  {
-    ER_NEED_TEST_ATTRIB,
-      "xsl:when m\u00e5ste ha ett 'test'-attribut."},
-
-
-  /** ER_NEED_NAME_ATTRIB          */
-  //public static final int ER_NEED_NAME_ATTRIB = 23;
-
-
-  {
-    ER_NEED_NAME_ATTRIB,
-      "xsl:with-param m\u00e5ste ha ett 'namn'-attribut."},
-
-
-  /** ER_NO_CONTEXT_OWNERDOC          */
-  //public static final int ER_NO_CONTEXT_OWNERDOC = 24;
-
-
-  {
-    ER_NO_CONTEXT_OWNERDOC,
-      "Kontext saknar \u00e4gardokument!"},
-
-
-  /** ER_COULD_NOT_CREATE_XML_PROC_LIAISON          */
-  //public static final int ER_COULD_NOT_CREATE_XML_PROC_LIAISON = 25;
-
-
-  {
-    ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "Kunde inte skapa XML TransformerFactory Liaison: {0}"},
-
-
-  /** ER_PROCESS_NOT_SUCCESSFUL          */
-  //public static final int ER_PROCESS_NOT_SUCCESSFUL = 26;
-
-
-  {
-    ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: Process misslyckades."},
-
-
-  /** ER_NOT_SUCCESSFUL          */
-  //public static final int ER_NOT_SUCCESSFUL = 27;
-
-
-  {
-    ER_NOT_SUCCESSFUL, "Xalan: misslyckades."},
-
-
-  /** ER_ENCODING_NOT_SUPPORTED          */
-  //public static final int ER_ENCODING_NOT_SUPPORTED = 28;
-
-
-  {
-    ER_ENCODING_NOT_SUPPORTED, "Kodning inte underst\u00f6dd: {0}"},
-
-
-  /** ER_COULD_NOT_CREATE_TRACELISTENER          */
-  //public static final int ER_COULD_NOT_CREATE_TRACELISTENER = 29;
-
-
-  {
-    ER_COULD_NOT_CREATE_TRACELISTENER,
-      "Kunde inte skapa TraceListener: {0}"},
-
-
-  /** ER_KEY_REQUIRES_NAME_ATTRIB          */
-  //public static final int ER_KEY_REQUIRES_NAME_ATTRIB = 30;
-
-
-  {
-    ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key m\u00e5ste ha ett 'namn'-attribut."},
-
-
-  /** ER_KEY_REQUIRES_MATCH_ATTRIB          */
-  //public static final int ER_KEY_REQUIRES_MATCH_ATTRIB = 31;
-
-
-  {
-    ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key m\u00e5ste ha ett 'matcha'-attribut."},
-
-
-  /** ER_KEY_REQUIRES_USE_ATTRIB          */
-  //public static final int ER_KEY_REQUIRES_USE_ATTRIB = 32;
-
-
-  {
-    ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key m\u00e5ste ha ett 'anv\u00e4nd'-attribut."},
-
-
-  /** ER_REQUIRES_ELEMENTS_ATTRIB          */
-  //public static final int ER_REQUIRES_ELEMENTS_ATTRIB = 33;
-
-
-  {
-    ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} kr\u00e4ver ett ''element''-attribut!"},
-
-
-  /** ER_MISSING_PREFIX_ATTRIB          */
-  //public static final int ER_MISSING_PREFIX_ATTRIB = 34;
-
-
-  {
-    ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) {0} ''prefix''-attribut saknas"},
-
-
-  /** ER_BAD_STYLESHEET_URL          */
-  //public static final int ER_BAD_STYLESHEET_URL = 35;
-
-
-  {
-    ER_BAD_STYLESHEET_URL, "Stylesheet URL \u00e4r d\u00e5lig: {0}"},
-
-
-  /** ER_FILE_NOT_FOUND          */
-  //public static final int ER_FILE_NOT_FOUND = 36;
-
-
-  {
-    ER_FILE_NOT_FOUND, "Stylesheet-fil saknas: {0}"},
-
-
-  /** ER_IOEXCEPTION          */
-  //public static final int ER_IOEXCEPTION = 37;
-
-
-  {
-    ER_IOEXCEPTION,
-      "Fick IO-Undantag med stylesheet-fil: {0}"},
-
-
-  /** ER_NO_HREF_ATTRIB          */
-  //public static final int ER_NO_HREF_ATTRIB = 38;
-
-
-  {
-    ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) Hittade inte href-attribute f\u00f6r {0}"},
-
-
-  /** ER_STYLESHEET_INCLUDES_ITSELF          */
-  //public static final int ER_STYLESHEET_INCLUDES_ITSELF = 39;
-
-
-  {
-    ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} inkluderar, direkt eller indirekt, sig sj\u00e4lv!"},
-
-
-  /** ER_PROCESSINCLUDE_ERROR          */
-  //public static final int ER_PROCESSINCLUDE_ERROR = 40;
-
-
-  {
-    ER_PROCESSINCLUDE_ERROR,
-      "StylesheetHandler.processInclude-fel, {0}"},
-
-
-  /** ER_MISSING_LANG_ATTRIB          */
-  //public static final int ER_MISSING_LANG_ATTRIB = 41;
-
-
-  {
-    ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) {0} ''lang''-attribut' saknas"},
-
-
-  /** ER_MISSING_CONTAINER_ELEMENT_COMPONENT          */
-  //public static final int ER_MISSING_CONTAINER_ELEMENT_COMPONENT = 42;
-
-
-  {
-    ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) felplacerade {0} element?? Saknar beh\u00e5llarelement  ''komponent''"},
-
-
-  /** ER_CAN_ONLY_OUTPUT_TO_ELEMENT          */
-  //public static final int ER_CAN_ONLY_OUTPUT_TO_ELEMENT = 43;
-
-
-  {
-    ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "Kan endast skicka utdata till ett Element, ett DocumentFragment, ett Document, eller en PrintWriter."},
-
-
-  /** ER_PROCESS_ERROR          */
-  //public static final int ER_PROCESS_ERROR = 44;
-
-
-  {
-    ER_PROCESS_ERROR, "StylesheetRoot.process-fel"},
-
-
-  /** ER_UNIMPLNODE_ERROR          */
-  //public static final int ER_UNIMPLNODE_ERROR = 45;
-
-
-  {
-    ER_UNIMPLNODE_ERROR, "UnImplNode-fel: {0}"},
-
-
-  /** ER_NO_SELECT_EXPRESSION          */
-  //public static final int ER_NO_SELECT_EXPRESSION = 46;
-
-
-  {
-    ER_NO_SELECT_EXPRESSION,
-      "Fel! Hittade inte xpath select-uttryck (-select)."},
-
-
-  /** ER_CANNOT_SERIALIZE_XSLPROCESSOR          */
-  //public static final int ER_CANNOT_SERIALIZE_XSLPROCESSOR = 47;
-
-
-  {
-    ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "Kan inte serialisera en XSLProcessor!"},
-
-
-  /** ER_NO_INPUT_STYLESHEET          */
-  //public static final int ER_NO_INPUT_STYLESHEET = 48;
-
-
-  {
-    ER_NO_INPUT_STYLESHEET,
-      "Stylesheet-indata ej angiven!"},
-
-
-  /** ER_FAILED_PROCESS_STYLESHEET          */
-  //public static final int ER_FAILED_PROCESS_STYLESHEET = 49;
-
-
-  {
-    ER_FAILED_PROCESS_STYLESHEET,
-      "Kunde inte behandla stylesheet!"},
-
-
-  /** ER_COULDNT_PARSE_DOC          */
-  //public static final int ER_COULDNT_PARSE_DOC = 50;
-
-
-  {
-    ER_COULDNT_PARSE_DOC, "Kunde inte tolka {0} dokument!"},
-
-
-  /** ER_COULDNT_FIND_FRAGMENT          */
-  //public static final int ER_COULDNT_FIND_FRAGMENT = 51;
-
-
-  {
-    ER_COULDNT_FIND_FRAGMENT, "Hittade inte fragment: {0}"},
-
-
-  /** ER_NODE_NOT_ELEMENT          */
-  //public static final int ER_NODE_NOT_ELEMENT = 52;
-
-
-  {
-    ER_NODE_NOT_ELEMENT,
-      "Nod som pekades p\u00e5 av fragment-identifierare var inte ett element: {0}"},
-
-
-  /** ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB          */
-  //public static final int ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB = 53;
-
-
-  {
-    ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each kr\u00e4ver antingen en matchning eller ett namnattribut."},
-
-
-  /** ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB          */
-  //public static final int ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB = 54;
-
-
-  {
-    ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "mallar kr\u00e4ver antingen en matchning eller ett namnattribut."},
-
-
-  /** ER_NO_CLONE_OF_DOCUMENT_FRAG          */
-  //public static final int ER_NO_CLONE_OF_DOCUMENT_FRAG = 55;
-
-
-  {
-    ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "Ingen klon av ett dokumentfragment!"},
-
-
-  /** ER_CANT_CREATE_ITEM          */
-  //public static final int ER_CANT_CREATE_ITEM = 56;
-
-
-  {
-    ER_CANT_CREATE_ITEM,
-      "Kan inte skapa element i resultattr\u00e4d: {0}"},
-
-
-  /** ER_XMLSPACE_ILLEGAL_VALUE          */
-  //public static final int ER_XMLSPACE_ILLEGAL_VALUE = 57;
-
-
-  {
-    ER_XMLSPACE_ILLEGAL_VALUE,
-      "xml:space i k\u00e4ll-XML har ett otill\u00e5tet v\u00e4rde: {0}"},
-
-
-  /** ER_NO_XSLKEY_DECLARATION          */
-  //public static final int ER_NO_XSLKEY_DECLARATION = 58;
-
-
-  {
-    ER_NO_XSLKEY_DECLARATION,
-      "Det finns ingen xsl:key-deklaration f\u00f6r {0}!"},
-
-
-  /** ER_CANT_CREATE_URL          */
-  //public static final int ER_CANT_CREATE_URL = 59;
-
-
-  {
-    ER_CANT_CREATE_URL, "Fel! Kan inte skapa url f\u00f6r: {0}"},
-
-
-  /** ER_XSLFUNCTIONS_UNSUPPORTED          */
-  //public static final int ER_XSLFUNCTIONS_UNSUPPORTED = 60;
-
-
-  {
-    ER_XSLFUNCTIONS_UNSUPPORTED, "xsl:functions \u00e4r inte underst\u00f6dd"},
-
-
-  /** ER_PROCESSOR_ERROR          */
-  //public static final int ER_PROCESSOR_ERROR = 61;
-
-
-  {
-    ER_PROCESSOR_ERROR, "XSLT TransformerFactory-Fel"},
-
-
-  /** ER_NOT_ALLOWED_INSIDE_STYLESHEET          */
-  //public static final int ER_NOT_ALLOWED_INSIDE_STYLESHEET = 62;
-
-
-  {
-    ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} \u00e4r inte till\u00e5ten inne i ett stylesheet!"},
-
-
-  /** ER_RESULTNS_NOT_SUPPORTED          */
-  //public static final int ER_RESULTNS_NOT_SUPPORTED = 63;
-
-
-  {
-    ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns inte l\u00e4ngre underst\u00f6dd!  Anv\u00e4nd xsl:output ist\u00e4llet."},
-
-
-  /** ER_DEFAULTSPACE_NOT_SUPPORTED          */
-  //public static final int ER_DEFAULTSPACE_NOT_SUPPORTED = 64;
-
-
-  {
-    ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space inte l\u00e4ngre underst\u00f6dd!  Anv\u00e4nd xsl:strip-space eller xsl:preserve-space ist\u00e4llet."},
-
-
-  /** ER_INDENTRESULT_NOT_SUPPORTED          */
-  //public static final int ER_INDENTRESULT_NOT_SUPPORTED = 65;
-
-
-  {
-    ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result inte l\u00e4ngre underst\u00f6dd!  Anv\u00e4nd xsl:output ist\u00e4llet."},
-
-
-  /** ER_ILLEGAL_ATTRIB          */
-  //public static final int ER_ILLEGAL_ATTRIB = 66;
-
-
-  {
-    ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} har ett otill\u00e5tet attribut: {1}"},
-
-
-  /** ER_UNKNOWN_XSL_ELEM          */
-  //public static final int ER_UNKNOWN_XSL_ELEM = 67;
-
-
-  {
-    ER_UNKNOWN_XSL_ELEM, "Ok\u00e4nt XSL-element: {0}"},
-
-
-  /** ER_BAD_XSLSORT_USE          */
-  //public static final int ER_BAD_XSLSORT_USE = 68;
-
-
-  {
-    ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort kan endast anv\u00e4ndas med xsl:apply-templates eller xsl:for-each."},
-
-
-  /** ER_MISPLACED_XSLWHEN          */
-  //public static final int ER_MISPLACED_XSLWHEN = 69;
-
-
-  {
-    ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) felplacerade xsl:when!"},
-
-
-  /** ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE          */
-  //public static final int ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE = 70;
-
-
-  {
-    ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when h\u00e4rstammar inte fr\u00e5n xsl:choose!"},
-
-
-  /** ER_MISPLACED_XSLOTHERWISE          */
-  //public static final int ER_MISPLACED_XSLOTHERWISE = 71;
-
-
-  {
-    ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) felplacerade xsl:otherwise!"},
-
-
-  /** ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE          */
-  //public static final int ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE = 72;
-
-
-  {
-    ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise h\u00e4rstammar inte fr\u00e5n xsl:choose!"},
-
-
-  /** ER_NOT_ALLOWED_INSIDE_TEMPLATE          */
-  //public static final int ER_NOT_ALLOWED_INSIDE_TEMPLATE = 73;
-
-
-  {
-    ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} \u00e4r inte till\u00e5ten inne i en mall!"},
-
-
-  /** ER_UNKNOWN_EXT_NS_PREFIX          */
-  //public static final int ER_UNKNOWN_EXT_NS_PREFIX = 74;
-
-
-  {
-    ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0} utbyggnadsnamnrymdsprefix {1} ok\u00e4nt"},
-
-
-  /** ER_IMPORTS_AS_FIRST_ELEM          */
-  //public static final int ER_IMPORTS_AS_FIRST_ELEM = 75;
-
-
-  {
-    ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Imports kan endast f\u00f6rekomma som de f\u00f6rsta elementen i ett stylesheet!"},
-
-
-  /** ER_IMPORTING_ITSELF          */
-  //public static final int ER_IMPORTING_ITSELF = 76;
-
-
-  {
-    ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} importerar, direkt eller indirekt, sig sj\u00e4lv!"},
-
-
-  /** ER_XMLSPACE_ILLEGAL_VAL          */
-  //public static final int ER_XMLSPACE_ILLEGAL_VAL = 77;
-
-
-  {
-    ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) " + "xml:space har ett otill\u00e5tet v\u00e4rde: {0}"},
-
-
-  /** ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL          */
-  //public static final int ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL = 78;
-
-
-  {
-    ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet misslyckades!"},
-
-
-  /** ER_SAX_EXCEPTION          */
-  //public static final int ER_SAX_EXCEPTION = 79;
-
-
-  {
-    ER_SAX_EXCEPTION, "SAX-Undantag"},
-
-
-
-  /** ER_XSLT_ERROR          */
-  //public static final int ER_XSLT_ERROR = 81;
-
-
-  {
-    ER_XSLT_ERROR, "XSLT-fel"},
-
-
-  /** ER_CURRENCY_SIGN_ILLEGAL          */
-  //public static final int ER_CURRENCY_SIGN_ILLEGAL = 82;
-
-
-  {
-    ER_CURRENCY_SIGN_ILLEGAL,
-      "valutatecken \u00e4r inte till\u00e5tet i formatm\u00f6nsterstr\u00e4ng"},
-
-
-  /** ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM          */
-  //public static final int ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM = 83;
-
-
-  {
-    ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "Dokumentfunktion inte underst\u00f6dd i Stylesheet DOM!"},
-
-
-  /** ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER          */
-  //public static final int ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER = 84;
-
-
-  {
-    ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "Kan inte l\u00f6sa prefix i icke-Prefixl\u00f6sare!"},
-
-
-  /** ER_REDIRECT_COULDNT_GET_FILENAME          */
-  //public static final int ER_REDIRECT_COULDNT_GET_FILENAME = 85;
-
-
-  {
-    ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Redirect extension: Hittade inte filnamn - fil eller valattribut m\u00e5ste returnera vald  str\u00e4ng."},
-
-
-  /** ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT          */
-  //public static final int ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT = 86;
-
-
-  {
-    ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "Kan inte bygga FormatterListener i Redirect extension!"},
-
-
-  /** ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX          */
-  //public static final int ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX = 87;
-
-
-  {
-    ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "Prefix i exkludera-resultat-prefix \u00e4r inte giltig: {0}"},
-
-
-  /** ER_MISSING_NS_URI          */
-  //public static final int ER_MISSING_NS_URI = 88;
-
-
-  {
-    ER_MISSING_NS_URI,
-      "Namnrymds-URI saknas f\u00f6r angivna prefix"},
-
-
-  /** ER_MISSING_ARG_FOR_OPTION          */
-  //public static final int ER_MISSING_ARG_FOR_OPTION = 89;
-
-
-  {
-    ER_MISSING_ARG_FOR_OPTION,
-      "Argument saknas f\u00f6r alternativ: {0}"},
-
-
-  /** ER_INVALID_OPTION          */
-  //public static final int ER_INVALID_OPTION = 90;
-
-
-  {
-    ER_INVALID_OPTION, "Ogiltigt alternativ: {0}"},
-
-
-  /** ER_MALFORMED_FORMAT_STRING          */
-  //public static final int ER_MALFORMED_FORMAT_STRING = 91;
-
-
-  {
-    ER_MALFORMED_FORMAT_STRING, "Fel format p\u00e5 formatstr\u00e4ng: {0}"},
-
-
-  /** ER_STYLESHEET_REQUIRES_VERSION_ATTRIB          */
-  //public static final int ER_STYLESHEET_REQUIRES_VERSION_ATTRIB = 92;
-
-
-  {
-    ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet m\u00e5ste ha ett 'version'-attribut!"},
-
-
-  /** ER_ILLEGAL_ATTRIBUTE_VALUE          */
-  //public static final int ER_ILLEGAL_ATTRIBUTE_VALUE = 93;
-
-
-  {
-    ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "Attribut: {0} har ett otill\u00e5tet v\u00e4rde: {1}"},
-
-
-  /** ER_CHOOSE_REQUIRES_WHEN          */
-  //public static final int ER_CHOOSE_REQUIRES_WHEN = 94;
-
-
-  {
-    ER_CHOOSE_REQUIRES_WHEN, "xsl:choose kr\u00e4ver ett xsl:when"},
-
-
-  /** ER_NO_APPLY_IMPORT_IN_FOR_EACH          */
-  //public static final int ER_NO_APPLY_IMPORT_IN_FOR_EACH = 95;
-
-
-  {
-    ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports inte till\u00e5tet i ett xsl:for-each"},
-
-
-  /** ER_CANT_USE_DTM_FOR_OUTPUT          */
-  //public static final int ER_CANT_USE_DTM_FOR_OUTPUT = 96;
-
-
-  {
-    ER_CANT_USE_DTM_FOR_OUTPUT,
-      "Kan inte anv\u00e4nda DTMLiaison till en DOM utdatanod... skicka en org.apache.xpath.DOM2Helper ist\u00e4llet!"},
-
-
-  /** ER_CANT_USE_DTM_FOR_INPUT          */
-  //public static final int ER_CANT_USE_DTM_FOR_INPUT = 97;
-
-
-  {
-    ER_CANT_USE_DTM_FOR_INPUT,
-      "Kan inte anv\u00e4nda DTMLiaison till en DOM indatanod... skicka en org.apache.xpath.DOM2Helper ist\u00e4llet!"},
-
-
-  /** ER_CALL_TO_EXT_FAILED          */
-  //public static final int ER_CALL_TO_EXT_FAILED = 98;
-
-
-  {
-    ER_CALL_TO_EXT_FAILED,
-      "Anrop till anslutningselement misslyckades: {0}"},
-
-
-  /** ER_PREFIX_MUST_RESOLVE          */
-  //public static final int ER_PREFIX_MUST_RESOLVE = 99;
-
-
-  {
-    ER_PREFIX_MUST_RESOLVE,
-      "Prefix m\u00e5ste l\u00f6sa till en mamnrymd: {0}"},
-
-
-  /** ER_INVALID_UTF16_SURROGATE          */
-  //public static final int ER_INVALID_UTF16_SURROGATE = 100;
-
-
-  {
-    ER_INVALID_UTF16_SURROGATE,
-      "Ogiltigt UTF-16-surrogat uppt\u00e4ckt: {0} ?"},
-
-
-  /** ER_XSLATTRSET_USED_ITSELF          */
-  //public static final int ER_XSLATTRSET_USED_ITSELF = 101;
-
-
-  {
-    ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} anv\u00e4nde sig sj\u00e4lvt, vilket kommer att orsaka en  o\u00e4ndlig loop."},
-
-
-  /** ER_CANNOT_MIX_XERCESDOM          */
-  //public static final int ER_CANNOT_MIX_XERCESDOM = 102;
-
-
-  {
-    ER_CANNOT_MIX_XERCESDOM,
-      "Kan inte blanda icke-Xerces-DOM-indata med Xerces-DOM-utdata!"},
-
-
-  /** ER_TOO_MANY_LISTENERS          */
-  //public static final int ER_TOO_MANY_LISTENERS = 103;
-
-
-  {
-    ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-
-  /** ER_IN_ELEMTEMPLATEELEM_READOBJECT          */
-  //public static final int ER_IN_ELEMTEMPLATEELEM_READOBJECT = 104;
-
-
-  {
-    ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "I ElemTemplateElement.readObject: {0}"},
-
-
-  /** ER_DUPLICATE_NAMED_TEMPLATE          */
-  //public static final int ER_DUPLICATE_NAMED_TEMPLATE = 105;
-
-
-  {
-    ER_DUPLICATE_NAMED_TEMPLATE,
-      "Hittade mer \u00e4n en mall med namnet: {0}"},
-
-
-  /** ER_INVALID_KEY_CALL          */
-  //public static final int ER_INVALID_KEY_CALL = 106;
-
-
-  {
-    ER_INVALID_KEY_CALL,
-      "Ogiltigt funktionsanrop: rekursiva key()-anrop \u00e4r inte till\u00e5tna"},
-
-  
-  /** Variable is referencing itself          */
-  //public static final int ER_REFERENCING_ITSELF = 107;
-
-
-  {
-    ER_REFERENCING_ITSELF,
-      "Variabel {0} h\u00e4nvisar, direkt eller indirekt, till sig sj\u00e4lv!"},
-
-  
-  /** Illegal DOMSource input          */
-  //public static final int ER_ILLEGAL_DOMSOURCE_INPUT = 108;
-
-
-  {
-    ER_ILLEGAL_DOMSOURCE_INPUT,
-      "Indatanoden till en DOMSource f\u00f6r newTemplates f\u00e5r inte vara null!"},
-
-	
-	/** Class not found for option         */
-  //public static final int ER_CLASS_NOT_FOUND_FOR_OPTION = 109;
-
-
-  {
-    ER_CLASS_NOT_FOUND_FOR_OPTION,
-			"Klassfil f\u00f6r alternativ {0} saknas"},
-
-	
-	/** Required Element not found         */
-  //public static final int ER_REQUIRED_ELEM_NOT_FOUND = 110;
-
-
-  {
-    ER_REQUIRED_ELEM_NOT_FOUND,
-			"N\u00f6dv\u00e4ndigt element saknas: {0}"},
-
-  
-  /** InputStream cannot be null         */
-  //public static final int ER_INPUT_CANNOT_BE_NULL = 111;
-
-
-  {
-    ER_INPUT_CANNOT_BE_NULL,
-			"InputStream f\u00e5r inte vara null"},
-
-  
-  /** URI cannot be null         */
-  //public static final int ER_URI_CANNOT_BE_NULL = 112;
-
-
-  {
-    ER_URI_CANNOT_BE_NULL,
-			"URI f\u00e5r inte vara null"},
-
-  
-  /** File cannot be null         */
-  //public static final int ER_FILE_CANNOT_BE_NULL = 113;
-
-
-  {
-    ER_FILE_CANNOT_BE_NULL,
-			"Fil f\u00e5r inte vara null"},
-
-  
-   /** InputSource cannot be null         */
-  //public static final int ER_SOURCE_CANNOT_BE_NULL = 114;
-
-
-  {
-    ER_SOURCE_CANNOT_BE_NULL,
-			"InputSource f\u00e5r inte vara null"},
-
-  
-  /** Could not initialize BSF Manager        */
-  //public static final int ER_CANNOT_INIT_BSFMGR = 116;
-
-
-  {
-    ER_CANNOT_INIT_BSFMGR,
-			"Kan inte initialisera BSF Manager"},
-
-  
-  /** Could not compile extension       */
-  //public static final int ER_CANNOT_CMPL_EXTENSN = 117;
-
-
-  {
-    ER_CANNOT_CMPL_EXTENSN,
-			"Kunde inte kompilera anslutning"},
-
-  
-  /** Could not create extension       */
-  //public static final int ER_CANNOT_CREATE_EXTENSN = 118;
-
-
-  {
-    ER_CANNOT_CREATE_EXTENSN,
-      "Kunde inte skapa anslutning: {0} p\u00e5 grund av: {1}"},
-
-  
-  /** Instance method call to method {0} requires an Object instance as first argument       */
-  //public static final int ER_INSTANCE_MTHD_CALL_REQUIRES = 119;
-
-
-  {
-    ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "Instansmetodanrop till metod {0} kr\u00e4ver en Objektinstans som f\u00f6rsta argument"},
-
-  
-  /** Invalid element name specified       */
-  //public static final int ER_INVALID_ELEMENT_NAME = 120;
-
-
-  {
-    ER_INVALID_ELEMENT_NAME,
-      "Ogiltigt elementnamn angivet {0}"},
-
-  
-   /** Element name method must be static      */
-  //public static final int ER_ELEMENT_NAME_METHOD_STATIC = 121;
-
-
-  {
-    ER_ELEMENT_NAME_METHOD_STATIC,
-      "Elementnamnmetod m\u00e5ste vara static {0}"},
-
-  
-   /** Extension function {0} : {1} is unknown      */
-  //public static final int ER_EXTENSION_FUNC_UNKNOWN = 122;
-
-
-  {
-    ER_EXTENSION_FUNC_UNKNOWN,
-             "Anslutningsfunktion {0} : {1} \u00e4r ok\u00e4nd"},
-
-  
-   /** More than one best match for constructor for       */
-  //public static final int ER_MORE_MATCH_CONSTRUCTOR = 123;
-
-
-  {
-    ER_MORE_MATCH_CONSTRUCTOR,
-             "Fler \u00e4n en b\u00e4sta matchning f\u00f6r konstruktor f\u00f6r {0}"},
-
-  
-   /** More than one best match for method      */
-  //public static final int ER_MORE_MATCH_METHOD = 124;
-
-
-  {
-    ER_MORE_MATCH_METHOD,
-             "Fler \u00e4n en b\u00e4sta matchning f\u00f6r metod {0}"},
-
-  
-   /** More than one best match for element method      */
-  //public static final int ER_MORE_MATCH_ELEMENT = 125;
-
-
-  {
-    ER_MORE_MATCH_ELEMENT,
-             "Fler \u00e4n en b\u00e4sta matchning f\u00f6r elementmetod {0}"},
-
-  
-   /** Invalid context passed to evaluate       */
-  //public static final int ER_INVALID_CONTEXT_PASSED = 126;
-
-
-  {
-    ER_INVALID_CONTEXT_PASSED,
-             "Ogiltig kontext skickad f\u00f6r att utv\u00e4rdera {0}"},
-
-  
-   /** Pool already exists       */
-  //public static final int ER_POOL_EXISTS = 127;
-
-
-  {
-    ER_POOL_EXISTS,
-             "Pool finns redan"},
-
-  
-   /** No driver Name specified      */
-  //public static final int ER_NO_DRIVER_NAME = 128;
-
-
-  {
-    ER_NO_DRIVER_NAME,
-             "Inget driver-namn angivet"},
-
-  
-   /** No URL specified     */
-  //public static final int ER_NO_URL = 129;
-
-
-  {
-    ER_NO_URL,
-             "Ingen URL angiven"},
-
-  
-   /** Pool size is less than one    */
-  //public static final int ER_POOL_SIZE_LESSTHAN_ONE = 130;
-
-
-  {
-    ER_POOL_SIZE_LESSTHAN_ONE,
-             "Poolstorlek \u00e4r mindre \u00e4n ett!"},
-
-  
-   /** Invalid driver name specified    */
-  //public static final int ER_INVALID_DRIVER = 131;
-
-
-  {
-    ER_INVALID_DRIVER,
-             "Ogiltigt driver-namn angivet"},
-
-  
-   /** Did not find the stylesheet root    */
-  //public static final int ER_NO_STYLESHEETROOT = 132;
-
-
-  {
-    ER_NO_STYLESHEETROOT,
-             "Hittade inte stylesheet-roten!"},
-
-  
-   /** Illegal value for xml:space     */
-  //public static final int ER_ILLEGAL_XMLSPACE_VALUE = 133;
-
-
-  {
-    ER_ILLEGAL_XMLSPACE_VALUE,
-         "Ogiltigt v\u00e4rde f\u00f6r xml:space"},
-
-  
-   /** processFromNode failed     */
-  //public static final int ER_PROCESSFROMNODE_FAILED = 134;
-
-
-  {
-    ER_PROCESSFROMNODE_FAILED,
-         "processFromNode misslyckades"},
-
-  
-   /** The resource [] could not load:     */
-  //public static final int ER_RESOURCE_COULD_NOT_LOAD = 135;
-
-
-  {
-    ER_RESOURCE_COULD_NOT_LOAD,
-        "Resursen [ {0} ] kunde inte laddas: {1} \n {2} \t {3}"},
-
-   
-  
-   /** Buffer size <=0     */
-  //public static final int ER_BUFFER_SIZE_LESSTHAN_ZERO = 136;
-
-
-  {
-    ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Bufferstorlek <=0"},
-
-  
-   /** Unknown error when calling extension    */
-  //public static final int ER_UNKNOWN_ERROR_CALLING_EXTENSION = 137;
-
-
-  {
-    ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Ok\u00e4nt fel vid anslutningsanrop"},
-
-  
-   /** Prefix {0} does not have a corresponding namespace declaration    */
-  //public static final int ER_NO_NAMESPACE_DECL = 138;
-
-
-  {
-    ER_NO_NAMESPACE_DECL,
-        "Prefix{0} har inte en motsvarande namnrymdsdeklaration"},
-
-  
-   /** Element content not allowed for lang=javaclass   */
-  //public static final int ER_ELEM_CONTENT_NOT_ALLOWED = 139;
-
-
-  {
-    ER_ELEM_CONTENT_NOT_ALLOWED,
-        "Elementinneh\u00e5ll \u00e4r inte till\u00e5tet f\u00f6r lang=javaclass {0}"},
-
-  
-   /** Stylesheet directed termination   */
-  //public static final int ER_STYLESHEET_DIRECTED_TERMINATION = 140;
-
-
-  {
-    ER_STYLESHEET_DIRECTED_TERMINATION,
-        "Stylesheet-ledd avslutning"},
-
-  
-   /** 1 or 2   */
-  //public static final int ER_ONE_OR_TWO = 141;
-
-
-  {
-    ER_ONE_OR_TWO,
-        "1 eller 2"},
-
-  
-   /** 2 or 3   */
-  //public static final int ER_TWO_OR_THREE = 142;
-
-
-  {
-    ER_TWO_OR_THREE,
-        "2 eller 3"},
-
-  
-   /** Could not load {0} (check CLASSPATH), now using just the defaults   */
-  //public static final int ER_COULD_NOT_LOAD_RESOURCE = 143;
-
-
-  {
-    ER_COULD_NOT_LOAD_RESOURCE,
-        "Kunde inte ladda {0} (kontrollera CLASSPATH), anv\u00e4nder nu enbart standard"},
-
-  
-   /** Cannot initialize default templates   */
-  //public static final int ER_CANNOT_INIT_DEFAULT_TEMPLATES = 144;
-
-
-  {
-    ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Kan inte initialisera standardmallar"},
-
-  
-   /** Result should not be null   */
-  //public static final int ER_RESULT_NULL = 145;
-
-
-  {
-    ER_RESULT_NULL,
-        "Result borde inte vara null"},
-
-    
-   /** Result could not be set   */
-  //public static final int ER_RESULT_COULD_NOT_BE_SET = 146;
-
-
-  {
-    ER_RESULT_COULD_NOT_BE_SET,
-        "Result kunde inte s\u00e4ttas"},
-
-  
-   /** No output specified   */
-  //public static final int ER_NO_OUTPUT_SPECIFIED = 147;
-
-
-  {
-    ER_NO_OUTPUT_SPECIFIED,
-        "Ingen utdata angiven"},
-
-  
-   /** Can't transform to a Result of type   */
-  //public static final int ER_CANNOT_TRANSFORM_TO_RESULT_TYPE = 148;
-
-
-  {
-    ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "Kan inte omvandla till en Result av typ {0}"},
-
-  
-   /** Can't transform to a Source of type   */
-  //public static final int ER_CANNOT_TRANSFORM_SOURCE_TYPE = 149;
-
-
-  {
-    ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "Kan inte omvandla en Source av typ {0}"},
-
-  
-   /** Null content handler  */
-  //public static final int ER_NULL_CONTENT_HANDLER = 150;
-
-
-  {
-    ER_NULL_CONTENT_HANDLER,
-        "Inneh\u00e5llshanterare med v\u00e4rde null"},
-
-  
-   /** Null error handler  */
-  //public static final int ER_NULL_ERROR_HANDLER = 151;
-
-
-  {
-    ER_NULL_ERROR_HANDLER,
-        "Felhanterare med v\u00e4rde null"},
-
-  
-   /** parse can not be called if the ContentHandler has not been set */
-  //public static final int ER_CANNOT_CALL_PARSE = 152;
-
-
-  {
-    ER_CANNOT_CALL_PARSE,
-        "parse kan inte anropas om ContentHandler inte har satts"},
-
-  
-   /**  No parent for filter */
-  //public static final int ER_NO_PARENT_FOR_FILTER = 153;
-
-
-  {
-    ER_NO_PARENT_FOR_FILTER,
-        "Ingen f\u00f6r\u00e4lder till filter"},
-
-  
-  
-   /**  No stylesheet found in: {0}, media */
-  //public static final int ER_NO_STYLESHEET_IN_MEDIA = 154;
-
-
-  {
-    ER_NO_STYLESHEET_IN_MEDIA,
-         "Stylesheet saknas i: {0}, media= {1}"},
-
-  
-   /**  No xml-stylesheet PI found in */
-  //public static final int ER_NO_STYLESHEET_PI = 155;
-
-
-  {
-    ER_NO_STYLESHEET_PI,
-         "xml-stylesheet PI saknas i: {0}"},
-
-  
-   /**  Not supported  */
-  //public static final int ER_NOT_SUPPORTED = 171;
-
-
-  {
-    ER_NOT_SUPPORTED,
-       "Underst\u00f6ds inte: {0}"},
-
-  
-   /**  Value for property {0} should be a Boolean instance  */
-  //public static final int ER_PROPERTY_VALUE_BOOLEAN = 177;
-
-
-  {
-    ER_PROPERTY_VALUE_BOOLEAN,
-       "V\u00e4rde p\u00e5 egenskap {0} borde vara en Boolesk instans"},
-
-  
-   /* This key/message changed ,NEED ER_COULD_NOT_FIND_EXTERN_SCRIPT: Pending,Ramesh */
-
-   /** src attribute not yet supported for  */
-  //public static final int ER_SRC_ATTRIB_NOT_SUPPORTED = 195;
-
-
-  {
-    "ER_SRC_ATTRIB_NOT_SUPPORTED",
-       "src-attributet underst\u00f6ds \u00e4nnu inte f\u00f6r {0}"},
-
-  
-  /** The resource [] could not be found     */
-  //public static final int ER_RESOURCE_COULD_NOT_FIND = 196;
-
-
-  {
-    ER_RESOURCE_COULD_NOT_FIND,
-        "Resursen [ {0} ] saknas. \n {1}"},
-
-  
-   /** output property not recognized:  */
-  //public static final int ER_OUTPUT_PROPERTY_NOT_RECOGNIZED = 197;
-
-
-  {
-    ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "Utdata-egenskap k\u00e4nns inte igen: {0}"},
-
-  
-   /** Failed creating ElemLiteralResult instance   */
-  //public static final int ER_FAILED_CREATING_ELEMLITRSLT = 203;
-
-
-  {
-    ER_FAILED_CREATING_ELEMLITRSLT,
-        "Kunde inte skapa instans av ElemLiteralResult"},
-    
-  
-   // Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-   // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-   //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-   //NOTE: Not only the key name but message has also been changed. - nb.
-
-   /** Priority value does not contain a parsable number   */
-  //public static final int ER_VALUE_SHOULD_BE_NUMBER = 204;
-
-
-  {
-     ER_VALUE_SHOULD_BE_NUMBER,
-         "V\u00e4rdet f\u00f6r {0} b\u00f6r inneh\u00e5lla en siffra som inte kan tolkas"},
-
-  
-   /**  Value for {0} should equal 'yes' or 'no'   */
-  //public static final int ER_VALUE_SHOULD_EQUAL = 205;
-
-
-  {
-    ER_VALUE_SHOULD_EQUAL,
-        "V\u00e4rde p\u00e5 {0} borde motsvara ja eller nej"},
-
- 
-   /**  Failed calling {0} method   */
-  //public static final int ER_FAILED_CALLING_METHOD = 206;
-
-
-  {
-    ER_FAILED_CALLING_METHOD,
-        " Kunde inte anropa metoden {0}"},
-
-  
-   /** Failed creating ElemLiteralResult instance   */
-  //public static final int ER_FAILED_CREATING_ELEMTMPL = 207;
-
-
-  {
-    ER_FAILED_CREATING_ELEMTMPL,
-        "Kunde inte skapa instans av ElemTemplateElement"},
-
-  
-   /**  Characters are not allowed at this point in the document   */
-  //public static final int ER_CHARS_NOT_ALLOWED = 208;
-
-
-  {
-    ER_CHARS_NOT_ALLOWED,
-        "Tecken \u00e4r inte till\u00e5tna i dokumentet vid den h\u00e4r tidpunkten"},
-
-  
-  /**  attribute is not allowed on the element   */
-  //public static final int ER_ATTR_NOT_ALLOWED = 209;
-
-
-  {
-    ER_ATTR_NOT_ALLOWED,
-        "Attributet \"{0}\" \u00e4r inte till\u00e5ten i det {1} elementet!"},
-
- 
-  /**  Bad value    */
-  //public static final int ER_BAD_VALUE = 211;
-
-
-  {
-    ER_BAD_VALUE,
-     "{0} d\u00e5ligt v\u00e4rde {1} "},
-
-  
-  /**  attribute value not found   */
-  //public static final int ER_ATTRIB_VALUE_NOT_FOUND = 212;
-
-
-  {
-    ER_ATTRIB_VALUE_NOT_FOUND,
-     "Attributet {0} saknas "},
-
-  
-  /**  attribute value not recognized    */
-  //public static final int ER_ATTRIB_VALUE_NOT_RECOGNIZED = 213;
-
-
-  {
-    ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "Attributv\u00e4rdet {0} k\u00e4nns inte igen "},
-
-  
-  /** Attempting to generate a namespace prefix with a null URI   */
-  //public static final int ER_NULL_URI_NAMESPACE = 216;
-
-
-  {
-    ER_NULL_URI_NAMESPACE,
-     "F\u00f6rs\u00f6ker generera ett namnomr\u00e5desprefix med en null-URI"},
-
-
-  // Following are the new ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-  /** Attempting to generate a namespace prefix with a null URI   */
-  //public static final int ER_NUMBER_TOO_BIG = 217;
-
-
-  {
-    ER_NUMBER_TOO_BIG,
-     "F\u00f6rs\u00f6ker formatera en siffra som \u00e4r st\u00f6rre \u00e4n det st\u00f6rsta l\u00e5nga heltalet"},
-
-
-//ER_CANNOT_FIND_SAX1_DRIVER
-
-  //public static final int  ER_CANNOT_FIND_SAX1_DRIVER = 218;
-
-
-  {
-    ER_CANNOT_FIND_SAX1_DRIVER,
-     "Det g\u00e5r inte att hitta SAX1-drivrutinen klass {0}"},
-
-
-//ER_SAX1_DRIVER_NOT_LOADED
-  //public static final int  ER_SAX1_DRIVER_NOT_LOADED = 219;
-
-
-  {
-    ER_SAX1_DRIVER_NOT_LOADED,
-     "SAX1-drivrutinen klass {0} hittades men kan inte laddas"},
-
-
-//ER_SAX1_DRIVER_NOT_INSTANTIATED
-  //public static final int  ER_SAX1_DRIVER_NOT_INSTANTIATED = 220 ;
-
-
-  {
-    ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "SAX1-drivrutinen klass {0} hittades men kan inte instansieras"},
-
-
-
-// ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER
-  //public static final int ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER = 221;
-
-
-  {
-    ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "SAX1-drivrutinen klass {0} implementerar inte org.xml.sax.Parser"},
-
-
-// ER_PARSER_PROPERTY_NOT_SPECIFIED
-  //public static final int  ER_PARSER_PROPERTY_NOT_SPECIFIED = 222;
-
-
-  {
-    ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "Systemegenskapen org.xml.sax.parser \u00e4r inte angiven"},
-
-
-//ER_PARSER_ARG_CANNOT_BE_NULL
-  //public static final int  ER_PARSER_ARG_CANNOT_BE_NULL = 223 ;
-
-
-  {
-    ER_PARSER_ARG_CANNOT_BE_NULL,
-     "Tolkningsargumentet f\u00e5r inte vara null"},
-
-
-
-// ER_FEATURE
-  //public static final int  ER_FEATURE = 224;
-
-
-  {
-    ER_FEATURE,
-     "Funktion:a {0}"},
-
-
-
-// ER_PROPERTY
-  //public static final int ER_PROPERTY = 225 ;
-
-
-  {
-    ER_PROPERTY,
-     "Egenskap:a {0}"},
-
-
-// ER_NULL_ENTITY_RESOLVER
-  //public static final int ER_NULL_ENTITY_RESOLVER  = 226;
-
-
-  {
-    ER_NULL_ENTITY_RESOLVER,
-     "Nullenhetsl\u00f6sare"},
-
-
-// ER_NULL_DTD_HANDLER
-  //public static final int  ER_NULL_DTD_HANDLER = 227 ;
-
-
-  {
-    ER_NULL_DTD_HANDLER,
-     "Null-DTD-hanterare"},
-
-
-// No Driver Name Specified!
-  //public static final int ER_NO_DRIVER_NAME_SPECIFIED = 228;
-
-  {
-    ER_NO_DRIVER_NAME_SPECIFIED,
-     "Inget drivrutinsnamn \u00e4r angett!"},
-
-
-
-// No URL Specified!
-  //public static final int ER_NO_URL_SPECIFIED = 229;
-
-  {
-    ER_NO_URL_SPECIFIED,
-     "Ingen URL har angetts!"},
-
-
-
-// Pool size is less than 1!
-  //public static final int ER_POOLSIZE_LESS_THAN_ONE = 230;
-
-  {
-    ER_POOLSIZE_LESS_THAN_ONE,
-     "Poolstorleken \u00e4r mindre \u00e4n 1!"},
-
-
-
-// Invalid Driver Name Specified!
-  //public static final int ER_INVALID_DRIVER_NAME = 231;
-
-  {
-    ER_INVALID_DRIVER_NAME,
-     "Ett ogiltigt drivrutinsnamn har angetts!"},
-
-
-
-
-// ErrorListener
-  //public static final int ER_ERRORLISTENER = 232;
-
-  {
-    ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-
-// Programmer's error! expr has no ElemTemplateElement parent!
-  //public static final int ER_ASSERT_NO_TEMPLATE_PARENT = 233;
-
-  {
-    ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Programmerarfel! expr har inget \u00f6verordnat ElemTemplateElement!"},
-
-
-
-// Programmer's assertion in RundundentExprEliminator: {0}
-  //public static final int ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR = 234;
-
-  {
-    ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "Programmerarkontroll i RundundentExprEliminator: {0}"},
-
-
-  // {0}is not allowed in this position in the stylesheet!
-  //public static final int ER_NOT_ALLOWED_IN_POSITION = 237;
-
-  {
-    ER_NOT_ALLOWED_IN_POSITION,
-     "{0} \u00e4r inte till\u00e5ten i denna position i formatmallen!"},
-
-
-  // Non-whitespace text is not allowed in this position in the stylesheet!
-  //public static final int ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION = 238;
-
-  {
-    ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "Text utan blanksteg \u00e4r inte till\u00e5ten i denna position i formatmallen!"},
-
-
-  // This code is shared with warning codes.
-  // Illegal value: {1} used for CHAR attribute: {0}.  An attribute of type CHAR must be only 1 character!
-  //public static final int INVALID_TCHAR = 239;
-  // SystemId Unknown
-
-  {
-    INVALID_TCHAR,
-     "Ogiltigt v\u00e4rde: {1} anv\u00e4nds f\u00f6r CHAR-attributet: {0}.  Ett attribut av CHAR-typ f\u00e5r bara ha 1 tecken!"},
-
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    // INVALID_QNAME
-
-  //The following codes are shared with the warning codes...
-  // Illegal value: {1} used for QNAME attribute: {0}
-  //public static final int INVALID_QNAME = 242;
-
-  {
-    INVALID_QNAME,
-     "Ogiltigt v\u00e4rde:a {1} anv\u00e4nds f\u00f6r QNAME-attributet:a {0}"},
-
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    // INVALID_ENUM
-
-  // Illegal value:a {1} used for ENUM attribute:a {0}.  Valid values are:a {2}.
-  //public static final int INVALID_ENUM = 243;
-
-  {
-    INVALID_ENUM,
-     "Ogiltigt v\u00e4rde:a  {1} anv\u00e4nds f\u00f6r ENUM-attributet:a {0}.  Giltiga v\u00e4rden \u00e4r:a {2}."},
-
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-// INVALID_NMTOKEN
-
-  // Illegal value:a {1} used for NMTOKEN attribute:a {0}.
-  //public static final int INVALID_NMTOKEN = 244;
-
-  {
-    INVALID_NMTOKEN,
-     "Ogiltigt v\u00e4rde:a {1} anv\u00e4nds f\u00f6r NMTOKEN-attributet:a {0} "},
-
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-// INVALID_NCNAME
-
-  // Illegal value:a {1} used for NCNAME attribute:a {0}.
-  //public static final int INVALID_NCNAME = 245;
-
-  {
-    INVALID_NCNAME,
-     "Ogiltigt v\u00e4rde:a {1} anv\u00e4nds f\u00f6r NCNAME-attributet:a {0} "},
-
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-// INVALID_BOOLEAN
-
-  // Illegal value:a {1} used for boolean attribute:a {0}.
-  //public static final int INVALID_BOOLEAN = 246;
-
-
-  {
-    INVALID_BOOLEAN,
-     "Ogiltigt v\u00e4rde:a {1} anv\u00e4nds som Booleskt attribut:a {0} "},
-
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-// INVALID_NUMBER
-
-  // Illegal value:a {1} used for number attribute:a {0}.
-  //public static final int INVALID_NUMBER = 247;
-
-  {
-    INVALID_NUMBER,
-     "Ogiltigt v\u00e4rde:a {1} anv\u00e4nds som sifferattribut:a {0} "},
-
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-
-  // Argument to {0} in match pattern must be a literal.
-  //public static final int ER_ARG_LITERAL             = 248;
-
-  {
-    ER_ARG_LITERAL,
-     "Argument f\u00f6r {0} i matchningsm\u00f6nstret m\u00e5ste vara literalt."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-
-  // Duplicate global variable declaration.
-  //public static final int ER_DUPLICATE_GLOBAL_VAR    = 249;
-
-  {
-    ER_DUPLICATE_GLOBAL_VAR,
-     "Dubbel deklaration av global variabel."},
-
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-
-  // Duplicate variable declaration.
-  //public static final int ER_DUPLICATE_VAR           = 250;
-
-  {
-    ER_DUPLICATE_VAR,
-     "Dubbel variabeldeklaration."},
-
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-
-  // xsl:template must have a name or match attribute (or both)
-  //public static final int ER_TEMPLATE_NAME_MATCH     = 251;
-
-  {
-    ER_TEMPLATE_NAME_MATCH,
-     "xsl: en mall m\u00e5ste ha ett namn och ett matchningsattribut (eller b\u00e5de och)"},
-
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-
-  // Prefix in exclude-result-prefixes is not valid:a {0}
-  //public static final int ER_INVALID_PREFIX          = 252;
-
-  {
-    ER_INVALID_PREFIX,
-     "Prefix i exclude-result-prefixes \u00e4r ogiltigt:a {0}"},
-
-
-    // Note to translators:  An "attribute set" is a set of attributes that can be
-    // added to an element in the output document as a group.  The message indicates
-    // that there was a reference to an attribute set named {0} that was never
-    // defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-
-  // attribute-set named {0} does not exist
-  //public static final int ER_NO_ATTRIB_SET           = 253;
-
-  {
-    ER_NO_ATTRIB_SET,
-     "attributserien {0} finns inte"},
-
-
-  // Warnings...
-
-  /** WG_FOUND_CURLYBRACE          */
-  //public static final int WG_FOUND_CURLYBRACE = 1;
-
-
-  {
-    WG_FOUND_CURLYBRACE,
-      "Hittade '}' men ingen attributmall \u00e4r \u00f6ppen!"},
-
-
-  /** WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR          */
-  //public static final int WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR = 2;
-
-
-  {
-    WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Varning: r\u00e4knarattribut matchar inte en f\u00f6rf\u00e4der in xsl:number! Target = {0}"},
-
-
-  /** WG_EXPR_ATTRIB_CHANGED_TO_SELECT          */
-  //public static final int WG_EXPR_ATTRIB_CHANGED_TO_SELECT = 3;
-
-
-  {
-    WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Gammal syntax: Namnet p\u00e5  'expr'-attributet har \u00e4ndrats till 'select'."},
-
-
-  /** WG_NO_LOCALE_IN_FORMATNUMBER          */
-  //public static final int WG_NO_LOCALE_IN_FORMATNUMBER = 4;
-
-
-  {
-    WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan hanterar \u00e4nnu inte locale-namnet i funktionen format-number."},
-
-
-  /** WG_LOCALE_NOT_FOUND          */
-  //public static final int WG_LOCALE_NOT_FOUND = 5;
-
-
-  {
-    WG_LOCALE_NOT_FOUND,
-      "Varning: Hittade inte locale f\u00f6r xml:lang{0}"},
-
-
-  /** WG_CANNOT_MAKE_URL_FROM          */
-  //public static final int WG_CANNOT_MAKE_URL_FROM = 6;
-
-
-  {
-    WG_CANNOT_MAKE_URL_FROM,
-      "Kan inte skapa URL fr\u00e5n: {0}"},
-
-
-  /** WG_CANNOT_LOAD_REQUESTED_DOC          */
-  //public static final int WG_CANNOT_LOAD_REQUESTED_DOC = 7;
-
-
-  {
-    WG_CANNOT_LOAD_REQUESTED_DOC,
-      "Kan inte ladda beg\u00e4rd doc: {0}"},
-
-
-  /** WG_CANNOT_FIND_COLLATOR          */
-  //public static final int WG_CANNOT_FIND_COLLATOR = 8;
-
-
-  {
-    WG_CANNOT_FIND_COLLATOR,
-      "Hittade inte Collator f\u00f6r <sort xml:lang={0}"},
-
-
-  /** WG_FUNCTIONS_SHOULD_USE_URL          */
-  //public static final int WG_FUNCTIONS_SHOULD_USE_URL = 9;
-
-
-  {
-    WG_FUNCTIONS_SHOULD_USE_URL,
-      "Gammal syntax: Funktionsinstruktionen borde anv\u00e4nda en url av {0}"},
-
-
-  /** WG_ENCODING_NOT_SUPPORTED_USING_UTF8          */
-  //public static final int WG_ENCODING_NOT_SUPPORTED_USING_UTF8 = 10;
-
-
-  {
-    WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "kodning underst\u00f6ds inte: {0}, anv\u00e4nder UTF-8"},
-
-
-  /** WG_ENCODING_NOT_SUPPORTED_USING_JAVA          */
-  //public static final int WG_ENCODING_NOT_SUPPORTED_USING_JAVA = 11;
-
-
-  {
-    WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "kodning underst\u00f6ds inte: {0}, anv\u00e4nder Java {1}"},
-
-
-  /** WG_SPECIFICITY_CONFLICTS          */
-  //public static final int WG_SPECIFICITY_CONFLICTS = 12;
-
-
-  {
-    WG_SPECIFICITY_CONFLICTS,
-      "Hittade specificitetskonflikter: {0} Senast hittade i stylesheet kommer att anv\u00e4ndas."},
-
-
-  /** WG_PARSING_AND_PREPARING          */
-  //public static final int WG_PARSING_AND_PREPARING = 13;
-
-
-  {
-    WG_PARSING_AND_PREPARING,
-      "========= Tolkar och f\u00f6rbereder {0} =========="},
-
-
-  /** WG_ATTR_TEMPLATE          */
-  //public static final int WG_ATTR_TEMPLATE = 14;
-
-
-  {
-    WG_ATTR_TEMPLATE, "Attributmall, {0}"},
-
-
-  /** WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE          */
-  //public static final int WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = 15;
-
-
-  {
-    WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "Matcha konflikter mellan xsl:strip-space och xsl:preserve-space"},
-
-
-  /** WG_ATTRIB_NOT_HANDLED          */
-  //public static final int WG_ATTRIB_NOT_HANDLED = 16;
-
-
-  {
-    WG_ATTRIB_NOT_HANDLED,
-      "Xalan hanterar \u00e4nnu inte attributet {0}!"},
-
-
-  /** WG_NO_DECIMALFORMAT_DECLARATION          */
-  //public static final int WG_NO_DECIMALFORMAT_DECLARATION = 17;
-
-
-  {
-    WG_NO_DECIMALFORMAT_DECLARATION,
-      "Deklaration saknas f\u00f6r decimalformat: {0}"},
-
-
-  /** WG_OLD_XSLT_NS          */
-  //public static final int WG_OLD_XSLT_NS = 18;
-
-
-  {
-    WG_OLD_XSLT_NS, "XSLT-Namnrymd saknas eller \u00e4r inkorrekt "},
-
-
-  /** WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED          */
-  //public static final int WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED = 19;
-
-
-  {
-    WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Endast en standarddeklaration av xsl:decimal-format \u00e4r till\u00e5ten."},
-
-
-  /** WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE          */
-  //public static final int WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE = 20;
-
-
-  {
-    WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "xsl:decimal-formatnamn m\u00e5ste vara unika. Namnet \"{0}\" har blivit duplicerat."},
-
-
-  /** WG_ILLEGAL_ATTRIBUTE          */
-  //public static final int WG_ILLEGAL_ATTRIBUTE = 21;
-
-
-  {
-    WG_ILLEGAL_ATTRIBUTE,
-      "{0} har ett otill\u00e5tet attribut: {1}"},
-
-
-  /** WG_COULD_NOT_RESOLVE_PREFIX          */
-  //public static final int WG_COULD_NOT_RESOLVE_PREFIX = 22;
-
-
-  {
-    WG_COULD_NOT_RESOLVE_PREFIX,
-      "Kan inte l\u00f6sa namnrymdsprefix: {0}. Noden kommer att ignoreras."},
-
-
-  /** WG_STYLESHEET_REQUIRES_VERSION_ATTRIB          */
-  //public static final int WG_STYLESHEET_REQUIRES_VERSION_ATTRIB = 23;
-
-
-  {
-    WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet m\u00e5ste ha ett 'version'-attribut!"},
-
-
-  /** WG_ILLEGAL_ATTRIBUTE_NAME          */
-  //public static final int WG_ILLEGAL_ATTRIBUTE_NAME = 24;
-
-
-  {
-    WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Otill\u00e5tet attributnamn: {0}"},
-
-
-  /** WG_ILLEGAL_ATTRIBUTE_VALUE          */
-  //public static final int WG_ILLEGAL_ATTRIBUTE_VALUE = 25;
-
-
-  {
-    WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "Ogiltigt v\u00e4rde anv\u00e4nt f\u00f6r attribut {0}: {1}"},
-
-
-  /** WG_EMPTY_SECOND_ARG          */
-  //public static final int WG_EMPTY_SECOND_ARG = 26;
-
-
-  {
-    WG_EMPTY_SECOND_ARG,
-      "Den resulterande nodm\u00e4ngden fr\u00e5n dokumentfunktions andra argument \u00e4r tomt. Det f\u00f6rsta argumentet kommer att anv\u00e4ndas."},
-
-
-  // Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    // WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML
-
-
-  /** WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML          */
-  //public static final int WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML = 27;
-
-  {
-     WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "V\u00e4rdet p\u00e5 attributet 'name' i xsl:processing-instruction f\u00e5r inte vara 'xml'"},
-
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    // WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME
-
-  /** WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME          */
-  //public static final int WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME = 28;
-
-  {
-     WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "V\u00e4rdet p\u00e5 attributet  ''name'' i xsl:processing-instruction m\u00e5ste vara ett giltigt NCName:a {0}"},
-
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    // WG_ILLEGAL_ATTRIBUTE_POSITION
-
-  /** WG_ILLEGAL_ATTRIBUTE_POSITION         */
-  //public static final int WG_ILLEGAL_ATTRIBUTE_POSITION = 29;
-
-  {
-    WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Det g\u00e5r inte att l\u00e4gga till attributet {0} efter undernoder eller innan ett element produceras. Attributet ignoreras."},
-
-
-    // WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "sv"},
-  { "help_language", "sv"},
-  { "language", "sv"},
-    { "BAD_CODE",
-      "Parameter till createMessage ligger utanf\u00f6r till\u00e5tet intervall"},
-    { "FORMAT_FAILED",
-      "Undantag utl\u00f6st vid messageFormat-anrop"},
-    { "version", ">>>>>>> Xalan Version"},
-    { "version2", "<<<<<<<"},
-    { "yes", "ja"},
-    { "line",  "Rad #"},
-    { "column", "Kolumn #"},
-    { "xsldone", "XSLProcessor: f\u00e4rdig"},
-    { "xslProc_option", "Xalan-J kommando linje Process klass alternativ:"},
-    { "optionIN", "    -IN inputXMLURL"},
-    { "optionXSL", "   [-XSL XSLTransformationURL]"},
-    { "optionOUT", "   [-OUT utdataFilnamn]"},
-    { "optionLXCIN", "   [-LXCIN kompileratStylesheetFilnameIn]"},
-    { "optionLXCOUT", "   [-LXCOUT kompileratStylesheetFilenameUt]"},
-    { "optionPARSER", 
-      "   [-PARSER fullt kvalificerat klassnamn eller tolkf\u00f6rbindelse]"},
-    { "optionE", "   [-E (Ut\u00f6ka inte enhetsreferenser)]"},
-    { "optionV", "   [-E (Ut\u00f6ka inte enhetsreferenser)]"},
-    { "optionQC",
-      "   [-QC (Tysta M\u00f6nsterkonfliktvarningar)]"},
-    { "optionQ", "   [-Q  (Tyst Tillst\u00e5nd)]"},
-    { "optionLF",
-      "   [-LF (Anv\u00e4nd radframmatning enbart p\u00e5 utdata {standard \u00e4r CR/LF})]"},
-    { "optionCR",
-      "   [-CR (Anv\u00e4nd vagnretur enbart p\u00e5 utdata {standard \u00e4r CR/LF})]"},
-    { "optionESCAPE",
-      "   [-ESCAPE (Vilka tecken \u00e4r skiftningstecken {standard \u00e4r <>&\"\'\\r\\n}]"},
-    { "optionINDENT",
-      "   [-INDENT (Best\u00e4m antal blanksteg f\u00f6r att tabulera {standard \u00e4r 0})]"},
-    { "optionTT",
-      "   [-TT (Sp\u00e5ra mallarna allt eftersom de blir anropade.)]"},
-    { "optionTG",
-      "   [-TG (Sp\u00e5ra varje generationsh\u00e4ndelse.)]"},
-    { "optionTS", "   [-TS (Sp\u00e5ra varje valh\u00e4ndelse.)]"},
-    { "optionTTC",
-      "   [-TTC (Sp\u00e5ra mallbarnen allt eftersom de blir behandlade.)]"},
-    { "optionTCLASS",
-      "   [-TCLASS (TraceListener-klass f\u00f6r sp\u00e5rningsanslutningar.)]"},
-    { "optionVALIDATE",
-      "   [-VALIDATE (S\u00e4tt om validering ska ske.  Standard \u00e4r att validering \u00e4r avst\u00e4ngd)]"},
-    { "optionEDUMP",
-      "   [-EDUMP {valfritt filnamn) (G\u00f6r stackdump vid fel.)]"},
-    { "optionXML",
-      "   [-XML (Anv\u00e4nd XML-formaterare och l\u00e4gg till XML-huvud.)]"},
-    { "optionTEXT",
-      "   [-XML (Anv\u00e4nd enkel Text-formaterare.)]"},
-    { "optionHTML", "   [-HTML (Anv\u00e4nd HTML-formaterare)]"},
-    { "optionPARAM",
-      "   [-PARAM namn uttryck (S\u00e4tt en stylesheet-parameter)]"},
-    { "noParsermsg1", "XSL-Process misslyckades."},
-    { "noParsermsg2", "** Hittade inte tolk **"},
-    { "noParsermsg3", "V\u00e4nligen kontrollera din classpath"},
-    { "noParsermsg4",
-      "Om du inte har IBMs XML-Tolk f\u00f6r Java, kan du ladda ner den fr\u00e5n"},
-    { "noParsermsg5",
-      "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-    {  "optionURIRESOLVER",
-    "   [-URIRESOLVER fullst\u00e4ndigt klassnamn (URIResolver som ska anv\u00e4ndas f\u00f6r att l\u00f6sa URI-er)]"},
-    { "optionENTITYRESOLVER",
-    "   [-ENTITYRESOLVER fullst\u00e4ndigt klassnamn (EntityResolver som ska anv\u00e4ndas f\u00f6r att l\u00f6sa enheter)]"},
-    {  "optionCONTENTHANDLER",
-    "   [-CONTENTRESOLVER fullst\u00e4ndigt klassnamn (ContentHandler som ska anv\u00e4ndas f\u00f6r att serialisera utdata)]"},
-    { "optionLINENUMBERS", "   [-L anv\u00e4nd radnummer i k\u00e4lldokument]"},
-
-    //Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-    { "optionMEDIA",
-    " [-MEDIA mediaType (anv\u00e4nd medieattribut f\u00f6r att hitta en formatmall som \u00e4r associerad med ett dokument.)]"},
-    { "optionFLAVOR",
-    " [-FLAVOR flavorName (Anv\u00e4nd s2s=SAX eller d2d=DOM f\u00f6r transformationen.)] "}, // Added by sboag/scurcuru; experimental
-    { "optionDIAG",
-    " [-DIAG (Skriv ut totala transformationer, millisekunder.)]"},
-    { "optionINCREMENTAL",
-    " [-INCREMENTAL (beg\u00e4r inkrementell DTM-konstruktion genom att ange http://xml.apache.org/xalan/features/incremental true.)]"},
-    { "optionNOOPTIMIMIZE",
-    " [-NOOPTIMIMIZE (beg\u00e4r ingen formatmallsoptimering genom att ange http://xml.apache.org/xalan/features/optimize false.)]"},
-    { "optionRL",
-     " [-RL recursionlimit (kontrollera numerisk gr\u00e4ns p\u00e5 formatmallens rekursionsdjup.)]"},
-    { "optionXO",
-    " [-XO [transletName] (tilldela namnet till genererad translet)]"},
-    { "optionXD",
-    " [-XD destinationDirectory (ange m\u00e5lkatalog f\u00f6r translet)]"},
-    { "optionXJ",
-    " [-XJ jarfile (paketerar transletklasserna i en jar-fil med namnet <jarfile>)]"},
-    { "optionXP",
-    " [-XP-paket (anger ett paketnamnsprefix f\u00f6r alla genererade transletklasser)]"}
-
-		
-  };
-  }
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "D\u00c5LIG_KOD";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMATERING_MISSLYCKADES";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#fel";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Fel: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Varning: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "M\u00d6NSTER ";
-
-}
-
-
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_tr.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_tr.java
deleted file mode 100644
index 283e8e3..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_tr.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_tr.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_tr extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "Hata: \u0130fade i\u00e7inde '{' olamaz"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} ge\u00e7ersiz {1} \u00f6zniteli\u011fini i\u00e7eriyor"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "xsl:apply-imports i\u00e7inde sourceNode bo\u015f de\u011ferli!"},
-
-  {ER_CANNOT_ADD,
-      "{0}, {1} i\u00e7ine eklenemiyor"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "handleApplyTemplatesInstruction i\u00e7inde sourceNode bo\u015f de\u011ferli!"},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} i\u00e7in \u00f6znitelik belirtilmeli."},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "Ad\u0131 {0} olan \u015fablon bulunamad\u0131"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "xsl:call-template i\u00e7inde AVT ad\u0131 \u00e7\u00f6z\u00fclemedi."},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} i\u00e7in {1} \u00f6zniteli\u011fi gerekiyor."},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} i\u00e7in ''test'' \u00f6zniteli\u011fi gerekiyor."},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "{0} d\u00fczey \u00f6zniteli\u011finde hatal\u0131 de\u011fer."},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "processing-instruction ad\u0131 'xml' olamaz"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "processing-instruction ad\u0131 ge\u00e7erli bir NCName olmal\u0131d\u0131r: {0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} kip i\u00e7eriyorsa match \u00f6zniteli\u011fi olmas\u0131 gerekir."},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} i\u00e7in name ya da match \u00f6zniteli\u011fi gerekiyor."},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "Ad alan\u0131 \u00f6neki {0} \u00e7\u00f6z\u00fclemiyor."},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space ge\u00e7ersiz {0} de\u011ferini i\u00e7eriyor."},
-
-    { ER_NO_OWNERDOC,
-      "Alt d\u00fc\u011f\u00fcm\u00fcn iye belgesi yok!"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "ElemTemplateElement hatas\u0131: {0}"},
-
-    { ER_NULL_CHILD,
-     "Bo\u015f de\u011ferli (null) alt \u00f6\u011fe ekleme giri\u015fimi!"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} i\u00e7in select \u00f6zniteli\u011fi gerekiyor."},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when i\u00e7in 'test' \u00f6zniteli\u011fi gereklidir."},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param i\u00e7in 'name' \u00f6zniteli\u011fi gereklidir."},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "Ba\u011flam\u0131n iye belgesi yok!"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "XML TransformerFactory ili\u015fkisi {0} yarat\u0131lamad\u0131"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: Process ba\u015far\u0131l\u0131 olmad\u0131."},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: ba\u015far\u0131l\u0131 olmad\u0131."},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "{0} kodlamas\u0131 desteklenmiyor."},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "TraceListener {0} yarat\u0131lamad\u0131."},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key i\u00e7in 'name' \u00f6zniteli\u011fi gerekiyor!"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key i\u00e7in 'match' \u00f6zniteli\u011fi gerekiyor!"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key i\u00e7in 'use' \u00f6zniteli\u011fi gerekiyor!"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} i\u00e7in ''elements'' \u00f6zniteli\u011fi gerekiyor!"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) {0} \u00f6zniteli\u011fi ''prefix'' eksik"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "Bi\u00e7em yapra\u011f\u0131 URL adresi {0} ge\u00e7ersiz"},
-
-    { ER_FILE_NOT_FOUND,
-     "Bi\u00e7em yapra\u011f\u0131 dosyas\u0131 bulunamad\u0131: {0}"},
-
-    { ER_IOEXCEPTION,
-      "Bi\u00e7em yapra\u011f\u0131 dosyas\u0131 {0} ile G\u00c7 kural d\u0131\u015f\u0131 durumu olu\u015ftu"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) {0} i\u00e7in href \u00f6zniteli\u011fi bulunamad\u0131"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} do\u011frudan ya da dolayl\u0131 olarak kendisini i\u00e7eriyor!"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "StylesheetHandler.processInclude hatas\u0131, {0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) {0} \u00f6zniteli\u011fi ''lang'' eksik"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) {0} \u00f6\u011fesinin yeri yanl\u0131\u015f? Ta\u015f\u0131y\u0131c\u0131 \u00f6\u011fesi ''component'' eksik"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "\u00c7\u0131k\u0131\u015f yaln\u0131zca \u015funlara y\u00f6neltilebilir: Element, DocumentFragment, Document ya da PrintWriter."},
-
-    { ER_PROCESS_ERROR,
-     "StylesheetRoot.process hatas\u0131"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "UnImplNode hatas\u0131: {0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "Hata! xpath select ifadesi (-select) bulunamad\u0131."},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "XSLProcessor diziselle\u015ftirilemez!"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "Bi\u00e7em yapra\u011f\u0131 giri\u015fi belirtilmedi!"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "Bi\u00e7em yapra\u011f\u0131 i\u015flenemedi!"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "{0} belgesi ayr\u0131\u015ft\u0131r\u0131lamad\u0131!"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "Par\u00e7a bulunamad\u0131: {0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "Par\u00e7a tan\u0131t\u0131c\u0131s\u0131n\u0131n g\u00f6sterdi\u011fi d\u00fc\u011f\u00fcm bir \u00f6\u011fe de\u011fildi: {0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each i\u00e7in e\u015fle\u015fme ya da ad \u00f6zniteli\u011fi gerekir"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "templates i\u00e7in e\u015fle\u015fme ya da ad \u00f6zniteli\u011fi gerekir"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "Belge par\u00e7as\u0131n\u0131n e\u015fkopyas\u0131 de\u011fil!"},
-
-    { ER_CANT_CREATE_ITEM,
-      "Sonu\u00e7 a\u011fac\u0131nda \u00f6\u011fe yarat\u0131lam\u0131yor: {0}"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "Kaynak XML i\u00e7inde xml:space ge\u00e7ersiz de\u011fer i\u00e7eriyor: {0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "{0} i\u00e7in xsl:key bildirimi yok!"},
-
-    { ER_CANT_CREATE_URL,
-     "Hata! \u0130lgili url yarat\u0131lam\u0131yor: {0}"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions desteklenmiyor"},
-
-    { ER_PROCESSOR_ERROR,
-     "XSLT TransformerFactory Hatas\u0131"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} bi\u00e7em yapra\u011f\u0131 i\u00e7inde olamaz!"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns art\u0131k desteklenmiyor!  Yerine xsl:output kullan\u0131n."},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space art\u0131k desteklenmiyor!  Yerine xsl:strip-space ya da xsl:preserve-space kullan\u0131n."},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result art\u0131k desteklenmiyor!  Yerine xsl:output kullan\u0131n."},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} ge\u00e7ersiz {1} \u00f6zniteli\u011fini i\u00e7eriyor"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "Bilinmeyen XSL \u00f6\u011fesi: {0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort yaln\u0131zca xsl:apply-templates ya da xsl:for-each ile kullan\u0131labilir."},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) xsl:when yeri yanl\u0131\u015f!"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when \u00f6\u011fesinin \u00fcst \u00f6\u011fesi xsl:choose de\u011fil!"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) xsl:otherwise yeri yanl\u0131\u015f!"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise \u00f6\u011fesinin \u00fcst \u00f6\u011fesi xsl:choose de\u011fil!"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "(StylesheetHandler) {0} \u015fablon i\u00e7inde kullan\u0131lamaz!"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0} eklenti ad alan\u0131 \u00f6neki {1} bilinmiyor"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Import \u00f6\u011feleri, bi\u00e7em yapra\u011f\u0131n\u0131n ilk \u00f6\u011feleri olarak ge\u00e7ebilir!"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} do\u011frudan ya da dolayl\u0131 olarak kendisini i\u00e7e aktar\u0131yor!"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space ge\u00e7ersiz {0} de\u011ferini i\u00e7eriyor"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet ba\u015far\u0131s\u0131z oldu!"},
-
-    { ER_SAX_EXCEPTION,
-     "SAX kural d\u0131\u015f\u0131 durumu"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "\u0130\u015flev desteklenmiyor!"},
-
-
-    { ER_XSLT_ERROR,
-     "XSLT hatas\u0131"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "Bi\u00e7im \u00f6r\u00fcnt\u00fcs\u00fc dizgisinde para birimi simgesi olamaz"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "Stylesheet DOM belge i\u015flevini desteklemiyor!"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "\u00d6nek d\u0131\u015f\u0131 \u00e7\u00f6z\u00fcc\u00fcn\u00fcn \u00f6neki \u00e7\u00f6z\u00fclemez."},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "Yeniden y\u00f6nlendirme eklentisi: Dosya ad\u0131 al\u0131namad\u0131 - file ya da select \u00f6zniteli\u011fi ge\u00e7erli bir dizgi d\u00f6nd\u00fcrmelidir."},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "Yeniden y\u00f6nlendirme eklentisinde FormatterListener olu\u015fturulamad\u0131!"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "exclude-result-prefixes i\u00e7indeki \u00f6nek ge\u00e7erli de\u011fil: {0}"},
-
-    { ER_MISSING_NS_URI,
-      "Belirtilen \u00f6nek i\u00e7in ad alan\u0131 URI eksik"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "{0} se\u00e7ene\u011fi i\u00e7in ba\u011f\u0131ms\u0131z de\u011fi\u015fken eksik"},
-
-    { ER_INVALID_OPTION,
-     "Ge\u00e7ersiz se\u00e7enek: {0}"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "Bozuk bi\u00e7imli bi\u00e7im dizgisi: {0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet i\u00e7in 'version' \u00f6zniteli\u011fi gerekiyor!"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "{0} \u00f6zniteli\u011fi ge\u00e7ersiz {1} de\u011ferini i\u00e7eriyor"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose i\u00e7in xsl:when gerekiyor"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports, xsl:for-each i\u00e7inde kullan\u0131lamaz"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "\u00c7\u0131k\u0131\u015f DOM d\u00fc\u011f\u00fcm\u00fc i\u00e7in DTMLiaison kullan\u0131lamaz... onun yerine org.apache.xpath.DOM2Helper aktar\u0131n!"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "Giri\u015f DOM d\u00fc\u011f\u00fcm\u00fc i\u00e7in DTMLiaison kullan\u0131lamaz... onun yerine org.apache.xpath.DOM2Helper aktar\u0131n!"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "Eklenti \u00f6\u011fesine \u00e7a\u011fr\u0131 ba\u015far\u0131s\u0131z oldu: {0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\u00d6nek bir ad alan\u0131na \u00e7\u00f6z\u00fclmelidir: {0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "UTF-16 yerine kullan\u0131lan de\u011fer ge\u00e7ersiz: {0} ?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} kendisini kulland\u0131, sonsuz d\u00f6ng\u00fc olu\u015facak."},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "Xerces-DOM d\u0131\u015f\u0131 giri\u015f Xerces-DOM \u00e7\u0131k\u0131\u015fla birle\u015ftirilemez!"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "ElemTemplateElement.readObject i\u00e7inde: {0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "Bu ad\u0131 ta\u015f\u0131yan birden \u00e7ok \u015fablon saptand\u0131: {0}"},
-
-    { ER_INVALID_KEY_CALL,
-      "Ge\u00e7ersiz i\u015flev \u00e7a\u011fr\u0131s\u0131: \u00d6zyineli key() \u00e7a\u011fr\u0131lar\u0131na izin verilmez"},
-
-    { ER_REFERENCING_ITSELF,
-      "{0} de\u011fi\u015fkeni do\u011frudan ya da dolayl\u0131 olarak kendisine ba\u015fvuruda bulunuyor!"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "newTemplates ile ilgili DOMSource i\u00e7in giri\u015f d\u00fc\u011f\u00fcm\u00fc bo\u015f de\u011ferli olamaz!"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "{0} se\u00e7ene\u011fi i\u00e7in s\u0131n\u0131f dosyas\u0131 bulunamad\u0131"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "Gerekli \u00f6\u011fe bulunamad\u0131: {0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream bo\u015f de\u011ferli olamaz"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI bo\u015f de\u011ferli olamaz"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "Dosya bo\u015f de\u011ferli olamaz"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource bo\u015f de\u011ferli olamaz"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "BSF Manager kullan\u0131ma haz\u0131rlanamad\u0131"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "Eklenti derlenemedi"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "Eklenti yarat\u0131lamad\u0131: {0} nedeni: {1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "{0} y\u00f6ntemine y\u00f6nelik Instance y\u00f6ntemi, birincil ba\u011f\u0131ms\u0131z de\u011fi\u015fkenin somutla\u015fan nesne \u00f6rne\u011fi olmas\u0131n\u0131 gerektirir"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "Belirtilen \u00f6\u011fe ad\u0131 ge\u00e7ersiz {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "\u00d6\u011fe ad\u0131 y\u00f6ntemi dura\u011fan {0} olmal\u0131"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "Eklenti i\u015flevi {0} : {1} bilinmiyor"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "{0} ile ilgili olu\u015fturucu i\u00e7in en iyi e\u015fle\u015fme say\u0131s\u0131 birden \u00e7ok"},
-
-    { ER_MORE_MATCH_METHOD,
-             "{0} y\u00f6ntemi i\u00e7in en iyi e\u015fle\u015fme say\u0131s\u0131 birden \u00e7ok"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "{0} \u00f6\u011fe y\u00f6ntemi i\u00e7in en iyi e\u015fle\u015fme say\u0131s\u0131 birden \u00e7ok"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "{0} de\u011ferlendirmesi i\u00e7in ge\u00e7ersiz ba\u011flam aktar\u0131ld\u0131"},
-
-    { ER_POOL_EXISTS,
-             "Havuz zaten var"},
-
-    { ER_NO_DRIVER_NAME,
-             "S\u00fcr\u00fcc\u00fc ad\u0131 belirtilmedi"},
-
-    { ER_NO_URL,
-             "URL belirtilmedi"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "Havuz b\u00fcy\u00fckl\u00fc\u011f\u00fc birden az!"},
-
-    { ER_INVALID_DRIVER,
-             "Belirtilen s\u00fcr\u00fcc\u00fc ad\u0131 ge\u00e7ersiz!"},
-
-    { ER_NO_STYLESHEETROOT,
-             "Bi\u00e7em yapra\u011f\u0131 k\u00f6k\u00fc bulunamad\u0131!"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "xml:space i\u00e7in ge\u00e7ersiz de\u011fer"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "processFromNode ba\u015far\u0131s\u0131z oldu"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "Kaynak [ {0} ] y\u00fckleyemedi: {1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "Arabellek b\u00fcy\u00fckl\u00fc\u011f\u00fc <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "Eklenti \u00e7a\u011fr\u0131l\u0131rken bilinmeyen hata"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "{0} \u00f6nekinin ili\u015fkili bir ad alan\u0131 bildirimi yok"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "lang=javaclass {0} i\u00e7in \u00f6\u011fe i\u00e7eri\u011fine izin verilmiyor"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "Bi\u00e7em yapra\u011f\u0131 y\u00f6nlendirmeli sonland\u0131rma"},
-
-    { ER_ONE_OR_TWO,
-        "1 ya da 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 ya da 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "{0} y\u00fcklenemedi (CLASSPATH de\u011fi\u015fkenini inceleyin), yaln\u0131zca varsay\u0131lanlar kullan\u0131l\u0131yor"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "Varsay\u0131lan \u015fablonlar kullan\u0131ma haz\u0131rlanam\u0131yor"},
-
-    { ER_RESULT_NULL,
-        "Sonu\u00e7 bo\u015f de\u011ferli olmamal\u0131"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "Sonu\u00e7 tan\u0131mlanamad\u0131"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "\u00c7\u0131k\u0131\u015f belirtilmedi"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "{0} tipi sonuca d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "{0} tipi kayna\u011fa d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "Bo\u015f de\u011ferli i\u00e7erik i\u015fleyici"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "Bo\u015f de\u011ferli hata i\u015fleyici"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "ContentHandler tan\u0131mlanmad\u0131ysa parse \u00e7a\u011fr\u0131lamaz"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "S\u00fczgecin \u00fcst \u00f6\u011fesi yok"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "Bi\u00e7em yapra\u011f\u0131 burada bulunamad\u0131: {0}, ortam= {1}"},
-
-    { ER_NO_STYLESHEET_PI,
-         "xml-stylesheet PI burada bulunamad\u0131: {0}"},
-
-    { ER_NOT_SUPPORTED,
-       "Desteklenmiyor: {0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "{0} \u00f6zelli\u011finin de\u011feri Boole somut \u00f6rne\u011fi olmal\u0131"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "{0} i\u00e7inde d\u0131\u015f komut dosyas\u0131na ula\u015f\u0131lamad\u0131"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "Kaynak [ {0} ] bulunamad\u0131.\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "\u00c7\u0131k\u0131\u015f \u00f6zelli\u011fi tan\u0131nm\u0131yor: {0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "ElemLiteralResult somut \u00f6rne\u011fi yarat\u0131lmas\u0131 ba\u015far\u0131s\u0131z oldu"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "{0} de\u011feri ayr\u0131\u015ft\u0131r\u0131labilir bir say\u0131 i\u00e7ermelidir"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "{0} de\u011feri yes ya da no olmal\u0131"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "{0} y\u00f6ntemi \u00e7a\u011fr\u0131s\u0131 ba\u015far\u0131s\u0131z oldu"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "ElemTemplateElement somut \u00f6rne\u011fi yarat\u0131lmas\u0131 ba\u015far\u0131s\u0131z oldu"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "Belgenin bu noktas\u0131nda karakterlere izin verilmez"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "\"{0}\" \u00f6zniteli\u011fi {1} \u00f6\u011fesinde kullan\u0131lamaz!"},
-
-    { ER_BAD_VALUE,
-     "{0} hatal\u0131 de\u011fer {1} "},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "{0} \u00f6znitelik de\u011feri bulunamad\u0131 "},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "{0} \u00f6znitelik de\u011feri tan\u0131nm\u0131yor "},
-
-    { ER_NULL_URI_NAMESPACE,
-     "Bo\u015f de\u011ferli URI ile ad alan\u0131 \u00f6neki olu\u015fturma giri\u015fimi"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "En b\u00fcy\u00fck uzun tamsay\u0131dan daha b\u00fcy\u00fck bir say\u0131 bi\u00e7imleme giri\u015fimi"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "SAX1 s\u00fcr\u00fcc\u00fc s\u0131n\u0131f\u0131 {0} bulunam\u0131yor"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "SAX1 s\u00fcr\u00fcc\u00fc s\u0131n\u0131f\u0131 {0} bulundu, ancak y\u00fcklenemiyor"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "SAX1 s\u00fcr\u00fcc\u00fc s\u0131n\u0131f\u0131 {0} y\u00fcklendi, ancak somutla\u015ft\u0131r\u0131lam\u0131yor"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "SAX1 s\u00fcr\u00fcc\u00fc s\u0131n\u0131f\u0131 {0} org.xml.sax.Parser \u00f6zelli\u011fini uygulam\u0131yor"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "Sistem \u00f6zelli\u011fi org.xml.sax.parser belirtilmedi"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "Ayr\u0131\u015ft\u0131r\u0131c\u0131 (Parser) ba\u011f\u0131ms\u0131z de\u011fi\u015fkeni bo\u015f de\u011ferli olmamal\u0131"},
-
-    { ER_FEATURE,
-     "\u00d6zellik: {0}"},
-
-    { ER_PROPERTY,
-     "\u00d6zellik: {0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "Bo\u015f de\u011ferli varl\u0131k \u00e7\u00f6z\u00fcc\u00fc"},
-
-    { ER_NULL_DTD_HANDLER,
-     "Bo\u015f de\u011ferli DTD i\u015fleyici"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "S\u00fcr\u00fcc\u00fc ad\u0131 belirtilmedi!"},
-
-    { ER_NO_URL_SPECIFIED,
-     "URL belirtilmedi!"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "Havuz b\u00fcy\u00fckl\u00fc\u011f\u00fc birden az!"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "Belirtilen s\u00fcr\u00fcc\u00fc ad\u0131 ge\u00e7ersiz!"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "Programc\u0131 hatas\u0131! \u0130fadenin ElemTemplateElement \u00fcst \u00f6\u011fesi yok!"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "RedundentExprEliminator i\u00e7inde programc\u0131 do\u011frulamas\u0131: {0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "{0} bi\u00e7em yapra\u011f\u0131nda bu konumda bulunamaz!"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "Beyaz alan d\u0131\u015f\u0131 metin bi\u00e7em yapra\u011f\u0131nda bu konumda bulunamaz!"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "CHAR \u00f6zniteli\u011fi {0} i\u00e7in ge\u00e7ersiz {1} de\u011feri kullan\u0131ld\u0131.  CHAR tipinde bir \u00f6znitelik yaln\u0131zca 1 karakter olmal\u0131d\u0131r!"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "QNAME \u00f6zniteli\u011fi {0} i\u00e7in ge\u00e7ersiz {1} de\u011feri kullan\u0131ld\u0131"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "ENUM \u00f6zniteli\u011fi {0} i\u00e7in ge\u00e7ersiz {1} de\u011feri kullan\u0131ld\u0131.  Ge\u00e7erli de\u011ferler: {2}."},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "NMTOKEN \u00f6zniteli\u011fi {0} i\u00e7in ge\u00e7ersiz {1} de\u011feri kullan\u0131ld\u0131 "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "NCNAME \u00f6zniteli\u011fi {0} i\u00e7in ge\u00e7ersiz {1} de\u011feri kullan\u0131ld\u0131 "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "boolean \u00f6zniteli\u011fi {0} i\u00e7in ge\u00e7ersiz {1} de\u011feri kullan\u0131ld\u0131 "},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "number \u00f6zniteli\u011fi {0} i\u00e7in ge\u00e7ersiz {1} de\u011feri kullan\u0131ld\u0131 "},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "E\u015fle\u015fme \u00f6r\u00fcnt\u00fcs\u00fcnde {0} i\u015flevine ili\u015fkin ba\u011f\u0131ms\u0131z de\u011fi\u015fken bir haz\u0131r bilgi olmal\u0131d\u0131r."},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "Yinelenen genel de\u011fi\u015fken bildirimi."},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "Yinelenen de\u011fi\u015fken bildirimi."},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template bir name ya da match \u00f6zniteli\u011fi (ya da her ikisini) i\u00e7ermelidir"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "exclude-result-prefixes i\u00e7indeki \u00f6nek ge\u00e7erli de\u011fil: {0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "{0} adl\u0131 \u00f6znitelik k\u00fcmesi yok"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "{0} adl\u0131 i\u015flev yok"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "{0} \u00f6\u011fesinin hem i\u00e7eri\u011fi, hem de select \u00f6zniteli\u011fi olamaz."},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "{0} de\u011fi\u015ftirgesinin de\u011feri ge\u00e7erli bir Java nesnesi olmal\u0131d\u0131r"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "Bir xsl:namespace-alias \u00f6\u011fesine ili\u015fkin result-prefix \u00f6zniteli\u011finin de\u011feri '#default', ancak \u00f6\u011fenin kapsam\u0131nda varsay\u0131lan ad alan\u0131 bildirimi yok."},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "Bir xsl:namespace-alias \u00f6\u011fesine ili\u015fkin result-prefix \u00f6zniteli\u011finin de\u011feri ''{0}'', ancak \u00f6\u011fenin kapsam\u0131nda ''{0}'' \u00f6neki i\u00e7in ad alan\u0131 bildirimi yok."},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "TransformerFactory.setFeature(dizgi ad\u0131, boole de\u011fer) i\u00e7inde \u00f6zellik (feature) ad\u0131 bo\u015f de\u011ferli olamaz."},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "TransformerFactory.getFeature(dizgi ad\u0131) i\u00e7inde \u00f6zellik (feature) ad\u0131 bo\u015f de\u011ferli olamaz."},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "Bu TransformerFactory \u00fczerinde ''{0}'' \u00f6zelli\u011fi tan\u0131mlanamaz."},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "G\u00fcvenli i\u015fleme \u00f6zelli\u011fi true de\u011ferine ayarland\u0131\u011f\u0131nda ''{0}'' eklenti \u00f6\u011fesinin kullan\u0131lmas\u0131na izin verilmez."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "Bo\u015f de\u011ferli ad alan\u0131 Uri i\u00e7in \u00f6nek al\u0131namaz."},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "Bo\u015f de\u011ferli \u00f6nek i\u00e7in ad alan\u0131 Uri al\u0131namaz."},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "\u0130\u015flev ad\u0131 bo\u015f de\u011ferli olamaz."},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "E\u015flik eksi olamaz."},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "'}' bulundu, ancak a\u00e7\u0131k \u00f6znitelik \u015fablonu yok!"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "Uyar\u0131: count \u00f6zniteli\u011fi xsl:number i\u00e7indeki bir \u00fcst \u00f6znitelikle e\u015fle\u015fmiyor! Hedef = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "Eski s\u00f6zdizimi: 'expr' \u00f6zniteli\u011finin ad\u0131 'select' olarak de\u011fi\u015ftirildi."},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan hen\u00fcz format-number i\u015flevinde \u00fclke de\u011feri ad\u0131n\u0131 i\u015flemiyor."},
-
-    { WG_LOCALE_NOT_FOUND,
-      "Uyar\u0131: xml:lang={0} ile ilgili \u00fclke de\u011feri bulunamad\u0131"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "Dizgiden URL olu\u015fturulamad\u0131: {0}"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "\u0130stenen belge y\u00fcklenemiyor: {0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "<sort xml:lang={0} i\u00e7in Collator bulunamad\u0131"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "Eski s\u00f6zdizimi: functions y\u00f6nergesi {0} url adresini kullanmal\u0131d\u0131r"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "{0} kodlamas\u0131 desteklenmiyor, UTF-8 kullan\u0131l\u0131yor"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "{0} kodlamas\u0131 desteklenmiyor, Java {1} kullan\u0131l\u0131yor"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "Belirtim \u00e7at\u0131\u015fmalar\u0131 saptand\u0131: {0} Bi\u00e7em yapra\u011f\u0131nda son bulunan kullan\u0131lacak."},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= {0} ayr\u0131\u015ft\u0131r\u0131l\u0131yor ve haz\u0131rlan\u0131yor =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "\u00d6znitelik \u015fablonu, {0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "xsl:strip-space ile xsl:preserve-space aras\u0131nda e\u015fle\u015fme \u00e7at\u0131\u015fmas\u0131"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan hen\u00fcz {0} \u00f6zniteli\u011fini i\u015flemiyor!"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "Onlu bi\u00e7imi i\u00e7in bildirim bulunamad\u0131: {0}"},
-
-    { WG_OLD_XSLT_NS,
-     "Eksik ya da yanl\u0131\u015f XSLT ad alan\u0131. "},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "Varsay\u0131lan tek bir xsl:decimal-format bildirimine izin verilir."},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "xsl:decimal-format adlar\u0131 benzersiz olmal\u0131d\u0131r. \"{0}\" ad\u0131 yineleniyor."},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} ge\u00e7ersiz {1} \u00f6zniteli\u011fini i\u00e7eriyor"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "Ad alan\u0131 \u00f6neki {0} \u00e7\u00f6z\u00fclemedi. D\u00fc\u011f\u00fcm yoksay\u0131lacak."},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet i\u00e7in 'version' \u00f6zniteli\u011fi gerekiyor!"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "Ge\u00e7ersiz \u00f6znitelik ad\u0131: {0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "{0} \u00f6zniteli\u011fi i\u00e7in ge\u00e7ersiz {1} de\u011feri kullan\u0131ld\u0131"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "Belge i\u015flevinin ikinci ba\u011f\u0131ms\u0131z de\u011fi\u015fkeninden sonu\u00e7lanan d\u00fc\u011f\u00fcm k\u00fcmesi (nodeset) bo\u015f. Bo\u015f d\u00fc\u011f\u00fcm k\u00fcmesi d\u00f6nd\u00fcr\u00fcr."},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "xsl:processing-instruction ad\u0131n\u0131n 'name' \u00f6zniteli\u011fi de\u011feri 'xml' olmamal\u0131d\u0131r"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "xsl:processing-instruction ile ilgili ''name'' \u00f6zniteli\u011fi de\u011feri ge\u00e7erli bir NCName olmal\u0131d\u0131r: {0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "Alt d\u00fc\u011f\u00fcmlerden sonra ya da bir \u00f6\u011fe \u00fcretilmeden \u00f6nce {0} \u00f6zniteli\u011fi eklenemez.  \u00d6znitelik yoksay\u0131lacak."},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "De\u011fi\u015fikli\u011fe izin verilmeyen bir durumda bir nesneyi de\u011fi\u015ftirme giri\u015fiminde bulunuldu."
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "tr"},
-  {  "help_language",  "tr" },
-  {  "language",  "tr" },
-  { "BAD_CODE", "createMessage i\u00e7in kullan\u0131lan de\u011fi\u015ftirge s\u0131n\u0131rlar\u0131n d\u0131\u015f\u0131nda"},
-  {  "FORMAT_FAILED", "messageFormat \u00e7a\u011fr\u0131s\u0131 s\u0131ras\u0131nda kural d\u0131\u015f\u0131 durum yay\u0131nland\u0131"},
-  {  "version", ">>>>>>> Xalan S\u00fcr\u00fcm "},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "yes"},
-  { "line", "Sat\u0131r #"},
-  { "column","Kolon #"},
-  { "xsldone", "XSLProcessor: bitti"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Xalan-J komut sat\u0131r\u0131 Process s\u0131n\u0131f\u0131 se\u00e7enekleri:"},
-  { "xslProc_option", "Xalan-J komut sat\u0131r\u0131 i\u015flem s\u0131n\u0131f\u0131 se\u00e7enekleri\u003a"},
-  { "xslProc_invalid_xsltc_option", "{0} se\u00e7ene\u011fi XSLTC kipinde desteklenmez."},
-  { "xslProc_invalid_xalan_option", "{0} se\u00e7ene\u011fi yaln\u0131zca -XSLTC ile kullan\u0131labilir."},
-  { "xslProc_no_input", "Hata: Bi\u00e7em yapra\u011f\u0131 ya da giri\u015f xml belirtilmedi. Kullan\u0131m y\u00f6nergeleri i\u00e7in, bu komutu se\u00e7enek belirtmeden \u00e7al\u0131\u015ft\u0131r\u0131n."},
-  { "xslProc_common_options", "-Ortak Se\u00e7enekler-"},
-  { "xslProc_xalan_options", "-Xalan Se\u00e7enekleri-"},
-  { "xslProc_xsltc_options", "-XSLTC Se\u00e7enekleri-"},
-  { "xslProc_return_to_continue", "(devam etmek i\u00e7in <Enter> tu\u015funa bas\u0131n)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "[-XSLTC (XSLTC d\u00f6n\u00fc\u015ft\u00fcrmede kullan\u0131l\u0131r)]"},
-  { "optionIN", "[-IN inputXMLURL]"},
-  { "optionXSL", "[-XSL XSLTransformationURL]"},
-  { "optionOUT",  "[-OUT outputFileName]"},
-  { "optionLXCIN", "[-LXCIN compiledStylesheetFileNameIn]"},
-  { "optionLXCOUT", "[-LXCOUT compiledStylesheetFileNameOutOut]"},
-  { "optionPARSER", "[-PARSER ayr\u0131\u015ft\u0131r\u0131c\u0131 ili\u015fkisinin tam olarak nitelenmi\u015f s\u0131n\u0131f ad\u0131]"},
-  {  "optionE", "[-E (Varl\u0131k ba\u015fvurular\u0131 geni\u015fletilmez)]"},
-  {  "optionV",  "[-E (Varl\u0131k ba\u015fvurular\u0131 geni\u015fletilmez)]"},
-  {  "optionQC", "[-QC (Sessiz \u00f6r\u00fcnt\u00fc \u00e7at\u0131\u015fmalar\u0131 uyar\u0131s\u0131)]"},
-  {  "optionQ", "[-Q  (Sessiz kip)]"},
-  {  "optionLF", "   [-LF (sat\u0131r besleme yaln\u0131zca \u00e7\u0131k\u0131\u015fta kullan\u0131l\u0131r {varsay\u0131lan CR/LF})]"},
-  {  "optionCR", "   [-CR (Sat\u0131rba\u015f\u0131 yaln\u0131zca \u00e7\u0131k\u0131\u015fta kullan\u0131l\u0131r {varsay\u0131lan CR/LF})]"},
-  { "optionESCAPE", "   [-ESCAPE (Ka\u00e7\u0131\u015f karakterleri {varsay\u0131lan <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "[-INDENT (Girintili yazarken kullan\u0131lacak bo\u015fluk say\u0131s\u0131 {varsay\u0131lan 0})]"},
-  { "optionTT", "[-TT (\u015eablonlar \u00e7a\u011fr\u0131l\u0131rken izlenir.)]"},
-  { "optionTG", "[-TG (Her olu\u015fturma olay\u0131 izlenir.)]"},
-  { "optionTS", "[-TS (Her se\u00e7im olay\u0131 izlenir.)]"},
-  {  "optionTTC", "[-TTC (\u015eablon alt \u00f6\u011feleri i\u015flenirken izlenir.)]"},
-  { "optionTCLASS", "[-TCLASS (\u0130zleme eklentileri i\u00e7in TraceListener s\u0131n\u0131f\u0131.)]"},
-  { "optionVALIDATE", "[-VALIDATE (Ge\u00e7erlilik denetimi yap\u0131l\u0131p yap\u0131lmayaca\u011f\u0131n\u0131 belirler.  Varsay\u0131lan olarak, ge\u00e7erlilik denetimi kapal\u0131d\u0131r.)]"},
-  { "optionEDUMP", "[-EDUMP {iste\u011fe ba\u011fl\u0131 dosya ad\u0131} (Hata durumunda y\u0131\u011f\u0131n d\u00f6k\u00fcm\u00fc ger\u00e7ekle\u015ftirilir.)]"},
-  {  "optionXML", "[-XML (XML bi\u00e7imleyici kullan\u0131l\u0131r ve XML \u00fcstbilgisi eklenir.)]"},
-  {  "optionTEXT", "[-TEXT (Yal\u0131n metin bi\u00e7imleyici kullan\u0131l\u0131r.)]"},
-  {  "optionHTML", "[-HTML (HTML bi\u00e7imleyici kullan\u0131l\u0131r.)]"},
-  {  "optionPARAM", "[-PARAM ad ifadesi (Bi\u00e7em yapra\u011f\u0131 de\u011fi\u015ftirgesi belirlenir.)]"},
-  {  "noParsermsg1", "XSL i\u015flemi ba\u015far\u0131s\u0131z oldu."},
-  {  "noParsermsg2", "** Ayr\u0131\u015ft\u0131r\u0131c\u0131 bulunamad\u0131 **"},
-  { "noParsermsg3",  "L\u00fctfen classpath de\u011fi\u015fkeninizi inceleyin."},
-  { "noParsermsg4", "Sisteminizde IBM XML Parser for Java arac\u0131 yoksa, \u015fu adresten y\u00fckleyebilirsiniz:"},
-  { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "[-URIRESOLVER tam s\u0131n\u0131f ad\u0131 (URI \u00e7\u00f6zmekte kullan\u0131lacak URIResolver)]"},
-  { "optionENTITYRESOLVER",  "[-ENTITYRESOLVER tam s\u0131n\u0131f ad\u0131 (Varl\u0131klar\u0131 \u00e7\u00f6zmekte kullan\u0131lacak EntityResolver)]"},
-  { "optionCONTENTHANDLER",  "[-CONTENTHANDLER tam s\u0131n\u0131f ad\u0131 (\u00c7\u0131k\u0131\u015f\u0131 diziselle\u015ftirmekte kullan\u0131lacak ContentHandler)]"},
-  {  "optionLINENUMBERS",  "[-L kaynak belge i\u00e7in sat\u0131r numaralar\u0131 kullan\u0131l\u0131r]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (g\u00fcvenli i\u015fleme \u00f6zelli\u011fi true de\u011ferine ayarlan\u0131r.)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA mediaType (Ortam \u00f6zniteli\u011fi, bir belgeyle ili\u015fkili bi\u00e7em yapra\u011f\u0131n\u0131 bulmak i\u00e7in kullan\u0131l\u0131r.)]"},
-  {  "optionFLAVOR",  "   [-FLAVOR flavorName (D\u00f6n\u00fc\u015ft\u00fcrmeyi ger\u00e7ekle\u015ftirmek i\u00e7in belirtik olarak s2s=SAX ya da d2d=DOM kullan\u0131l\u0131r.)] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (D\u00f6n\u00fc\u015ft\u00fcrmenin ka\u00e7 milisaniye s\u00fcrd\u00fc\u011f\u00fcn\u00fc yazd\u0131r\u0131r.)]"},
-  { "optionINCREMENTAL",  "  [-INCREMENTAL (http://xml.apache.org/xalan/features/incremental true tan\u0131mlayarak art\u0131msal DTM olu\u015fturulmas\u0131 istenir.)]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE (http://xml.apache.org/xalan/features/optimize false tan\u0131mlayarak bi\u00e7em yapra\u011f\u0131 eniyileme i\u015flemi olmamas\u0131 istenir.)]"},
-  { "optionRL",  "   [-RL recursionlimit (Bi\u00e7em yapra\u011f\u0131 \u00f6zyineleme derinli\u011fine say\u0131sal s\u0131n\u0131r koyar.)]"},
-  {   "optionXO",  "[-XO [derleme sonucu s\u0131n\u0131f dosyas\u0131 ad\u0131] (Olu\u015fturulan s\u0131n\u0131f dosyas\u0131na bu ad\u0131 atar.)]"},
-  {  "optionXD", "[-XD destinationDirectory (Derleme sonucu s\u0131n\u0131f dosyas\u0131 i\u00e7in hedef dizin belirtir.)]"},
-  {  "optionXJ",  "[-XJ jardsy (Derleme sonucu \u00fcretilen s\u0131n\u0131flar\u0131 <jardsy> adl\u0131 jar dosyas\u0131nda paketler.)]"},
-  {   "optionXP",  "[-XP paket (Derleme sonucunda \u00fcretilen t\u00fcm s\u0131n\u0131flar i\u00e7in bir paket ad\u0131 \u00f6neki belirtir.)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "[-XN (\u015eablona do\u011frudan yerle\u015ftirmeyi a\u00e7ar.)]" },
-  { "optionXX",  "[-XX (Ek hata ay\u0131klama iletisi \u00e7\u0131k\u0131\u015f\u0131n\u0131 a\u00e7ar.)]"},
-  { "optionXT" , "[-XT (Yap\u0131labiliyorsa, d\u00f6n\u00fc\u015ft\u00fcrme i\u00e7in derleme sonucu s\u0131n\u0131f dosyas\u0131n\u0131 kullan\u0131r.)]"},
-  { "diagTiming","--------- {1} ile {0} d\u00f6n\u00fc\u015ft\u00fcrme i\u015flemi {2} ms s\u00fcrd\u00fc" },
-  { "recursionTooDeep","\u015eablon i\u00e7i\u00e7e kullan\u0131m derinli\u011fi \u00e7ok fazla. \u0130\u00e7i\u00e7e kullan\u0131m = {0}, \u015fablon {1} {2}" },
-  { "nameIs", "ad\u0131" },
-  { "matchPatternIs", "e\u015fle\u015fme \u00f6r\u00fcnt\u00fcs\u00fc" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "HATALI_KOD";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "B\u0130\u00c7\u0130MLEME_BA\u015eARISIZ";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#hata";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "Hata: ";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "Uyar\u0131: ";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "\u00d6R\u00dcNT\u00dc ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("tr", "TR"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_zh.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_zh.java
deleted file mode 100755
index 14cff58..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_zh.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*

- * Licensed to the Apache Software Foundation (ASF) under one

- * or more contributor license agreements. See the NOTICE file

- * distributed with this work for additional information

- * regarding copyright ownership. The ASF licenses this file

- * to you under the Apache License, Version 2.0 (the  "License");

- * you may not use this file except in compliance with the License.

- * You may obtain a copy of the License at

- *

- *     http://www.apache.org/licenses/LICENSE-2.0

- *

- * Unless required by applicable law or agreed to in writing, software

- * distributed under the License is distributed on an "AS IS" BASIS,

- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

- * See the License for the specific language governing permissions and

- * limitations under the License.

- */

-/*

- * $Id: XSLTErrorResources_zh.java 338081 2004-12-15 17:35:58Z jycli $

- */

-package org.apache.xalan.res;

-

-import java.util.ListResourceBundle;

-import java.util.Locale;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-/**

- * Set up error messages.

- * We build a two dimensional array of message keys and

- * message strings. In order to add a new message here,

- * you need to first add a String constant. And

- *  you need to enter key , value pair as part of contents

- * Array. You also need to update MAX_CODE for error strings

- * and MAX_WARNING for warnings ( Needed for only information

- * purpose )

- */

-public class XSLTErrorResources_zh extends ListResourceBundle

-{

-

-/*

- * This file contains error and warning messages related to Xalan Error

- * Handling.

- *

- *  General notes to translators:

- *

- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of

- *     components.

- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".

- *     XSLTC is an acronym for XSLT Compiler.

- *

- *  2) A stylesheet is a description of how to transform an input XML document

- *     into a resultant XML document (or HTML document or text).  The

- *     stylesheet itself is described in the form of an XML document.

- *

- *  3) A template is a component of a stylesheet that is used to match a

- *     particular portion of an input document and specifies the form of the

- *     corresponding portion of the output document.

- *

- *  4) An element is a mark-up tag in an XML document; an attribute is a

- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>

- *     "elem" is an element name, "attr" and "attr2" are attribute names with

- *     the values "val" and "val2", respectively.

- *

- *  5) A namespace declaration is a special attribute that is used to associate

- *     a prefix with a URI (the namespace).  The meanings of element names and

- *     attribute names that use that prefix are defined with respect to that

- *     namespace.

- *

- *  6) "Translet" is an invented term that describes the class file that

- *     results from compiling an XML stylesheet into a Java class.

- *

- *  7) XPath is a specification that describes a notation for identifying

- *     nodes in a tree-structured representation of an XML document.  An

- *     instance of that notation is referred to as an XPath expression.

- *

- */

-

-  /** Maximum error messages, this is needed to keep track of the number of messages.    */

-  public static final int MAX_CODE = 201;

-

-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */

-  public static final int MAX_WARNING = 29;

-

-  /** Maximum misc strings.   */

-  public static final int MAX_OTHERS = 55;

-

-  /** Maximum total warnings and error messages.          */

-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;

-

-

-  /*

-   * Static variables

-   */

-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =

-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";

-

-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =

-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";

-

-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";

-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";

-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";

-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";

-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";

-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";

-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";

-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";

-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";

-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";

-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";

-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =

-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";

-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =

-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";

-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =

-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";

-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";

-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =

-         "ER_NEED_NAME_OR_MATCH_ATTRIB";

-  public static final String ER_CANT_RESOLVE_NSPREFIX =

-         "ER_CANT_RESOLVE_NSPREFIX";

-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";

-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";

-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";

-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";

-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";

-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";

-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";

-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";

-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =

-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";

-  public static final String ER_PROCESS_NOT_SUCCESSFUL =

-         "ER_PROCESS_NOT_SUCCESSFUL";

-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";

-  public static final String ER_ENCODING_NOT_SUPPORTED =

-         "ER_ENCODING_NOT_SUPPORTED";

-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =

-         "ER_COULD_NOT_CREATE_TRACELISTENER";

-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =

-         "ER_KEY_REQUIRES_NAME_ATTRIB";

-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =

-         "ER_KEY_REQUIRES_MATCH_ATTRIB";

-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =

-         "ER_KEY_REQUIRES_USE_ATTRIB";

-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =

-         "ER_REQUIRES_ELEMENTS_ATTRIB";

-  public static final String ER_MISSING_PREFIX_ATTRIB =

-         "ER_MISSING_PREFIX_ATTRIB";

-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";

-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";

-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";

-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";

-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =

-         "ER_STYLESHEET_INCLUDES_ITSELF";

-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";

-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";

-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =

-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";

-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =

-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";

-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";

-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";

-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";

-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =

-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";

-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";

-  public static final String ER_FAILED_PROCESS_STYLESHEET =

-         "ER_FAILED_PROCESS_STYLESHEET";

-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";

-  public static final String ER_COULDNT_FIND_FRAGMENT =

-         "ER_COULDNT_FIND_FRAGMENT";

-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";

-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =

-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";

-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =

-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";

-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =

-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";

-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";

-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =

-         "ER_XMLSPACE_ILLEGAL_VALUE";

-  public static final String ER_NO_XSLKEY_DECLARATION =

-         "ER_NO_XSLKEY_DECLARATION";

-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";

-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =

-         "ER_XSLFUNCTIONS_UNSUPPORTED";

-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";

-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =

-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";

-  public static final String ER_RESULTNS_NOT_SUPPORTED =

-         "ER_RESULTNS_NOT_SUPPORTED";

-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =

-         "ER_DEFAULTSPACE_NOT_SUPPORTED";

-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =

-         "ER_INDENTRESULT_NOT_SUPPORTED";

-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";

-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";

-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";

-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";

-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =

-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";

-  public static final String ER_MISPLACED_XSLOTHERWISE =

-         "ER_MISPLACED_XSLOTHERWISE";

-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =

-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";

-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =

-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";

-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =

-         "ER_UNKNOWN_EXT_NS_PREFIX";

-  public static final String ER_IMPORTS_AS_FIRST_ELEM =

-         "ER_IMPORTS_AS_FIRST_ELEM";

-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";

-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";

-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =

-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";

-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";

-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";

-  public static final String ER_CURRENCY_SIGN_ILLEGAL=

-         "ER_CURRENCY_SIGN_ILLEGAL";

-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =

-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";

-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =

-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";

-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =

-         "ER_REDIRECT_COULDNT_GET_FILENAME";

-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =

-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";

-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =

-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";

-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";

-  public static final String ER_MISSING_ARG_FOR_OPTION =

-         "ER_MISSING_ARG_FOR_OPTION";

-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";

-  public static final String ER_MALFORMED_FORMAT_STRING =

-         "ER_MALFORMED_FORMAT_STRING";

-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =

-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";

-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =

-         "ER_ILLEGAL_ATTRIBUTE_VALUE";

-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";

-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =

-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";

-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =

-         "ER_CANT_USE_DTM_FOR_OUTPUT";

-  public static final String ER_CANT_USE_DTM_FOR_INPUT =

-         "ER_CANT_USE_DTM_FOR_INPUT";

-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";

-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";

-  public static final String ER_INVALID_UTF16_SURROGATE =

-         "ER_INVALID_UTF16_SURROGATE";

-  public static final String ER_XSLATTRSET_USED_ITSELF =

-         "ER_XSLATTRSET_USED_ITSELF";

-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";

-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";

-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =

-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";

-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =

-         "ER_DUPLICATE_NAMED_TEMPLATE";

-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";

-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";

-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =

-         "ER_ILLEGAL_DOMSOURCE_INPUT";

-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =

-         "ER_CLASS_NOT_FOUND_FOR_OPTION";

-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =

-         "ER_REQUIRED_ELEM_NOT_FOUND";

-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";

-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";

-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";

-  public static final String ER_SOURCE_CANNOT_BE_NULL =

-         "ER_SOURCE_CANNOT_BE_NULL";

-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";

-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";

-  public static final String ER_CANNOT_CREATE_EXTENSN =

-         "ER_CANNOT_CREATE_EXTENSN";

-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =

-         "ER_INSTANCE_MTHD_CALL_REQUIRES";

-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";

-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =

-         "ER_ELEMENT_NAME_METHOD_STATIC";

-  public static final String ER_EXTENSION_FUNC_UNKNOWN =

-         "ER_EXTENSION_FUNC_UNKNOWN";

-  public static final String ER_MORE_MATCH_CONSTRUCTOR =

-         "ER_MORE_MATCH_CONSTRUCTOR";

-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";

-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";

-  public static final String ER_INVALID_CONTEXT_PASSED =

-         "ER_INVALID_CONTEXT_PASSED";

-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";

-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";

-  public static final String ER_NO_URL = "ER_NO_URL";

-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =

-         "ER_POOL_SIZE_LESSTHAN_ONE";

-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";

-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";

-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =

-         "ER_ILLEGAL_XMLSPACE_VALUE";

-  public static final String ER_PROCESSFROMNODE_FAILED =

-         "ER_PROCESSFROMNODE_FAILED";

-  public static final String ER_RESOURCE_COULD_NOT_LOAD =

-         "ER_RESOURCE_COULD_NOT_LOAD";

-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =

-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";

-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =

-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";

-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";

-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =

-         "ER_ELEM_CONTENT_NOT_ALLOWED";

-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =

-         "ER_STYLESHEET_DIRECTED_TERMINATION";

-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";

-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";

-  public static final String ER_COULD_NOT_LOAD_RESOURCE =

-         "ER_COULD_NOT_LOAD_RESOURCE";

-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =

-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";

-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";

-  public static final String ER_RESULT_COULD_NOT_BE_SET =

-         "ER_RESULT_COULD_NOT_BE_SET";

-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";

-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =

-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";

-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =

-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";

-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";

-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";

-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";

-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";

-  public static final String ER_NO_STYLESHEET_IN_MEDIA =

-         "ER_NO_STYLESHEET_IN_MEDIA";

-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";

-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";

-  public static final String ER_PROPERTY_VALUE_BOOLEAN =

-         "ER_PROPERTY_VALUE_BOOLEAN";

-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =

-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";

-  public static final String ER_RESOURCE_COULD_NOT_FIND =

-         "ER_RESOURCE_COULD_NOT_FIND";

-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =

-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";

-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =

-         "ER_FAILED_CREATING_ELEMLITRSLT";

-  public static final String ER_VALUE_SHOULD_BE_NUMBER =

-         "ER_VALUE_SHOULD_BE_NUMBER";

-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";

-  public static final String ER_FAILED_CALLING_METHOD =

-         "ER_FAILED_CALLING_METHOD";

-  public static final String ER_FAILED_CREATING_ELEMTMPL =

-         "ER_FAILED_CREATING_ELEMTMPL";

-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";

-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";

-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";

-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =

-         "ER_ATTRIB_VALUE_NOT_FOUND";

-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =

-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";

-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";

-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";

-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =

-         "ER_CANNOT_FIND_SAX1_DRIVER";

-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =

-         "ER_SAX1_DRIVER_NOT_LOADED";

-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =

-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;

-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =

-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";

-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =

-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";

-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =

-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;

-  public static final String  ER_FEATURE = "ER_FEATURE";

-  public static final String ER_PROPERTY = "ER_PROPERTY" ;

-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";

-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;

-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =

-         "ER_NO_DRIVER_NAME_SPECIFIED";

-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";

-  public static final String ER_POOLSIZE_LESS_THAN_ONE =

-         "ER_POOLSIZE_LESS_THAN_ONE";

-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";

-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";

-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =

-         "ER_ASSERT_NO_TEMPLATE_PARENT";

-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =

-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";

-  public static final String ER_NOT_ALLOWED_IN_POSITION =

-         "ER_NOT_ALLOWED_IN_POSITION";

-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =

-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";

-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =

-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";

-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =

-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";

-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =

-         "ER_XPATH_RESOLVER_NULL_QNAME";

-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =

-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";

-  public static final String INVALID_TCHAR = "INVALID_TCHAR";

-  public static final String INVALID_QNAME = "INVALID_QNAME";

-  public static final String INVALID_ENUM = "INVALID_ENUM";

-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";

-  public static final String INVALID_NCNAME = "INVALID_NCNAME";

-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";

-  public static final String INVALID_NUMBER = "INVALID_NUMBER";

-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";

-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";

-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";

-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";

-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";

-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";

-  public static final String ER_FUNCTION_NOT_FOUND =

-         "ER_FUNCTION_NOT_FOUND";

-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =

-     "ER_CANT_HAVE_CONTENT_AND_SELECT";

-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";

-  public static final String ER_SET_FEATURE_NULL_NAME =

-        "ER_SET_FEATURE_NULL_NAME";

-  public static final String ER_GET_FEATURE_NULL_NAME =

-        "ER_GET_FEATURE_NULL_NAME";

-  public static final String ER_UNSUPPORTED_FEATURE =

-        "ER_UNSUPPORTED_FEATURE";

-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =

-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";

-

-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";

-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =

-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";

-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =

-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";

-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =

-         "WG_NO_LOCALE_IN_FORMATNUMBER";

-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";

-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";

-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =

-         "WG_CANNOT_LOAD_REQUESTED_DOC";

-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";

-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =

-         "WG_FUNCTIONS_SHOULD_USE_URL";

-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =

-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";

-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =

-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";

-  public static final String WG_SPECIFICITY_CONFLICTS =

-         "WG_SPECIFICITY_CONFLICTS";

-  public static final String WG_PARSING_AND_PREPARING =

-         "WG_PARSING_AND_PREPARING";

-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";

-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";

-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";

-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =

-         "WG_NO_DECIMALFORMAT_DECLARATION";

-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";

-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =

-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";

-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =

-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";

-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";

-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =

-         "WG_COULD_NOT_RESOLVE_PREFIX";

-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =

-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";

-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =

-         "WG_ILLEGAL_ATTRIBUTE_NAME";

-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =

-         "WG_ILLEGAL_ATTRIBUTE_VALUE";

-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";

-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =

-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";

-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =

-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";

-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =

-         "WG_ILLEGAL_ATTRIBUTE_POSITION";

-  public static final String NO_MODIFICATION_ALLOWED_ERR =

-         "NO_MODIFICATION_ALLOWED_ERR";

-

-  /*

-   * Now fill in the message text.

-   * Then fill in the message text for that message code in the

-   * array. Use the new error code as the index into the array.

-   */

-

-  // Error messages...

-

-  /** Get the lookup table for error messages.

-   *

-   * @return The message lookup table.

-   */

-  public Object[][] getContents()

-  {

-    return new Object[][] {

-

-  /** Error message ID that has a null message, but takes in a single object.    */

-  {"ER0000" , "{0}" },

-

-

-    { ER_NO_CURLYBRACE,

-      "\u9519\u8bef\uff1a\u8868\u8fbe\u5f0f\u4e2d\u4e0d\u80fd\u6709\u201c{\u201d"},

-

-    { ER_ILLEGAL_ATTRIBUTE ,

-     "{0} \u6709\u4e00\u4e2a\u975e\u6cd5\u5c5e\u6027\uff1a{1}"},

-

-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,

-      "sourceNode \u5728 xsl:apply-imports \u4e2d\u4e3a\u7a7a\uff01"},

-

-  {ER_CANNOT_ADD,

-      "\u65e0\u6cd5\u5c06\u201c{0}\u201d\u6dfb\u52a0\u5230\u201c{1}\u201d"},

-

-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,

-      "sourceNode \u5728 handleApplyTemplatesInstruction \u4e2d\u4e3a\u7a7a\uff01"},

-

-    { ER_NO_NAME_ATTRIB,

-     "\u201c{0}\u201d\u5fc5\u987b\u6709 name \u5c5e\u6027\u3002"},

-

-    {ER_TEMPLATE_NOT_FOUND,

-     "\u627e\u4e0d\u5230\u4ee5\u4e0b\u540d\u79f0\u7684\u6a21\u677f\uff1a{0}"},

-

-    {ER_CANT_RESOLVE_NAME_AVT,

-      "\u65e0\u6cd5\u89e3\u6790 xsl:call-template \u4e2d\u7684\u540d\u79f0 AVT\u3002"},

-

-    {ER_REQUIRES_ATTRIB,

-     "\u201c{0}\u201d\u9700\u8981\u5c5e\u6027\uff1a{1}"},

-

-    { ER_MUST_HAVE_TEST_ATTRIB,

-      "\u201c{0}\u201d\u5fc5\u987b\u6709\u201ctest\u201d\u5c5e\u6027\u3002"},

-

-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,

-      "\u7ea7\u522b\u5c5e\u6027\u4e0a\u51fa\u73b0\u9519\u8bef\u503c\uff1a{0}"},

-

-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,

-      "processing-instruction \u540d\u79f0\u4e0d\u80fd\u662f\u201cxml\u201d"},

-

-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,

-      "processing-instruction \u540d\u79f0\u5fc5\u987b\u662f\u6709\u6548\u7684 NCName\uff1a{0}"},

-

-    { ER_NEED_MATCH_ATTRIB,

-      "\u201c{0}\u201d\u5982\u679c\u6709\u67d0\u79cd\u65b9\u5f0f\uff0c\u5c31\u5fc5\u987b\u6709 match \u5c5e\u6027\u3002"},

-

-    { ER_NEED_NAME_OR_MATCH_ATTRIB,

-      "\u201c{0}\u201d\u9700\u8981 name \u5c5e\u6027\u6216 match \u5c5e\u6027\u3002"},

-

-    {ER_CANT_RESOLVE_NSPREFIX,

-      "\u65e0\u6cd5\u89e3\u6790\u540d\u79f0\u7a7a\u95f4\u524d\u7f00\uff1a{0}"},

-

-    { ER_ILLEGAL_VALUE,

-     "xml:space \u6709\u975e\u6cd5\u7684\u503c\uff1a{0}"},

-

-    { ER_NO_OWNERDOC,

-      "\u5b50\u8282\u70b9\u6ca1\u6709\u6240\u6709\u8005\u6587\u6863\uff01"},

-

-    { ER_ELEMTEMPLATEELEM_ERR,

-     "ElemTemplateElement \u9519\u8bef\uff1a{0}"},

-

-    { ER_NULL_CHILD,

-     "\u6b63\u5728\u5c1d\u8bd5\u6dfb\u52a0\u7a7a\u7684\u5b50\u4ee3\uff01"},

-

-    { ER_NEED_SELECT_ATTRIB,

-     "{0} \u9700\u8981 select \u5c5e\u6027\u3002"},

-

-    { ER_NEED_TEST_ATTRIB ,

-      "xsl:when \u5fc5\u987b\u6709\u201ctest\u201d\u5c5e\u6027\u3002"},

-

-    { ER_NEED_NAME_ATTRIB,

-      "xsl:with-param \u5fc5\u987b\u6709\u201cname\u201d\u5c5e\u6027\u3002"},

-

-    { ER_NO_CONTEXT_OWNERDOC,

-      "\u4e0a\u4e0b\u6587\u6ca1\u6709\u6240\u6709\u8005\u6587\u6863\uff01"},

-

-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,

-      "\u65e0\u6cd5\u521b\u5efa XML TransformerFactory \u8054\u7cfb\uff1a{0}"},

-

-    {ER_PROCESS_NOT_SUCCESSFUL,

-      "Xalan: Process \u4e0d\u6210\u529f\u3002"},

-

-    { ER_NOT_SUCCESSFUL,

-     "Xalan: \u4e0d\u6210\u529f\u3002"},

-

-    { ER_ENCODING_NOT_SUPPORTED,

-     "\u4e0d\u652f\u6301\u7f16\u7801\uff1a{0}"},

-

-    {ER_COULD_NOT_CREATE_TRACELISTENER,

-      "\u65e0\u6cd5\u521b\u5efa TraceListener\uff1a{0}"},

-

-    {ER_KEY_REQUIRES_NAME_ATTRIB,

-      "xsl:key \u9700\u8981\u201cname\u201d\u5c5e\u6027\uff01"},

-

-    { ER_KEY_REQUIRES_MATCH_ATTRIB,

-      "xsl:key \u9700\u8981\u201cmatch\u201d\u5c5e\u6027\uff01"},

-

-    { ER_KEY_REQUIRES_USE_ATTRIB,

-      "xsl:key \u9700\u8981\u201cuse\u201d\u5c5e\u6027\uff01"},

-

-    { ER_REQUIRES_ELEMENTS_ATTRIB,

-      "(StylesheetHandler) {0} \u9700\u8981\u201celements\u201d\u5c5e\u6027\uff01"},

-

-    { ER_MISSING_PREFIX_ATTRIB,

-      "(StylesheetHandler) {0} \u5c5e\u6027\u201cprefix\u201d\u4e22\u5931"},

-

-    { ER_BAD_STYLESHEET_URL,

-     "\u6837\u5f0f\u8868 URL \u9519\u8bef\uff1a{0}"},

-

-    { ER_FILE_NOT_FOUND,

-     "\u627e\u4e0d\u5230\u6837\u5f0f\u8868\u6587\u4ef6\uff1a{0}"},

-

-    { ER_IOEXCEPTION,

-      "\u6837\u5f0f\u8868\u6587\u4ef6\u53d1\u751f IO \u5f02\u5e38\uff1a{0}"},

-

-    { ER_NO_HREF_ATTRIB,

-      "\uff08StylesheetHandler\uff09\u65e0\u6cd5\u4e3a {0} \u627e\u5230 href \u5c5e\u6027"},

-

-    { ER_STYLESHEET_INCLUDES_ITSELF,

-      "\uff08StylesheetHandler\uff09{0} \u6b63\u5728\u76f4\u63a5\u6216\u95f4\u63a5\u5730\u5305\u542b\u5b83\u81ea\u8eab\uff01"},

-

-    { ER_PROCESSINCLUDE_ERROR,

-      "StylesheetHandler.processInclude \u9519\u8bef\uff0c{0}"},

-

-    { ER_MISSING_LANG_ATTRIB,

-      "(StylesheetHandler) {0} \u5c5e\u6027\u201clang\u201d\u4e22\u5931"},

-

-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,

-      "\uff08StylesheetHandler\uff09\u662f\u5426\u9519\u653e\u4e86 {0} \u5143\u7d20\uff1f\uff1f\u7f3a\u5c11\u5bb9\u5668\u5143\u7d20\u201ccomponent\u201d"},

-

-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,

-      "\u53ea\u80fd\u8f93\u51fa\u5230 Element\u3001DocumentFragment\u3001Document \u6216 PrintWriter\u3002"},

-

-    { ER_PROCESS_ERROR,

-     "StylesheetRoot.process \u9519\u8bef"},

-

-    { ER_UNIMPLNODE_ERROR,

-     "UnImplNode \u9519\u8bef\uff1a{0}"},

-

-    { ER_NO_SELECT_EXPRESSION,

-      "\u9519\u8bef\uff01\u627e\u4e0d\u5230 xpath \u9009\u62e9\u8868\u8fbe\u5f0f\uff08-select\uff09\u3002"},

-

-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,

-      "\u65e0\u6cd5\u5e8f\u5217\u5316 XSLProcessor\uff01"},

-

-    { ER_NO_INPUT_STYLESHEET,

-      "\u6ca1\u6709\u6307\u5b9a\u6837\u5f0f\u8868\u8f93\u5165\uff01"},

-

-    { ER_FAILED_PROCESS_STYLESHEET,

-      "\u65e0\u6cd5\u5904\u7406\u6837\u5f0f\u8868\uff01"},

-

-    { ER_COULDNT_PARSE_DOC,

-     "\u65e0\u6cd5\u89e3\u6790 {0} \u6587\u6863\uff01"},

-

-    { ER_COULDNT_FIND_FRAGMENT,

-     "\u627e\u4e0d\u5230\u7247\u6bb5\uff1a{0}"},

-

-    { ER_NODE_NOT_ELEMENT,

-      "\u7247\u6bb5\u6807\u8bc6\u6307\u5411\u7684\u8282\u70b9\u4e0d\u662f\u5143\u7d20\uff1a{0}"},

-

-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,

-      "for-each \u5fc5\u987b\u6709 match \u6216 name \u5c5e\u6027"},

-

-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,

-      "templates \u5fc5\u987b\u6709 match \u6216 name \u5c5e\u6027"},

-

-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,

-      "\u65e0\u6587\u6863\u7247\u6bb5\u7684\u514b\u9686\uff01"},

-

-    { ER_CANT_CREATE_ITEM,

-      "\u65e0\u6cd5\u5728\u7ed3\u679c\u6811\u4e2d\u521b\u5efa\u9879\uff1a{0}"},

-

-    { ER_XMLSPACE_ILLEGAL_VALUE,

-      "\u6e90 XML \u4e2d\u7684 xml:space \u6709\u975e\u6cd5\u503c\uff1a{0}"},

-

-    { ER_NO_XSLKEY_DECLARATION,

-      "{0} \u6ca1\u6709 xsl:key \u58f0\u660e\uff01"},

-

-    { ER_CANT_CREATE_URL,

-     "\u9519\u8bef\uff01\u65e0\u6cd5\u4e3a {0} \u521b\u5efa URL"},

-

-    { ER_XSLFUNCTIONS_UNSUPPORTED,

-     "\u4e0d\u652f\u6301 xsl:functions"},

-

-    { ER_PROCESSOR_ERROR,

-     "XSLT TransformerFactory \u9519\u8bef"},

-

-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,

-      "\uff08StylesheetHandler\uff09\u6837\u5f0f\u8868\u5185\u4e0d\u5141\u8bb8 {0}\uff01"},

-

-    { ER_RESULTNS_NOT_SUPPORTED,

-      "\u4e0d\u518d\u652f\u6301 result-ns\uff01\u8bf7\u6539\u4e3a\u4f7f\u7528 xsl:output\u3002"},

-

-    { ER_DEFAULTSPACE_NOT_SUPPORTED,

-      "\u4e0d\u518d\u652f\u6301 default-space\uff01\u8bf7\u6539\u4e3a\u4f7f\u7528 xsl:strip-space \u6216 xsl:preserve-space\u3002"},

-

-    { ER_INDENTRESULT_NOT_SUPPORTED,

-      "\u4e0d\u518d\u652f\u6301 indent-result\uff01\u8bf7\u6539\u4e3a\u4f7f\u7528 xsl:output\u3002"},

-

-    { ER_ILLEGAL_ATTRIB,

-      "\uff08StylesheetHandler\uff09{0} \u6709\u975e\u6cd5\u5c5e\u6027\uff1a{1}"},

-

-    { ER_UNKNOWN_XSL_ELEM,

-     "\u672a\u77e5 XSL \u5143\u7d20\uff1a{0}"},

-

-    { ER_BAD_XSLSORT_USE,

-      "\uff08StylesheetHandler\uff09xsl:sort \u53ea\u80fd\u4e0e xsl:apply-templates \u6216 xsl:for-each \u4e00\u8d77\u4f7f\u7528\u3002"},

-

-    { ER_MISPLACED_XSLWHEN,

-      "\uff08StylesheetHandler\uff09\u9519\u653e\u4e86 xsl:when\uff01"},

-

-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,

-      "\uff08StylesheetHandler\uff09xsl:choose \u4e0d\u662f xsl:when \u7684\u7236\u4ee3\uff01"},

-

-    { ER_MISPLACED_XSLOTHERWISE,

-      "\uff08StylesheetHandler\uff09\u9519\u653e\u4e86 xsl:otherwise\uff01"},

-

-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,

-      "\uff08StylesheetHandler\uff09xsl:choose \u4e0d\u662f xsl:otherwise \u7684\u7236\u4ee3\uff01"},

-

-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,

-      "\uff08StylesheetHandler\uff09\u6a21\u677f\u5185\u4e0d\u5141\u8bb8\u51fa\u73b0 {0}\uff01"},

-

-    { ER_UNKNOWN_EXT_NS_PREFIX,

-      "\uff08StylesheetHandler\uff09{0} \u6269\u5c55\u540d\u79f0\u7a7a\u95f4\u524d\u7f00 {1} \u672a\u77e5"},

-

-    { ER_IMPORTS_AS_FIRST_ELEM,

-      "\uff08StylesheetHandler\uff09\u5bfc\u5165\u53ea\u80fd\u4f5c\u4e3a\u6837\u5f0f\u8868\u4e2d\u6700\u524d\u9762\u7684\u5143\u7d20\u53d1\u751f\uff01"},

-

-    { ER_IMPORTING_ITSELF,

-      "\uff08StylesheetHandler\uff09{0} \u6b63\u5728\u76f4\u63a5\u6216\u95f4\u63a5\u5730\u5bfc\u5165\u5b83\u81ea\u8eab\uff01"},

-

-    { ER_XMLSPACE_ILLEGAL_VAL,

-      "\uff08StylesheetHandler\uff09xml:space \u6709\u975e\u6cd5\u503c\uff1a{0}"},

-

-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,

-      "processStylesheet \u4e0d\u6210\u529f\uff01"},

-

-    { ER_SAX_EXCEPTION,

-     "SAX \u5f02\u5e38"},

-

-//  add this message to fix bug 21478

-    { ER_FUNCTION_NOT_SUPPORTED,

-     "\u51fd\u6570\u4e0d\u53d7\u652f\u6301\uff01"},

-

-

-    { ER_XSLT_ERROR,

-     "XSLT \u9519\u8bef"},

-

-    { ER_CURRENCY_SIGN_ILLEGAL,

-      "\u683c\u5f0f\u6a21\u5f0f\u5b57\u7b26\u4e32\u4e2d\u4e0d\u5141\u8bb8\u5b58\u5728\u8d27\u5e01\u7b26\u53f7"},

-

-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,

-      "\u6837\u5f0f\u8868 DOM \u4e2d\u4e0d\u652f\u6301\u6587\u6863\u51fd\u6570\uff01"},

-

-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,

-      "\u65e0\u6cd5\u89e3\u6790\u975e\u524d\u7f00\u89e3\u6790\u5668\u7684\u524d\u7f00\uff01"},

-

-    { ER_REDIRECT_COULDNT_GET_FILENAME,

-      "\u91cd\u5b9a\u5411\u6269\u5c55\uff1a\u65e0\u6cd5\u83b7\u53d6\u6587\u4ef6\u540d \uff0d file \u6216 select \u5c5e\u6027\u5fc5\u987b\u8fd4\u56de\u6709\u6548\u5b57\u7b26\u4e32\u3002"},

-

-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,

-      "\u65e0\u6cd5\u5728\u91cd\u5b9a\u5411\u6269\u5c55\u4e2d\u6784\u5efa FormatterListener\uff01"},

-

-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,

-      "exclude-result-prefixes \u4e2d\u7684\u524d\u7f00\u65e0\u6548\uff1a{0}"},

-

-    { ER_MISSING_NS_URI,

-      "\u6307\u5b9a\u7684\u524d\u7f00\u7f3a\u5c11\u540d\u79f0\u7a7a\u95f4 URI"},

-

-    { ER_MISSING_ARG_FOR_OPTION,

-      "\u9009\u9879 {0} \u7f3a\u5c11\u81ea\u53d8\u91cf"},

-

-    { ER_INVALID_OPTION,

-     "\u9009\u9879 {0} \u65e0\u6548"},

-

-    { ER_MALFORMED_FORMAT_STRING,

-     "\u683c\u5f0f\u5b57\u7b26\u4e32 {0} \u7684\u683c\u5f0f\u9519\u8bef"},

-

-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,

-      "xsl:stylesheet \u9700\u8981\u201cversion\u201d\u5c5e\u6027\uff01"},

-

-    { ER_ILLEGAL_ATTRIBUTE_VALUE,

-      "\u5c5e\u6027\uff1a{0} \u6709\u975e\u6cd5\u7684\u503c\uff1a{1}"},

-

-    { ER_CHOOSE_REQUIRES_WHEN,

-     "xsl:choose \u9700\u8981 xsl:when"},

-

-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,

-      "xsl:for-each \u4e2d\u4e0d\u5141\u8bb8\u6709 xsl:apply-imports"},

-

-    { ER_CANT_USE_DTM_FOR_OUTPUT,

-      "\u65e0\u6cd5\u5c06 DTMLiaison \u7528\u4e8e\u8f93\u51fa DOM \u8282\u70b9... \u6539\u4e3a\u4f20\u9012 org.apache.xpath.DOM2Helper\uff01"},

-

-    { ER_CANT_USE_DTM_FOR_INPUT,

-      "\u65e0\u6cd5\u5c06 DTMLiaison \u7528\u4e8e\u8f93\u5165 DOM \u8282\u70b9... \u6539\u4e3a\u4f20\u9012 org.apache.xpath.DOM2Helper\uff01"},

-

-    { ER_CALL_TO_EXT_FAILED,

-      "\u8c03\u7528\u6269\u5c55\u5143\u7d20\u5931\u8d25\uff1a{0}"},

-

-    { ER_PREFIX_MUST_RESOLVE,

-      "\u524d\u7f00\u5fc5\u987b\u89e3\u6790\u4e3a\u540d\u79f0\u7a7a\u95f4\uff1a{0}"},

-

-    { ER_INVALID_UTF16_SURROGATE,

-      "\u68c0\u6d4b\u5230\u65e0\u6548\u7684 UTF-16 \u8d85\u5927\u5b57\u7b26\u96c6\uff1a{0}\uff1f"},

-

-    { ER_XSLATTRSET_USED_ITSELF,

-      "xsl:attribute-set {0} \u4f7f\u7528\u4e86\u81ea\u8eab\uff0c\u8fd9\u5c06\u5bfc\u81f4\u65e0\u9650\u5faa\u73af\u3002"},

-

-    { ER_CANNOT_MIX_XERCESDOM,

-      "\u65e0\u6cd5\u5c06\u975e Xerces-DOM \u8f93\u5165\u4e0e Xerces-DOM \u8f93\u51fa\u6df7\u5408\uff01"},

-

-    { ER_TOO_MANY_LISTENERS,

-      "addTraceListenersToStylesheet \u2015 TooManyListenersException"},

-

-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,

-      "\u5728 ElemTemplateElement.readObject \u4e2d\uff1a{0}"},

-

-    { ER_DUPLICATE_NAMED_TEMPLATE,

-      "\u627e\u5230\u591a\u4e2a\u540d\u4e3a {0} \u7684\u6a21\u677f"},

-

-    { ER_INVALID_KEY_CALL,

-      "\u65e0\u6548\u7684\u51fd\u6570\u8c03\u7528\uff1a\u4e0d\u5141\u8bb8\u9012\u5f52 key() \u8c03\u7528"},

-

-    { ER_REFERENCING_ITSELF,

-      "\u53d8\u91cf {0} \u6b63\u5728\u76f4\u63a5\u6216\u95f4\u63a5\u5730\u5f15\u7528\u5b83\u81ea\u8eab\uff01"},

-

-    { ER_ILLEGAL_DOMSOURCE_INPUT,

-      "\u8f93\u5165\u8282\u70b9\u5bf9\u4e8e newTemplates \u7684 DOMSource \u4e0d\u80fd\u4e3a\u7a7a\uff01"},

-

-    { ER_CLASS_NOT_FOUND_FOR_OPTION,

-        "\u627e\u4e0d\u5230\u9009\u9879 {0} \u7684\u7c7b\u6587\u4ef6"},

-

-    { ER_REQUIRED_ELEM_NOT_FOUND,

-        "\u627e\u4e0d\u5230\u5fc5\u9700\u7684\u5143\u7d20\uff1a{0}"},

-

-    { ER_INPUT_CANNOT_BE_NULL,

-        "InputStream \u4e0d\u80fd\u4e3a\u7a7a"},

-

-    { ER_URI_CANNOT_BE_NULL,

-        "URI \u4e0d\u80fd\u4e3a\u7a7a"},

-

-    { ER_FILE_CANNOT_BE_NULL,

-        "File \u4e0d\u80fd\u4e3a\u7a7a"},

-

-    { ER_SOURCE_CANNOT_BE_NULL,

-                "InputSource \u4e0d\u80fd\u4e3a\u7a7a"},

-

-    { ER_CANNOT_INIT_BSFMGR,

-                "\u65e0\u6cd5\u521d\u59cb\u5316 BSF \u7ba1\u7406\u5668"},

-

-    { ER_CANNOT_CMPL_EXTENSN,

-                "\u65e0\u6cd5\u7f16\u8bd1\u6269\u5c55"},

-

-    { ER_CANNOT_CREATE_EXTENSN,

-      "\u7531\u4e8e {1}\uff0c\u65e0\u6cd5\u521b\u5efa\u6269\u5c55 {0}"},

-

-    { ER_INSTANCE_MTHD_CALL_REQUIRES,

-      "\u5bf9\u65b9\u6cd5 {0} \u7684\u5b9e\u4f8b\u65b9\u6cd5\u8c03\u7528\u8981\u6c42\u4ee5\u5bf9\u8c61\u5b9e\u4f8b\u4f5c\u4e3a\u7b2c\u4e00\u53c2\u6570"},

-

-    { ER_INVALID_ELEMENT_NAME,

-      "\u6307\u5b9a\u4e86\u65e0\u6548\u7684\u5143\u7d20\u540d\u79f0 {0}"},

-

-    { ER_ELEMENT_NAME_METHOD_STATIC,

-      "\u5143\u7d20\u540d\u79f0\u65b9\u6cd5\u5fc5\u987b\u662f static {0}"},

-

-    { ER_EXTENSION_FUNC_UNKNOWN,

-             "\u6269\u5c55\u51fd\u6570 {0} : {1} \u672a\u77e5"},

-

-    { ER_MORE_MATCH_CONSTRUCTOR,

-             "\u5bf9\u4e8e {0}\uff0c\u6784\u9020\u51fd\u6570\u6709\u591a\u4e2a\u6700\u4f73\u5339\u914d"},

-

-    { ER_MORE_MATCH_METHOD,

-             "\u65b9\u6cd5 {0} \u6709\u591a\u4e2a\u6700\u4f73\u5339\u914d"},

-

-    { ER_MORE_MATCH_ELEMENT,

-             "element \u65b9\u6cd5 {0} \u6709\u591a\u4e2a\u6700\u4f73\u5339\u914d"},

-

-    { ER_INVALID_CONTEXT_PASSED,

-             "\u8bc4\u4f30 {0} \u65f6\u4f20\u9012\u4e86\u65e0\u6548\u7684\u4e0a\u4e0b\u6587"},

-

-    { ER_POOL_EXISTS,

-             "\u6c60\u5df2\u7ecf\u5b58\u5728"},

-

-    { ER_NO_DRIVER_NAME,

-             "\u672a\u6307\u5b9a\u9a71\u52a8\u7a0b\u5e8f\u540d\u79f0"},

-

-    { ER_NO_URL,

-             "\u672a\u6307\u5b9a URL"},

-

-    { ER_POOL_SIZE_LESSTHAN_ONE,

-             "\u6c60\u5927\u5c0f\u5c0f\u4e8e 1\uff01"},

-

-    { ER_INVALID_DRIVER,

-             "\u6307\u5b9a\u4e86\u65e0\u6548\u7684\u9a71\u52a8\u7a0b\u5e8f\u540d\u79f0\uff01"},

-

-    { ER_NO_STYLESHEETROOT,

-             "\u627e\u4e0d\u5230\u6837\u5f0f\u8868\u6839\u76ee\u5f55\uff01"},

-

-    { ER_ILLEGAL_XMLSPACE_VALUE,

-         "xml:space \u7684\u503c\u975e\u6cd5"},

-

-    { ER_PROCESSFROMNODE_FAILED,

-         "processFromNode \u5931\u8d25"},

-

-    { ER_RESOURCE_COULD_NOT_LOAD,

-        "\u8d44\u6e90 [ {0} ] \u65e0\u6cd5\u88c5\u5165\uff1a{1} \n {2} \t {3}"},

-

-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,

-        "\u7f13\u51b2\u533a\u5927\u5c0f <=0"},

-

-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,

-        "\u8c03\u7528\u6269\u5c55\u65f6\u53d1\u751f\u672a\u77e5\u9519\u8bef"},

-

-    { ER_NO_NAMESPACE_DECL,

-        "\u524d\u7f00 {0} \u6ca1\u6709\u76f8\u5e94\u7684\u540d\u79f0\u7a7a\u95f4\u58f0\u660e"},

-

-    { ER_ELEM_CONTENT_NOT_ALLOWED,

-        "lang=javaclass {0} \u4e0d\u5141\u8bb8\u51fa\u73b0\u5143\u7d20\u5185\u5bb9"},

-

-    { ER_STYLESHEET_DIRECTED_TERMINATION,

-        "\u6837\u5f0f\u8868\u5b9a\u5411\u7684\u7ec8\u6b62"},

-

-    { ER_ONE_OR_TWO,

-        "1 \u6216 2"},

-

-    { ER_TWO_OR_THREE,

-        "2 \u6216 3"},

-

-    { ER_COULD_NOT_LOAD_RESOURCE,

-        "\u65e0\u6cd5\u88c5\u5165 {0}\uff08\u68c0\u67e5 CLASSPATH\uff09\uff0c\u73b0\u5728\u53ea\u4f7f\u7528\u7f3a\u7701\u503c"},

-

-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,

-        "\u65e0\u6cd5\u521d\u59cb\u5316\u7f3a\u7701\u6a21\u677f"},

-

-    { ER_RESULT_NULL,

-        "\u7ed3\u679c\u4e0d\u5e94\u4e3a\u7a7a"},

-

-    { ER_RESULT_COULD_NOT_BE_SET,

-        "\u65e0\u6cd5\u8bbe\u7f6e\u7ed3\u679c"},

-

-    { ER_NO_OUTPUT_SPECIFIED,

-        "\u672a\u6307\u5b9a\u8f93\u51fa"},

-

-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,

-        "\u65e0\u6cd5\u8f6c\u6362\u6210\u7c7b\u578b\u4e3a {0} \u7684\u7ed3\u679c"},

-

-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,

-        "\u65e0\u6cd5\u8f6c\u6362\u7c7b\u578b\u4e3a {0} \u7684\u6e90"},

-

-    { ER_NULL_CONTENT_HANDLER,

-        "\u5185\u5bb9\u5904\u7406\u7a0b\u5e8f\u4e3a\u7a7a"},

-

-    { ER_NULL_ERROR_HANDLER,

-        "\u9519\u8bef\u5904\u7406\u7a0b\u5e8f\u4e3a\u7a7a"},

-

-    { ER_CANNOT_CALL_PARSE,

-        "\u5982\u679c\u6ca1\u6709\u8bbe\u7f6e ContentHandler\uff0c\u5219\u65e0\u6cd5\u8c03\u7528\u89e3\u6790"},

-

-    { ER_NO_PARENT_FOR_FILTER,

-        "\u8fc7\u6ee4\u5668\u65e0\u7236\u4ee3"},

-

-    { ER_NO_STYLESHEET_IN_MEDIA,

-         "\u5728 {0} \u4e2d\u627e\u4e0d\u5230\u6837\u5f0f\u8868\uff0c\u4ecb\u8d28 = {1}"},

-

-    { ER_NO_STYLESHEET_PI,

-         "\u5728 {0} \u4e2d\u627e\u4e0d\u5230 xml-stylesheet PI"},

-

-    { ER_NOT_SUPPORTED,

-       "\u4e0d\u652f\u6301\uff1a{0}"},

-

-    { ER_PROPERTY_VALUE_BOOLEAN,

-       "\u7279\u6027 {0} \u7684\u503c\u5e94\u5f53\u662f\u5e03\u5c14\u5b9e\u4f8b"},

-

-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,

-         "\u627e\u4e0d\u5230 {0} \u4e0a\u7684\u5916\u90e8\u811a\u672c"},

-

-    { ER_RESOURCE_COULD_NOT_FIND,

-        "\u627e\u4e0d\u5230\u8d44\u6e90 [ {0} ]\u3002\n {1}"},

-

-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,

-        "\u672a\u8bc6\u522b\u51fa\u8f93\u51fa\u5c5e\u6027\uff1a{0}"},

-

-    { ER_FAILED_CREATING_ELEMLITRSLT,

-        "\u521b\u5efa ElemLiteralResult \u5b9e\u4f8b\u5931\u8d25"},

-

-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE

-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care

-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.

-  //NOTE: Not only the key name but message has also been changed.

-

-    { ER_VALUE_SHOULD_BE_NUMBER,

-        "{0} \u7684\u503c\u5e94\u5f53\u5305\u542b\u53ef\u8fdb\u884c\u89e3\u6790\u7684\u6570\u5b57"},

-

-    { ER_VALUE_SHOULD_EQUAL,

-        "{0} \u7684\u503c\u5e94\u5f53\u7b49\u4e8e yes \u6216 no"},

-

-    { ER_FAILED_CALLING_METHOD,

-        "\u8c03\u7528 {0} \u65b9\u6cd5\u5931\u8d25"},

-

-    { ER_FAILED_CREATING_ELEMTMPL,

-        "\u521b\u5efa ElemTemplateElement \u5b9e\u4f8b\u5931\u8d25"},

-

-    { ER_CHARS_NOT_ALLOWED,

-        "\u6b64\u65f6\u6587\u6863\u4e2d\u4e0d\u5141\u8bb8\u6709\u5b57\u7b26"},

-

-    { ER_ATTR_NOT_ALLOWED,

-        "{1} \u5143\u7d20\u4e0a\u4e0d\u5141\u8bb8\u4f7f\u7528\u201c{0}\u201d\u5c5e\u6027\uff01"},

-

-    { ER_BAD_VALUE,

-     "{0} \u9519\u8bef\u503c {1}"},

-

-    { ER_ATTRIB_VALUE_NOT_FOUND,

-     "\u627e\u4e0d\u5230 {0} \u5c5e\u6027\u503c"},

-

-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,

-     "\u672a\u8bc6\u522b\u51fa {0} \u5c5e\u6027\u503c"},

-

-    { ER_NULL_URI_NAMESPACE,

-     "\u6b63\u5728\u8bd5\u56fe\u4ee5\u7a7a\u7684 URI \u751f\u6210\u540d\u79f0\u7a7a\u95f4\u524d\u7f00"},

-

-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)

-

-    { ER_NUMBER_TOO_BIG,

-     "\u6b63\u5728\u8bd5\u56fe\u683c\u5f0f\u5316\u5927\u4e8e\u6700\u5927\u957f\u6574\u6570\u7684\u6570\u5b57"},

-

-    { ER_CANNOT_FIND_SAX1_DRIVER,

-     "\u627e\u4e0d\u5230 SAX1 \u9a71\u52a8\u7a0b\u5e8f\u7c7b {0}"},

-

-    { ER_SAX1_DRIVER_NOT_LOADED,

-     "\u627e\u5230\u4e86 SAX1 \u9a71\u52a8\u7a0b\u5e8f\u7c7b {0}\uff0c\u4f46\u65e0\u6cd5\u88c5\u5165\u5b83"},

-

-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,

-     "\u88c5\u5165\u4e86 SAX1 \u9a71\u52a8\u7a0b\u5e8f\u7c7b {0}\uff0c\u4f46\u65e0\u6cd5\u5c06\u5b83\u5b9e\u4f8b\u5316"},

-

-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,

-     "SAX1 \u9a71\u52a8\u7a0b\u5e8f\u7c7b {0} \u4e0d\u5b9e\u73b0 org.xml.sax.Parser"},

-

-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,

-     "\u6ca1\u6709\u6307\u5b9a\u7cfb\u7edf\u5c5e\u6027 org.xml.sax.parser"},

-

-    { ER_PARSER_ARG_CANNOT_BE_NULL,

-     "\u89e3\u6790\u5668\u53c2\u6570\u4e0d\u5f97\u4e3a\u7a7a"},

-

-    { ER_FEATURE,

-     "\u7279\u5f81\uff1a{0}"},

-

-    { ER_PROPERTY,

-     "\u5c5e\u6027\uff1a{0}"},

-

-    { ER_NULL_ENTITY_RESOLVER,

-     "\u5b9e\u4f53\u89e3\u6790\u5668\u4e3a\u7a7a"},

-

-    { ER_NULL_DTD_HANDLER,

-     "DTD \u5904\u7406\u7a0b\u5e8f\u4e3a\u7a7a"},

-

-    { ER_NO_DRIVER_NAME_SPECIFIED,

-     "\u672a\u6307\u5b9a\u9a71\u52a8\u7a0b\u5e8f\u540d\u79f0\uff01"},

-

-    { ER_NO_URL_SPECIFIED,

-     "\u672a\u6307\u5b9a URL\uff01"},

-

-    { ER_POOLSIZE_LESS_THAN_ONE,

-     "\u6c60\u5927\u5c0f\u5c0f\u4e8e 1\uff01"},

-

-    { ER_INVALID_DRIVER_NAME,

-     "\u6307\u5b9a\u4e86\u65e0\u6548\u7684\u9a71\u52a8\u7a0b\u5e8f\u540d\u79f0\uff01"},

-

-    { ER_ERRORLISTENER,

-     "ErrorListener"},

-

-

-// Note to translators:  The following message should not normally be displayed

-//   to users.  It describes a situation in which the processor has detected

-//   an internal consistency problem in itself, and it provides this message

-//   for the developer to help diagnose the problem.  The name

-//   'ElemTemplateElement' is the name of a class, and should not be

-//   translated.

-    { ER_ASSERT_NO_TEMPLATE_PARENT,

-     "\u7a0b\u5e8f\u5458\u7684\u9519\u8bef\uff01\u8868\u8fbe\u5f0f\u6ca1\u6709 ElemTemplateElement \u7236\u4ee3\uff01"},

-

-

-// Note to translators:  The following message should not normally be displayed

-//   to users.  It describes a situation in which the processor has detected

-//   an internal consistency problem in itself, and it provides this message

-//   for the developer to help diagnose the problem.  The substitution text

-//   provides further information in order to diagnose the problem.  The name

-//   'RedundentExprEliminator' is the name of a class, and should not be

-//   translated.

-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,

-     "\u7a0b\u5e8f\u5458\u5728 RedundentExprEliminator \u4e2d\u7684\u65ad\u8a00\uff1a{0}"},

-

-    { ER_NOT_ALLOWED_IN_POSITION,

-     "\u6837\u5f0f\u8868\u7684\u6b64\u4f4d\u7f6e\u4e2d\u4e0d\u5141\u8bb8\u6709 {0}\uff01"},

-

-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,

-     "\u6837\u5f0f\u8868\u7684\u6b64\u4f4d\u7f6e\u4e2d\u4e0d\u5141\u8bb8\u6709\u975e\u7a7a\u683c\u7684\u6587\u672c\uff01"},

-

-  // This code is shared with warning codes.

-  // SystemId Unknown

-    { INVALID_TCHAR,

-     "\u7528\u4e8e CHAR \u5c5e\u6027 {0} \u7684\u503c {1} \u975e\u6cd5\u3002\u7c7b\u578b CHAR \u7684\u5c5e\u6027\u5fc5\u987b\u53ea\u6709 1 \u4e2a\u5b57\u7b26\uff01"},

-

-    // Note to translators:  The following message is used if the value of

-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of

-    // the attribute, and should not be translated.  The substitution text {1} is

-    // the attribute value and {0} is the attribute name.

-    //The following codes are shared with the warning codes...

-    { INVALID_QNAME,

-     "\u7528\u4e8e QNAME \u5c5e\u6027 {0} \u7684\u503c {1} \u975e\u6cd5"},

-

-    // Note to translators:  The following message is used if the value of

-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of

-    // the attribute, and should not be translated.  The substitution text {1} is

-    // the attribute value, {0} is the attribute name, and {2} is a list of valid

-    // values.

-    { INVALID_ENUM,

-     "\u7528\u4e8e ENUM \u5c5e\u6027 {0} \u7684\u503c {1} \u975e\u6cd5\u3002\u6709\u6548\u7684\u503c\u662f\uff1a{2}\u3002"},

-

-// Note to translators:  The following message is used if the value of

-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type

-// of the attribute, and should not be translated.  The substitution text {1} is

-// the attribute value and {0} is the attribute name.

-    { INVALID_NMTOKEN,

-     "\u7528\u4e8e NMTOKEN \u5c5e\u6027 {0} \u7684\u503c {1} \u975e\u6cd5"},

-

-// Note to translators:  The following message is used if the value of

-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type

-// of the attribute, and should not be translated.  The substitution text {1} is

-// the attribute value and {0} is the attribute name.

-    { INVALID_NCNAME,

-     "\u7528\u4e8e NCNAME \u5c5e\u6027 {0} \u7684\u503c {1} \u975e\u6cd5"},

-

-// Note to translators:  The following message is used if the value of

-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type

-// of the attribute, and should not be translated.  The substitution text {1} is

-// the attribute value and {0} is the attribute name.

-    { INVALID_BOOLEAN,

-     "\u7528\u4e8e boolean \u5c5e\u6027 {0} \u7684\u503c {1} \u975e\u6cd5"},

-

-// Note to translators:  The following message is used if the value of

-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type

-// of the attribute, and should not be translated.  The substitution text {1} is

-// the attribute value and {0} is the attribute name.

-     { INVALID_NUMBER,

-     "\u7528\u4e8e number \u5c5e\u6027 {0} \u7684\u503c {1} \u975e\u6cd5"},

-

-

-  // End of shared codes...

-

-// Note to translators:  A "match pattern" is a special form of XPath expression

-// that is used for matching patterns.  The substitution text is the name of

-// a function.  The message indicates that when this function is referenced in

-// a match pattern, its argument must be a string literal (or constant.)

-// ER_ARG_LITERAL - new error message for bugzilla //5202

-    { ER_ARG_LITERAL,

-     "\u5339\u914d\u6a21\u5f0f\u4e2d {0} \u7684\u81ea\u53d8\u91cf\u5fc5\u987b\u662f\u6587\u5b57\u3002"},

-

-// Note to translators:  The following message indicates that two definitions of

-// a variable.  A "global variable" is a variable that is accessible everywher

-// in the stylesheet.

-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790

-    { ER_DUPLICATE_GLOBAL_VAR,

-     "\u5168\u5c40\u53d8\u91cf\u7684\u58f0\u660e\u91cd\u590d\u3002"},

-

-

-// Note to translators:  The following message indicates that two definitions of

-// a variable were encountered.

-// ER_DUPLICATE_VAR - new error message for bugzilla #790

-    { ER_DUPLICATE_VAR,

-     "\u53d8\u91cf\u58f0\u660e\u91cd\u590d\u3002"},

-

-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords

-    // which must not be translated.

-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789

-    { ER_TEMPLATE_NAME_MATCH,

-     "xsl:template \u5fc5\u987b\u6709\u4e00\u4e2a name \u6216 match \u5c5e\u6027\uff08\u6216\u4e24\u8005\u517c\u6709\uff09"},

-

-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which

-    // should not be translated.  The message indicates that a namespace prefix

-    // encountered as part of the value of the exclude-result-prefixes attribute

-    // was in error.

-    // ER_INVALID_PREFIX - new error message for bugzilla #788

-    { ER_INVALID_PREFIX,

-     "exclude-result-prefixes \u4e2d\u7684\u524d\u7f00\u65e0\u6548\uff1a{0}"},

-

-    // Note to translators:  An "attribute set" is a set of attributes that can

-    // be added to an element in the output document as a group.  The message

-    // indicates that there was a reference to an attribute set named {0} that

-    // was never defined.

-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782

-    { ER_NO_ATTRIB_SET,

-     "\u540d\u4e3a {0} \u7684\u5c5e\u6027\u96c6\u4e0d\u5b58\u5728"},

-

-    // Note to translators:  This message indicates that there was a reference

-    // to a function named {0} for which no function definition could be found.

-    { ER_FUNCTION_NOT_FOUND,

-     "\u540d\u4e3a {0} \u7684\u51fd\u6570\u4e0d\u5b58\u5728"},

-

-    // Note to translators:  This message indicates that the XSLT instruction

-    // that is named by the substitution text {0} must not contain other XSLT

-    // instructions (content) or a "select" attribute.  The word "select" is

-    // an XSLT keyword in this case and must not be translated.

-    { ER_CANT_HAVE_CONTENT_AND_SELECT,

-     "{0} \u5143\u7d20\u4e0d\u5f97\u540c\u65f6\u5177\u6709\u5185\u5bb9\u548c select \u5c5e\u6027\u3002"},

-

-    // Note to translators:  This message indicates that the value argument

-    // of setParameter must be a valid Java Object.

-    { ER_INVALID_SET_PARAM_VALUE,

-     "\u53c2\u6570 {0} \u7684\u503c\u5fc5\u987b\u4e3a\u6709\u6548\u7684 Java \u5bf9\u8c61"},

-

-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,

-         "xsl:namespace-alias \u5143\u7d20\u7684 result-prefix \u5c5e\u6027\u542b\u6709\u201c#default\u201d\u503c\uff0c\u4f46\u5728\u8be5\u5143\u7d20\u7684\u4f5c\u7528\u57df\u4e2d\u6ca1\u6709\u7f3a\u7701\u540d\u79f0\u7a7a\u95f4\u7684\u58f0\u660e\u3002"},

-

-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,

-         "xsl:namespace-alias \u5143\u7d20\u7684 result-prefix \u5c5e\u6027\u542b\u6709\u201c{0}\u201d\u503c\uff0c\u4f46\u662f\u5728\u8be5\u5143\u7d20\u7684\u4f5c\u7528\u57df\u4e2d\u6ca1\u6709\u524d\u7f00\u201c{0}\u201d\u7684\u540d\u79f0\u7a7a\u95f4\u58f0\u660e\u3002"},

-

-    { ER_SET_FEATURE_NULL_NAME,

-      "\u5728 TransformerFactory.setFeature(String name, boolean value) \u4e2d\u7279\u5f81\u540d\u4e0d\u80fd\u4e3a\u7a7a\u3002"},

-

-    { ER_GET_FEATURE_NULL_NAME,

-      "\u5728 TransformerFactory.getFeature(String name) \u4e2d\u7279\u5f81\u540d\u4e0d\u80fd\u4e3a\u7a7a\u3002"},

-

-    { ER_UNSUPPORTED_FEATURE,

-      "\u65e0\u6cd5\u5bf9\u6b64 TransformerFactory \u8bbe\u7f6e\u7279\u5f81\u201c{0}\u201d\u3002"},

-

-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,

-        "\u5f53\u5b89\u5168\u5904\u7406\u529f\u80fd\u8bbe\u7f6e\u4e3a true \u65f6\uff0c\u4e0d\u5141\u8bb8\u4f7f\u7528\u6269\u5c55\u5143\u7d20\u201c{0}\u201d\u3002"},

-

-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,

-          "\u65e0\u6cd5\u4e3a\u7a7a\u540d\u79f0\u7a7a\u95f4 uri \u83b7\u53d6\u524d\u7f00\u3002"},

-

-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,

-          "\u65e0\u6cd5\u4e3a\u7a7a\u524d\u7f00\u83b7\u53d6\u540d\u79f0\u7a7a\u95f4 uri\u3002"},

-

-        { ER_XPATH_RESOLVER_NULL_QNAME,

-          "\u51fd\u6570\u540d\u4e0d\u80fd\u4e3a\u7a7a\u3002"},

-

-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,

-          "\u6570\u91cf\u4e0d\u80fd\u4e3a\u8d1f\u3002"},

-

-  // Warnings...

-

-    { WG_FOUND_CURLYBRACE,

-      "\u627e\u5230\u201c}\u201d\uff0c\u4f46\u6ca1\u6709\u6253\u5f00\u5c5e\u6027\u6a21\u677f\uff01"},

-

-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,

-      "\u8b66\u544a\uff1acount \u5c5e\u6027\u4e0e xsl:number \u4e2d\u7684\u4e0a\u7ea7\u4e0d\u5339\u914d\uff01\u76ee\u6807 = {0}"},

-

-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,

-      "\u65e7\u8bed\u6cd5\uff1a\u201cexpr\u201d\u5c5e\u6027\u7684\u540d\u79f0\u5df2\u7ecf\u66f4\u6539\u4e3a\u201cselect\u201d\u3002"},

-

-    { WG_NO_LOCALE_IN_FORMATNUMBER,

-      "Xalan \u5728 format-number \u51fd\u6570\u4e2d\u5c1a\u672a\u5904\u7406\u8bed\u8a00\u73af\u5883\u540d\u3002"},

-

-    { WG_LOCALE_NOT_FOUND,

-      "\u8b66\u544a\uff1a\u627e\u4e0d\u5230 xml:lang={0} \u7684\u8bed\u8a00\u73af\u5883"},

-

-    { WG_CANNOT_MAKE_URL_FROM,

-      "\u65e0\u6cd5\u4ece {0} \u751f\u6210 URL"},

-

-    { WG_CANNOT_LOAD_REQUESTED_DOC,

-      "\u65e0\u6cd5\u88c5\u5165\u8bf7\u6c42\u7684\u6587\u6863\uff1a{0}"},

-

-    { WG_CANNOT_FIND_COLLATOR,

-      "\u627e\u4e0d\u5230 <sort xml:lang={0} \u7684\u6574\u7406\u5668"},

-

-    { WG_FUNCTIONS_SHOULD_USE_URL,

-      "\u65e7\u8bed\u6cd5\uff1a\u51fd\u6570\u6307\u4ee4\u5e94\u5f53\u4f7f\u7528 {0} \u7684 URL"},

-

-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,

-      "\u4e0d\u652f\u6301\u7f16\u7801\uff1a{0}\uff0c\u6b63\u5728\u4f7f\u7528 UTF-8"},

-

-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,

-      "\u4e0d\u652f\u6301\u7f16\u7801\uff1a{0}\uff0c\u6b63\u5728\u4f7f\u7528 Java {1}"},

-

-    { WG_SPECIFICITY_CONFLICTS,

-      "\u53d1\u73b0\u7279\u6027\u51b2\u7a81\uff1a\u5c06\u4f7f\u7528\u6837\u5f0f\u8868\u4e2d\u6700\u540e\u627e\u5230\u7684 {0}\u3002"},

-

-    { WG_PARSING_AND_PREPARING,

-      "========= \u89e3\u6790\u548c\u51c6\u5907 {0} =========="},

-

-    { WG_ATTR_TEMPLATE,

-     "\u5c5e\u6027\u6a21\u677f\uff0c{0}"},

-

-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,

-      "xsl:strip-space \u548c xsl:preserve-space \u4e4b\u95f4\u7684\u5339\u914d\u51b2\u7a81"},

-

-    { WG_ATTRIB_NOT_HANDLED,

-      "Xalan \u5c1a\u672a\u5904\u7406 {0} \u5c5e\u6027\uff01"},

-

-    { WG_NO_DECIMALFORMAT_DECLARATION,

-      "\u627e\u4e0d\u5230\u5341\u8fdb\u5236\u683c\u5f0f\u7684\u58f0\u660e\uff1a{0}"},

-

-    { WG_OLD_XSLT_NS,

-     "XSLT \u540d\u79f0\u7a7a\u95f4\u4e22\u5931\u6216\u4e0d\u6b63\u786e\u3002"},

-

-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,

-      "\u53ea\u5141\u8bb8\u4e00\u4e2a\u7f3a\u7701\u7684 xsl:decimal-format \u58f0\u660e\u3002"},

-

-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,

-      "xsl:decimal-format \u540d\u79f0\u5fc5\u987b\u662f\u552f\u4e00\u7684\u3002\u540d\u79f0\u201c{0}\u201d\u6709\u91cd\u590d\u3002"},

-

-    { WG_ILLEGAL_ATTRIBUTE,

-      "{0} \u6709\u4e00\u4e2a\u975e\u6cd5\u5c5e\u6027\uff1a{1}"},

-

-    { WG_COULD_NOT_RESOLVE_PREFIX,

-      "\u65e0\u6cd5\u89e3\u6790\u540d\u79f0\u7a7a\u95f4\u524d\u7f00\uff1a{0}\u3002\u5c06\u5ffd\u7565\u8be5\u8282\u70b9\u3002"},

-

-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,

-      "xsl:stylesheet \u9700\u8981\u201cversion\u201d\u5c5e\u6027\uff01"},

-

-    { WG_ILLEGAL_ATTRIBUTE_NAME,

-      "\u975e\u6cd5\u5c5e\u6027\u540d\u79f0\uff1a{0}"},

-

-    { WG_ILLEGAL_ATTRIBUTE_VALUE,

-      "\u7528\u4e8e\u5c5e\u6027 {0} \u7684\u503c\u975e\u6cd5\uff1a{1}"},

-

-    { WG_EMPTY_SECOND_ARG,

-      "\u4ece\u6587\u6863\u51fd\u6570\u7684\u7b2c\u4e8c\u53c2\u6570\u4ea7\u751f\u7684\u8282\u70b9\u96c6\u662f\u7a7a\u7684\u3002\u8fd4\u56de\u4e00\u4e2a\u7a7a\u8282\u70b9\u96c6\u3002"},

-

-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)

-

-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords

-    // and must not be translated.

-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,

-      "xsl:processing-instruction \u540d\u79f0\u7684\u201cname\u201d\u5c5e\u6027\u7684\u503c\u4e0d\u5f97\u4e3a\u201cxml\u201d"},

-

-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords

-    // and must not be translated.  "NCName" is an XML data-type and must not be

-    // translated.

-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,

-      "xsl:processing-instruction \u7684\u201cname\u201d\u5c5e\u6027\u7684\u503c\u5fc5\u987b\u662f\u6709\u6548\u7684 NCName\uff1a{0}"},

-

-    // Note to translators:  This message is reported if the stylesheet that is

-    // being processed attempted to construct an XML document with an attribute in a

-    // place other than on an element.  The substitution text specifies the name of

-    // the attribute.

-    { WG_ILLEGAL_ATTRIBUTE_POSITION,

-      "\u5728\u751f\u6210\u5b50\u8282\u70b9\u4e4b\u540e\u6216\u5728\u751f\u6210\u5143\u7d20\u4e4b\u524d\u65e0\u6cd5\u6dfb\u52a0\u5c5e\u6027 {0}\u3002\u5c06\u5ffd\u7565\u5c5e\u6027\u3002"},

-

-    { NO_MODIFICATION_ALLOWED_ERR,

-      "\u8bd5\u56fe\u4fee\u6539\u4e0d\u5141\u8bb8\u4fee\u6539\u7684\u5bf9\u8c61\u3002"

-    },

-

-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?

-

-  // Other miscellaneous text used inside the code...

-  { "ui_language", "zh"},

-  {  "help_language",  "zh" },

-  {  "language",  "zh" },

-  { "BAD_CODE", "createMessage \u7684\u53c2\u6570\u8d85\u51fa\u8303\u56f4"},

-  {  "FORMAT_FAILED", "\u5728 messageFormat \u8c03\u7528\u8fc7\u7a0b\u4e2d\u629b\u51fa\u4e86\u5f02\u5e38"},

-  {  "version", ">>>>>>> Xalan \u7248\u672c"},

-  {  "version2",  "<<<<<<<"},

-  {  "yes", "\u662f"},

-  { "line", "\u884c\u53f7"},

-  { "column","\u5217\u53f7"},

-  { "xsldone", "XSLProcessor\uff1a\u5b8c\u6210"},

-

-

-  // Note to translators:  The following messages provide usage information

-  // for the Xalan Process command line.  "Process" is the name of a Java class,

-  // and should not be translated.

-  { "xslProc_option", "Xalan-J \u547d\u4ee4\u884c Process \u7c7b\u9009\u9879\uff1a"},

-  { "xslProc_option", "Xalan-J \u547d\u4ee4\u884c Process \u7c7b\u9009\u9879\uff1a"},

-  { "xslProc_invalid_xsltc_option", "\u5728 XSLTC \u65b9\u5f0f\u4e2d\uff0c\u4e0d\u652f\u6301\u9009\u9879 {0}\u3002"},

-  { "xslProc_invalid_xalan_option", "\u9009\u9879 {0} \u53ea\u80fd\u4e0e -XSLTC \u4e00\u8d77\u4f7f\u7528\u3002"},

-  { "xslProc_no_input", "\u9519\u8bef\uff1a\u6ca1\u6709\u6307\u5b9a\u6837\u5f0f\u8868\u6216\u8f93\u5165 xml\u3002\u4e0d\u5e26\u4efb\u4f55\u9009\u9879\u8fd0\u884c\u6b64\u547d\u4ee4\uff0c\u4ee5\u4e86\u89e3\u4f7f\u7528\u8bf4\u660e\u3002"},

-  { "xslProc_common_options", "\uff0d \u5e38\u7528\u9009\u9879 \uff0d"},

-  { "xslProc_xalan_options", "\u2015 Xalan \u9009\u9879 \u2015"},

-  { "xslProc_xsltc_options", "\u2015 XSLTC \u9009\u9879 \u2015"},

-  { "xslProc_return_to_continue", "\uff08\u8bf7\u6309 <return> \u952e\u7ee7\u7eed\uff09"},

-

-   // Note to translators: The option name and the parameter name do not need to

-   // be translated. Only translate the messages in parentheses.  Note also that

-   // leading whitespace in the messages is used to indent the usage information

-   // for each option in the English messages.

-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.

-  { "optionXSLTC", "   [-XSLTC \uff08\u4f7f\u7528 XSLTC \u8f6c\u6362\uff09]"},

-  { "optionIN", "   [-IN inputXMLURL]"},

-  { "optionXSL", "[-XSL XSLTransformationURL]"},

-  { "optionOUT",  "[-OUT outputFileName]"},

-  { "optionLXCIN", "[-LXCIN compiledStylesheetFileNameIn]"},

-  { "optionLXCOUT", "[-LXCOUT compiledStylesheetFileNameOutOut]"},

-  { "optionPARSER", "   [-PARSER fully qualified class name of parser liaison]"},

-  {  "optionE", "[-E \uff08\u4e0d\u8981\u5c55\u5f00\u5b9e\u4f53\u5f15\u7528\uff09]"},

-  {  "optionV",  "[-E \uff08\u4e0d\u8981\u5c55\u5f00\u5b9e\u4f53\u5f15\u7528\uff09]"},

-  {  "optionQC", "[-QC \uff08\u9759\u9ed8\u6a21\u5f0f\u51b2\u7a81\u8b66\u544a\uff09]"},

-  {  "optionQ", "[-Q \uff08\u9759\u9ed8\u65b9\u5f0f\uff09]"},

-  {  "optionLF", "[-LF \uff08\u4ec5\u5728\u8f93\u51fa\u65f6\u4f7f\u7528\u6362\u884c {\u7f3a\u7701\u503c\u662f CR/LF}\uff09]"},

-  {  "optionCR", "[-CR \uff08\u4ec5\u5728\u8f93\u51fa\u65f6\u4f7f\u7528\u56de\u8f66\u7b26 {\u7f3a\u7701\u503c\u662f CR/LF}\uff09]"},

-  { "optionESCAPE", "[-ESCAPE \uff08\u8bbe\u7f6e\u8f6c\u4e49\u5b57\u7b26 {\u7f3a\u7701\u503c\u662f <>&\"\'\\r\\n}\uff09]"},

-  { "optionINDENT", "[-INDENT \uff08\u63a7\u5236\u7f29\u8fdb\u591a\u5c11\u7a7a\u683c {\u7f3a\u7701\u503c\u662f 0}\uff09]"},

-  { "optionTT", "[-TT \uff08\u5728\u6a21\u677f\u88ab\u8c03\u7528\u65f6\u8ddf\u8e2a\u6a21\u677f\u3002\uff09]"},

-  { "optionTG", "[-TG \uff08\u8ddf\u8e2a\u6bcf\u4e00\u4e2a\u751f\u6210\u4e8b\u4ef6\u3002\uff09]"},

-  { "optionTS", "[-TS \uff08\u8ddf\u8e2a\u6bcf\u4e00\u4e2a\u9009\u62e9\u4e8b\u4ef6\u3002\uff09]"},

-  {  "optionTTC", "[-TTC \uff08\u5728\u5b50\u6a21\u677f\u88ab\u5904\u7406\u65f6\u5bf9\u5176\u8fdb\u884c\u8ddf\u8e2a\u3002\uff09]"},

-  { "optionTCLASS", "[-TCLASS \uff08\u8ddf\u8e2a\u6269\u5c55\u7684 TraceListener \u7c7b\u3002\uff09]"},

-  { "optionVALIDATE", "[-VALIDATE \uff08\u8bbe\u7f6e\u662f\u5426\u8fdb\u884c\u9a8c\u8bc1\u3002\u7f3a\u7701\u65f6\u9a8c\u8bc1\u662f\u5173\u95ed\u7684\u3002\uff09]"},

-  { "optionEDUMP", "[-EDUMP {\u53ef\u9009\u6587\u4ef6\u540d} \uff08\u53d1\u751f\u9519\u8bef\u65f6\u5806\u6808\u8f6c\u50a8\u3002\uff09]"},

-  {  "optionXML", "[-XML \uff08\u4f7f\u7528 XML \u683c\u5f0f\u5316\u7a0b\u5e8f\u5e76\u6dfb\u52a0 XML \u5934\u3002\uff09]"},

-  {  "optionTEXT", "[-TEXT \uff08\u4f7f\u7528\u7b80\u5355\u6587\u672c\u683c\u5f0f\u5316\u7a0b\u5e8f\u3002\uff09]"},

-  {  "optionHTML", "[-HTML \uff08\u4f7f\u7528 HTML \u683c\u5f0f\u5316\u7a0b\u5e8f\uff09]"},

-  {  "optionPARAM", "[-PARAM name expression \uff08\u8bbe\u7f6e\u6837\u8bc6\u8868\u53c2\u6570\uff09]"},

-  {  "noParsermsg1", "XSL \u5904\u7406\u4e0d\u6210\u529f\u3002"},

-  {  "noParsermsg2", "** \u627e\u4e0d\u5230\u89e3\u6790\u5668 **"},

-  { "noParsermsg3",  "\u8bf7\u68c0\u67e5\u60a8\u7684\u7c7b\u8def\u5f84\u3002"},

-  { "noParsermsg4", "\u5982\u679c\u6ca1\u6709 IBM \u7684 XML Parser for Java\uff0c\u60a8\u53ef\u4ee5\u4ece\u4ee5\u4e0b\u4f4d\u7f6e\u4e0b\u8f7d\u5b83\uff1a"},

-  { "noParsermsg5", "IBM \u7684 AlphaWorks\uff1ahttp://www.alphaworks.ibm.com/formula/xml"},

-  { "optionURIRESOLVER", "[-URIRESOLVER full class name \uff08\u4f7f\u7528 URIResolver \u89e3\u6790 URI\uff09]"},

-  { "optionENTITYRESOLVER",  "[-ENTITYRESOLVER full class name \uff08\u4f7f\u7528 EntityResolver \u89e3\u6790\u5b9e\u4f53\uff09]"},

-  { "optionCONTENTHANDLER",  "[-CONTENTHANDLER full class name \uff08\u4f7f\u7528 ContentHandler \u4e32\u884c\u5316\u8f93\u51fa\uff09]"},

-  {  "optionLINENUMBERS",  "[-L use line numbers for source document]"},

-  { "optionSECUREPROCESSING", "   [-SECURE \uff08\u5c06\u5b89\u5168\u5904\u7406\u529f\u80fd\u8bbe\u7f6e\u4e3a true\u3002\uff09]"},

-

-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)

-

-

-  {  "optionMEDIA",  "   [-MEDIA mediaType \uff08\u4f7f\u7528 media \u5c5e\u6027\u67e5\u627e\u4e0e\u6587\u6863\u5173\u8054\u7684\u6837\u5f0f\u8868\u3002\uff09]"},

-  {  "optionFLAVOR",  "   [-FLAVOR flavorName \uff08\u663e\u5f0f\u4f7f\u7528 s2s=SAX \u6216 d2d=DOM \u8fdb\u884c\u8f6c\u6362\u3002\uff09]"}, // Added by sboag/scurcuru; experimental

-  { "optionDIAG", "[-DIAG \uff08\u6253\u5370\u5168\u90e8\u6beb\u79d2\u8f6c\u6362\u6807\u8bb0\u3002\uff09]"},

-  { "optionINCREMENTAL",  "   [-INCREMENTAL \uff08\u901a\u8fc7\u5c06 http://xml.apache.org/xalan/features/incremental \u8bbe\u7f6e\u4e3a true \u8bf7\u6c42\u589e\u91cf DTM \u6784\u9020\u3002\uff09]"},

-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE \uff08\u901a\u8fc7\u5c06 http://xml.apache.org/xalan/features/optimize \u8bbe\u7f6e\u4e3a false \u8bf7\u6c42\u65e0\u6837\u5f0f\u8868\u7684\u4f18\u5316\u5904\u7406\u3002\uff09]"},

-  { "optionRL",  "   [-RL recursionlimit \uff08\u65ad\u8a00\u6837\u5f0f\u8868\u9012\u5f52\u6df1\u5ea6\u7684\u6570\u5b57\u6781\u9650\u3002\uff09]"},

-  {   "optionXO",  "[-XO [transletName] \uff08\u65ad\u8a00\u751f\u6210\u7684 translet \u7684\u540d\u79f0\uff09]"},

-  {  "optionXD", "[-XD destinationDirectory \uff08\u6307\u5b9a translet \u7684\u76ee\u6807\u76ee\u5f55\uff09]"},

-  {  "optionXJ",  "[-XJ jarfile \uff08\u5c06 translet \u7c7b\u6253\u5305\u6210\u540d\u79f0\u4e3a <jarfile> \u7684 jar \u6587\u4ef6\uff09]"},

-  {   "optionXP",  "[-XP package \uff08\u6307\u51fa\u6240\u6709\u751f\u6210\u7684 translet \u7c7b\u7684\u8f6f\u4ef6\u5305\u540d\u79f0\u524d\u7f00\uff09]"},

-

-  //AddITIONAL  STRINGS that need L10n

-  // Note to translators:  The following message describes usage of a particular

-  // command-line option that is used to enable the "template inlining"

-  // optimization.  The optimization involves making a copy of the code

-  // generated for a template in another template that refers to it.

-  { "optionXN",  "[-XN \uff08\u542f\u7528\u6a21\u677f\u4ee3\u7801\u5d4c\u5165\uff09]" },

-  { "optionXX",  "[-XX \uff08\u6253\u5f00\u9644\u52a0\u8c03\u8bd5\u6d88\u606f\u8f93\u51fa\uff09]"},

-  { "optionXT" , "[-XT \uff08\u53ef\u80fd\u7684\u8bdd\u4f7f\u7528 translet \u8fdb\u884c\u8f6c\u6362\uff09]"},

-  { "diagTiming","--------- {0} \u901a\u8fc7 {1} \u7684\u8f6c\u6362\u8017\u65f6 {2} \u6beb\u79d2" },

-  { "recursionTooDeep","\u6a21\u677f\u5d4c\u5957\u592a\u6df1\u3002\u5d4c\u5957 = {0}\uff0c\u6a21\u677f {1} {2}" },

-  { "nameIs", "\u540d\u79f0\u4e3a" },

-  { "matchPatternIs", "\u5339\u914d\u6a21\u5f0f\u4e3a" }

-

-  };

-  }

-  // ================= INFRASTRUCTURE ======================

-

-  /** String for use when a bad error code was encountered.    */

-  public static final String BAD_CODE = "BAD_CODE";

-

-  /** String for use when formatting of the error string failed.   */

-  public static final String FORMAT_FAILED = "FORMAT_FAILED";

-

-  /** General error string.   */

-  public static final String ERROR_STRING = "#\u9519\u8bef";

-

-  /** String to prepend to error messages.  */

-  public static final String ERROR_HEADER = "\u9519\u8bef\uff1a";

-

-  /** String to prepend to warning messages.    */

-  public static final String WARNING_HEADER = "\u8b66\u544a\uff1a";

-

-  /** String to specify the XSLT module.  */

-  public static final String XSL_HEADER = "XSLT ";

-

-  /** String to specify the XML parser module.  */

-  public static final String XML_HEADER = "XML ";

-

-  /** I don't think this is used any more.

-   * @deprecated  */

-  public static final String QUERY_HEADER = "PATTERN ";

-

-

-  /**

-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior

-   *   of ResourceBundle.getBundle().

-   *

-   *   @param className the name of the class that implements the resource bundle.

-   *   @return the ResourceBundle

-   *   @throws MissingResourceException

-   */

-  public static final XSLTErrorResources loadResourceBundle(String className)

-          throws MissingResourceException

-  {

-

-    Locale locale = Locale.getDefault();

-    String suffix = getResourceSuffix(locale);

-

-    try

-    {

-

-      // first try with the given locale

-      return (XSLTErrorResources) ResourceBundle.getBundle(className

-              + suffix, locale);

-    }

-    catch (MissingResourceException e)

-    {

-      try  // try to fall back to en_US if we can't load

-      {

-

-        // Since we can't find the localized property file,

-        // fall back to en_US.

-        return (XSLTErrorResources) ResourceBundle.getBundle(className,

-                new Locale("zh", "CN"));

-      }

-      catch (MissingResourceException e2)

-      {

-

-        // Now we are really in trouble.

-        // very bad, definitely very bad...not going to get very far

-        throw new MissingResourceException(

-          "Could not load any resource bundles.", className, "");

-      }

-    }

-  }

-

-  /**

-   * Return the resource file suffic for the indicated locale

-   * For most locales, this will be based the language code.  However

-   * for Chinese, we do distinguish between Taiwan and PRC

-   *

-   * @param locale the locale

-   * @return an String suffix which canbe appended to a resource name

-   */

-  private static final String getResourceSuffix(Locale locale)

-  {

-

-    String suffix = "_" + locale.getLanguage();

-    String country = locale.getCountry();

-

-    if (country.equals("TW"))

-      suffix += "_" + country;

-

-    return suffix;

-  }

-

-

-}

diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_zh_CN.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_zh_CN.java
deleted file mode 100644
index c587619..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_zh_CN.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.xalan.res;
-
-public class XSLTErrorResources_zh_CN extends XSLTErrorResources_zh
-{
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_zh_TW.java b/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_zh_TW.java
deleted file mode 100644
index 5e512f6..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/res/XSLTErrorResources_zh_TW.java
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTErrorResources_zh_TW.java 468641 2006-10-28 06:54:42Z minchau $
- */
-package org.apache.xalan.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And
- *  you need to enter key , value pair as part of contents
- * Array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XSLTErrorResources_zh_TW extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 201;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 29;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 55;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  /*
-   * Static variables
-   */
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX =
-        "ER_INVALID_SET_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX";
-
-  public static final String ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT =
-        "ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT";
-
-  public static final String ER_NO_CURLYBRACE = "ER_NO_CURLYBRACE";
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIBUTE = "ER_ILLEGAL_ATTRIBUTE";
-  public static final String ER_NULL_SOURCENODE_APPLYIMPORTS = "ER_NULL_SOURCENODE_APPLYIMPORTS";
-  public static final String ER_CANNOT_ADD = "ER_CANNOT_ADD";
-  public static final String ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES="ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES";
-  public static final String ER_NO_NAME_ATTRIB = "ER_NO_NAME_ATTRIB";
-  public static final String ER_TEMPLATE_NOT_FOUND = "ER_TEMPLATE_NOT_FOUND";
-  public static final String ER_CANT_RESOLVE_NAME_AVT = "ER_CANT_RESOLVE_NAME_AVT";
-  public static final String ER_REQUIRES_ATTRIB = "ER_REQUIRES_ATTRIB";
-  public static final String ER_MUST_HAVE_TEST_ATTRIB = "ER_MUST_HAVE_TEST_ATTRIB";
-  public static final String ER_BAD_VAL_ON_LEVEL_ATTRIB =
-         "ER_BAD_VAL_ON_LEVEL_ATTRIB";
-  public static final String ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String ER_NEED_MATCH_ATTRIB = "ER_NEED_MATCH_ATTRIB";
-  public static final String ER_NEED_NAME_OR_MATCH_ATTRIB =
-         "ER_NEED_NAME_OR_MATCH_ATTRIB";
-  public static final String ER_CANT_RESOLVE_NSPREFIX =
-         "ER_CANT_RESOLVE_NSPREFIX";
-  public static final String ER_ILLEGAL_VALUE = "ER_ILLEGAL_VALUE";
-  public static final String ER_NO_OWNERDOC = "ER_NO_OWNERDOC";
-  public static final String ER_ELEMTEMPLATEELEM_ERR ="ER_ELEMTEMPLATEELEM_ERR";
-  public static final String ER_NULL_CHILD = "ER_NULL_CHILD";
-  public static final String ER_NEED_SELECT_ATTRIB = "ER_NEED_SELECT_ATTRIB";
-  public static final String ER_NEED_TEST_ATTRIB = "ER_NEED_TEST_ATTRIB";
-  public static final String ER_NEED_NAME_ATTRIB = "ER_NEED_NAME_ATTRIB";
-  public static final String ER_NO_CONTEXT_OWNERDOC = "ER_NO_CONTEXT_OWNERDOC";
-  public static final String ER_COULD_NOT_CREATE_XML_PROC_LIAISON =
-         "ER_COULD_NOT_CREATE_XML_PROC_LIAISON";
-  public static final String ER_PROCESS_NOT_SUCCESSFUL =
-         "ER_PROCESS_NOT_SUCCESSFUL";
-  public static final String ER_NOT_SUCCESSFUL = "ER_NOT_SUCCESSFUL";
-  public static final String ER_ENCODING_NOT_SUPPORTED =
-         "ER_ENCODING_NOT_SUPPORTED";
-  public static final String ER_COULD_NOT_CREATE_TRACELISTENER =
-         "ER_COULD_NOT_CREATE_TRACELISTENER";
-  public static final String ER_KEY_REQUIRES_NAME_ATTRIB =
-         "ER_KEY_REQUIRES_NAME_ATTRIB";
-  public static final String ER_KEY_REQUIRES_MATCH_ATTRIB =
-         "ER_KEY_REQUIRES_MATCH_ATTRIB";
-  public static final String ER_KEY_REQUIRES_USE_ATTRIB =
-         "ER_KEY_REQUIRES_USE_ATTRIB";
-  public static final String ER_REQUIRES_ELEMENTS_ATTRIB =
-         "ER_REQUIRES_ELEMENTS_ATTRIB";
-  public static final String ER_MISSING_PREFIX_ATTRIB =
-         "ER_MISSING_PREFIX_ATTRIB";
-  public static final String ER_BAD_STYLESHEET_URL = "ER_BAD_STYLESHEET_URL";
-  public static final String ER_FILE_NOT_FOUND = "ER_FILE_NOT_FOUND";
-  public static final String ER_IOEXCEPTION = "ER_IOEXCEPTION";
-  public static final String ER_NO_HREF_ATTRIB = "ER_NO_HREF_ATTRIB";
-  public static final String ER_STYLESHEET_INCLUDES_ITSELF =
-         "ER_STYLESHEET_INCLUDES_ITSELF";
-  public static final String ER_PROCESSINCLUDE_ERROR ="ER_PROCESSINCLUDE_ERROR";
-  public static final String ER_MISSING_LANG_ATTRIB = "ER_MISSING_LANG_ATTRIB";
-  public static final String ER_MISSING_CONTAINER_ELEMENT_COMPONENT =
-         "ER_MISSING_CONTAINER_ELEMENT_COMPONENT";
-  public static final String ER_CAN_ONLY_OUTPUT_TO_ELEMENT =
-         "ER_CAN_ONLY_OUTPUT_TO_ELEMENT";
-  public static final String ER_PROCESS_ERROR = "ER_PROCESS_ERROR";
-  public static final String ER_UNIMPLNODE_ERROR = "ER_UNIMPLNODE_ERROR";
-  public static final String ER_NO_SELECT_EXPRESSION ="ER_NO_SELECT_EXPRESSION";
-  public static final String ER_CANNOT_SERIALIZE_XSLPROCESSOR =
-         "ER_CANNOT_SERIALIZE_XSLPROCESSOR";
-  public static final String ER_NO_INPUT_STYLESHEET = "ER_NO_INPUT_STYLESHEET";
-  public static final String ER_FAILED_PROCESS_STYLESHEET =
-         "ER_FAILED_PROCESS_STYLESHEET";
-  public static final String ER_COULDNT_PARSE_DOC = "ER_COULDNT_PARSE_DOC";
-  public static final String ER_COULDNT_FIND_FRAGMENT =
-         "ER_COULDNT_FIND_FRAGMENT";
-  public static final String ER_NODE_NOT_ELEMENT = "ER_NODE_NOT_ELEMENT";
-  public static final String ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB =
-         "ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB";
-  public static final String ER_NO_CLONE_OF_DOCUMENT_FRAG =
-         "ER_NO_CLONE_OF_DOCUMENT_FRAG";
-  public static final String ER_CANT_CREATE_ITEM = "ER_CANT_CREATE_ITEM";
-  public static final String ER_XMLSPACE_ILLEGAL_VALUE =
-         "ER_XMLSPACE_ILLEGAL_VALUE";
-  public static final String ER_NO_XSLKEY_DECLARATION =
-         "ER_NO_XSLKEY_DECLARATION";
-  public static final String ER_CANT_CREATE_URL = "ER_CANT_CREATE_URL";
-  public static final String ER_XSLFUNCTIONS_UNSUPPORTED =
-         "ER_XSLFUNCTIONS_UNSUPPORTED";
-  public static final String ER_PROCESSOR_ERROR = "ER_PROCESSOR_ERROR";
-  public static final String ER_NOT_ALLOWED_INSIDE_STYLESHEET =
-         "ER_NOT_ALLOWED_INSIDE_STYLESHEET";
-  public static final String ER_RESULTNS_NOT_SUPPORTED =
-         "ER_RESULTNS_NOT_SUPPORTED";
-  public static final String ER_DEFAULTSPACE_NOT_SUPPORTED =
-         "ER_DEFAULTSPACE_NOT_SUPPORTED";
-  public static final String ER_INDENTRESULT_NOT_SUPPORTED =
-         "ER_INDENTRESULT_NOT_SUPPORTED";
-  public static final String ER_ILLEGAL_ATTRIB = "ER_ILLEGAL_ATTRIB";
-  public static final String ER_UNKNOWN_XSL_ELEM = "ER_UNKNOWN_XSL_ELEM";
-  public static final String ER_BAD_XSLSORT_USE = "ER_BAD_XSLSORT_USE";
-  public static final String ER_MISPLACED_XSLWHEN = "ER_MISPLACED_XSLWHEN";
-  public static final String ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_MISPLACED_XSLOTHERWISE =
-         "ER_MISPLACED_XSLOTHERWISE";
-  public static final String ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE =
-         "ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE";
-  public static final String ER_NOT_ALLOWED_INSIDE_TEMPLATE =
-         "ER_NOT_ALLOWED_INSIDE_TEMPLATE";
-  public static final String ER_UNKNOWN_EXT_NS_PREFIX =
-         "ER_UNKNOWN_EXT_NS_PREFIX";
-  public static final String ER_IMPORTS_AS_FIRST_ELEM =
-         "ER_IMPORTS_AS_FIRST_ELEM";
-  public static final String ER_IMPORTING_ITSELF = "ER_IMPORTING_ITSELF";
-  public static final String ER_XMLSPACE_ILLEGAL_VAL ="ER_XMLSPACE_ILLEGAL_VAL";
-  public static final String ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL =
-         "ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL";
-  public static final String ER_SAX_EXCEPTION = "ER_SAX_EXCEPTION";
-  public static final String ER_XSLT_ERROR = "ER_XSLT_ERROR";
-  public static final String ER_CURRENCY_SIGN_ILLEGAL=
-         "ER_CURRENCY_SIGN_ILLEGAL";
-  public static final String ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM =
-         "ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM";
-  public static final String ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER =
-         "ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER";
-  public static final String ER_REDIRECT_COULDNT_GET_FILENAME =
-         "ER_REDIRECT_COULDNT_GET_FILENAME";
-  public static final String ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT =
-         "ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT";
-  public static final String ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX =
-         "ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX";
-  public static final String ER_MISSING_NS_URI = "ER_MISSING_NS_URI";
-  public static final String ER_MISSING_ARG_FOR_OPTION =
-         "ER_MISSING_ARG_FOR_OPTION";
-  public static final String ER_INVALID_OPTION = "ER_INVALID_OPTION";
-  public static final String ER_MALFORMED_FORMAT_STRING =
-         "ER_MALFORMED_FORMAT_STRING";
-  public static final String ER_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "ER_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String ER_ILLEGAL_ATTRIBUTE_VALUE =
-         "ER_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String ER_CHOOSE_REQUIRES_WHEN ="ER_CHOOSE_REQUIRES_WHEN";
-  public static final String ER_NO_APPLY_IMPORT_IN_FOR_EACH =
-         "ER_NO_APPLY_IMPORT_IN_FOR_EACH";
-  public static final String ER_CANT_USE_DTM_FOR_OUTPUT =
-         "ER_CANT_USE_DTM_FOR_OUTPUT";
-  public static final String ER_CANT_USE_DTM_FOR_INPUT =
-         "ER_CANT_USE_DTM_FOR_INPUT";
-  public static final String ER_CALL_TO_EXT_FAILED = "ER_CALL_TO_EXT_FAILED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_XSLATTRSET_USED_ITSELF =
-         "ER_XSLATTRSET_USED_ITSELF";
-  public static final String ER_CANNOT_MIX_XERCESDOM ="ER_CANNOT_MIX_XERCESDOM";
-  public static final String ER_TOO_MANY_LISTENERS = "ER_TOO_MANY_LISTENERS";
-  public static final String ER_IN_ELEMTEMPLATEELEM_READOBJECT =
-         "ER_IN_ELEMTEMPLATEELEM_READOBJECT";
-  public static final String ER_DUPLICATE_NAMED_TEMPLATE =
-         "ER_DUPLICATE_NAMED_TEMPLATE";
-  public static final String ER_INVALID_KEY_CALL = "ER_INVALID_KEY_CALL";
-  public static final String ER_REFERENCING_ITSELF = "ER_REFERENCING_ITSELF";
-  public static final String ER_ILLEGAL_DOMSOURCE_INPUT =
-         "ER_ILLEGAL_DOMSOURCE_INPUT";
-  public static final String ER_CLASS_NOT_FOUND_FOR_OPTION =
-         "ER_CLASS_NOT_FOUND_FOR_OPTION";
-  public static final String ER_REQUIRED_ELEM_NOT_FOUND =
-         "ER_REQUIRED_ELEM_NOT_FOUND";
-  public static final String ER_INPUT_CANNOT_BE_NULL ="ER_INPUT_CANNOT_BE_NULL";
-  public static final String ER_URI_CANNOT_BE_NULL = "ER_URI_CANNOT_BE_NULL";
-  public static final String ER_FILE_CANNOT_BE_NULL = "ER_FILE_CANNOT_BE_NULL";
-  public static final String ER_SOURCE_CANNOT_BE_NULL =
-         "ER_SOURCE_CANNOT_BE_NULL";
-  public static final String ER_CANNOT_INIT_BSFMGR = "ER_CANNOT_INIT_BSFMGR";
-  public static final String ER_CANNOT_CMPL_EXTENSN = "ER_CANNOT_CMPL_EXTENSN";
-  public static final String ER_CANNOT_CREATE_EXTENSN =
-         "ER_CANNOT_CREATE_EXTENSN";
-  public static final String ER_INSTANCE_MTHD_CALL_REQUIRES =
-         "ER_INSTANCE_MTHD_CALL_REQUIRES";
-  public static final String ER_INVALID_ELEMENT_NAME ="ER_INVALID_ELEMENT_NAME";
-  public static final String ER_ELEMENT_NAME_METHOD_STATIC =
-         "ER_ELEMENT_NAME_METHOD_STATIC";
-  public static final String ER_EXTENSION_FUNC_UNKNOWN =
-         "ER_EXTENSION_FUNC_UNKNOWN";
-  public static final String ER_MORE_MATCH_CONSTRUCTOR =
-         "ER_MORE_MATCH_CONSTRUCTOR";
-  public static final String ER_MORE_MATCH_METHOD = "ER_MORE_MATCH_METHOD";
-  public static final String ER_MORE_MATCH_ELEMENT = "ER_MORE_MATCH_ELEMENT";
-  public static final String ER_INVALID_CONTEXT_PASSED =
-         "ER_INVALID_CONTEXT_PASSED";
-  public static final String ER_POOL_EXISTS = "ER_POOL_EXISTS";
-  public static final String ER_NO_DRIVER_NAME = "ER_NO_DRIVER_NAME";
-  public static final String ER_NO_URL = "ER_NO_URL";
-  public static final String ER_POOL_SIZE_LESSTHAN_ONE =
-         "ER_POOL_SIZE_LESSTHAN_ONE";
-  public static final String ER_INVALID_DRIVER = "ER_INVALID_DRIVER";
-  public static final String ER_NO_STYLESHEETROOT = "ER_NO_STYLESHEETROOT";
-  public static final String ER_ILLEGAL_XMLSPACE_VALUE =
-         "ER_ILLEGAL_XMLSPACE_VALUE";
-  public static final String ER_PROCESSFROMNODE_FAILED =
-         "ER_PROCESSFROMNODE_FAILED";
-  public static final String ER_RESOURCE_COULD_NOT_LOAD =
-         "ER_RESOURCE_COULD_NOT_LOAD";
-  public static final String ER_BUFFER_SIZE_LESSTHAN_ZERO =
-         "ER_BUFFER_SIZE_LESSTHAN_ZERO";
-  public static final String ER_UNKNOWN_ERROR_CALLING_EXTENSION =
-         "ER_UNKNOWN_ERROR_CALLING_EXTENSION";
-  public static final String ER_NO_NAMESPACE_DECL = "ER_NO_NAMESPACE_DECL";
-  public static final String ER_ELEM_CONTENT_NOT_ALLOWED =
-         "ER_ELEM_CONTENT_NOT_ALLOWED";
-  public static final String ER_STYLESHEET_DIRECTED_TERMINATION =
-         "ER_STYLESHEET_DIRECTED_TERMINATION";
-  public static final String ER_ONE_OR_TWO = "ER_ONE_OR_TWO";
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-  public static final String ER_COULD_NOT_LOAD_RESOURCE =
-         "ER_COULD_NOT_LOAD_RESOURCE";
-  public static final String ER_CANNOT_INIT_DEFAULT_TEMPLATES =
-         "ER_CANNOT_INIT_DEFAULT_TEMPLATES";
-  public static final String ER_RESULT_NULL = "ER_RESULT_NULL";
-  public static final String ER_RESULT_COULD_NOT_BE_SET =
-         "ER_RESULT_COULD_NOT_BE_SET";
-  public static final String ER_NO_OUTPUT_SPECIFIED = "ER_NO_OUTPUT_SPECIFIED";
-  public static final String ER_CANNOT_TRANSFORM_TO_RESULT_TYPE =
-         "ER_CANNOT_TRANSFORM_TO_RESULT_TYPE";
-  public static final String ER_CANNOT_TRANSFORM_SOURCE_TYPE =
-         "ER_CANNOT_TRANSFORM_SOURCE_TYPE";
-  public static final String ER_NULL_CONTENT_HANDLER ="ER_NULL_CONTENT_HANDLER";
-  public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-  public static final String ER_CANNOT_CALL_PARSE = "ER_CANNOT_CALL_PARSE";
-  public static final String ER_NO_PARENT_FOR_FILTER ="ER_NO_PARENT_FOR_FILTER";
-  public static final String ER_NO_STYLESHEET_IN_MEDIA =
-         "ER_NO_STYLESHEET_IN_MEDIA";
-  public static final String ER_NO_STYLESHEET_PI = "ER_NO_STYLESHEET_PI";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_PROPERTY_VALUE_BOOLEAN =
-         "ER_PROPERTY_VALUE_BOOLEAN";
-  public static final String ER_COULD_NOT_FIND_EXTERN_SCRIPT =
-         "ER_COULD_NOT_FIND_EXTERN_SCRIPT";
-  public static final String ER_RESOURCE_COULD_NOT_FIND =
-         "ER_RESOURCE_COULD_NOT_FIND";
-  public static final String ER_OUTPUT_PROPERTY_NOT_RECOGNIZED =
-         "ER_OUTPUT_PROPERTY_NOT_RECOGNIZED";
-  public static final String ER_FAILED_CREATING_ELEMLITRSLT =
-         "ER_FAILED_CREATING_ELEMLITRSLT";
-  public static final String ER_VALUE_SHOULD_BE_NUMBER =
-         "ER_VALUE_SHOULD_BE_NUMBER";
-  public static final String ER_VALUE_SHOULD_EQUAL = "ER_VALUE_SHOULD_EQUAL";
-  public static final String ER_FAILED_CALLING_METHOD =
-         "ER_FAILED_CALLING_METHOD";
-  public static final String ER_FAILED_CREATING_ELEMTMPL =
-         "ER_FAILED_CREATING_ELEMTMPL";
-  public static final String ER_CHARS_NOT_ALLOWED = "ER_CHARS_NOT_ALLOWED";
-  public static final String ER_ATTR_NOT_ALLOWED = "ER_ATTR_NOT_ALLOWED";
-  public static final String ER_BAD_VALUE = "ER_BAD_VALUE";
-  public static final String ER_ATTRIB_VALUE_NOT_FOUND =
-         "ER_ATTRIB_VALUE_NOT_FOUND";
-  public static final String ER_ATTRIB_VALUE_NOT_RECOGNIZED =
-         "ER_ATTRIB_VALUE_NOT_RECOGNIZED";
-  public static final String ER_NULL_URI_NAMESPACE = "ER_NULL_URI_NAMESPACE";
-  public static final String ER_NUMBER_TOO_BIG = "ER_NUMBER_TOO_BIG";
-  public static final String  ER_CANNOT_FIND_SAX1_DRIVER =
-         "ER_CANNOT_FIND_SAX1_DRIVER";
-  public static final String  ER_SAX1_DRIVER_NOT_LOADED =
-         "ER_SAX1_DRIVER_NOT_LOADED";
-  public static final String  ER_SAX1_DRIVER_NOT_INSTANTIATED =
-         "ER_SAX1_DRIVER_NOT_INSTANTIATED" ;
-  public static final String ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER =
-         "ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER";
-  public static final String  ER_PARSER_PROPERTY_NOT_SPECIFIED =
-         "ER_PARSER_PROPERTY_NOT_SPECIFIED";
-  public static final String  ER_PARSER_ARG_CANNOT_BE_NULL =
-         "ER_PARSER_ARG_CANNOT_BE_NULL" ;
-  public static final String  ER_FEATURE = "ER_FEATURE";
-  public static final String ER_PROPERTY = "ER_PROPERTY" ;
-  public static final String ER_NULL_ENTITY_RESOLVER ="ER_NULL_ENTITY_RESOLVER";
-  public static final String  ER_NULL_DTD_HANDLER = "ER_NULL_DTD_HANDLER" ;
-  public static final String ER_NO_DRIVER_NAME_SPECIFIED =
-         "ER_NO_DRIVER_NAME_SPECIFIED";
-  public static final String ER_NO_URL_SPECIFIED = "ER_NO_URL_SPECIFIED";
-  public static final String ER_POOLSIZE_LESS_THAN_ONE =
-         "ER_POOLSIZE_LESS_THAN_ONE";
-  public static final String ER_INVALID_DRIVER_NAME = "ER_INVALID_DRIVER_NAME";
-  public static final String ER_ERRORLISTENER = "ER_ERRORLISTENER";
-  public static final String ER_ASSERT_NO_TEMPLATE_PARENT =
-         "ER_ASSERT_NO_TEMPLATE_PARENT";
-  public static final String ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR =
-         "ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR";
-  public static final String ER_NOT_ALLOWED_IN_POSITION =
-         "ER_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION =
-         "ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_NAMESPACE =
-         "ER_NAMESPACE_CONTEXT_NULL_NAMESPACE";
-  public static final String ER_NAMESPACE_CONTEXT_NULL_PREFIX =
-         "ER_NAMESPACE_CONTEXT_NULL_PREFIX";
-  public static final String ER_XPATH_RESOLVER_NULL_QNAME =
-         "ER_XPATH_RESOLVER_NULL_QNAME";
-  public static final String ER_XPATH_RESOLVER_NEGATIVE_ARITY =
-         "ER_XPATH_RESOLVER_NEGATIVE_ARITY";
-  public static final String INVALID_TCHAR = "INVALID_TCHAR";
-  public static final String INVALID_QNAME = "INVALID_QNAME";
-  public static final String INVALID_ENUM = "INVALID_ENUM";
-  public static final String INVALID_NMTOKEN = "INVALID_NMTOKEN";
-  public static final String INVALID_NCNAME = "INVALID_NCNAME";
-  public static final String INVALID_BOOLEAN = "INVALID_BOOLEAN";
-  public static final String INVALID_NUMBER = "INVALID_NUMBER";
-  public static final String ER_ARG_LITERAL = "ER_ARG_LITERAL";
-  public static final String ER_DUPLICATE_GLOBAL_VAR ="ER_DUPLICATE_GLOBAL_VAR";
-  public static final String ER_DUPLICATE_VAR = "ER_DUPLICATE_VAR";
-  public static final String ER_TEMPLATE_NAME_MATCH = "ER_TEMPLATE_NAME_MATCH";
-  public static final String ER_INVALID_PREFIX = "ER_INVALID_PREFIX";
-  public static final String ER_NO_ATTRIB_SET = "ER_NO_ATTRIB_SET";
-  public static final String ER_FUNCTION_NOT_FOUND =
-         "ER_FUNCTION_NOT_FOUND";
-  public static final String ER_CANT_HAVE_CONTENT_AND_SELECT =
-     "ER_CANT_HAVE_CONTENT_AND_SELECT";
-  public static final String ER_INVALID_SET_PARAM_VALUE = "ER_INVALID_SET_PARAM_VALUE";
-  public static final String ER_SET_FEATURE_NULL_NAME =
-        "ER_SET_FEATURE_NULL_NAME";
-  public static final String ER_GET_FEATURE_NULL_NAME =
-        "ER_GET_FEATURE_NULL_NAME";
-  public static final String ER_UNSUPPORTED_FEATURE =
-        "ER_UNSUPPORTED_FEATURE";
-  public static final String ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING =
-        "ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING";
-
-  public static final String WG_FOUND_CURLYBRACE = "WG_FOUND_CURLYBRACE";
-  public static final String WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR =
-         "WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR";
-  public static final String WG_EXPR_ATTRIB_CHANGED_TO_SELECT =
-         "WG_EXPR_ATTRIB_CHANGED_TO_SELECT";
-  public static final String WG_NO_LOCALE_IN_FORMATNUMBER =
-         "WG_NO_LOCALE_IN_FORMATNUMBER";
-  public static final String WG_LOCALE_NOT_FOUND = "WG_LOCALE_NOT_FOUND";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_CANNOT_LOAD_REQUESTED_DOC =
-         "WG_CANNOT_LOAD_REQUESTED_DOC";
-  public static final String WG_CANNOT_FIND_COLLATOR ="WG_CANNOT_FIND_COLLATOR";
-  public static final String WG_FUNCTIONS_SHOULD_USE_URL =
-         "WG_FUNCTIONS_SHOULD_USE_URL";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_UTF8 =
-         "WG_ENCODING_NOT_SUPPORTED_USING_UTF8";
-  public static final String WG_ENCODING_NOT_SUPPORTED_USING_JAVA =
-         "WG_ENCODING_NOT_SUPPORTED_USING_JAVA";
-  public static final String WG_SPECIFICITY_CONFLICTS =
-         "WG_SPECIFICITY_CONFLICTS";
-  public static final String WG_PARSING_AND_PREPARING =
-         "WG_PARSING_AND_PREPARING";
-  public static final String WG_ATTR_TEMPLATE = "WG_ATTR_TEMPLATE";
-  public static final String WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE = "WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESP";
-  public static final String WG_ATTRIB_NOT_HANDLED = "WG_ATTRIB_NOT_HANDLED";
-  public static final String WG_NO_DECIMALFORMAT_DECLARATION =
-         "WG_NO_DECIMALFORMAT_DECLARATION";
-  public static final String WG_OLD_XSLT_NS = "WG_OLD_XSLT_NS";
-  public static final String WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED =
-         "WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED";
-  public static final String WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE =
-         "WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE";
-  public static final String WG_ILLEGAL_ATTRIBUTE = "WG_ILLEGAL_ATTRIBUTE";
-  public static final String WG_COULD_NOT_RESOLVE_PREFIX =
-         "WG_COULD_NOT_RESOLVE_PREFIX";
-  public static final String WG_STYLESHEET_REQUIRES_VERSION_ATTRIB =
-         "WG_STYLESHEET_REQUIRES_VERSION_ATTRIB";
-  public static final String WG_ILLEGAL_ATTRIBUTE_NAME =
-         "WG_ILLEGAL_ATTRIBUTE_NAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_VALUE =
-         "WG_ILLEGAL_ATTRIBUTE_VALUE";
-  public static final String WG_EMPTY_SECOND_ARG = "WG_EMPTY_SECOND_ARG";
-  public static final String WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML =
-         "WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML";
-  public static final String WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME =
-         "WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME";
-  public static final String WG_ILLEGAL_ATTRIBUTE_POSITION =
-         "WG_ILLEGAL_ATTRIBUTE_POSITION";
-  public static final String NO_MODIFICATION_ALLOWED_ERR =
-         "NO_MODIFICATION_ALLOWED_ERR";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /** Get the lookup table for error messages.
-   *
-   * @return The message lookup table.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-  {"ER0000" , "{0}" },
-
-
-    { ER_NO_CURLYBRACE,
-      "\u932f\u8aa4\uff1a\u8868\u793a\u5f0f\u5167\u4e0d\u80fd\u6709 '{'"},
-
-    { ER_ILLEGAL_ATTRIBUTE ,
-     "{0} \u542b\u6709\u4e0d\u5408\u6cd5\u7684\u5c6c\u6027\uff1a{1}"},
-
-  {ER_NULL_SOURCENODE_APPLYIMPORTS ,
-      "\u5728 xsl:apply-imports \u4e2d\uff0csourceNode \u662f\u7a7a\u503c\uff01"},
-
-  {ER_CANNOT_ADD,
-      "\u4e0d\u80fd\u65b0\u589e {0} \u5230 {1}"},
-
-    { ER_NULL_SOURCENODE_HANDLEAPPLYTEMPLATES,
-      "\u5728 handleApplyTemplatesInstruction \u4e2d\uff0csourceNode \u662f\u7a7a\u503c\uff01"},
-
-    { ER_NO_NAME_ATTRIB,
-     "{0} \u5fc5\u9808\u6709\u540d\u7a31\u5c6c\u6027\u3002"},
-
-    {ER_TEMPLATE_NOT_FOUND,
-     "\u627e\u4e0d\u5230\u6307\u540d\u70ba\uff1a{0} \u7684\u7bc4\u672c"},
-
-    {ER_CANT_RESOLVE_NAME_AVT,
-      "\u7121\u6cd5\u89e3\u6790 xsl:call-template \u4e2d\u7684\u540d\u7a31 AVT\u3002"},
-
-    {ER_REQUIRES_ATTRIB,
-     "{0} \u9700\u8981\u5c6c\u6027\uff1a{1}"},
-
-    { ER_MUST_HAVE_TEST_ATTRIB,
-      "{0} \u5fc5\u9808\u6709 ''test'' \u5c6c\u6027\u3002"},
-
-    {ER_BAD_VAL_ON_LEVEL_ATTRIB,
-      "\u5c64\u6b21\u5c6c\u6027\uff1a{0} \u5305\u542b\u4e0d\u6b63\u78ba\u7684\u503c"},
-
-    {ER_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "processing-instruction \u540d\u7a31\u4e0d\u80fd\u662f 'xml'"},
-
-    { ER_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "processing-instruction \u540d\u7a31\u5fc5\u9808\u662f\u6709\u6548\u7684 NCName\uff1a{0}"},
-
-    { ER_NEED_MATCH_ATTRIB,
-      "{0} \u5982\u679c\u6709\u6a21\u5f0f\uff0c\u5fc5\u9808\u6709\u7b26\u5408\u5c6c\u6027\u3002"},
-
-    { ER_NEED_NAME_OR_MATCH_ATTRIB,
-      "{0} \u9700\u8981\u540d\u7a31\u6216\u7b26\u5408\u5c6c\u6027\u3002"},
-
-    {ER_CANT_RESOLVE_NSPREFIX,
-      "\u7121\u6cd5\u89e3\u6790\u540d\u7a31\u7a7a\u9593\u5b57\u9996\uff1a{0}"},
-
-    { ER_ILLEGAL_VALUE,
-     "xml:space \u542b\u6709\u4e0d\u5408\u6cd5\u7684\u503c\uff1a{0}"},
-
-    { ER_NO_OWNERDOC,
-      "\u5b50\u7bc0\u9ede\u6c92\u6709\u64c1\u6709\u8005\u6587\u4ef6\uff01"},
-
-    { ER_ELEMTEMPLATEELEM_ERR,
-     "ElemTemplateElement \u932f\u8aa4\uff1a{0}"},
-
-    { ER_NULL_CHILD,
-     "\u5617\u8a66\u65b0\u589e\u7a7a\u503c\u5b50\u9805\u5143\u4ef6\uff01"},
-
-    { ER_NEED_SELECT_ATTRIB,
-     "{0} \u9700\u8981\u9078\u53d6\u5c6c\u6027\u3002"},
-
-    { ER_NEED_TEST_ATTRIB ,
-      "xsl:when \u5fc5\u9808\u6709 'test' \u5c6c\u6027\u3002"},
-
-    { ER_NEED_NAME_ATTRIB,
-      "xsl:with-param \u5fc5\u9808\u6709 'name' \u5c6c\u6027\u3002"},
-
-    { ER_NO_CONTEXT_OWNERDOC,
-      "\u74b0\u5883\u5b9a\u7fa9\u6c92\u6709\u64c1\u6709\u8005\u6587\u4ef6\uff01"},
-
-    {ER_COULD_NOT_CREATE_XML_PROC_LIAISON,
-      "\u7121\u6cd5\u5efa\u7acb XML TransformerFactory Liaison\uff1a{0}"},
-
-    {ER_PROCESS_NOT_SUCCESSFUL,
-      "Xalan: \u7a0b\u5e8f\u6c92\u6709\u9806\u5229\u5b8c\u6210\u3002"},
-
-    { ER_NOT_SUCCESSFUL,
-     "Xalan: \u4e0d\u6210\u529f\u3002"},
-
-    { ER_ENCODING_NOT_SUPPORTED,
-     "\u4e0d\u652f\u63f4\u7de8\u78bc\uff1a{0}"},
-
-    {ER_COULD_NOT_CREATE_TRACELISTENER,
-      "\u7121\u6cd5\u5efa\u7acb TraceListener\uff1a{0}"},
-
-    {ER_KEY_REQUIRES_NAME_ATTRIB,
-      "xsl:key \u9700\u8981 'name' \u5c6c\u6027\uff01"},
-
-    { ER_KEY_REQUIRES_MATCH_ATTRIB,
-      "xsl:key \u9700\u8981 'match' \u5c6c\u6027\uff01"},
-
-    { ER_KEY_REQUIRES_USE_ATTRIB,
-      "xsl:key \u9700\u8981 'use' \u5c6c\u6027\uff01"},
-
-    { ER_REQUIRES_ELEMENTS_ATTRIB,
-      "(StylesheetHandler) {0} \u9700\u8981 ''elements'' \u5c6c\u6027\uff01"},
-
-    { ER_MISSING_PREFIX_ATTRIB,
-      "(StylesheetHandler) {0} \u5c6c\u6027 ''prefix'' \u907a\u6f0f"},
-
-    { ER_BAD_STYLESHEET_URL,
-     "\u6a23\u5f0f\u8868 URL \u4e0d\u6b63\u78ba\uff1a{0}"},
-
-    { ER_FILE_NOT_FOUND,
-     "\u627e\u4e0d\u5230\u6a23\u5f0f\u8868\u6a94\u6848\uff1a{0}"},
-
-    { ER_IOEXCEPTION,
-      "\u6a23\u5f0f\u8868\u6a94\u6848\uff1a{0} \u767c\u751f IO \u7570\u5e38"},
-
-    { ER_NO_HREF_ATTRIB,
-      "(StylesheetHandler) \u627e\u4e0d\u5230 {0} \u7684 href \u5c6c\u6027"},
-
-    { ER_STYLESHEET_INCLUDES_ITSELF,
-      "(StylesheetHandler) {0} \u76f4\u63a5\u6216\u9593\u63a5\u5305\u542b\u81ea\u5df1\uff01"},
-
-    { ER_PROCESSINCLUDE_ERROR,
-      "StylesheetHandler.processInclude \u932f\u8aa4\uff0c{0}"},
-
-    { ER_MISSING_LANG_ATTRIB,
-      "(StylesheetHandler) {0} \u5c6c\u6027 ''lang'' \u907a\u6f0f"},
-
-    { ER_MISSING_CONTAINER_ELEMENT_COMPONENT,
-      "(StylesheetHandler) \u653e\u7f6e\u932f\u8aa4\u7684 {0} \u5143\u7d20\uff1f\uff1f\u907a\u6f0f\u5132\u5b58\u5668\u5143\u7d20 ''component''"},
-
-    { ER_CAN_ONLY_OUTPUT_TO_ELEMENT,
-      "\u53ea\u80fd\u8f38\u51fa\u81f3 Element\u3001DocumentFragment\u3001Document \u6216 PrintWriter\u3002"},
-
-    { ER_PROCESS_ERROR,
-     "StylesheetRoot.process \u932f\u8aa4"},
-
-    { ER_UNIMPLNODE_ERROR,
-     "UnImplNode \u932f\u8aa4\uff1a{0}"},
-
-    { ER_NO_SELECT_EXPRESSION,
-      "\u932f\u8aa4\uff01\u6c92\u6709\u627e\u5230 xpath select \u8868\u793a\u5f0f (-select)\u3002"},
-
-    { ER_CANNOT_SERIALIZE_XSLPROCESSOR,
-      "\u7121\u6cd5\u5e8f\u5217\u5316 XSLProcessor\uff01"},
-
-    { ER_NO_INPUT_STYLESHEET,
-      "\u6c92\u6709\u6307\u5b9a\u6a23\u5f0f\u8868\u8f38\u5165\uff01"},
-
-    { ER_FAILED_PROCESS_STYLESHEET,
-      "\u7121\u6cd5\u8655\u7406\u6a23\u5f0f\u8868\uff01"},
-
-    { ER_COULDNT_PARSE_DOC,
-     "\u7121\u6cd5\u5256\u6790 {0} \u6587\u4ef6\uff01"},
-
-    { ER_COULDNT_FIND_FRAGMENT,
-     "\u627e\u4e0d\u5230\u7247\u6bb5\uff1a{0}"},
-
-    { ER_NODE_NOT_ELEMENT,
-      "\u7247\u6bb5 ID \u6240\u6307\u5411\u7684\u7bc0\u9ede\u4e0d\u662f\u5143\u7d20\uff1a{0}"},
-
-    { ER_FOREACH_NEED_MATCH_OR_NAME_ATTRIB,
-      "for-each \u5fc5\u9808\u6709 match \u6216 name \u5c6c\u6027"},
-
-    { ER_TEMPLATES_NEED_MATCH_OR_NAME_ATTRIB,
-      "templates \u5fc5\u9808\u6709 match \u6216 name \u5c6c\u6027"},
-
-    { ER_NO_CLONE_OF_DOCUMENT_FRAG,
-      "\u6587\u4ef6\u7247\u6bb5\u6c92\u6709\u8907\u88fd\uff01"},
-
-    { ER_CANT_CREATE_ITEM,
-      "\u7121\u6cd5\u5728\u7d50\u679c\u6a39\uff1a{0} \u4e2d\u5efa\u7acb\u9805\u76ee"},
-
-    { ER_XMLSPACE_ILLEGAL_VALUE,
-      "\u539f\u59cb\u6a94 XML \u4e2d\u7684 xml:space \u542b\u6709\u4e0d\u5408\u6cd5\u7684\u503c\uff1a{0}"},
-
-    { ER_NO_XSLKEY_DECLARATION,
-      "{0} \u6c92\u6709 xsl:key \u5ba3\u544a\uff01"},
-
-    { ER_CANT_CREATE_URL,
-     "\u932f\u8aa4\uff01\u7121\u6cd5\u91dd\u5c0d\uff1a{0} \u5efa\u7acb URL"},
-
-    { ER_XSLFUNCTIONS_UNSUPPORTED,
-     "xsl:functions \u4e0d\u53d7\u652f\u63f4"},
-
-    { ER_PROCESSOR_ERROR,
-     "XSLT TransformerFactory \u932f\u8aa4"},
-
-    { ER_NOT_ALLOWED_INSIDE_STYLESHEET,
-      "(StylesheetHandler) {0} \u4e0d\u5141\u8a31\u5728\u6a23\u5f0f\u8868\u5167\uff01"},
-
-    { ER_RESULTNS_NOT_SUPPORTED,
-      "result-ns \u4e0d\u518d\u53d7\u652f\u63f4\uff01\u8acb\u6539\u7528 xsl:output\u3002"},
-
-    { ER_DEFAULTSPACE_NOT_SUPPORTED,
-      "default-space \u4e0d\u518d\u53d7\u652f\u63f4\uff01\u8acb\u6539\u7528 xsl:strip-space \u6216 xsl:preserve-space\u3002"},
-
-    { ER_INDENTRESULT_NOT_SUPPORTED,
-      "indent-result \u4e0d\u518d\u53d7\u652f\u63f4\uff01\u8acb\u6539\u7528 xsl:output\u3002"},
-
-    { ER_ILLEGAL_ATTRIB,
-      "(StylesheetHandler) {0} \u542b\u6709\u4e0d\u5408\u6cd5\u7684\u5c6c\u6027\uff1a{1}"},
-
-    { ER_UNKNOWN_XSL_ELEM,
-     "\u4e0d\u660e XSL \u5143\u7d20\uff1a{0}"},
-
-    { ER_BAD_XSLSORT_USE,
-      "(StylesheetHandler) xsl:sort \u53ea\u80fd\u548c xsl:apply-templates \u6216 xsl:for-each \u4e00\u8d77\u4f7f\u7528\u3002"},
-
-    { ER_MISPLACED_XSLWHEN,
-      "(StylesheetHandler) \u653e\u7f6e\u932f\u8aa4\u7684 xsl:when\uff01"},
-
-    { ER_XSLWHEN_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:when \u7684\u6bcd\u9805\u4e0d\u662f xsl:choose\uff01"},
-
-    { ER_MISPLACED_XSLOTHERWISE,
-      "(StylesheetHandler) \u653e\u7f6e\u932f\u8aa4\u7684 xsl:otherwise\uff01"},
-
-    { ER_XSLOTHERWISE_NOT_PARENTED_BY_XSLCHOOSE,
-      "(StylesheetHandler) xsl:otherwise \u7684\u6bcd\u9805\u4e0d\u662f xsl:choose\uff01"},
-
-    { ER_NOT_ALLOWED_INSIDE_TEMPLATE,
-      "\u5728\u7bc4\u672c\u5167\u4e0d\u5141\u8a31 (StylesheetHandler) {0}\uff01"},
-
-    { ER_UNKNOWN_EXT_NS_PREFIX,
-      "(StylesheetHandler) {0} \u5ef6\u4f38\u9805\u76ee\u540d\u7a31\u7a7a\u9593\u5b57\u9996 {1} \u4e0d\u660e"},
-
-    { ER_IMPORTS_AS_FIRST_ELEM,
-      "(StylesheetHandler) Imports \u53ea\u80fd\u51fa\u73fe\u5728\u6a23\u5f0f\u8868\u4e2d\u4f5c\u70ba\u7b2c\u4e00\u500b\u5143\u7d20\uff01"},
-
-    { ER_IMPORTING_ITSELF,
-      "(StylesheetHandler) {0} \u6b63\u5728\u76f4\u63a5\u6216\u9593\u63a5\u532f\u5165\u81ea\u5df1\uff01"},
-
-    { ER_XMLSPACE_ILLEGAL_VAL,
-      "(StylesheetHandler) xml:space \u6709\u4e0d\u5408\u6cd5\u7684\u503c\uff1a{0}"},
-
-    { ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL,
-      "processStylesheet \u4e0d\u6210\u529f\uff01"},
-
-    { ER_SAX_EXCEPTION,
-     "SAX \u7570\u5e38"},
-
-//  add this message to fix bug 21478
-    { ER_FUNCTION_NOT_SUPPORTED,
-     "\u51fd\u6578\u4e0d\u53d7\u652f\u63f4\uff01"},
-
-
-    { ER_XSLT_ERROR,
-     "XSLT \u932f\u8aa4"},
-
-    { ER_CURRENCY_SIGN_ILLEGAL,
-      "\u5728\u683c\u5f0f\u578b\u6a23\u5b57\u4e32\u4e2d\u4e0d\u5141\u8a31\u8ca8\u5e63\u7b26\u865f"},
-
-    { ER_DOCUMENT_FUNCTION_INVALID_IN_STYLESHEET_DOM,
-      "\u5728\u6a23\u5f0f\u8868 DOM \u4e2d\u4e0d\u652f\u63f4\u6587\u4ef6\u51fd\u6578\uff01"},
-
-    { ER_CANT_RESOLVE_PREFIX_OF_NON_PREFIX_RESOLVER,
-      "\u7121\u6cd5\u89e3\u6790\u975e\u5b57\u9996\u89e3\u6790\u5668\u7684\u5b57\u9996\uff01"},
-
-    { ER_REDIRECT_COULDNT_GET_FILENAME,
-      "\u91cd\u65b0\u5c0e\u5411\u5ef6\u4f38\u9805\u76ee\uff1a\u7121\u6cd5\u53d6\u5f97\u6a94\u6848\u540d\u7a31 - file \u6216 select \u5c6c\u6027\u5fc5\u9808\u50b3\u56de\u6709\u6548\u5b57\u4e32\u3002"},
-
-    { ER_CANNOT_BUILD_FORMATTERLISTENER_IN_REDIRECT,
-      "\u7121\u6cd5\u5728\u91cd\u65b0\u5c0e\u5411\u5ef6\u4f38\u9805\u76ee\u4e2d\u5efa\u7acb FormatterListener\uff01"},
-
-    { ER_INVALID_PREFIX_IN_EXCLUDERESULTPREFIX,
-      "exclude-result-prefixes \u4e2d\u7684\u5b57\u9996\u7121\u6548\uff1a{0}"},
-
-    { ER_MISSING_NS_URI,
-      "\u907a\u6f0f\u6307\u5b9a\u7684\u5b57\u9996\u7684\u540d\u7a31\u7a7a\u9593 URI"},
-
-    { ER_MISSING_ARG_FOR_OPTION,
-      "\u907a\u6f0f\u9078\u9805\uff1a{0} \u7684\u5f15\u6578"},
-
-    { ER_INVALID_OPTION,
-     "\u9078\u9805\uff1a{0} \u7121\u6548"},
-
-    { ER_MALFORMED_FORMAT_STRING,
-     "\u4e0d\u6b63\u78ba\u7684\u683c\u5f0f\u5b57\u4e32\uff1a{0}"},
-
-    { ER_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet \u9700\u8981 'version' \u5c6c\u6027\uff01"},
-
-    { ER_ILLEGAL_ATTRIBUTE_VALUE,
-      "\u5c6c\u6027\uff1a{0} \u542b\u6709\u4e0d\u5408\u6cd5\u7684\u503c\uff1a{1}"},
-
-    { ER_CHOOSE_REQUIRES_WHEN,
-     "xsl:choose \u9700\u8981\u6709 xsl:when"},
-
-    { ER_NO_APPLY_IMPORT_IN_FOR_EACH,
-      "xsl:apply-imports \u4e0d\u5bb9\u8a31\u51fa\u73fe\u5728 xsl:for-each \u4e2d"},
-
-    { ER_CANT_USE_DTM_FOR_OUTPUT,
-      "\u7121\u6cd5\u4f7f\u7528\u8f38\u51fa DOM \u7bc0\u9ede\u7684 DTMLiaison ... \u6539\u50b3\u905e org.apache.xpath.DOM2Helper\uff01"},
-
-    { ER_CANT_USE_DTM_FOR_INPUT,
-      "\u7121\u6cd5\u4f7f\u7528\u8f38\u5165 DOM \u7bc0\u9ede\u7684 DTMLiaison ... \u6539\u50b3\u905e org.apache.xpath.DOM2Helper\uff01"},
-
-    { ER_CALL_TO_EXT_FAILED,
-      "\u547c\u53eb\u5ef6\u4f38\u9805\u76ee\u5143\u7d20\u5931\u6557\uff1a{0}"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\u5b57\u9996\u5fc5\u9808\u89e3\u6790\u70ba\u540d\u7a31\u7a7a\u9593\uff1a{0}"},
-
-    { ER_INVALID_UTF16_SURROGATE,
-      "\u5075\u6e2c\u5230\u7121\u6548\u7684 UTF-16 \u4ee3\u7406\uff1a{0}?"},
-
-    { ER_XSLATTRSET_USED_ITSELF,
-      "xsl:attribute-set {0} \u81ea\u6211\u4f7f\u7528\uff0c\u5c07\u9020\u6210\u7121\u9650\u8ff4\u5708\u3002"},
-
-    { ER_CANNOT_MIX_XERCESDOM,
-      "\u7121\u6cd5\u6df7\u5408\u975e Xerces-DOM \u8f38\u5165\u8207 Xerces-DOM \u8f38\u51fa\uff01"},
-
-    { ER_TOO_MANY_LISTENERS,
-      "addTraceListenersToStylesheet - TooManyListenersException"},
-
-    { ER_IN_ELEMTEMPLATEELEM_READOBJECT,
-      "\u4f4d\u65bc ElemTemplateElement.readObject\uff1a{0}"},
-
-    { ER_DUPLICATE_NAMED_TEMPLATE,
-      "\u627e\u5230\u4e0d\u6b62\u4e00\u500b\u540d\u7a31\u70ba\uff1a{0} \u7684\u7bc4\u672c"},
-
-    { ER_INVALID_KEY_CALL,
-      "\u7121\u6548\u7684\u51fd\u6578\u547c\u53eb\uff1a\u4e0d\u5141\u8a31 recursive key() \u547c\u53eb"},
-
-    { ER_REFERENCING_ITSELF,
-      "\u8b8a\u6578 {0} \u76f4\u63a5\u6216\u9593\u63a5\u53c3\u7167\u81ea\u5df1\uff01"},
-
-    { ER_ILLEGAL_DOMSOURCE_INPUT,
-      "\u5c0d newTemplates \u7684 DOMSource \u800c\u8a00\uff0c\u8f38\u5165\u7bc0\u9ede\u4e0d\u53ef\u70ba\u7a7a\u503c\uff01"},
-
-    { ER_CLASS_NOT_FOUND_FOR_OPTION,
-        "\u627e\u4e0d\u5230\u9078\u9805 {0} \u7684\u985e\u5225\u6a94\u6848"},
-
-    { ER_REQUIRED_ELEM_NOT_FOUND,
-        "\u627e\u4e0d\u5230\u5fc5\u8981\u7684\u5143\u7d20\uff1a{0}"},
-
-    { ER_INPUT_CANNOT_BE_NULL,
-        "InputStream \u4e0d\u53ef\u70ba\u7a7a\u503c"},
-
-    { ER_URI_CANNOT_BE_NULL,
-        "URI \u4e0d\u53ef\u70ba\u7a7a\u503c"},
-
-    { ER_FILE_CANNOT_BE_NULL,
-        "\u6a94\u6848\u4e0d\u53ef\u70ba\u7a7a\u503c"},
-
-    { ER_SOURCE_CANNOT_BE_NULL,
-                "InputSource \u4e0d\u53ef\u70ba\u7a7a\u503c"},
-
-    { ER_CANNOT_INIT_BSFMGR,
-                "\u7121\u6cd5\u8d77\u59cb\u8a2d\u5b9a BSF \u7ba1\u7406\u7a0b\u5f0f"},
-
-    { ER_CANNOT_CMPL_EXTENSN,
-                "\u7121\u6cd5\u7de8\u8b6f\u5ef6\u4f38\u9805\u76ee"},
-
-    { ER_CANNOT_CREATE_EXTENSN,
-      "\u7121\u6cd5\u5efa\u7acb\u5ef6\u4f38\u9805\u76ee\uff1a{0} \u56e0\u70ba\uff1a{1}"},
-
-    { ER_INSTANCE_MTHD_CALL_REQUIRES,
-      "\u547c\u53eb\u65b9\u6cd5 {0} \u7684\u5be6\u4f8b\u65b9\u6cd5\u9700\u8981\u7269\u4ef6\u5be6\u4f8b\u4f5c\u70ba\u7b2c\u4e00\u500b\u5f15\u6578"},
-
-    { ER_INVALID_ELEMENT_NAME,
-      "\u6307\u5b9a\u7121\u6548\u7684\u5143\u7d20\u540d\u7a31 {0}"},
-
-    { ER_ELEMENT_NAME_METHOD_STATIC,
-      "\u5143\u7d20\u540d\u7a31\u65b9\u6cd5\u5fc5\u9808\u662f\u975c\u614b {0}"},
-
-    { ER_EXTENSION_FUNC_UNKNOWN,
-             "\u5ef6\u4f38\u9805\u76ee\u51fd\u6578 {0} \uff1a {1} \u4e0d\u660e"},
-
-    { ER_MORE_MATCH_CONSTRUCTOR,
-             "{0} \u7684\u6700\u7b26\u5408\u5efa\u69cb\u5143\u4e0d\u6b62\u4e00\u500b"},
-
-    { ER_MORE_MATCH_METHOD,
-             "\u65b9\u6cd5 {0} \u7684\u6700\u7b26\u5408\u5efa\u69cb\u5143\u4e0d\u6b62\u4e00\u500b"},
-
-    { ER_MORE_MATCH_ELEMENT,
-             "\u5143\u7d20\u65b9\u6cd5 {0} \u7684\u6700\u7b26\u5408\u5efa\u69cb\u5143\u4e0d\u6b62\u4e00\u500b"},
-
-    { ER_INVALID_CONTEXT_PASSED,
-             "\u50b3\u905e\u5230\u8a55\u4f30 {0} \u7684\u74b0\u5883\u5b9a\u7fa9\u7121\u6548"},
-
-    { ER_POOL_EXISTS,
-             "\u5132\u5b58\u6c60\u5df2\u5b58\u5728"},
-
-    { ER_NO_DRIVER_NAME,
-             "\u672a\u6307\u5b9a\u9a45\u52d5\u7a0b\u5f0f\u540d\u7a31"},
-
-    { ER_NO_URL,
-             "\u672a\u6307\u5b9a URL"},
-
-    { ER_POOL_SIZE_LESSTHAN_ONE,
-             "\u5132\u5b58\u6c60\u5927\u5c0f\u5c0f\u65bc 1\uff01"},
-
-    { ER_INVALID_DRIVER,
-             "\u6307\u5b9a\u7684\u9a45\u52d5\u7a0b\u5f0f\u540d\u7a31\u7121\u6548\uff01"},
-
-    { ER_NO_STYLESHEETROOT,
-             "\u627e\u4e0d\u5230\u6a23\u5f0f\u8868\u6839\u76ee\u9304\uff01"},
-
-    { ER_ILLEGAL_XMLSPACE_VALUE,
-         "xml:space \u7684\u503c\u4e0d\u5408\u6cd5"},
-
-    { ER_PROCESSFROMNODE_FAILED,
-         "processFromNode \u5931\u6557"},
-
-    { ER_RESOURCE_COULD_NOT_LOAD,
-        "\u7121\u6cd5\u8f09\u5165\u8cc7\u6e90 [ {0} ]\uff1a{1} \n {2} \t {3}"},
-
-    { ER_BUFFER_SIZE_LESSTHAN_ZERO,
-        "\u7de9\u885d\u5340\u5927\u5c0f <=0"},
-
-    { ER_UNKNOWN_ERROR_CALLING_EXTENSION,
-        "\u547c\u53eb\u5ef6\u4f38\u9805\u76ee\u6642\u767c\u751f\u4e0d\u660e\u932f\u8aa4"},
-
-    { ER_NO_NAMESPACE_DECL,
-        "\u5b57\u9996 {0} \u6c92\u6709\u5c0d\u61c9\u7684\u540d\u7a31\u7a7a\u9593\u5ba3\u544a"},
-
-    { ER_ELEM_CONTENT_NOT_ALLOWED,
-        "lang=javaclass {0} \u4e0d\u5141\u8a31\u5143\u7d20\u5167\u5bb9"},
-
-    { ER_STYLESHEET_DIRECTED_TERMINATION,
-        "\u6a23\u5f0f\u8868\u5c0e\u5411\u7d42\u6b62"},
-
-    { ER_ONE_OR_TWO,
-        "1 \u6216 2"},
-
-    { ER_TWO_OR_THREE,
-        "2 \u6216 3"},
-
-    { ER_COULD_NOT_LOAD_RESOURCE,
-        "\u7121\u6cd5\u8f09\u5165 {0}\uff08\u6aa2\u67e5 CLASSPATH\uff09\uff0c\u73fe\u5728\u53ea\u4f7f\u7528\u9810\u8a2d\u503c"},
-
-    { ER_CANNOT_INIT_DEFAULT_TEMPLATES,
-        "\u7121\u6cd5\u8d77\u59cb\u8a2d\u5b9a\u9810\u8a2d\u7bc4\u672c"},
-
-    { ER_RESULT_NULL,
-        "\u7d50\u679c\u4e0d\u61c9\u70ba\u7a7a\u503c"},
-
-    { ER_RESULT_COULD_NOT_BE_SET,
-        "\u7121\u6cd5\u8a2d\u5b9a\u7d50\u679c"},
-
-    { ER_NO_OUTPUT_SPECIFIED,
-        "\u6c92\u6709\u6307\u5b9a\u8f38\u51fa"},
-
-    { ER_CANNOT_TRANSFORM_TO_RESULT_TYPE,
-        "\u7121\u6cd5\u8f49\u63db\u6210\u985e\u578b {0} \u7684\u7d50\u679c"},
-
-    { ER_CANNOT_TRANSFORM_SOURCE_TYPE,
-        "\u7121\u6cd5\u8f49\u63db\u985e\u578b {0} \u7684\u539f\u59cb\u6a94"},
-
-    { ER_NULL_CONTENT_HANDLER,
-        "\u7a7a\u503c\u5167\u5bb9\u8655\u7406\u7a0b\u5f0f"},
-
-    { ER_NULL_ERROR_HANDLER,
-        "\u7a7a\u503c\u932f\u8aa4\u8655\u7406\u7a0b\u5f0f"},
-
-    { ER_CANNOT_CALL_PARSE,
-        "\u5982\u679c\u672a\u8a2d\u5b9a ContentHandler \u5247\u7121\u6cd5\u547c\u53eb parse"},
-
-    { ER_NO_PARENT_FOR_FILTER,
-        "\u904e\u6ffe\u5668\u6c92\u6709\u6bcd\u9805"},
-
-    { ER_NO_STYLESHEET_IN_MEDIA,
-         "\u5728\uff1a{0}\uff0cmedia= {1} \u4e2d\u6c92\u6709\u6a23\u5f0f\u8868"},
-
-    { ER_NO_STYLESHEET_PI,
-         "\u5728\uff1a{0} \u4e2d\u627e\u4e0d\u5230 xml-stylesheet PI"},
-
-    { ER_NOT_SUPPORTED,
-       "\u4e0d\u652f\u63f4\uff1a{0}"},
-
-    { ER_PROPERTY_VALUE_BOOLEAN,
-       "\u5167\u5bb9 {0} \u7684\u503c\u61c9\u70ba Boolean \u5be6\u4f8b"},
-
-    { ER_COULD_NOT_FIND_EXTERN_SCRIPT,
-         "\u7121\u6cd5\u5728 {0} \u53d6\u5f97\u5916\u90e8 Script"},
-
-    { ER_RESOURCE_COULD_NOT_FIND,
-        "\u627e\u4e0d\u5230\u8cc7\u6e90 [ {0} ]\u3002\n {1}"},
-
-    { ER_OUTPUT_PROPERTY_NOT_RECOGNIZED,
-        "\u672a\u80fd\u8fa8\u8b58\u8f38\u51fa\u5167\u5bb9\uff1a{0}"},
-
-    { ER_FAILED_CREATING_ELEMLITRSLT,
-        "\u5efa\u7acb ElemLiteralResult \u5be6\u4f8b\u5931\u6557"},
-
-  //Earlier (JDK 1.4 XALAN 2.2-D11) at key code '204' the key name was ER_PRIORITY_NOT_PARSABLE
-  // In latest Xalan code base key name is  ER_VALUE_SHOULD_BE_NUMBER. This should also be taken care
-  //in locale specific files like XSLTErrorResources_de.java, XSLTErrorResources_fr.java etc.
-  //NOTE: Not only the key name but message has also been changed.
-
-    { ER_VALUE_SHOULD_BE_NUMBER,
-        "{0} \u7684\u503c\u61c9\u8a72\u5305\u542b\u53ef\u5256\u6790\u7684\u6578\u5b57"},
-
-    { ER_VALUE_SHOULD_EQUAL,
-        "{0} \u7684\u503c\u61c9\u7b49\u65bc yes \u6216 no"},
-
-    { ER_FAILED_CALLING_METHOD,
-        "\u547c\u53eb {0} \u65b9\u6cd5\u5931\u6557"},
-
-    { ER_FAILED_CREATING_ELEMTMPL,
-        "\u5efa\u7acb ElemTemplateElement \u5be6\u4f8b\u5931\u6557"},
-
-    { ER_CHARS_NOT_ALLOWED,
-        "\u6587\u4ef6\u6b64\u9ede\u4e0d\u5141\u8a31\u5b57\u5143"},
-
-    { ER_ATTR_NOT_ALLOWED,
-        "\"{0}\" \u5c6c\u6027\u5728 {1} \u5143\u7d20\u4e0a\u4e0d\u5141\u8a31\uff01"},
-
-    { ER_BAD_VALUE,
-     "{0} \u4e0d\u6b63\u78ba\u7684\u503c {1}"},
-
-    { ER_ATTRIB_VALUE_NOT_FOUND,
-     "\u627e\u4e0d\u5230 {0} \u5c6c\u6027\u503c"},
-
-    { ER_ATTRIB_VALUE_NOT_RECOGNIZED,
-     "\u4e0d\u80fd\u8fa8\u8b58 {0} \u5c6c\u6027\u503c"},
-
-    { ER_NULL_URI_NAMESPACE,
-     "\u5617\u8a66\u7528\u7a7a\u503c URI \u7522\u751f\u540d\u7a31\u7a7a\u9593\u5b57\u9996"},
-
-  //New ERROR keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    { ER_NUMBER_TOO_BIG,
-     "\u5617\u8a66\u683c\u5f0f\u5316\u5927\u65bc\u6700\u5927\u9577\u6574\u6578 (Long integer) \u7684\u6578\u5b57"},
-
-    { ER_CANNOT_FIND_SAX1_DRIVER,
-     "\u627e\u4e0d\u5230 SAX1 \u9a45\u52d5\u7a0b\u5f0f\u985e\u5225 {0}"},
-
-    { ER_SAX1_DRIVER_NOT_LOADED,
-     "\u627e\u5230 SAX1 \u9a45\u52d5\u7a0b\u5f0f\u985e\u5225 {0}\uff0c\u4f46\u7121\u6cd5\u8f09\u5165"},
-
-    { ER_SAX1_DRIVER_NOT_INSTANTIATED,
-     "\u5df2\u8f09\u5165 SAX1 \u9a45\u52d5\u7a0b\u5f0f\u985e\u5225 {0}\uff0c\u4f46\u7121\u6cd5\u5be6\u4f8b\u5316"},
-
-    { ER_SAX1_DRIVER_NOT_IMPLEMENT_PARSER,
-     "SAX1 \u9a45\u52d5\u7a0b\u5f0f\u985e\u5225 {0} \u4e0d\u80fd\u5728 org.xml.sax.Parser \u5be6\u4f5c"},
-
-    { ER_PARSER_PROPERTY_NOT_SPECIFIED,
-     "\u7121\u6cd5\u6307\u5b9a\u7cfb\u7d71\u5167\u5bb9 org.xml.sax.parser"},
-
-    { ER_PARSER_ARG_CANNOT_BE_NULL,
-     "\u5256\u6790\u5668\u5f15\u6578\u4e0d\u53ef\u70ba\u7a7a\u503c"},
-
-    { ER_FEATURE,
-     "\u529f\u80fd\uff1a{0}"},
-
-    { ER_PROPERTY,
-     "\u5167\u5bb9\uff1a{0}"},
-
-    { ER_NULL_ENTITY_RESOLVER,
-     "\u7a7a\u503c\u5be6\u9ad4\u89e3\u6790\u5668"},
-
-    { ER_NULL_DTD_HANDLER,
-     "\u7a7a\u503c DTD \u8655\u7406\u7a0b\u5f0f"},
-
-    { ER_NO_DRIVER_NAME_SPECIFIED,
-     "\u672a\u6307\u5b9a\u9a45\u52d5\u7a0b\u5f0f\u540d\u7a31\uff01"},
-
-    { ER_NO_URL_SPECIFIED,
-     "\u672a\u6307\u5b9a URL\uff01"},
-
-    { ER_POOLSIZE_LESS_THAN_ONE,
-     "\u5132\u5b58\u6c60\u5c0f\u65bc 1\uff01"},
-
-    { ER_INVALID_DRIVER_NAME,
-     "\u6307\u5b9a\u7684\u9a45\u52d5\u7a0b\u5f0f\u540d\u7a31\u7121\u6548\uff01"},
-
-    { ER_ERRORLISTENER,
-     "ErrorListener"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The name
-//   'ElemTemplateElement' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_NO_TEMPLATE_PARENT,
-     "\u7a0b\u5f0f\u8a2d\u8a08\u5e2b\u7684\u932f\u8aa4\uff01\u8868\u793a\u5f0f\u6c92\u6709 ElemTemplateElement \u6bcd\u9805\uff01"},
-
-
-// Note to translators:  The following message should not normally be displayed
-//   to users.  It describes a situation in which the processor has detected
-//   an internal consistency problem in itself, and it provides this message
-//   for the developer to help diagnose the problem.  The substitution text
-//   provides further information in order to diagnose the problem.  The name
-//   'RedundentExprEliminator' is the name of a class, and should not be
-//   translated.
-    { ER_ASSERT_REDUNDENT_EXPR_ELIMINATOR,
-     "\u7a0b\u5f0f\u8a2d\u8a08\u5e2b\u5728 RedundentExprEliminator \u4e2d\u7684\u78ba\u8a8d\uff1a{0}"},
-
-    { ER_NOT_ALLOWED_IN_POSITION,
-     "\u5728\u6b64\u6a23\u5f0f\u8868\u4e2d\uff0c\u6b64\u4f4d\u7f6e\u4e0d\u53ef\u4ee5\u662f {0}\u3002"},
-
-    { ER_NONWHITESPACE_NOT_ALLOWED_IN_POSITION,
-     "\u5728\u6b64\u6a23\u5f0f\u8868\u4e2d\uff0c\u6b64\u4f4d\u7f6e\u4e0d\u53ef\u4ee5\u662f\u975e\u7a7a\u767d\u5b57\u5143\uff01"},
-
-  // This code is shared with warning codes.
-  // SystemId Unknown
-    { INVALID_TCHAR,
-     "CHAR \u5c6c\u6027\uff1a{0} \u4f7f\u7528\u7684\u503c\uff1a{1} \u4e0d\u5408\u6cd5\u3002CHAR \u985e\u578b\u7684\u5c6c\u6027\u53ea\u80fd\u6709\u4e00\u500b\u5b57\u5143\uff01"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "QNAME" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value and {0} is the attribute name.
-    //The following codes are shared with the warning codes...
-    { INVALID_QNAME,
-     "QNAME \u5c6c\u6027\uff1a{0} \u4f7f\u7528\u7684\u503c\uff1a{1} \u4e0d\u5408\u6cd5"},
-
-    // Note to translators:  The following message is used if the value of
-    // an attribute in a stylesheet is invalid.  "ENUM" is the XML data-type of
-    // the attribute, and should not be translated.  The substitution text {1} is
-    // the attribute value, {0} is the attribute name, and {2} is a list of valid
-    // values.
-    { INVALID_ENUM,
-     "ENUM \u5c6c\u6027\uff1a{0} \u4f7f\u7528\u7684\u503c\uff1a{1} \u4e0d\u5408\u6cd5\u3002\u6709\u6548\u7684\u503c\u70ba\uff1a{2}\u3002"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NMTOKEN" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NMTOKEN,
-     "NMTOKEN \u5c6c\u6027\uff1a{0} \u4f7f\u7528\u7684\u503c\uff1a{1} \u4e0d\u5408\u6cd5"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "NCNAME" is the XML data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_NCNAME,
-     "NCNAME \u5c6c\u6027\uff1a{0} \u4f7f\u7528\u7684\u503c\uff1a{1} \u4e0d\u5408\u6cd5"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "boolean" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-    { INVALID_BOOLEAN,
-     "Boolean \u5c6c\u6027\uff1a{0} \u4f7f\u7528\u7684\u503c\uff1a{1} \u4e0d\u5408\u6cd5"},
-
-// Note to translators:  The following message is used if the value of
-// an attribute in a stylesheet is invalid.  "number" is the XSLT data-type
-// of the attribute, and should not be translated.  The substitution text {1} is
-// the attribute value and {0} is the attribute name.
-     { INVALID_NUMBER,
-     "Number \u5c6c\u6027\uff1a{0} \u4f7f\u7528\u7684\u503c\uff1a{1} \u4e0d\u5408\u6cd5"},
-
-
-  // End of shared codes...
-
-// Note to translators:  A "match pattern" is a special form of XPath expression
-// that is used for matching patterns.  The substitution text is the name of
-// a function.  The message indicates that when this function is referenced in
-// a match pattern, its argument must be a string literal (or constant.)
-// ER_ARG_LITERAL - new error message for bugzilla //5202
-    { ER_ARG_LITERAL,
-     "\u6bd4\u5c0d\u578b\u6a23\u4e2d\u7684 ''''{0}'''' \u7684\u5f15\u6578\u5fc5\u9808\u662f\u6587\u5b57\u3002"},
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable.  A "global variable" is a variable that is accessible everywher
-// in the stylesheet.
-// ER_DUPLICATE_GLOBAL_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_GLOBAL_VAR,
-     "\u5ee3\u57df\u8b8a\u6578\u5ba3\u544a\u91cd\u8907\u3002"},
-
-
-// Note to translators:  The following message indicates that two definitions of
-// a variable were encountered.
-// ER_DUPLICATE_VAR - new error message for bugzilla #790
-    { ER_DUPLICATE_VAR,
-     "\u8b8a\u6578\u5ba3\u544a\u91cd\u8907\u3002"},
-
-    // Note to translators:  "xsl:template, "name" and "match" are XSLT keywords
-    // which must not be translated.
-    // ER_TEMPLATE_NAME_MATCH - new error message for bugzilla #789
-    { ER_TEMPLATE_NAME_MATCH,
-     "xsl:template \u5fc5\u9808\u6709\u540d\u7a31\u6216\u76f8\u7b26\u7684\u5c6c\u6027\uff08\u6216\u5169\u8005\uff09"},
-
-    // Note to translators:  "exclude-result-prefixes" is an XSLT keyword which
-    // should not be translated.  The message indicates that a namespace prefix
-    // encountered as part of the value of the exclude-result-prefixes attribute
-    // was in error.
-    // ER_INVALID_PREFIX - new error message for bugzilla #788
-    { ER_INVALID_PREFIX,
-     "exclude-result-prefixes \u4e2d\u7684\u5b57\u9996\u7121\u6548\uff1a{0}"},
-
-    // Note to translators:  An "attribute set" is a set of attributes that can
-    // be added to an element in the output document as a group.  The message
-    // indicates that there was a reference to an attribute set named {0} that
-    // was never defined.
-    // ER_NO_ATTRIB_SET - new error message for bugzilla #782
-    { ER_NO_ATTRIB_SET,
-     "attribute-set \u540d\u7a31 {0} \u4e0d\u5b58\u5728"},
-
-    // Note to translators:  This message indicates that there was a reference
-    // to a function named {0} for which no function definition could be found.
-    { ER_FUNCTION_NOT_FOUND,
-     "\u51fd\u6578\u540d\u70ba {0} \u4e0d\u5b58\u5728"},
-
-    // Note to translators:  This message indicates that the XSLT instruction
-    // that is named by the substitution text {0} must not contain other XSLT
-    // instructions (content) or a "select" attribute.  The word "select" is
-    // an XSLT keyword in this case and must not be translated.
-    { ER_CANT_HAVE_CONTENT_AND_SELECT,
-     "{0} \u5143\u7d20\u4e0d\u5f97\u540c\u6642\u6709\u5167\u5bb9\u548c select \u5c6c\u6027\u3002"},
-
-    // Note to translators:  This message indicates that the value argument
-    // of setParameter must be a valid Java Object.
-    { ER_INVALID_SET_PARAM_VALUE,
-     "\u53c3\u6578 {0} \u7684\u503c\u5fc5\u9808\u662f\u6709\u6548\u7684 Java \u7269\u4ef6"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX_FOR_DEFAULT,
-         "\u4e00\u500b xsl:namespace-alias \u5143\u7d20\u7684 result-prefix \u5c6c\u6027\u6709\u503c '#default'\uff0c\u4f46\u5728\u8a72\u5143\u7d20\u7684\u7bc4\u570d\u4e2d\u4e26\u6c92\u6709\u9810\u8a2d\u540d\u7a31\u7a7a\u9593\u7684\u5ba3\u544a"},
-
-        { ER_INVALID_NAMESPACE_URI_VALUE_FOR_RESULT_PREFIX,
-         "\u4e00\u500b xsl:namespace-alias \u5143\u7d20\u7684 result-prefix \u5c6c\u6027\u6709\u503c ''{0}''\uff0c\u4f46\u5728\u8a72\u5143\u7d20\u7684\u7bc4\u570d\u4e2d\u4e26\u6c92\u6709\u5b57\u9996 ''{0}'' \u7684\u540d\u7a31\u7a7a\u9593\u5ba3\u544a\u3002"},
-
-    { ER_SET_FEATURE_NULL_NAME,
-      "\u7279\u6027\u540d\u7a31\u5728 TransformerFactory.setFeature(\u5b57\u4e32\u540d\u7a31\u3001boolean \u503c) \u4e2d\u4e0d\u53ef\u662f\u7a7a\u503c\u3002"},
-
-    { ER_GET_FEATURE_NULL_NAME,
-      "\u7279\u6027\u540d\u7a31\u5728 TransformerFactory.getFeature(\u5b57\u4e32\u540d\u7a31) \u4e2d\u4e0d\u53ef\u662f\u7a7a\u503c\u3002"},
-
-    { ER_UNSUPPORTED_FEATURE,
-      "\u7121\u6cd5\u5728\u9019\u500b TransformerFactory \u8a2d\u5b9a\u7279\u6027 ''{0}''\u3002"},
-
-    { ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
-        "\u7576\u5b89\u5168\u8655\u7406\u7279\u6027\u8a2d\u70ba true \u6642\uff0c\u4e0d\u63a5\u53d7\u4f7f\u7528\u5ef6\u4f38\u5143\u7d20 ''{0}''\u3002"},
-
-        { ER_NAMESPACE_CONTEXT_NULL_NAMESPACE,
-          "\u7121\u6cd5\u53d6\u5f97\u7a7a\u503c\u540d\u7a31\u7a7a\u9593 uri \u7684\u5b57\u9996\u3002"},
-
-        { ER_NAMESPACE_CONTEXT_NULL_PREFIX,
-          "\u7121\u6cd5\u53d6\u5f97\u7a7a\u503c\u5b57\u9996\u7684\u540d\u7a31\u7a7a\u9593 uri\u3002"},
-
-        { ER_XPATH_RESOLVER_NULL_QNAME,
-          "\u51fd\u6578\u540d\u7a31\u4e0d\u53ef\u70ba\u7a7a\u503c\u3002"},
-
-        { ER_XPATH_RESOLVER_NEGATIVE_ARITY,
-          "Arity \u4e0d\u53ef\u70ba\u8ca0\u503c\u3002"},
-
-  // Warnings...
-
-    { WG_FOUND_CURLYBRACE,
-      "\u627e\u5230 '}' \u4f46\u6c92\u6709\u958b\u555f\u5c6c\u6027\u7bc4\u672c\uff01"},
-
-    { WG_COUNT_ATTRIB_MATCHES_NO_ANCESTOR,
-      "\u8b66\u544a\uff1acount \u5c6c\u6027\u4e0d\u7b26\u5408 xsl:number \u4e2d\u7684\u88ab\u7e7c\u627f\u8005\uff01\u76ee\u6a19 = {0}"},
-
-    { WG_EXPR_ATTRIB_CHANGED_TO_SELECT,
-      "\u820a\u8a9e\u6cd5\uff1a'expr' \u5c6c\u6027\u7684\u540d\u7a31\u5df2\u8b8a\u66f4\u70ba 'select'\u3002"},
-
-    { WG_NO_LOCALE_IN_FORMATNUMBER,
-      "Xalan \u5c1a\u672a\u8655\u7406 format-number \u51fd\u6578\u4e2d\u7684\u8a9e\u8a00\u74b0\u5883\u540d\u7a31\u3002"},
-
-    { WG_LOCALE_NOT_FOUND,
-      "\u8b66\u544a\uff1a\u627e\u4e0d\u5230 xml:lang={0} \u7684\u8a9e\u8a00\u74b0\u5883"},
-
-    { WG_CANNOT_MAKE_URL_FROM,
-      "\u7121\u6cd5\u5f9e\uff1a{0} \u7522\u751f URL"},
-
-    { WG_CANNOT_LOAD_REQUESTED_DOC,
-      "\u7121\u6cd5\u8f09\u5165\u6240\u8981\u6c42\u7684\u6587\u4ef6\uff1a{0}"},
-
-    { WG_CANNOT_FIND_COLLATOR,
-      "\u627e\u4e0d\u5230 <sort xml:lang={0} \u7684\u7406\u5e8f\u5668"},
-
-    { WG_FUNCTIONS_SHOULD_USE_URL,
-      "\u820a\u8a9e\u6cd5\uff1a\u51fd\u6578\u6307\u4ee4\u61c9\u4f7f\u7528 {0} \u7684 URL"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_UTF8,
-      "\u4e0d\u652f\u63f4\u7de8\u78bc\uff1a{0}\uff0c\u8acb\u4f7f\u7528 UTF-8"},
-
-    { WG_ENCODING_NOT_SUPPORTED_USING_JAVA,
-      "\u4e0d\u652f\u63f4\u7de8\u78bc\uff1a{0}\uff0c\u8acb\u4f7f\u7528 Java {1}"},
-
-    { WG_SPECIFICITY_CONFLICTS,
-      "\u627e\u5230\u7279\u5b9a\u885d\u7a81\uff1a{0} \u5c07\u4f7f\u7528\u5728\u6a23\u5f0f\u8868\u4e2d\u627e\u5230\u7684\u6700\u5f8c\u4e00\u500b\u3002"},
-
-    { WG_PARSING_AND_PREPARING,
-      "========= \u5256\u6790\u8207\u6e96\u5099 {0} =========="},
-
-    { WG_ATTR_TEMPLATE,
-     "\u5c6c\u6027\u7bc4\u672c\uff0c{0}"},
-
-    { WG_CONFLICT_BETWEEN_XSLSTRIPSPACE_AND_XSLPRESERVESPACE,
-      "\u5728 xsl:strip-space \u548c xsl:preserve-space \u4e4b\u9593\u6709\u6bd4\u5c0d\u885d\u7a81"},
-
-    { WG_ATTRIB_NOT_HANDLED,
-      "Xalan \u5c1a\u672a\u8655\u7406 {0} \u5c6c\u6027\uff01"},
-
-    { WG_NO_DECIMALFORMAT_DECLARATION,
-      "\u627e\u4e0d\u5230\u5341\u9032\u4f4d\u683c\u5f0f\u7684\u5ba3\u544a\uff1a{0}"},
-
-    { WG_OLD_XSLT_NS,
-     "XSLT \u540d\u7a31\u7a7a\u9593\u907a\u6f0f\u6216\u4e0d\u6b63\u78ba\u3002"},
-
-    { WG_ONE_DEFAULT_XSLDECIMALFORMAT_ALLOWED,
-      "\u50c5\u5141\u8a31\u4e00\u500b\u9810\u8a2d xsl:decimal-format \u5ba3\u544a\u3002"},
-
-    { WG_XSLDECIMALFORMAT_NAMES_MUST_BE_UNIQUE,
-      "xsl:decimal-format \u540d\u7a31\u5fc5\u9808\u662f\u552f\u4e00\u7684\u3002\u540d\u7a31 \"{0}\" \u5df2\u91cd\u8907\u3002"},
-
-    { WG_ILLEGAL_ATTRIBUTE,
-      "{0} \u542b\u6709\u4e0d\u5408\u6cd5\u7684\u5c6c\u6027\uff1a{1}"},
-
-    { WG_COULD_NOT_RESOLVE_PREFIX,
-      "\u7121\u6cd5\u89e3\u6790\u540d\u7a31\u7a7a\u9593\u5b57\u9996\uff1a{0}\u3002\u7bc0\u9ede\u5c07\u88ab\u5ffd\u7565\u3002"},
-
-    { WG_STYLESHEET_REQUIRES_VERSION_ATTRIB,
-      "xsl:stylesheet \u9700\u8981 'version' \u5c6c\u6027\uff01"},
-
-    { WG_ILLEGAL_ATTRIBUTE_NAME,
-      "\u4e0d\u5408\u6cd5\u5c6c\u6027\u540d\u7a31\uff1a{0}"},
-
-    { WG_ILLEGAL_ATTRIBUTE_VALUE,
-      "\u5c6c\u6027 {0} \u4f7f\u7528\u4e86\u4e0d\u5408\u6cd5\u503c\uff1a{1}"},
-
-    { WG_EMPTY_SECOND_ARG,
-      "\u5f9e\u6587\u4ef6\u51fd\u6578\u7b2c\u4e8c\u500b\u5f15\u6578\u7522\u751f\u7684\u7bc0\u9ede\u96c6\u662f\u7a7a\u503c\u3002\u50b3\u56de\u7a7a\u7684\u7bc0\u9ede\u96c6\u3002"},
-
-  //Following are the new WARNING keys added in XALAN code base after Jdk 1.4 (Xalan 2.2-D11)
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.
-    { WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
-      "xsl:processing-instruction \u540d\u7a31\u7684 'name' \u5c6c\u6027\u503c\u4e0d\u53ef\u4ee5\u662f 'xml'"},
-
-    // Note to translators:  "name" and "xsl:processing-instruction" are keywords
-    // and must not be translated.  "NCName" is an XML data-type and must not be
-    // translated.
-    { WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
-      "xsl:processing-instruction \u7684 ''name'' \u5c6c\u6027\u503c\u5fc5\u9808\u662f\u6709\u6548\u7684 NCName\uff1a{0}"},
-
-    // Note to translators:  This message is reported if the stylesheet that is
-    // being processed attempted to construct an XML document with an attribute in a
-    // place other than on an element.  The substitution text specifies the name of
-    // the attribute.
-    { WG_ILLEGAL_ATTRIBUTE_POSITION,
-      "\u5728\u7522\u751f\u5b50\u9805\u7bc0\u9ede\u4e4b\u5f8c\uff0c\u6216\u5728\u7522\u751f\u5143\u7d20\u4e4b\u524d\uff0c\u4e0d\u53ef\u65b0\u589e\u5c6c\u6027 {0}\u3002\u5c6c\u6027\u6703\u88ab\u5ffd\u7565\u3002"},
-
-    { NO_MODIFICATION_ALLOWED_ERR,
-      "\u5617\u8a66\u4fee\u6539\u4e0d\u63a5\u53d7\u4fee\u6539\u7684\u7269\u4ef6\u3002"
-    },
-
-    //Check: WHY THERE IS A GAP B/W NUMBERS in the XSLTErrorResources properties file?
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "zh"},
-  {  "help_language",  "zh" },
-  {  "language",  "zh" },
-  { "BAD_CODE", "createMessage \u7684\u53c3\u6578\u8d85\u51fa\u754c\u9650"},
-  {  "FORMAT_FAILED", "\u5728 messageFormat \u547c\u53eb\u671f\u9593\u64f2\u51fa\u7570\u5e38"},
-  {  "version", ">>>>>>> Xalan \u7248\u672c"},
-  {  "version2",  "<<<<<<<"},
-  {  "yes", "yes"},
-  { "line", "\u884c\u865f"},
-  { "column","\u6b04\u865f"},
-  { "xsldone", "XSLProcessor\uff1a\u5b8c\u6210"},
-
-
-  // Note to translators:  The following messages provide usage information
-  // for the Xalan Process command line.  "Process" is the name of a Java class,
-  // and should not be translated.
-  { "xslProc_option", "Xalan-J \u6307\u4ee4\u884c Process \u985e\u5225\u9078\u9805\uff1a"},
-  { "xslProc_option", "Xalan-J \u6307\u4ee4\u884c Process \u985e\u5225\u9078\u9805\u003a"},
-  { "xslProc_invalid_xsltc_option", "XSLTC \u6a21\u5f0f\u4e0d\u652f\u63f4\u9078\u9805 {0}\u3002"},
-  { "xslProc_invalid_xalan_option", "\u9078\u9805 {0} \u53ea\u80fd\u548c -XSLTC \u4e00\u8d77\u4f7f\u7528\u3002"},
-  { "xslProc_no_input", "\u932f\u8aa4\uff1a\u672a\u6307\u5b9a\u6a23\u5f0f\u8868\u6216\u8f38\u5165 xml\u3002\u57f7\u884c\u6b64\u6307\u4ee4\u6642\u4e0d\u8981\u5305\u542b\u4efb\u4f55\u9078\u9805\uff0c\u5373\u53ef\u53d6\u5f97\u7528\u6cd5\u6307\u793a\u3002"},
-  { "xslProc_common_options", "-\u4e00\u822c\u9078\u9805-"},
-  { "xslProc_xalan_options", "-Xalan \u7684\u9078\u9805-"},
-  { "xslProc_xsltc_options", "-XSLTC \u7684\u9078\u9805-"},
-  { "xslProc_return_to_continue", "(\u6309 <return> \u7e7c\u7e8c)"},
-
-   // Note to translators: The option name and the parameter name do not need to
-   // be translated. Only translate the messages in parentheses.  Note also that
-   // leading whitespace in the messages is used to indent the usage information
-   // for each option in the English messages.
-   // Do not translate the keywords: XSLTC, SAX, DOM and DTM.
-  { "optionXSLTC", "[-XSLTC (\u4f7f\u7528 XSLTC \u9032\u884c\u8f49\u63db)]"},
-  { "optionIN", "[-IN inputXMLURL]"},
-  { "optionXSL", "[-XSL XSLTransformationURL]"},
-  { "optionOUT",  "[-OUT outputFileName]"},
-  { "optionLXCIN", "[-LXCIN compiledStylesheetFileNameIn]"},
-  { "optionLXCOUT", "[-LXCOUT compiledStylesheetFileNameOutOut]"},
-  { "optionPARSER", "[-PARSER fully qualified class name of parser liaison]"},
-  {  "optionE", "   [-E\uff08\u4e0d\u5c55\u958b\u5be6\u9ad4\u53c3\u7167\uff09]"},
-  {  "optionV",  "   [-E\uff08\u4e0d\u5c55\u958b\u5be6\u9ad4\u53c3\u7167\uff09]"},
-  {  "optionQC", "   [-QC\uff08\u7121\u8072\u578b\u6a23\u885d\u7a81\u8b66\u544a\uff09]"},
-  {  "optionQ", "   [-Q \uff08\u7121\u8072\u6a21\u5f0f\uff09]"},
-  {  "optionLF", "   [-LF\uff08\u53ea\u5728\u8f38\u51fa\u4e0a\u4f7f\u7528\u8f38\u51fa {\u9810\u8a2d\u662f CR/LF}\uff09]"},
-  {  "optionCR", "   [-LF\uff08\u53ea\u5728\u8f38\u51fa\u4e0a\u4f7f\u7528\u56de\u8eca {\u9810\u8a2d\u662f CR/LF}\uff09]"},
-  { "optionESCAPE", "[-ESCAPE\uff08\u8981\u8df3\u51fa\u7684\u5b57\u5143 {\u9810\u8a2d\u662f <>&\"\'\\r\\n}]"},
-  { "optionINDENT", "[-INDENT\uff08\u63a7\u5236\u8981\u5167\u7e2e\u7684\u7a7a\u683c\u6578 {\u9810\u8a2d\u662f 0}\uff09]"},
-  { "optionTT", "   [-TT\uff08\u5728\u88ab\u547c\u53eb\u6642\u8ffd\u8e64\u7bc4\u672c\u3002\uff09]"},
-  { "optionTG", "   [-TG\uff08\u8ffd\u8e64\u6bcf\u4e00\u500b\u7522\u751f\u4e8b\u4ef6\u3002\uff09]"},
-  { "optionTS", "   [-TS\uff08\u8ffd\u8e64\u6bcf\u4e00\u500b\u9078\u53d6\u4e8b\u4ef6\u3002\uff09]"},
-  {  "optionTTC", "   [-TTC\uff08\u5728\u88ab\u8655\u7406\u6642\u8ffd\u8e64\u7bc4\u672c\u5b50\u9805\u5143\u4ef6\u3002\uff09]"},
-  { "optionTCLASS", "   [-TCLASS\uff08\u8ffd\u8e64\u5ef6\u4f38\u9805\u76ee\u7684 TraceListener \u985e\u5225\u3002\uff09]"},
-  { "optionVALIDATE", "[-VALIDATE\uff08\u8a2d\u5b9a\u662f\u5426\u767c\u751f\u9a57\u8b49\u3002\u4f9d\u9810\u8a2d\u9a57\u8b49\u662f\u95dc\u9589\u7684\u3002\uff09]"},
-  { "optionEDUMP", "[-EDUMP {\u9078\u7528\u7684\u6a94\u6848\u540d\u7a31}\uff08\u767c\u751f\u932f\u8aa4\u6642\u57f7\u884c stackdump\uff09]"},
-  {  "optionXML", "   [-XML\uff08\u4f7f\u7528 XML \u683c\u5f0f\u88fd\u4f5c\u5668\u53ca\u65b0\u589e XML \u6a19\u982d\u3002\uff09]"},
-  {  "optionTEXT", "   [-TEXT\uff08\u4f7f\u7528\u7c21\u6613\u6587\u5b57\u683c\u5f0f\u5316\u7a0b\u5f0f\u3002\uff09]"},
-  {  "optionHTML", "   [-HTML\uff08\u4f7f\u7528 HTML \u683c\u5f0f\u88fd\u4f5c\u5668\u3002\uff09]"},
-  {  "optionPARAM", "   [-PARAM \u540d\u7a31\u8868\u793a\u5f0f\uff08\u8a2d\u5b9a\u6a23\u5f0f\u8868\u53c3\u6578\uff09]"},
-  {  "noParsermsg1", "XSL \u7a0b\u5e8f\u6c92\u6709\u9806\u5229\u5b8c\u6210\u3002"},
-  {  "noParsermsg2", "** \u627e\u4e0d\u5230\u5256\u6790\u5668 **"},
-  { "noParsermsg3",  "\u8acb\u6aa2\u67e5\u985e\u5225\u8def\u5f91\u3002"},
-  { "noParsermsg4", "\u5982\u679c\u60a8\u6c92\u6709 IBM \u7684 XML Parser for Java\uff0c\u53ef\u81ea\u4ee5\u4e0b\u7db2\u5740\u4e0b\u8f09"},
-  { "noParsermsg5", "IBM \u7684 AlphaWorks\uff1ahttp://www.alphaworks.ibm.com/formula/xml"},
-  { "optionURIRESOLVER", "[-URIRESOLVER \u5b8c\u6574\u7684\u985e\u5225\u540d\u7a31\uff08URIResolver \u7528\u4f86\u89e3\u6790 URI\uff09]"},
-  { "optionENTITYRESOLVER",  "[-ENTITYRESOLVER \u5b8c\u6574\u7684\u985e\u5225\u540d\u7a31\uff08EntityResolver \u7528\u4f86\u89e3\u6790\u5be6\u9ad4\uff09]"},
-  { "optionCONTENTHANDLER",  "[-CONTENTHANDLER \u5b8c\u6574\u7684\u985e\u5225\u540d\u7a31\uff08ContentHandler \u7528\u4f86\u5e8f\u5217\u5316\u8f38\u51fa\uff09]"},
-  {  "optionLINENUMBERS",  "[-L \u4f7f\u7528\u539f\u59cb\u6587\u4ef6\u7684\u884c\u865f]"},
-  { "optionSECUREPROCESSING", "   [-SECURE (\u5c07\u5b89\u5168\u8655\u7406\u7279\u6027\u8a2d\u70ba true\u3002)]"},
-
-    // Following are the new options added in XSLTErrorResources.properties files after Jdk 1.4 (Xalan 2.2-D11)
-
-
-  {  "optionMEDIA",  "   [-MEDIA mediaType\uff08\u4f7f\u7528\u5a92\u9ad4\u5c6c\u6027\u5c0b\u627e\u8207\u6587\u4ef6\u76f8\u95dc\u806f\u7684\u6a23\u5f0f\u8868\u3002\uff09]"},
-  {  "optionFLAVOR",  "   [-FLAVOR flavorName\uff08\u660e\u78ba\u4f7f\u7528 s2s=SAX \u6216 d2d=DOM \u4f86\u57f7\u884c\u8f49\u63db\u3002\uff09] "}, // Added by sboag/scurcuru; experimental
-  { "optionDIAG", "   [-DIAG (\u5217\u5370\u8f49\u63db\u82b1\u8cbb\u7684\u6beb\u79d2\u6578\u3002\uff09]"},
-  { "optionINCREMENTAL",  "   [-INCREMENTAL\uff08\u8a2d\u5b9a http://xml.apache.org/xalan/features/incremental \u70ba true\uff0c\u8981\u6c42\u6f38\u9032\u5f0f DTM \u5efa\u69cb\u3002\uff09]"},
-  {  "optionNOOPTIMIMIZE",  "   [-NOOPTIMIMIZE\uff08\u8a2d\u5b9a http://xml.apache.org/xalan/features/optimize \u70ba false\uff0c\u8981\u6c42\u4e0d\u9032\u884c\u6a23\u5f0f\u8868\u6700\u4f73\u5316\u8655\u7406\u7a0b\u5e8f\u3002)]"},
-  { "optionRL",  "   [-RL recursionlimit\uff08\u4e3b\u5f35\u5c0d\u6a23\u5f0f\u8868\u905e\u8ff4\u6df1\u5ea6\u5be6\u65bd\u6578\u503c\u9650\u5236\u3002\uff09]"},
-  {   "optionXO",  "[-XO [transletName] (\u6307\u5b9a\u540d\u7a31\u7d66\u7522\u751f\u7684 translet)]"},
-  {  "optionXD", "[-XD destinationDirectory (\u6307\u5b9a translet \u7684\u76ee\u6a19\u76ee\u9304)]"},
-  {  "optionXJ",  "[-XJ jarfile (\u5c07 translet \u985e\u5225\u5c01\u88dd\u5728\u6a94\u540d\u70ba <jarfile> \u7684 jar \u6a94\u6848\u4e2d)]"},
-  {   "optionXP",  "[-XP package (\u6307\u5b9a\u6240\u7522\u751f\u7684\u6240\u6709 translet \u985e\u5225\u4e4b\u5957\u4ef6\u540d\u7a31\u5b57\u9996)]"},
-
-  //AddITIONAL  STRINGS that need L10n
-  // Note to translators:  The following message describes usage of a particular
-  // command-line option that is used to enable the "template inlining"
-  // optimization.  The optimization involves making a copy of the code
-  // generated for a template in another template that refers to it.
-  { "optionXN",  "[-XN (\u555f\u7528\u7bc4\u672c\u5217\u5165)]" },
-  { "optionXX",  "[-XX (\u958b\u555f\u984d\u5916\u7684\u9664\u932f\u8a0a\u606f\u8f38\u51fa)]"},
-  { "optionXT" , "[-XT (\u53ef\u80fd\u7684\u8a71\uff0c\u4f7f\u7528 translet \u9032\u884c\u8f49\u63db)]"},
-  { "diagTiming","--------- \u900f\u904e {1} \u8017\u8cbb {2} \u6beb\u79d2\u8f49\u63db {0}" },
-  { "recursionTooDeep","\u7bc4\u672c\u5de2\u72c0\u7d50\u69cb\u592a\u6df1\u3002\u5de2\u72c0 = {0}\uff0c\u7bc4\u672c {1} {2}" },
-  { "nameIs", "\u540d\u7a31\u70ba" },
-  { "matchPatternIs", "\u6bd4\u5c0d\u578b\u6a23\u70ba" }
-
-  };
-  }
-  // ================= INFRASTRUCTURE ======================
-
-  /** String for use when a bad error code was encountered.    */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** String for use when formatting of the error string failed.   */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** General error string.   */
-  public static final String ERROR_STRING = "#error";
-
-  /** String to prepend to error messages.  */
-  public static final String ERROR_HEADER = "\u932f\u8aa4\uff1a";
-
-  /** String to prepend to warning messages.    */
-  public static final String WARNING_HEADER = "\u8b66\u544a\uff1a";
-
-  /** String to specify the XSLT module.  */
-  public static final String XSL_HEADER = "XSLT ";
-
-  /** String to specify the XML parser module.  */
-  public static final String XML_HEADER = "XML ";
-
-  /** I don't think this is used any more.
-   * @deprecated  */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XSLTErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XSLTErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XSLTErrorResources) ResourceBundle.getBundle(className,
-                new Locale("zh", "TW"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/serialize/DOMSerializer.java b/libcore/xml/src/main/java/org/apache/xalan/serialize/DOMSerializer.java
deleted file mode 100644
index 0a64495..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/serialize/DOMSerializer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: DOMSerializer.java 468642 2006-10-28 06:55:10Z minchau $
- */
-package org.apache.xalan.serialize;
-
-
-/**
- * @deprecated Use org.apache.xml.serializer.DOMSerializer
- */
-public interface DOMSerializer extends org.apache.xml.serializer.DOMSerializer
-{
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/serialize/Serializer.java b/libcore/xml/src/main/java/org/apache/xalan/serialize/Serializer.java
deleted file mode 100644
index c503c24..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/serialize/Serializer.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: Serializer.java 468642 2006-10-28 06:55:10Z minchau $
- */
-package org.apache.xalan.serialize;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.util.Properties;
-
-import org.xml.sax.ContentHandler;
-
-/**
- * The Serializer interface is implemented by Serializers to publish methods
- * to get and set streams and writers, to set the output properties, and
- * get the Serializer as a ContentHandler or DOMSerializer.
- * @deprecated Use org.apache.xml.serializer.Serializer
- */
-public interface Serializer
-{
-
-  /**
-   * Specifies an output stream to which the document should be
-   * serialized. This method should not be called while the
-   * serializer is in the process of serializing a document.
-   * <p>
-   * The encoding specified in the output {@link Properties} is used, or
-   * if no encoding was specified, the default for the selected
-   * output method.
-   *
-   * @param output The output stream
-   * 
-   * @deprecated Use org.apache.xml.serializer.Serializer
-   */
-  public void setOutputStream(OutputStream output);
-
-  /**
-   * Get the output stream where the events will be serialized to.
-   *
-   * @return reference to the result stream, or null of only a writer was
-   * set.
-   * @deprecated Use org.apache.xml.serializer.Serializer
-   */
-  public OutputStream getOutputStream();
-
-  /**
-   * Specifies a writer to which the document should be serialized.
-   * This method should not be called while the serializer is in
-   * the process of serializing a document.
-   * <p>
-   * The encoding specified for the output {@link Properties} must be
-   * identical to the output format used with the writer.
-   *
-   * @param writer The output writer stream
-   * 
-   * @deprecated Use org.apache.xml.serializer.Serializer
-   */
-  public void setWriter(Writer writer);
-
-  /**
-   * Get the character stream where the events will be serialized to.
-   *
-   * @return Reference to the result Writer, or null.
-   * @deprecated Use org.apache.xml.serializer.Serializer
-   */
-  public Writer getWriter();
-
-  /**
-   * Specifies an output format for this serializer. It the
-   * serializer has already been associated with an output format,
-   * it will switch to the new format. This method should not be
-   * called while the serializer is in the process of serializing
-   * a document.
-   *
-   * @param format The output format to use
-   * 
-   * @deprecated Use org.apache.xml.serializer.Serializer
-   */
-  public void setOutputFormat(Properties format);
-
-  /**
-   * Returns the output format for this serializer.
-   *
-   * @return The output format in use
-   * @deprecated Use org.apache.xml.serializer.Serializer
-   */
-  public Properties getOutputFormat();
-
-  /**
-   * Return a {@link ContentHandler} interface into this serializer.
-   * If the serializer does not support the {@link ContentHandler}
-   * interface, it should return null.
-   *
-   * @return A {@link ContentHandler} interface into this serializer,
-   *  or null if the serializer is not SAX 2 capable
-   * @throws IOException An I/O exception occured
-   * @deprecated Use org.apache.xml.serializer.Serializer
-   */
-  public ContentHandler asContentHandler() throws IOException;
-
-  /**
-   * Return a {@link DOMSerializer} interface into this serializer.
-   * If the serializer does not support the {@link DOMSerializer}
-   * interface, it should return null.
-   *
-   * @return A {@link DOMSerializer} interface into this serializer,
-   *  or null if the serializer is not DOM capable
-   * @throws IOException An I/O exception occured
-   * @deprecated Use org.apache.xml.serializer.Serializer
-   */
-  public DOMSerializer asDOMSerializer() throws IOException;
-
-  /**
-   * Resets the serializer. If this method returns true, the
-   * serializer may be used for subsequent serialization of new
-   * documents. It is possible to change the output format and
-   * output stream prior to serializing, or to use the existing
-   * output format and output stream.
-   *
-   * @return True if serializer has been reset and can be reused
-   * 
-   * @deprecated Use org.apache.xml.serializer.Serializer
-   */
-  public boolean reset();
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/serialize/SerializerFactory.java b/libcore/xml/src/main/java/org/apache/xalan/serialize/SerializerFactory.java
deleted file mode 100644
index 518fe82..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/serialize/SerializerFactory.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: SerializerFactory.java 468642 2006-10-28 06:55:10Z minchau $
- */
-package org.apache.xalan.serialize;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.util.Properties;
-
-import org.w3c.dom.Node;
-import org.xml.sax.ContentHandler;
-
-/**
- * Factory for creating serializers.
- * @deprecated The new class to use is 
- * org.apache.xml.serializer.SerializerFactory
- */
-public abstract class SerializerFactory
-{
-
-    private SerializerFactory()
-    {
-    }
-    /**
-     * Returns a serializer for the specified output method. Returns
-     * null if no implementation exists that supports the specified
-     * output method. For a list of the default output methods see
-     * {@link org.apache.xml.serializer.Method}.
-     *
-     * @param format The output format
-     * @return A suitable serializer, or null
-     * @throws IllegalArgumentException (apparently -sc) if method is
-     * null or an appropriate serializer can't be found
-     * @throws WrappedRuntimeException (apparently -sc) if an
-     * exception is thrown while trying to find serializer
-     * @deprecated Use org.apache.xml.serializer.SerializerFactory
-     */
-    public static Serializer getSerializer(Properties format)
-    {
-        org.apache.xml.serializer.Serializer ser;
-        ser = org.apache.xml.serializer.SerializerFactory.getSerializer(format);
-        SerializerFactory.SerializerWrapper si = new SerializerWrapper(ser);
-        return si;
-
-    }
-    
-    /**
-     * This class just exists to wrap a new Serializer in the new package by
-     * an old one.
-     * @deprecated
-     */
-
-    private static class SerializerWrapper implements Serializer
-    {
-        private final org.apache.xml.serializer.Serializer m_serializer;
-        private DOMSerializer m_old_DOMSerializer;
-
-        SerializerWrapper(org.apache.xml.serializer.Serializer ser)
-        {
-            m_serializer = ser;
-
-        }
-
-        public void setOutputStream(OutputStream output)
-        {
-            m_serializer.setOutputStream(output);
-        }
-
-        public OutputStream getOutputStream()
-        {
-            return m_serializer.getOutputStream();
-        }
-
-        public void setWriter(Writer writer)
-        {
-            m_serializer.setWriter(writer);
-        }
-
-        public Writer getWriter()
-        {
-            return m_serializer.getWriter();
-        }
-
-        public void setOutputFormat(Properties format)
-        {
-            m_serializer.setOutputFormat(format);
-        }
-
-        public Properties getOutputFormat()
-        {
-            return m_serializer.getOutputFormat();
-        }
-
-        public ContentHandler asContentHandler() throws IOException
-        {
-            return m_serializer.asContentHandler();
-        }
-
-        /**
-         * @return an old style DOMSerializer that wraps a new one.
-         * @see org.apache.xalan.serialize.Serializer#asDOMSerializer()
-         */
-        public DOMSerializer asDOMSerializer() throws IOException
-        {
-            if (m_old_DOMSerializer == null)
-            {
-                m_old_DOMSerializer =
-                    new DOMSerializerWrapper(m_serializer.asDOMSerializer());
-            }
-            return m_old_DOMSerializer;
-        }
-        /**
-         * @see org.apache.xalan.serialize.Serializer#reset()
-         */
-        public boolean reset()
-        {
-            return m_serializer.reset();
-        }
-
-    }
-
-    /**
-     * This class just wraps a new DOMSerializer with an old style one for
-     * migration purposes. 
-  *
-     */
-    private static class DOMSerializerWrapper implements DOMSerializer
-    {
-        private final org.apache.xml.serializer.DOMSerializer m_dom;
-        DOMSerializerWrapper(org.apache.xml.serializer.DOMSerializer domser)
-        {
-            m_dom = domser;
-        }
-
-        public void serialize(Node node) throws IOException
-        {
-            m_dom.serialize(node);
-        }
-    }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemApplyImport.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemApplyImport.java
index e11c37d..39b9919 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemApplyImport.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemApplyImport.java
@@ -77,9 +77,6 @@
         XSLTErrorResources.ER_NO_APPLY_IMPORT_IN_FOR_EACH);  //"xsl:apply-imports not allowed in a xsl:for-each");
     }
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-
     int sourceNode = transformer.getXPathContext().getCurrentNode();
     if (DTM.NULL != sourceNode)
     {
@@ -92,8 +89,6 @@
       transformer.getMsgMgr().error(this,
         XSLTErrorResources.ER_NULL_SOURCENODE_APPLYIMPORTS);  //"sourceNode is null in xsl:apply-imports!");
     }
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEndEvent(this);
   }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemApplyTemplates.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemApplyTemplates.java
index 136a6b3..e332ff0 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemApplyTemplates.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemApplyTemplates.java
@@ -24,7 +24,6 @@
 
 import javax.xml.transform.TransformerException;
 
-import org.apache.xalan.transformer.StackGuard;
 import org.apache.xalan.transformer.TransformerImpl;
 import org.apache.xml.dtm.DTM;
 import org.apache.xml.dtm.DTMIterator;
@@ -172,16 +171,11 @@
           transformer.pushMode(m_mode);
         }
       }
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireTraceEvent(this);
 
       transformSelectedNodes(transformer);
     }
     finally
     {
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireTraceEndEvent(this);
-
       if (pushMode)
         transformer.popMode();
 
@@ -208,9 +202,7 @@
     VariableStack vars = xctxt.getVarStack();
     int nParams = getParamElemCount();
     int thisframe = vars.getStackFrame();
-    StackGuard guard = transformer.getStackGuard();
-    boolean check = (guard.getRecursionLimit() > -1) ? true : false;
-    
+
     boolean pushContextNodeListFlag = false;
       
     try
@@ -228,13 +220,6 @@
       if (null != keys)
         sourceNodes = sortNodes(xctxt, keys, sourceNodes);
             
-      if (transformer.getDebug())
-      {
-        transformer.getTraceManager().fireSelectedEvent(sourceNode, this,
-                "select", new XPath(m_selectExpression),
-                new org.apache.xpath.objects.XNodeSet(sourceNodes));
-      }
-
       final SerializationHandler rth = transformer.getSerializationHandler();
 //      ContentHandler chandler = rth.getContentHandler();
       final StylesheetRoot sroot = transformer.getStylesheet();
@@ -256,12 +241,8 @@
         for (int i = 0; i < nParams; i++) 
         {
           ElemWithParam ewp = m_paramElems[i];
-          if (transformer.getDebug())
-            transformer.getTraceManager().fireTraceEvent(ewp);
           XObject obj = ewp.getValue(transformer, sourceNode);
-          if (transformer.getDebug())
-            transformer.getTraceManager().fireTraceEndEvent(ewp);
-          
+
           vars.setLocalVariable(i, obj, argsFrame);
         }
         vars.setStackFrame(argsFrame);
@@ -333,8 +314,6 @@
         }
                 
         transformer.pushPairCurrentMatched(template, child);
-        if (check)
-	        guard.checkForInfinateLoop();
 
         int currentFrameBottom;  // See comment with unlink, below
         if(template.m_frameSize > 0)
@@ -378,10 +357,6 @@
         else
         	currentFrameBottom = 0;
 
-        // Fire a trace event for the template.
-        if (transformer.getDebug())
-          transformer.getTraceManager().fireTraceEvent(template);
-
         // And execute the child templates.
         // Loop through the children of the template, calling execute on 
         // each of them.
@@ -400,9 +375,6 @@
           }
         }
         
-        if (transformer.getDebug())
-	      transformer.getTraceManager().fireTraceEndEvent(template); 
-	    
         if(template.m_frameSize > 0)
         {
           // See Frank Weiss bug around 03/19/2002 (no Bugzilla report yet).
@@ -434,12 +406,7 @@
     }
     finally
     {
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireSelectedEndEvent(sourceNode, this,
-                "select", new XPath(m_selectExpression),
-                new org.apache.xpath.objects.XNodeSet(sourceNodes));
-      
-      // Unlink to the original stack frame  
+      // Unlink to the original stack frame
       if(nParams > 0)
         vars.unlink(thisframe);
       xctxt.popSAXLocator();
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemAttributeSet.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemAttributeSet.java
index b730315..8f85122 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemAttributeSet.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemAttributeSet.java
@@ -104,9 +104,6 @@
             throws TransformerException
   {
 
-    if (transformer.getDebug())
-	  transformer.getTraceManager().fireTraceEvent(this);
-
     if (transformer.isRecursiveAttrSet(this))
     {
       throw new TransformerException(
@@ -128,10 +125,6 @@
     }
 
     transformer.popElemAttributeSet();
-   
-    if (transformer.getDebug())
-	  transformer.getTraceManager().fireTraceEndEvent(this);
-
   }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCallTemplate.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCallTemplate.java
index 3ef92b5..8bcb37c 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCallTemplate.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCallTemplate.java
@@ -193,9 +193,6 @@
             throws TransformerException
   {
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-
     if (null != m_template)
     {
       XPathContext xctxt = transformer.getXPathContext();
@@ -221,13 +218,9 @@
             ElemWithParam ewp = m_paramElems[i];
             if(ewp.m_index >= 0)
             {
-              if (transformer.getDebug())
-                transformer.getTraceManager().fireTraceEvent(ewp);
               XObject obj = ewp.getValue(transformer, currentNode);
-              if (transformer.getDebug())
-                transformer.getTraceManager().fireTraceEndEvent(ewp);
-              
-              // Note here that the index for ElemWithParam must have been 
+
+              // Note here that the index for ElemWithParam must have been
               // statically made relative to the xsl:template being called, 
               // NOT this xsl:template.
               vars.setLocalVariable(ewp.m_index, obj, nextFrame);
@@ -269,9 +262,6 @@
                                     new Object[]{ m_templateName });  //"Could not find template named: '"+templateName+"'");
     }
     
-    if (transformer.getDebug())
-	  transformer.getTraceManager().fireTraceEndEvent(this); 
-
   }
   
   /** Vector of xsl:param elements associated with this element. 
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemChoose.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemChoose.java
index c6199c4..caa44f3 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemChoose.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemChoose.java
@@ -78,9 +78,6 @@
   public void execute(TransformerImpl transformer) throws TransformerException
   {
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-
     boolean found = false;
 
     for (ElemTemplateElement childElem = getFirstChildElem();
@@ -103,45 +100,19 @@
         // if(when.getTest().getPatternString().equals("COLLECTION/icuser/ictimezone/LITERAL='GMT +13:00 Pacific/Tongatapu'"))
         // 	System.err.println("Found COLLECTION/icuser/ictimezone/LITERAL");
 
-        if (transformer.getDebug())
-        {
-          XObject test = when.getTest().execute(xctxt, sourceNode, when);
+          if (when.getTest().bool(xctxt, sourceNode, when)) {
+              transformer.executeChildTemplates(when, true);
 
-          if (transformer.getDebug())
-            transformer.getTraceManager().fireSelectedEvent(sourceNode, when,
-                    "test", when.getTest(), test);
-
-          if (test.bool())
-          {
-            transformer.getTraceManager().fireTraceEvent(when);
-            
-            transformer.executeChildTemplates(when, true);
-
-	        transformer.getTraceManager().fireTraceEndEvent(when); 
-	                  
-            return;
+              return;
           }
-
-        }
-        else if (when.getTest().bool(xctxt, sourceNode, when))
-        {
-          transformer.executeChildTemplates(when, true);
-
-          return;
-        }
       }
       else if (Constants.ELEMNAME_OTHERWISE == type)
       {
         found = true;
 
-        if (transformer.getDebug())
-          transformer.getTraceManager().fireTraceEvent(childElem);
-
-        // xsl:otherwise                
+        // xsl:otherwise
         transformer.executeChildTemplates(childElem, true);
 
-        if (transformer.getDebug())
-	      transformer.getTraceManager().fireTraceEndEvent(childElem); 
         return;
       }
     }
@@ -149,9 +120,6 @@
     if (!found)
       transformer.getMsgMgr().error(
         this, XSLTErrorResources.ER_CHOOSE_REQUIRES_WHEN);
-        
-    if (transformer.getDebug())
-	  transformer.getTraceManager().fireTraceEndEvent(this);         
   }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemComment.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemComment.java
index d7c0410..49e9311 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemComment.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemComment.java
@@ -71,8 +71,6 @@
           TransformerImpl transformer)
             throws TransformerException
   {
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
     try
     {
       // Note the content model is:
@@ -91,11 +89,6 @@
     {
       throw new TransformerException(se);
     }
-    finally
-    {
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireTraceEndEvent(this);
-    }
   }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCopy.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCopy.java
index 1fe72be..344c13d 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCopy.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCopy.java
@@ -102,9 +102,6 @@
       {
         SerializationHandler rthandler = transformer.getSerializationHandler();
 
-        if (transformer.getDebug())
-          transformer.getTraceManager().fireTraceEvent(this);
-            
         // TODO: Process the use-attribute-sets stuff
         ClonerToResultTree.cloneToResultTree(sourceNode, nodeType, dtm, 
                                              rthandler, false);
@@ -120,19 +117,11 @@
           transformer.getResultTreeHandler().endElement(ns, localName,
                                                         dtm.getNodeName(sourceNode));
         }
-        if (transformer.getDebug())
-		  transformer.getTraceManager().fireTraceEndEvent(this);         
       }
       else
       {
-        if (transformer.getDebug())
-          transformer.getTraceManager().fireTraceEvent(this);
-
         super.execute(transformer);
         transformer.executeChildTemplates(this, true);
-
-        if (transformer.getDebug())
-          transformer.getTraceManager().fireTraceEndEvent(this);
       }
     }
     catch(org.xml.sax.SAXException se)
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCopyOf.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCopyOf.java
index 01401cf..8423992 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCopyOf.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemCopyOf.java
@@ -124,19 +124,12 @@
           TransformerImpl transformer)
             throws TransformerException
   {
-    if (transformer.getDebug())
-    	transformer.getTraceManager().fireTraceEvent(this);
-
     try
     {
       XPathContext xctxt = transformer.getXPathContext();
       int sourceNode = xctxt.getCurrentNode();
       XObject value = m_selectExpression.execute(xctxt, sourceNode, this);
 
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireSelectedEvent(sourceNode, this,
-                                                        "select", m_selectExpression, value);
-
       SerializationHandler handler = transformer.getSerializationHandler();
 
       if (null != value)
@@ -211,11 +204,6 @@
     {
       throw new TransformerException(se);
     }
-    finally
-    {
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireTraceEndEvent(this);
-    }
 
   }
 
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemElement.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemElement.java
index f9b5c97..3f13eb4 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemElement.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemElement.java
@@ -202,9 +202,6 @@
             throws TransformerException
   {
 
-       if (transformer.getDebug())
-         transformer.getTraceManager().fireTraceEvent(this);
-
  	SerializationHandler rhandler = transformer.getSerializationHandler();
     XPathContext xctxt = transformer.getXPathContext();
     int sourceNode = xctxt.getCurrentNode();
@@ -288,9 +285,6 @@
     }
 
     constructNode(nodeName, prefix, nodeNamespace, transformer);
-
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEndEvent(this);
   }
   
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExsltFuncResult.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExsltFuncResult.java
index 09b905e..32bdbf0 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExsltFuncResult.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExsltFuncResult.java
@@ -54,9 +54,6 @@
   {    
     XPathContext context = transformer.getXPathContext();
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-    
     // Verify that result has not already been set by another result
     // element. Recursion is allowed: intermediate results are cleared 
     // in the owner ElemExsltFunction execute().
@@ -70,9 +67,6 @@
     XObject var = getValue(transformer, sourceNode);
     transformer.popCurrentFuncResult();
     transformer.pushCurrentFuncResult(var);
-
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEndEvent(this);    
   }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExsltFunction.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExsltFunction.java
index b13f268..acf3374 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExsltFunction.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExsltFunction.java
@@ -104,18 +104,12 @@
     //  the function.
     //  xctxt.pushRTFContext();
     
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-    
     vars.setStackFrame(nextFrame);
     transformer.executeChildTemplates(this, true);
     
     // Reset the stack frame after the function call
     vars.unlink(thisFrame);
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEndEvent(this);
-
     // Following ElemTemplate 'pop' removed -- see above.
     // xctxt.popRTFContext(); 
     
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExtensionCall.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExtensionCall.java
index ed3e6d4..cdbd069 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExtensionCall.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemExtensionCall.java
@@ -204,8 +204,6 @@
           XSLTErrorResources.ER_EXTENSION_ELEMENT_NOT_ALLOWED_IN_SECURE_PROCESSING,
           new Object[] {getRawName()}));
           
-    if (transformer.getDebug())
-		transformer.getTraceManager().fireTraceEvent(this);
     try
     {
       transformer.getResultTreeHandler().flushPending();
@@ -267,8 +265,6 @@
     catch(SAXException se) {
       throw new TransformerException(se);
     }
-    if (transformer.getDebug())
-		transformer.getTraceManager().fireTraceEndEvent(this);
   }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemFallback.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemFallback.java
index eabcce2..914cdf5 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemFallback.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemFallback.java
@@ -96,13 +96,8 @@
         || Constants.ELEMNAME_UNDEFINED == parentElemType)
     {
 
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireTraceEvent(this);
-
       transformer.executeChildTemplates(this, true);
 
-      if (transformer.getDebug())
-	    transformer.getTraceManager().fireTraceEndEvent(this); 
     }
     else
     {
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemForEach.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemForEach.java
index 5ce4c59..72b3d7a 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemForEach.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemForEach.java
@@ -257,17 +257,12 @@
   {
 
     transformer.pushCurrentTemplateRuleIsNull(true);    
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);//trigger for-each element event
-
     try
     {
       transformSelectedNodes(transformer);
     }
     finally
     {
-      if (transformer.getDebug())
-	    transformer.getTraceManager().fireTraceEndEvent(this); 
       transformer.popCurrentTemplateRuleIsNull();
     }
   }
@@ -346,36 +341,6 @@
       if (null != keys)
         sourceNodes = sortNodes(xctxt, keys, sourceNodes);
 
-    if (transformer.getDebug())
-    {
-
-        // The original code, which is broken for bug#16889,
-        // which fails to get the original select expression in the select event. 
-        /*  transformer.getTraceManager().fireSelectedEvent(
-         *    sourceNode,
-         *            this,
-         *            "select",
-         *            new XPath(m_selectExpression),
-         *            new org.apache.xpath.objects.XNodeSet(sourceNodes));
-         */ 
-
-        // The following code fixes bug#16889
-        // Solution: Store away XPath in setSelect(Xath), and use it here.
-        // Pass m_xath, which the current node is associated with, onto the TraceManager.
-        
-        Expression expr = m_xpath.getExpression();
-        org.apache.xpath.objects.XObject xObject = expr.execute(xctxt);
-        int current = xctxt.getCurrentNode();
-        transformer.getTraceManager().fireSelectedEvent(
-            current,
-            this,
-            "select",
-            m_xpath,
-            xObject);
-    }
-
-
-
       xctxt.pushCurrentNode(DTM.NULL);
 
       IntStack currentNodes = xctxt.getCurrentNodeStack();
@@ -408,12 +373,6 @@
         //final int exNodeType = dtm.getExpandedTypeID(child);
         final int nodeType = dtm.getNodeType(child); 
 
-        // Fire a trace event for the template.
-        if (transformer.getDebug())
-        {
-           transformer.getTraceManager().fireTraceEvent(this);
-        }
-
         // And execute the child templates.
         // Loop through the children of the template, calling execute on 
         // each of them.
@@ -424,17 +383,8 @@
           transformer.setCurrentElement(t);
           t.execute(transformer);
         }
-        
-        if (transformer.getDebug())
-        {
-         // We need to make sure an old current element is not 
-          // on the stack.  See TransformerImpl#getElementCallstack.
-          transformer.setCurrentElement(null);
-          transformer.getTraceManager().fireTraceEndEvent(this);
-        }
 
-
-	 	// KLUGE: Implement <?xalan:doc_cache_off?> 
+        // KLUGE: Implement <?xalan:doc_cache_off?>
 	 	// ASSUMPTION: This will be set only when the XPath was indeed
 	 	// a call to the Document() function. Calling it in other
 	 	// situations is likely to fry Xalan.
@@ -459,11 +409,6 @@
     }
     finally
     {
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireSelectedEndEvent(sourceNode, this,
-                "select", new XPath(m_selectExpression),
-                new org.apache.xpath.objects.XNodeSet(sourceNodes));
-
       xctxt.popSAXLocator();
       xctxt.popContextNodeList();
       transformer.popElemTemplateElement();
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemIf.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemIf.java
index 750ab2b..27814d9 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemIf.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemIf.java
@@ -130,38 +130,10 @@
     XPathContext xctxt = transformer.getXPathContext();
     int sourceNode = xctxt.getCurrentNode();
 
-    if (transformer.getDebug())
-    {
-      XObject test = m_test.execute(xctxt, sourceNode, this);
-
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireSelectedEvent(sourceNode, this,
-                "test", m_test, test);
-    
-      // xsl:for-each now fires one trace event + one for every
-      // iteration; changing xsl:if to fire one regardless of true/false
-
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireTraceEvent(this);
-
-      if (test.bool())
-      {
-        transformer.executeChildTemplates(this, true);        
+      if (m_test.bool(xctxt, sourceNode, this)) {
+          transformer.executeChildTemplates(this, true);
       }
 
-      if (transformer.getDebug())
-        transformer.getTraceManager().fireTraceEndEvent(this);
-
-      // I don't think we want this.  -sb
-      //  if (transformer.getDebug())
-      //    transformer.getTraceManager().fireSelectedEvent(sourceNode, this,
-      //            "endTest", m_test, test);
-    }
-    else if (m_test.bool(xctxt, sourceNode, this))
-    {
-      transformer.executeChildTemplates(this, true);
-    }
-    
   }
   
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemLiteralResult.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemLiteralResult.java
index b85e07a..3fc7db2 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemLiteralResult.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemLiteralResult.java
@@ -1304,12 +1304,6 @@
 
         try
         {
-            if (transformer.getDebug()) {
-                // flush any buffered pending processing before
-                // the trace event.
-                rhandler.flushPending();
-                transformer.getTraceManager().fireTraceEvent(this);
-            }
 
             // JJK Bugzilla 3464, test namespace85 -- make sure LRE's
             // namespace is asserted even if default, since xsl:element
@@ -1392,12 +1386,6 @@
              * there was an exception in the middle.
              * Otherwise an exception in the middle could cause a system to hang.
              */
-            if (transformer.getDebug()) {
-                // flush any buffered pending processing before
-                // the trace event.
-                //rhandler.flushPending();
-                transformer.getTraceManager().fireTraceEndEvent(this);
-            }
             rhandler.endElement(getNamespace(), getLocalName(), getRawName());
         }
         catch (SAXException se)
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemMessage.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemMessage.java
index 1a7b36e..1cfdf17 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemMessage.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemMessage.java
@@ -114,17 +114,11 @@
             throws TransformerException
   {
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-
     String data = transformer.transformToString(this);
 
     transformer.getMsgMgr().message(this, data, m_terminate);
     
     if(m_terminate)
       transformer.getErrorListener().fatalError(new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_STYLESHEET_DIRECTED_TERMINATION, null))); //"Stylesheet directed termination"));
-    
-    if (transformer.getDebug())
-	  transformer.getTraceManager().fireTraceEndEvent(this); 
   }
 }
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemNumber.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemNumber.java
index a4e07d4..1335902 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemNumber.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemNumber.java
@@ -557,9 +557,6 @@
             throws TransformerException
   {
 
-     if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-
     int sourceNode = transformer.getXPathContext().getCurrentNode();
     String countString = getCountString(transformer, sourceNode);
 
@@ -572,11 +569,6 @@
     {
       throw new TransformerException(se);
     }
-    finally
-    {
-      if (transformer.getDebug())
-	    transformer.getTraceManager().fireTraceEndEvent(this); 
-    }
   }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemPI.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemPI.java
index 277fa6c..449a6b7 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemPI.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemPI.java
@@ -126,9 +126,6 @@
             throws TransformerException
   {
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-
     XPathContext xctxt = transformer.getXPathContext();
     int sourceNode = xctxt.getCurrentNode();
     
@@ -173,9 +170,6 @@
     {
       throw new TransformerException(se);
     }
-    
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEndEvent(this);
   }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemParam.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemParam.java
index 8da7d5b..5e3feed 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemParam.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemParam.java
@@ -108,9 +108,6 @@
    */
   public void execute(TransformerImpl transformer) throws TransformerException
   {
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-      
     VariableStack vars = transformer.getXPathContext().getVarStack();
     
     if(!vars.isLocalSet(m_index))
@@ -122,9 +119,6 @@
       // transformer.getXPathContext().getVarStack().pushVariable(m_qname, var);
       transformer.getXPathContext().getVarStack().setLocalVariable(m_index, var);
     }
-    
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEndEvent(this);
   }
   
 }
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemTemplate.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemTemplate.java
index 89dbd96..cc17381 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemTemplate.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemTemplate.java
@@ -381,13 +381,8 @@
   {
     XPathContext xctxt = transformer.getXPathContext();
     
-    transformer.getStackGuard().checkForInfinateLoop();
-    
     xctxt.pushRTFContext();
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-
       // %REVIEW% commenting out of the code below.
 //    if (null != sourceNode)
 //    {
@@ -402,10 +397,7 @@
 //      //"sourceNode is null in handleApplyTemplatesInstruction!");
 //    }
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEndEvent(this);
-
-    xctxt.popRTFContext();  
+    xctxt.popRTFContext();
     }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemTextLiteral.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemTextLiteral.java
index 6746683..1d6f5e1 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemTextLiteral.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemTextLiteral.java
@@ -204,13 +204,8 @@
     try
     {
       SerializationHandler rth = transformer.getResultTreeHandler();
-      if (transformer.getDebug()) {
-        // flush any pending cached processing before the trace event.
-        rth.flushPending();
-        transformer.getTraceManager().fireTraceEvent(this);
-      }
 
-      if (m_disableOutputEscaping)
+        if (m_disableOutputEscaping)
       {
         rth.processingInstruction(javax.xml.transform.Result.PI_DISABLE_OUTPUT_ESCAPING, "");
       }
@@ -226,20 +221,5 @@
     {
       throw new TransformerException(se);
     }
-    finally
-    {
-      if (transformer.getDebug()) {
-        try
-        {
-            // flush any pending cached processing before sending the trace event
-            transformer.getResultTreeHandler().flushPending();
-            transformer.getTraceManager().fireTraceEndEvent(this);
-        }
-        catch (SAXException se)
-        {
-            throw new TransformerException(se);
-        } 
-      }
-    }
   }
 }
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemUnknown.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemUnknown.java
index c82c21a..618ba3f 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemUnknown.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemUnknown.java
@@ -21,10 +21,8 @@
 package org.apache.xalan.templates;
 
 import javax.xml.transform.TransformerException;
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
+
 import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xpath.XPathContext;
 
 
 /**
@@ -107,9 +105,6 @@
   {
 
 
-    if (transformer.getDebug())
-		transformer.getTraceManager().fireTraceEvent(this);
-
 	try {
 
 		if (hasFallbackChildren()) {
@@ -121,8 +116,6 @@
 	} catch (TransformerException e) {
 		transformer.getErrorListener().fatalError(e);
 	}
-    if (transformer.getDebug())
-		transformer.getTraceManager().fireTraceEndEvent(this);
   }
 
 }
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemValueOf.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemValueOf.java
index bbe2769..a8d38c7 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemValueOf.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemValueOf.java
@@ -215,38 +215,9 @@
     XPathContext xctxt = transformer.getXPathContext();
     SerializationHandler rth = transformer.getResultTreeHandler();
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-
     try
     {
       // Optimize for "."
-      if (false && m_isDot && !transformer.getDebug())
-      {
-        int child = xctxt.getCurrentNode();
-        DTM dtm = xctxt.getDTM(child);
-
-        xctxt.pushCurrentNode(child);
-
-        if (m_disableOutputEscaping)
-          rth.processingInstruction(
-            javax.xml.transform.Result.PI_DISABLE_OUTPUT_ESCAPING, "");
-
-        try
-        {
-          dtm.dispatchCharactersEvents(child, rth, false);
-        }
-        finally
-        {
-          if (m_disableOutputEscaping)
-            rth.processingInstruction(
-              javax.xml.transform.Result.PI_ENABLE_OUTPUT_ESCAPING, "");
-
-          xctxt.popCurrentNode();
-        }
-      }
-      else
-      {
         xctxt.pushNamespaceContext(this);
 
         int current = xctxt.getCurrentNode();
@@ -261,18 +232,7 @@
         {
           Expression expr = m_selectExpression.getExpression();
 
-          if (transformer.getDebug())
-          {
-            XObject obj = expr.execute(xctxt);
-
-            transformer.getTraceManager().fireSelectedEvent(current, this,
-                    "select", m_selectExpression, obj);
-            obj.dispatchCharactersEvents(rth);
-          }
-          else
-          {
             expr.executeCharsToContentHandler(xctxt, rth);
-          }
         }
         finally
         {
@@ -283,7 +243,6 @@
           xctxt.popNamespaceContext();
           xctxt.popCurrentNodeAndExpression();
         }
-      }
     }
     catch (SAXException se)
     {
@@ -294,11 +253,6 @@
     	te.setLocator(this);
     	throw te;
     }
-    finally
-    {
-      if (transformer.getDebug())
-	    transformer.getTraceManager().fireTraceEndEvent(this); 
-    }
   }
 
   /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemVariable.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemVariable.java
index 0dcec5e..099463a 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemVariable.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemVariable.java
@@ -240,18 +240,12 @@
   public void execute(TransformerImpl transformer) throws TransformerException
   {
 
-    if (transformer.getDebug())
-      transformer.getTraceManager().fireTraceEvent(this);
-
     int sourceNode = transformer.getXPathContext().getCurrentNode();
   
     XObject var = getValue(transformer, sourceNode);
 
     // transformer.getXPathContext().getVarStack().pushVariable(m_qname, var);
     transformer.getXPathContext().getVarStack().setLocalVariable(m_index, var);
-    
-    if (transformer.getDebug())
-	  transformer.getTraceManager().fireTraceEndEvent(this);         
   }
 
   /**
@@ -280,10 +274,6 @@
         var = m_selectPattern.execute(xctxt, sourceNode, this);
 
         var.allowDetachToRelease(false);
-
-        if (transformer.getDebug())
-          transformer.getTraceManager().fireSelectedEvent(sourceNode, this,
-                  "select", m_selectPattern, var);
       }
       else if (null == getFirstChildElem())
       {
diff --git a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemWithParam.java b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemWithParam.java
index cbad67d..b59212c 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/templates/ElemWithParam.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/templates/ElemWithParam.java
@@ -203,10 +203,6 @@
         var = m_selectPattern.execute(xctxt, sourceNode, this);
 
         var.allowDetachToRelease(false);
-
-        if (transformer.getDebug())
-          transformer.getTraceManager().fireSelectedEvent(sourceNode, this,
-                  "select", m_selectPattern, var);
       }
       else if (null == getFirstChildElem())
       {
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/EndSelectionEvent.java b/libcore/xml/src/main/java/org/apache/xalan/trace/EndSelectionEvent.java
deleted file mode 100644
index 5179937..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/EndSelectionEvent.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: EndSelectionEvent.java 468644 2006-10-28 06:56:42Z minchau $
- */
-package org.apache.xalan.trace;
-
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xpath.XPath;
-import org.apache.xpath.objects.XObject;
-
-import org.w3c.dom.Node;
-
-/**
- * Event triggered by completion of a xsl:for-each selection or a 
- * xsl:apply-templates selection.
- * @xsl.usage advanced
- */
-public class EndSelectionEvent extends SelectionEvent
-{
-
-  /**
-   * Create an EndSelectionEvent.
-   * 
-   * @param processor The XSLT TransformerFactory.
-   * @param sourceNode The current context node.
-   * @param styleNode node in the style tree reference for the event.
-   * Should not be null.  That is not enforced.
-   * @param attributeName The attribute name from which the selection is made.
-   * @param xpath The XPath that executed the selection.
-   * @param selection The result of the selection.
-   */
-  public EndSelectionEvent(TransformerImpl processor, Node sourceNode,
-                        ElemTemplateElement styleNode, String attributeName,
-                        XPath xpath, XObject selection)
-  {
-
-    super(processor, sourceNode, styleNode, attributeName, xpath, selection);
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/ExtensionEvent.java b/libcore/xml/src/main/java/org/apache/xalan/trace/ExtensionEvent.java
deleted file mode 100755
index 7df29a0..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/ExtensionEvent.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ExtensionEvent.java 468644 2006-10-28 06:56:42Z minchau $
- */
- 
-package org.apache.xalan.trace;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-
-import org.apache.xalan.transformer.TransformerImpl;
-
-/**
- * An event representing an extension call.
- */
-public class ExtensionEvent {
-
-	public static final int DEFAULT_CONSTRUCTOR = 0;
-	public static final int METHOD = 1;
-	public static final int CONSTRUCTOR = 2;
-	
-	public final int m_callType; 
-	public final TransformerImpl m_transformer;
-	public final Object m_method;
-	public final Object m_instance;
-	public final Object[] m_arguments;
-	
-	
-	public ExtensionEvent(TransformerImpl transformer, Method method, Object instance, Object[] arguments) {
-		m_transformer = transformer;
-		m_method = method;
-		m_instance = instance;
-		m_arguments = arguments;
-		m_callType = METHOD;
-	}		
-
-	public ExtensionEvent(TransformerImpl transformer, Constructor constructor, Object[] arguments) {
-		m_transformer = transformer;
-		m_instance = null;		
-		m_arguments = arguments;
-		m_method = constructor;
-		m_callType = CONSTRUCTOR;		
-	}
-
-	public ExtensionEvent(TransformerImpl transformer, Class clazz) {
-		m_transformer = transformer;
-		m_instance = null;
-		m_arguments = null;
-		m_method = clazz;
-		m_callType = DEFAULT_CONSTRUCTOR;
-	}
-
-}
-
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/GenerateEvent.java b/libcore/xml/src/main/java/org/apache/xalan/trace/GenerateEvent.java
deleted file mode 100644
index 837e347..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/GenerateEvent.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: GenerateEvent.java 468644 2006-10-28 06:56:42Z minchau $
- */
-package org.apache.xalan.trace;
-
-import org.apache.xalan.transformer.TransformerImpl;
-import org.xml.sax.Attributes;
-
-/**
- * Event generated by the XSL processor after it generates a new node in the result tree.
- * This event responds to and is modeled on the SAX events that are sent to the
- * formatter listener FormatterToXXX)classes.
- *
- * @see org.apache.xml.utils.DOMBuilder
- * @see org.apache.xml.serializer.ToHTMLStream
- * @see org.apache.xml.serializer.ToTextStream
- * @see org.apache.xml.serializer.ToXMLStream
- *
- * @xsl.usage advanced
- */
-public class GenerateEvent implements java.util.EventListener
-{
-
-  /**
-   * The XSLT Transformer, which either directly or indirectly contains most needed information.
-   *
-   * @see org.apache.xalan.transformer.TransformerImpl
-   */
-  public TransformerImpl m_processor;
-
-  /**
-   * The type of SAX event that was generated, as enumerated in the EVENTTYPE_XXX constants below.
-   */
-  public int m_eventtype;
-
-
-  /**
-   * Character data from a character or cdata event.
-   */
-  public char m_characters[];
-
-  /**
-   * The start position of the current data in m_characters.
-   */
-  public int m_start;
-
-  /**
-   * The length of the current data in m_characters.
-   */
-  public int m_length;
-
-  /**
-   * The name of the element or PI.
-   */
-  public String m_name;
-
-  /**
-   * The string data in the element (comments and PIs).
-   */
-  public String m_data;
-
-  /**
-   * The current attribute list.
-   */
-  public Attributes m_atts;
-
-  /**
-   * Constructor for startDocument, endDocument events.
-   *
-   * @param processor The XSLT TransformerFactory instance.
-   * @param eventType One of the EVENTTYPE_XXX constants.
-   */
-  public GenerateEvent(TransformerImpl processor, int eventType)
-  {
-    m_processor = processor;
-    m_eventtype = eventType;
-  }
-
-  /**
-   * Constructor for startElement, endElement events.
-   *
-   * @param processor The XSLT TransformerFactory Instance.
-   * @param eventType One of the EVENTTYPE_XXX constants.
-   * @param name The name of the element.
-   * @param atts The SAX attribute list.
-   */
-  public GenerateEvent(TransformerImpl processor, int eventType, String name,
-                       Attributes atts)
-  {
-
-    m_name = name;
-    m_atts = atts;
-    m_processor = processor;
-    m_eventtype = eventType;
-  }
-
-  /**
-   * Constructor for characters, cdate events.
-   *
-   * @param processor The XSLT TransformerFactory instance.
-   * @param eventType One of the EVENTTYPE_XXX constants.
-   * @param ch The char array from the SAX event.
-   * @param start The start offset to be used in the char array.
-   * @param length The end offset to be used in the chara array.
-   */
-  public GenerateEvent(TransformerImpl processor, int eventType, char ch[],
-                       int start, int length)
-  {
-
-    m_characters = ch;
-    m_start = start;
-    m_length = length;
-    m_processor = processor;
-    m_eventtype = eventType;
-  }
-
-  /**
-   * Constructor for processingInstruction events.
-   *
-   * @param processor The instance of the XSLT processor.
-   * @param eventType One of the EVENTTYPE_XXX constants.
-   * @param name The name of the processing instruction.
-   * @param data The processing instruction data.
-   */
-  public GenerateEvent(TransformerImpl processor, int eventType, String name,
-                       String data)
-  {
-
-    m_name = name;
-    m_data = data;
-    m_processor = processor;
-    m_eventtype = eventType;
-  }
-
-  /**
-   * Constructor for comment and entity ref events.
-   *
-   * @param processor The XSLT processor instance.
-   * @param eventType One of the EVENTTYPE_XXX constants.
-   * @param data The comment or entity ref data.
-   */
-  public GenerateEvent(TransformerImpl processor, int eventType, String data)
-  {
-
-    m_data = data;
-    m_processor = processor;
-    m_eventtype = eventType;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/PrintTraceListener.java b/libcore/xml/src/main/java/org/apache/xalan/trace/PrintTraceListener.java
deleted file mode 100644
index fa76442..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/PrintTraceListener.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: PrintTraceListener.java 468644 2006-10-28 06:56:42Z minchau $
- */
-package org.apache.xalan.trace;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-
-import javax.xml.transform.SourceLocator;
-
-import org.apache.xalan.templates.Constants;
-import org.apache.xalan.templates.ElemTemplate;
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.templates.ElemTextLiteral;
-import org.apache.xml.dtm.DTM;
-import org.apache.xml.dtm.ref.DTMNodeProxy;
-import org.apache.xml.serializer.SerializerTrace;
-
-import org.w3c.dom.Node;
-
-/**
- * Implementation of the TraceListener interface that
- * prints each event to standard out as it occurs.
- *
- * @see org.apache.xalan.trace.TracerEvent
- * @xsl.usage advanced
- */
-public class PrintTraceListener implements TraceListenerEx3
-{
-
-  /**
-   * Construct a trace listener.
-   *
-   * @param pw PrintWriter to use for tracing events
-   */
-  public PrintTraceListener(java.io.PrintWriter pw)
-  {
-    m_pw = pw;
-  }
-
-  /**
-   * The print writer where the events should be written.
-   */
-  java.io.PrintWriter m_pw;
-
-  /**
-   * This needs to be set to true if the listener is to print an event whenever a template is invoked.
-   */
-  public boolean m_traceTemplates = false;
-
-  /**
-   * Set to true if the listener is to print events that occur as each node is 'executed' in the stylesheet.
-   */
-  public boolean m_traceElements = false;
-
-  /**
-   * Set to true if the listener is to print information after each result-tree generation event.
-   */
-  public boolean m_traceGeneration = false;
-
-  /**
-   * Set to true if the listener is to print information after each selection event.
-   */
-  public boolean m_traceSelection = false;
-
-  /**
-   * Set to true if the listener is to print information after each extension event.
-   */
-  public boolean m_traceExtension = false;
-
-  /**
-   * Print information about a TracerEvent.
-   *
-   * @param ev the trace event.
-   */
-  public void _trace(TracerEvent ev)
-  {
-
-    switch (ev.m_styleNode.getXSLToken())
-    {
-    case Constants.ELEMNAME_TEXTLITERALRESULT :
-      if (m_traceElements)
-      {
-        m_pw.print(ev.m_styleNode.getSystemId()+ " Line #" + ev.m_styleNode.getLineNumber() + ", "
-                   + "Column #" + ev.m_styleNode.getColumnNumber() + " -- "
-                   + ev.m_styleNode.getNodeName() + ": ");
-
-        ElemTextLiteral etl = (ElemTextLiteral) ev.m_styleNode;
-        String chars = new String(etl.getChars(), 0, etl.getChars().length);
-
-        m_pw.println("    " + chars.trim());
-      }
-      break;
-    case Constants.ELEMNAME_TEMPLATE :
-      if (m_traceTemplates || m_traceElements)
-      {
-        ElemTemplate et = (ElemTemplate) ev.m_styleNode;
-
-        m_pw.print(et.getSystemId()+ " Line #" + et.getLineNumber() + ", " + "Column #"
-                   + et.getColumnNumber() + ": " + et.getNodeName() + " ");
-
-        if (null != et.getMatch())
-        {
-          m_pw.print("match='" + et.getMatch().getPatternString() + "' ");
-        }
-
-        if (null != et.getName())
-        {
-          m_pw.print("name='" + et.getName() + "' ");
-        }
-
-        m_pw.println();
-      }
-      break;
-    default :
-      if (m_traceElements)
-      {
-        m_pw.println(ev.m_styleNode.getSystemId()+ " Line #" + ev.m_styleNode.getLineNumber() + ", "
-                     + "Column #" + ev.m_styleNode.getColumnNumber() + ": "
-                     + ev.m_styleNode.getNodeName());
-      }
-    }
-  }
-  
-  int m_indent = 0;
-  
-  /**
-   * Print information about a TracerEvent.
-   *
-   * @param ev the trace event.
-   */
-  public void trace(TracerEvent ev)
-  {
-//  	m_traceElements = true;
-//  	m_traceTemplates = true;
-//  	
-//  	for(int i = 0; i < m_indent; i++)
-//  		m_pw.print(" ");
-//    m_indent = m_indent+2;
-//  	m_pw.print("trace: ");
-	_trace(ev);
-  }
-  
-  /**
-   * Method that is called when the end of a trace event occurs.
-   * The method is blocking.  It must return before processing continues.
-   *
-   * @param ev the trace event.
-   */
-  public void traceEnd(TracerEvent ev)
-  {
-//  	m_traceElements = true;
-//  	m_traceTemplates = true;
-//  	
-//  	m_indent = m_indent-2;
-//  	for(int i = 0; i < m_indent; i++)
-//  		m_pw.print(" ");
-//  	m_pw.print("etrac: ");
-//	_trace(ev);
-  }
-
-
-  /**
-   * Method that is called just after a select attribute has been evaluated.
-   *
-   * @param ev the generate event.
-   *
-   * @throws javax.xml.transform.TransformerException
-   */
-public void selected(SelectionEvent ev)
-    throws javax.xml.transform.TransformerException {
-
-    if (m_traceSelection) {
-        ElemTemplateElement ete = (ElemTemplateElement) ev.m_styleNode;
-        Node sourceNode = ev.m_sourceNode;
-
-        SourceLocator locator = null;
-        if (sourceNode instanceof DTMNodeProxy) {
-            int nodeHandler = ((DTMNodeProxy) sourceNode).getDTMNodeNumber();
-            locator =
-                ((DTMNodeProxy) sourceNode).getDTM().getSourceLocatorFor(
-                    nodeHandler);
-        }
-
-        if (locator != null)
-            m_pw.println(
-                "Selected source node '"
-                    + sourceNode.getNodeName()
-                    + "', at "
-                    + locator);
-        else
-            m_pw.println(
-                "Selected source node '" + sourceNode.getNodeName() + "'");
-
-        if (ev.m_styleNode.getLineNumber() == 0) {
-
-            // You may not have line numbers if the selection is occuring from a
-            // default template.
-            ElemTemplateElement parent =
-                (ElemTemplateElement) ete.getParentElem();
-
-            if (parent == ete.getStylesheetRoot().getDefaultRootRule()) {
-                m_pw.print("(default root rule) ");
-            } else if (
-                parent == ete.getStylesheetRoot().getDefaultTextRule()) {
-                m_pw.print("(default text rule) ");
-            } else if (parent == ete.getStylesheetRoot().getDefaultRule()) {
-                m_pw.print("(default rule) ");
-            }
-
-            m_pw.print(
-                ete.getNodeName()
-                    + ", "
-                    + ev.m_attributeName
-                    + "='"
-                    + ev.m_xpath.getPatternString()
-                    + "': ");
-        } else {
-            m_pw.print(
-                ev.m_styleNode.getSystemId()
-                    + " Line #"
-                    + ev.m_styleNode.getLineNumber()
-                    + ", "
-                    + "Column #"
-                    + ev.m_styleNode.getColumnNumber()
-                    + ": "
-                    + ete.getNodeName()
-                    + ", "
-                    + ev.m_attributeName
-                    + "='"
-                    + ev.m_xpath.getPatternString()
-                    + "': ");
-        }
-
-        if (ev.m_selection.getType() == ev.m_selection.CLASS_NODESET) {
-            m_pw.println();
-
-            org.apache.xml.dtm.DTMIterator nl = ev.m_selection.iter();
-            
-            // The following lines are added to fix bug#16222.
-            // The main cause is that the following loop change the state of iterator, which is shared
-            // with the transformer. The fix is that we record the initial state before looping, then 
-            // restore the state when we finish it, which is done in the following lines added.
-            int currentPos = DTM.NULL;
-            currentPos = nl.getCurrentPos();
-            nl.setShouldCacheNodes(true); // This MUST be done before we clone the iterator!
-            org.apache.xml.dtm.DTMIterator clone = null;
-            // End of block
-            
-            try {
-                clone = nl.cloneWithReset();
-            } catch (CloneNotSupportedException cnse) {
-                m_pw.println(
-                    "     [Can't trace nodelist because it it threw a CloneNotSupportedException]");
-                return;
-            }
-            int pos = clone.nextNode();
-
-            if (DTM.NULL == pos) {
-                m_pw.println("     [empty node list]");
-            } else {
-                while (DTM.NULL != pos) {
-                    // m_pw.println("     " + ev.m_processor.getXPathContext().getDTM(pos).getNode(pos));
-                    DTM dtm = ev.m_processor.getXPathContext().getDTM(pos);
-                    m_pw.print("     ");
-                    m_pw.print(Integer.toHexString(pos));
-                    m_pw.print(": ");
-                    m_pw.println(dtm.getNodeName(pos));
-                    pos = clone.nextNode();
-                }
-            }
-			
-            // Restore the initial state of the iterator, part of fix for bug#16222.
-            nl.runTo(-1);
-            nl.setCurrentPos(currentPos);
-        	// End of fix for bug#16222
-			
-        } else {
-            m_pw.println(ev.m_selection.str());
-        }
-    }
-}
-  /**
-   * Method that is called after an xsl:apply-templates or xsl:for-each 
-   * selection occurs.
-   *
-   * @param ev the generate event.
-   *
-   * @throws javax.xml.transform.TransformerException
-   */
-  public void selectEnd(EndSelectionEvent ev) 
-     throws javax.xml.transform.TransformerException
-  {
-  	// Nothing for right now.
-  }
-
-
-  /**
-   * Print information about a Generate event.
-   *
-   * @param ev the trace event.
-   */
-  public void generated(GenerateEvent ev)
-  {
-
-    if (m_traceGeneration)
-    {
-      switch (ev.m_eventtype)
-      {
-      case SerializerTrace.EVENTTYPE_STARTDOCUMENT :
-        m_pw.println("STARTDOCUMENT");
-        break;
-      case SerializerTrace.EVENTTYPE_ENDDOCUMENT :
-        m_pw.println("ENDDOCUMENT");
-        break;
-      case SerializerTrace.EVENTTYPE_STARTELEMENT :
-        m_pw.println("STARTELEMENT: " + ev.m_name);
-        break;
-      case SerializerTrace.EVENTTYPE_ENDELEMENT :
-        m_pw.println("ENDELEMENT: " + ev.m_name);
-        break;
-      case SerializerTrace.EVENTTYPE_CHARACTERS :
-      {
-        String chars = new String(ev.m_characters, ev.m_start, ev.m_length);
-
-        m_pw.println("CHARACTERS: " + chars);
-      }
-      break;
-      case SerializerTrace.EVENTTYPE_CDATA :
-      {
-        String chars = new String(ev.m_characters, ev.m_start, ev.m_length);
-
-        m_pw.println("CDATA: " + chars);
-      }
-      break;
-      case SerializerTrace.EVENTTYPE_COMMENT :
-        m_pw.println("COMMENT: " + ev.m_data);
-        break;
-      case SerializerTrace.EVENTTYPE_PI :
-        m_pw.println("PI: " + ev.m_name + ", " + ev.m_data);
-        break;
-      case SerializerTrace.EVENTTYPE_ENTITYREF :
-        m_pw.println("ENTITYREF: " + ev.m_name);
-        break;
-      case SerializerTrace.EVENTTYPE_IGNORABLEWHITESPACE :
-        m_pw.println("IGNORABLEWHITESPACE");
-        break;
-      }
-    }
-  }
-
-  /**
-   * Print information about an extension event.
-   *
-   * @param ev the extension event to print information about
-   */
-  public void extension(ExtensionEvent ev) {
-    if (m_traceExtension) {
-      switch (ev.m_callType) {
-        case ExtensionEvent.DEFAULT_CONSTRUCTOR:
-          m_pw.println("EXTENSION: " + ((Class)ev.m_method).getName() + "#<init>");
-          break;
-        case ExtensionEvent.METHOD:
-          m_pw.println("EXTENSION: " + ((Method)ev.m_method).getDeclaringClass().getName() + "#" + ((Method)ev.m_method).getName());
-          break;
-        case ExtensionEvent.CONSTRUCTOR:
-          m_pw.println("EXTENSION: " + ((Constructor)ev.m_method).getDeclaringClass().getName() + "#<init>");
-          break;
-      }
-    }
-  }
-
-
-  /**
-   * Print information about an extension event.
-   *
-   * @param ev the extension event to print information about
-   */
-  public void extensionEnd(ExtensionEvent ev) {
-    // do nothing
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/SelectionEvent.java b/libcore/xml/src/main/java/org/apache/xalan/trace/SelectionEvent.java
deleted file mode 100644
index f48cb03..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/SelectionEvent.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: SelectionEvent.java 468644 2006-10-28 06:56:42Z minchau $
- */
-package org.apache.xalan.trace;
-
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xpath.XPath;
-import org.apache.xpath.objects.XObject;
-
-import org.w3c.dom.Node;
-
-/**
- * Event triggered by selection of a node in the style stree.
- * @xsl.usage advanced
- */
-public class SelectionEvent implements java.util.EventListener
-{
-
-  /**
-   * The node in the style tree where the event occurs.
-   */
-  public final ElemTemplateElement m_styleNode;
-
-  /**
-   * The XSLT processor instance.
-   */
-  public final TransformerImpl m_processor;
-
-  /**
-   * The current context node.
-   */
-  public final Node m_sourceNode;
-
-  /**
-   * The attribute name from which the selection is made.
-   */
-  public final String m_attributeName;
-
-  /**
-   * The XPath that executed the selection.
-   */
-  public final XPath m_xpath;
-
-  /**
-   * The result of the selection.
-   */
-  public final XObject m_selection;
-
-  /**
-   * Create an event originating at the given node of the style tree.
-   * 
-   * @param processor The XSLT TransformerFactory.
-   * @param sourceNode The current context node.
-   * @param styleNode node in the style tree reference for the event.
-   * Should not be null.  That is not enforced.
-   * @param attributeName The attribute name from which the selection is made.
-   * @param xpath The XPath that executed the selection.
-   * @param selection The result of the selection.
-   */
-  public SelectionEvent(TransformerImpl processor, Node sourceNode,
-                        ElemTemplateElement styleNode, String attributeName,
-                        XPath xpath, XObject selection)
-  {
-
-    this.m_processor = processor;
-    this.m_sourceNode = sourceNode;
-    this.m_styleNode = styleNode;
-    this.m_attributeName = attributeName;
-    this.m_xpath = xpath;
-    this.m_selection = selection;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListener.java b/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListener.java
deleted file mode 100644
index 0ddaf78..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListener.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: TraceListener.java 468644 2006-10-28 06:56:42Z minchau $
- */
-package org.apache.xalan.trace;
-
-
-/**
- * Interface the XSL processor calls when it matches a source node, selects a set of source nodes,
- * or generates a result node.
- * If you want an object instance to be called when a trace event occurs, use the TransformerImpl setTraceListener method.
- * @see org.apache.xalan.trace.TracerEvent
- * @see org.apache.xalan.trace.TraceManager#addTraceListener
- * @xsl.usage advanced
- */
-public interface TraceListener extends java.util.EventListener
-{
-
-  /**
-   * Method that is called when a trace event occurs.
-   * The method is blocking.  It must return before processing continues.
-   *
-   * @param ev the trace event.
-   */
-  public void trace(TracerEvent ev);
-
-  /**
-   * Method that is called just after the formatter listener is called.
-   *
-   * @param ev the generate event.
-   *
-   * @throws javax.xml.transform.TransformerException
-   */
-  public void selected(SelectionEvent ev) throws javax.xml.transform.TransformerException;
-
-  /**
-   * Method that is called just after the formatter listener is called.
-   *
-   * @param ev the generate event.
-   */
-  public void generated(GenerateEvent ev);
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListenerEx.java b/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListenerEx.java
deleted file mode 100644
index 9674e20..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListenerEx.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: TraceListenerEx.java 468644 2006-10-28 06:56:42Z minchau $
- */
-package org.apache.xalan.trace;
-
-/**
- * Extends TraceListener but adds a SelectEnd event.
- * @xsl.usage advanced
- */
-public interface TraceListenerEx extends TraceListener
-{
-
-  /**
-   * Method that is called after an xsl:apply-templates or xsl:for-each 
-   * selection occurs.
-   *
-   * @param ev the generate event.
-   *
-   * @throws javax.xml.transform.TransformerException
-   */
-  public void selectEnd(EndSelectionEvent ev) throws javax.xml.transform.TransformerException;
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListenerEx2.java b/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListenerEx2.java
deleted file mode 100644
index e6e1542..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListenerEx2.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: TraceListenerEx2.java 468644 2006-10-28 06:56:42Z minchau $
- */
-package org.apache.xalan.trace;
-
-/**
- * Extends TraceListenerEx but adds a EndTrace event.
- * @xsl.usage advanced
- */
-public interface TraceListenerEx2 extends TraceListenerEx
-{
-  /**
-   * Method that is called when the end of a trace event occurs.
-   * The method is blocking.  It must return before processing continues.
-   *
-   * @param ev the trace event.
-   */
-  public void traceEnd(TracerEvent ev);
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListenerEx3.java b/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListenerEx3.java
deleted file mode 100755
index 986c275..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceListenerEx3.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: TraceListenerEx3.java 468644 2006-10-28 06:56:42Z minchau $
- */
- 
-package org.apache.xalan.trace;
-
-/**
- * Extends TraceListenerEx2 but adds extensions trace events.
- * @xsl.usage advanced
- */
-public interface TraceListenerEx3 extends TraceListenerEx2 {
-
-	/**
-	 * Method that is called when an extension event occurs.
-	 * The method is blocking.  It must return before processing continues.
-	 *
-	 * @param ee the extension event.
-	 */
-	public void extension(ExtensionEvent ee);
-
-	/**
-	 * Method that is called when the end of an extension event occurs.
-	 * The method is blocking.  It must return before processing continues.
-	 *
-	 * @param ee the extension event.
-	 */
-	public void extensionEnd(ExtensionEvent ee);
-
-}
-
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceManager.java b/libcore/xml/src/main/java/org/apache/xalan/trace/TraceManager.java
deleted file mode 100644
index 712a8d4..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/TraceManager.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: TraceManager.java 468644 2006-10-28 06:56:42Z minchau $
- */
-package org.apache.xalan.trace;
-
-import java.lang.reflect.Method;
-import java.util.TooManyListenersException;
-import java.util.Vector;
-
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xpath.XPath;
-import org.apache.xpath.objects.XObject;
-import org.w3c.dom.Node;
-
-/**
- * This class manages trace listeners, and acts as an
- * interface for the tracing functionality in Xalan.
- */
-public class TraceManager
-{
-
-  /** A transformer instance */
-  private TransformerImpl m_transformer;
-
-  /**
-   * Constructor for the trace manager.
-   *
-   * @param transformer a non-null instance of a transformer
-   */
-  public TraceManager(TransformerImpl transformer)
-  {
-    m_transformer = transformer;
-  }
-
-  /**
-   * List of listeners who are interested in tracing what's
-   * being generated.
-   */
-  private Vector m_traceListeners = null;
-
-  /**
-   * Add a trace listener for the purposes of debugging and diagnosis.
-   * @param tl Trace listener to be added.
-   *
-   * @throws TooManyListenersException
-   */
-  public void addTraceListener(TraceListener tl)
-          throws TooManyListenersException
-  {
-
-    m_transformer.setDebug(true);
-
-    if (null == m_traceListeners)
-      m_traceListeners = new Vector();
-
-    m_traceListeners.addElement(tl);
-  }
-
-  /**
-   * Remove a trace listener.
-   * @param tl Trace listener to be removed.
-   */
-  public void removeTraceListener(TraceListener tl)
-  {
-
-    if (null != m_traceListeners)
-    {
-      m_traceListeners.removeElement(tl);
-      
-      // The following line added to fix the bug#5140: hasTraceListeners() returns true
-      // after adding and removing a listener.
-      // Check: if m_traceListeners is empty, then set it to NULL.
-      if (0 == m_traceListeners.size()) m_traceListeners = null;
-    }
-  }
-
-  /**
-   * Fire a generate event.
-   *
-   * @param te Generate Event to fire
-   */
-  public void fireGenerateEvent(GenerateEvent te)
-  {
-
-    if (null != m_traceListeners)
-    {
-      int nListeners = m_traceListeners.size();
-
-      for (int i = 0; i < nListeners; i++)
-      {
-        TraceListener tl = (TraceListener) m_traceListeners.elementAt(i);
-
-        tl.generated(te);
-      }
-    }
-  }
-
-  /**
-   * Tell if trace listeners are present.
-   *
-   * @return True if there are trace listeners
-   */
-  public boolean hasTraceListeners()
-  {
-    return (null != m_traceListeners);
-  }
-
-  /**
-   * Fire a trace event.
-   *
-   * @param styleNode Stylesheet template node
-   */
-  public void fireTraceEvent(ElemTemplateElement styleNode)
-  {
-
-    if (hasTraceListeners())
-    {
-      int sourceNode = m_transformer.getXPathContext().getCurrentNode();
-      Node source = getDOMNodeFromDTM(sourceNode);
-
-      fireTraceEvent(new TracerEvent(m_transformer, source, 
-                     m_transformer.getMode(),  /*sourceNode, mode,*/
-                                     styleNode));
-    }
-  }
-
-  /**
-   * Fire a end trace event, after all children of an element have been
-   * executed.
-   *
-   * @param styleNode Stylesheet template node
-   */
-  public void fireTraceEndEvent(ElemTemplateElement styleNode)
-  {
-
-    if (hasTraceListeners())
-    {
-      int sourceNode = m_transformer.getXPathContext().getCurrentNode();
-      Node source = getDOMNodeFromDTM(sourceNode);
-
-      fireTraceEndEvent(new TracerEvent(m_transformer, source,
-                     m_transformer.getMode(),  /*sourceNode, mode,*/
-                                     styleNode));
-    }
-  }
-
-  /**
-   * Fire a trace event.
-   *
-   * @param te Trace event to fire
-   */
-  public void fireTraceEndEvent(TracerEvent te)
-  {
-
-    if (hasTraceListeners())
-    {
-      int nListeners = m_traceListeners.size();
-
-      for (int i = 0; i < nListeners; i++)
-      {
-        TraceListener tl = (TraceListener) m_traceListeners.elementAt(i);
-        if(tl instanceof TraceListenerEx2)
-        {
-          ((TraceListenerEx2)tl).traceEnd(te);
-        }
-      }
-    }
-  }
-
-
-
-  /**
-   * Fire a trace event.
-   *
-   * @param te Trace event to fire
-   */
-  public void fireTraceEvent(TracerEvent te)
-  {
-
-    if (hasTraceListeners())
-    {
-      int nListeners = m_traceListeners.size();
-
-      for (int i = 0; i < nListeners; i++)
-      {
-        TraceListener tl = (TraceListener) m_traceListeners.elementAt(i);
-
-        tl.trace(te);
-      }
-    }
-  }
-
-  /**
-   * Fire a selection event.
-   *
-   * @param sourceNode Current source node
-   * @param styleNode node in the style tree reference for the event.
-   * @param attributeName The attribute name from which the selection is made.
-   * @param xpath The XPath that executed the selection.
-   * @param selection The result of the selection.
-   *
-   * @throws javax.xml.transform.TransformerException
-   */
-  public void fireSelectedEvent(
-          int sourceNode, ElemTemplateElement styleNode, String attributeName, 
-          XPath xpath, XObject selection)
-            throws javax.xml.transform.TransformerException
-  {
-
-    if (hasTraceListeners())
-    {
-      Node source = getDOMNodeFromDTM(sourceNode);
-        
-      fireSelectedEvent(new SelectionEvent(m_transformer, source, styleNode,
-                                           attributeName, xpath, selection));
-    }
-  }
-  
-  /**
-   * Fire a selection event.
-   *
-   * @param sourceNode Current source node
-   * @param styleNode node in the style tree reference for the event.
-   * @param attributeName The attribute name from which the selection is made.
-   * @param xpath The XPath that executed the selection.
-   * @param selection The result of the selection.
-   *
-   * @throws javax.xml.transform.TransformerException
-   */
-  public void fireSelectedEndEvent(
-          int sourceNode, ElemTemplateElement styleNode, String attributeName, 
-          XPath xpath, XObject selection)
-            throws javax.xml.transform.TransformerException
-  {
-
-    if (hasTraceListeners())
-    {
-      Node source = getDOMNodeFromDTM(sourceNode);
-        
-      fireSelectedEndEvent(new EndSelectionEvent(m_transformer, source, styleNode,
-                                           attributeName, xpath, selection));
-    }
-  }
-  
-  /**
-   * Fire a selection event.
-   *
-   * @param se Selection event to fire
-   *
-   * @throws javax.xml.transform.TransformerException
-   */
-  public void fireSelectedEndEvent(EndSelectionEvent se)
-          throws javax.xml.transform.TransformerException
-  {
-
-    if (hasTraceListeners())
-    {
-      int nListeners = m_traceListeners.size();
-
-      for (int i = 0; i < nListeners; i++)
-      {
-        TraceListener tl = (TraceListener) m_traceListeners.elementAt(i);
-
-        if(tl instanceof TraceListenerEx)
-          ((TraceListenerEx)tl).selectEnd(se);
-      }
-    }
-  }
-
-  /**
-   * Fire a selection event.
-   *
-   * @param se Selection event to fire
-   *
-   * @throws javax.xml.transform.TransformerException
-   */
-  public void fireSelectedEvent(SelectionEvent se)
-          throws javax.xml.transform.TransformerException
-  {
-
-    if (hasTraceListeners())
-    {
-      int nListeners = m_traceListeners.size();
-
-      for (int i = 0; i < nListeners; i++)
-      {
-        TraceListener tl = (TraceListener) m_traceListeners.elementAt(i);
-
-        tl.selected(se);
-      }
-    }
-  }
-  
-
-  /**
-   * Fire an end extension event.
-   *
-   * @see java.lang.reflect.Method#invoke
-   * 
-   * @param method The java method about to be executed
-   * @param instance The instance the method will be executed on
-   * @param arguments Parameters passed to the method.
-   */
-  public void fireExtensionEndEvent(Method method, Object instance, Object[] arguments)
-  {
-      ExtensionEvent ee = new ExtensionEvent(m_transformer, method, instance, arguments);
-
-    if (hasTraceListeners())
-    {
-      int nListeners = m_traceListeners.size();
-
-      for (int i = 0; i < nListeners; i++)
-      {
-        TraceListener tl = (TraceListener) m_traceListeners.elementAt(i);
-        if(tl instanceof TraceListenerEx3)
-        {
-          ((TraceListenerEx3)tl).extensionEnd(ee);
-        }
-      }
-    }
-  }
-
-  /**
-   * Fire an end extension event.
-   *
-   * @see java.lang.reflect.Method#invoke
-   * 
-   * @param method The java method about to be executed
-   * @param instance The instance the method will be executed on
-   * @param arguments Parameters passed to the method.
-   */
-  public void fireExtensionEvent(Method method, Object instance, Object[] arguments)
-  {
-    ExtensionEvent ee = new ExtensionEvent(m_transformer, method, instance, arguments);
-
-    if (hasTraceListeners())
-    {
-      int nListeners = m_traceListeners.size();
-
-      for (int i = 0; i < nListeners; i++)
-      {
-        TraceListener tl = (TraceListener) m_traceListeners.elementAt(i);
-        if(tl instanceof TraceListenerEx3)
-        {
-          ((TraceListenerEx3)tl).extension(ee);
-        }
-      }
-    }
-  }
-
-  /**
-   * Fire an end extension event.
-   *
-   * @see java.lang.reflect.Method#invoke
-   * 
-   * @param ee the ExtensionEvent to fire
-   */
-  public void fireExtensionEndEvent(ExtensionEvent ee)
-  {
-    if (hasTraceListeners())
-    {
-      int nListeners = m_traceListeners.size();
-
-      for (int i = 0; i < nListeners; i++)
-      {
-        TraceListener tl = (TraceListener) m_traceListeners.elementAt(i);
-        if(tl instanceof TraceListenerEx3)
-        {
-          ((TraceListenerEx3)tl).extensionEnd(ee);
-        }
-      }
-    }
-  }
-
-  /**
-   * Fire an end extension event.
-   *
-   * @see java.lang.reflect.Method#invoke
-   * 
-   * @param ee the ExtensionEvent to fire
-   */
-  public void fireExtensionEvent(ExtensionEvent ee)
-  {    
-      
-    if (hasTraceListeners())
-    {
-      int nListeners = m_traceListeners.size();
-
-      for (int i = 0; i < nListeners; i++)
-      {
-        TraceListener tl = (TraceListener) m_traceListeners.elementAt(i);
-        if(tl instanceof TraceListenerEx3)
-        {
-          ((TraceListenerEx3)tl).extension(ee);
-        }
-      }
-    }
-  }
-  
-  /**
-   * Get the DOM Node of the current XPath context, which is possibly null.
-   * @param sourceNode the handle on the node used by a DTM.
-   */
-  private Node getDOMNodeFromDTM(int sourceNode) {
-    org.apache.xml.dtm.DTM dtm = m_transformer.getXPathContext().getDTM(sourceNode);
-    final Node source = (dtm == null) ? null : dtm.getNode(sourceNode);
-    return source;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/TracerEvent.java b/libcore/xml/src/main/java/org/apache/xalan/trace/TracerEvent.java
deleted file mode 100644
index e453523..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/TracerEvent.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: TracerEvent.java 468644 2006-10-28 06:56:42Z minchau $
- */
-package org.apache.xalan.trace;
-
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xml.utils.QName;
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Parent class of events generated for tracing the
- * progress of the XSL processor.
- * @xsl.usage advanced
- */
-public class TracerEvent implements java.util.EventListener
-{
-
-  /**
-   * The node in the style tree where the event occurs.
-   */
-  public final ElemTemplateElement m_styleNode;
-
-  /**
-   * The XSLT processor instance.
-   */
-  public final TransformerImpl m_processor;
-
-  /**
-   * The current context node.
-   */
-  public final Node m_sourceNode;
-
-  /**
-   * The current mode.
-   */
-  public final QName m_mode;
-
-  /**
-   * Create an event originating at the given node of the style tree.
-   * @param processor The XSLT TransformerFactory.
-   * @param sourceNode The current context node.
-   * @param mode The current mode.
-   * @param styleNode The stylesheet element that is executing.
-   */
-  public TracerEvent(TransformerImpl processor, Node sourceNode, QName mode,
-                     ElemTemplateElement styleNode)
-  {
-
-    this.m_processor = processor;
-    this.m_sourceNode = sourceNode;
-    this.m_mode = mode;
-    this.m_styleNode = styleNode;
-  }
-
-  /**
-   * Returns a string representation of the node.
-   * The string returned for elements will contain the element name
-   * and any attributes enclosed in angle brackets.
-   * The string returned for attributes will be of form, "name=value."
-   *
-   * @param n any DOM node. Must not be null.
-   *
-   * @return a string representation of the given node.
-   */
-  public static String printNode(Node n)
-  {
-
-    String r = n.hashCode() + " ";
-
-    if (n instanceof Element)
-    {
-      r += "<" + n.getNodeName();
-
-      Node c = n.getFirstChild();
-
-      while (null != c)
-      {
-        if (c instanceof Attr)
-        {
-          r += printNode(c) + " ";
-        }
-
-        c = c.getNextSibling();
-      }
-
-      r += ">";
-    }
-    else
-    {
-      if (n instanceof Attr)
-      {
-        r += n.getNodeName() + "=" + n.getNodeValue();
-      }
-      else
-      {
-        r += n.getNodeName();
-      }
-    }
-
-    return r;
-  }
-
-  /**
-   * Returns a string representation of the node list.
-   * The string will contain the list of nodes inside square braces.
-   * Elements will contain the element name
-   * and any attributes enclosed in angle brackets.
-   * Attributes will be of form, "name=value."
-   *
-   * @param l any DOM node list. Must not be null.
-   *
-   * @return a string representation of the given node list.
-   */
-  public static String printNodeList(NodeList l)
-  {
-
-    String r = l.hashCode() + "[";
-    int len = l.getLength() - 1;
-    int i = 0;
-
-    while (i < len)
-    {
-      Node n = l.item(i);
-
-      if (null != n)
-      {
-        r += printNode(n) + ", ";
-      }
-
-      ++i;
-    }
-
-    if (i == len)
-    {
-      Node n = l.item(len);
-
-      if (null != n)
-      {
-        r += printNode(n);
-      }
-    }
-
-    return r + "]";
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/trace/package.html b/libcore/xml/src/main/java/org/apache/xalan/trace/package.html
deleted file mode 100644
index a005c01..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/trace/package.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<!-- $Id: package.html 468644 2006-10-28 06:56:42Z minchau $ -->
-<html>
-  <title>Xalan Trace (debugger) Package.</title>
-  <body>
-    <p>Implementation of Xalan Trace events, for use by a debugger.<p>
- </body>
-</html>
-
-
diff --git a/libcore/xml/src/main/java/org/apache/xalan/transformer/KeyRefIterator.java b/libcore/xml/src/main/java/org/apache/xalan/transformer/KeyRefIterator.java
deleted file mode 100644
index e72349e..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/transformer/KeyRefIterator.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: KeyRefIterator.java 468645 2006-10-28 06:57:24Z minchau $
- */
-package org.apache.xalan.transformer;
-
-import java.util.Vector;
-
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.templates.KeyDeclaration;
-import org.apache.xml.dtm.DTM;
-import org.apache.xml.dtm.DTMIterator;
-import org.apache.xml.utils.QName;
-import org.apache.xml.utils.XMLString;
-import org.apache.xpath.objects.XNodeSet;
-import org.apache.xpath.objects.XObject;
-
-/**
- * This class filters nodes from a key iterator, according to 
- * whether or not the use value matches the ref value.  
- * @xsl.usage internal
- */
-public class KeyRefIterator extends org.apache.xpath.axes.ChildTestIterator
-{
-    static final long serialVersionUID = 3837456451659435102L;
-  /**
-   * Constructor KeyRefIterator
-   *
-   *
-   * @param ref Key value to match
-   * @param ki The main key iterator used to walk the source tree 
-   */
-  public KeyRefIterator(QName name, XMLString ref, Vector keyDecls, DTMIterator ki)
-  {
-    super(null);
-    m_name = name;
-    m_ref = ref;
-    m_keyDeclarations = keyDecls;
-    m_keysNodes = ki;
-    setWhatToShow(org.apache.xml.dtm.DTMFilter.SHOW_ALL);
-  }
-  
-  DTMIterator m_keysNodes;
-  
-  /**
-   * Get the next node via getNextXXX.  Bottlenecked for derived class override.
-   * @return The next node on the axis, or DTM.NULL.
-   */
-  protected int getNextNode()
-  {                  
-  	int next;   
-    while(DTM.NULL != (next = m_keysNodes.nextNode()))
-    {
-    	if(DTMIterator.FILTER_ACCEPT == filterNode(next))
-    		break;
-    }
-    m_lastFetched = next;
-    
-    return next;
-  }
-
-
-  /**
-   *  Test whether a specified node is visible in the logical view of a
-   * TreeWalker or NodeIterator. This function will be called by the
-   * implementation of TreeWalker and NodeIterator; it is not intended to
-   * be called directly from user code.
-   * 
-   * @param testNode  The node to check to see if it passes the filter or not.
-   *
-   * @return  a constant to determine whether the node is accepted,
-   *   rejected, or skipped, as defined  above .
-   */
-  public short filterNode(int testNode)
-  {
-    boolean foundKey = false;
-    Vector keys = m_keyDeclarations;
-
-    QName name = m_name;
-    KeyIterator ki = (KeyIterator)(((XNodeSet)m_keysNodes).getContainedIter());
-    org.apache.xpath.XPathContext xctxt = ki.getXPathContext();
-    
-    if(null == xctxt)
-    	assertion(false, "xctxt can not be null here!");
-
-    try
-    {
-      XMLString lookupKey = m_ref;
-
-      // System.out.println("lookupKey: "+lookupKey);
-      int nDeclarations = keys.size();
-
-      // Walk through each of the declarations made with xsl:key
-      for (int i = 0; i < nDeclarations; i++)
-      {
-        KeyDeclaration kd = (KeyDeclaration) keys.elementAt(i);
-
-        // Only continue if the name on this key declaration
-        // matches the name on the iterator for this walker. 
-        if (!kd.getName().equals(name))
-          continue;
-
-        foundKey = true;
-        // xctxt.setNamespaceContext(ki.getPrefixResolver());
-
-        // Query from the node, according the the select pattern in the
-        // use attribute in xsl:key.
-        XObject xuse = kd.getUse().execute(xctxt, testNode, ki.getPrefixResolver());
-
-        if (xuse.getType() != xuse.CLASS_NODESET)
-        {
-          XMLString exprResult = xuse.xstr();
-
-          if (lookupKey.equals(exprResult))
-            return DTMIterator.FILTER_ACCEPT;
-        }
-        else
-        {
-          DTMIterator nl = ((XNodeSet)xuse).iterRaw();
-          int useNode;
-          
-          while (DTM.NULL != (useNode = nl.nextNode()))
-          {
-            DTM dtm = getDTM(useNode);
-            XMLString exprResult = dtm.getStringValue(useNode);
-            if ((null != exprResult) && lookupKey.equals(exprResult))
-              return DTMIterator.FILTER_ACCEPT;
-          }
-        }
-
-      } // end for(int i = 0; i < nDeclarations; i++)
-    }
-    catch (javax.xml.transform.TransformerException te)
-    {
-      throw new org.apache.xml.utils.WrappedRuntimeException(te);
-    }
-
-    if (!foundKey)
-      throw new RuntimeException(
-        XSLMessages.createMessage(
-          XSLTErrorResources.ER_NO_XSLKEY_DECLARATION,
-          new Object[] { name.getLocalName()}));
-    return DTMIterator.FILTER_REJECT;
-  }
-
-  protected XMLString m_ref;
-  protected QName m_name;
-
-  /** Vector of Key declarations in the stylesheet.
-   *  @serial          */
-  protected Vector m_keyDeclarations;
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/transformer/NumeratorFormatter.java b/libcore/xml/src/main/java/org/apache/xalan/transformer/NumeratorFormatter.java
deleted file mode 100644
index 4d4c1de..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/transformer/NumeratorFormatter.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: NumeratorFormatter.java 468645 2006-10-28 06:57:24Z minchau $
- */
-package org.apache.xalan.transformer;
-
-import java.util.Locale;
-import java.util.NoSuchElementException;
-
-import org.w3c.dom.Element;
-
-/**
- * Converts enumerated numbers into strings, using the XSL conversion attributes.
- * Having this in a class helps avoid being forced to extract the attributes repeatedly.
- * @xsl.usage internal
- */
-class NumeratorFormatter
-{
-
-  /** The owning xsl:number element.          */
-  protected Element m_xslNumberElement;
-
-  /** An instance of a Tokenizer          */
-  NumberFormatStringTokenizer m_formatTokenizer;
-
-  /** Locale we need to format in          */
-  Locale m_locale;
-
-  /** An instance of a NumberFormat         */
-  java.text.NumberFormat m_formatter;
-
-  /** An instance of a transformer          */
-  TransformerImpl m_processor;
-
-  /**
-   * Table to help in converting decimals to roman numerals.
-   * @see org.apache.xalan.transformer.DecimalToRoman
-   */
-  private final static DecimalToRoman m_romanConvertTable[] = {
-    new DecimalToRoman(1000, "M", 900, "CM"),
-    new DecimalToRoman(500, "D", 400, "CD"),
-    new DecimalToRoman(100L, "C", 90L, "XC"),
-    new DecimalToRoman(50L, "L", 40L, "XL"),
-    new DecimalToRoman(10L, "X", 9L, "IX"),
-    new DecimalToRoman(5L, "V", 4L, "IV"),
-    new DecimalToRoman(1L, "I", 1L, "I") };
-
-  /**
-   * Chars for converting integers into alpha counts.
-   * @see TransformerImpl#int2alphaCount
-   */
-  private final static char[] m_alphaCountTable = { 'Z',  // z for zero
-                                                    'A', 'B', 'C', 'D', 'E',
-                                                    'F', 'G', 'H', 'I', 'J',
-                                                    'K', 'L', 'M', 'N', 'O',
-                                                    'P', 'Q', 'R', 'S', 'T',
-                                                    'U', 'V', 'W', 'X', 'Y' };
-
-  /**
-   * Construct a NumeratorFormatter using an element
-   * that contains XSL number conversion attributes -
-   * format, letter-value, xml:lang, digit-group-sep,
-   * n-digits-per-group, and sequence-src.
-   *
-   * @param xslNumberElement The given xsl:number element
-   * @param processor a non-null transformer instance
-   */
-  NumeratorFormatter(Element xslNumberElement, TransformerImpl processor)
-  {
-    m_xslNumberElement = xslNumberElement;
-    m_processor = processor;
-  }  // end NumeratorFormatter(Element) constructor
-
-  /**
-   * Convert a long integer into alphabetic counting, in other words
-   * count using the sequence A B C ... Z AA AB AC.... etc.
-   * 
-   * @param val Value to convert -- must be greater than zero.
-   * @param table a table containing one character for each digit in the radix
-   * @return String representing alpha count of number.
-   * @see org.apache.xalan.transformer.DecimalToRoman
-   *
-   * Note that the radix of the conversion is inferred from the size
-   * of the table.
-   */
-  protected String int2alphaCount(int val, char[] table)
-  {
-
-    int radix = table.length;
-
-    // Create a buffer to hold the result
-    // TODO:  size of the table can be detereined by computing
-    // logs of the radix.  For now, we fake it.
-    char buf[] = new char[100];
-
-    // next character to set in the buffer
-    int charPos = buf.length - 1;  // work backward through buf[]
-
-    // index in table of the last character that we stored
-    int lookupIndex = 1;  // start off with anything other than zero to make correction work
-
-    //                                          Correction number
-    //
-    //  Correction can take on exactly two values:
-    //
-    //          0       if the next character is to be emitted is usual
-    //
-    //      radix - 1
-    //                  if the next char to be emitted should be one less than
-    //                  you would expect
-    //
-    // For example, consider radix 10, where 1="A" and 10="J"
-    //
-    // In this scheme, we count: A, B, C ...   H, I, J (not A0 and certainly
-    // not AJ), A1
-    //
-    // So, how do we keep from emitting AJ for 10?  After correctly emitting the
-    // J, lookupIndex is zero.  We now compute a correction number of 9 (radix-1).
-    // In the following line, we'll compute (val+correction) % radix, which is,
-    // (val+9)/10.  By this time, val is 1, so we compute (1+9) % 10, which
-    // is 10 % 10 or zero.  So, we'll prepare to emit "JJ", but then we'll
-    // later suppress the leading J as representing zero (in the mod system,
-    // it can represent either 10 or zero).  In summary, the correction value of
-    // "radix-1" acts like "-1" when run through the mod operator, but with the
-    // desireable characteristic that it never produces a negative number.
-    int correction = 0;
-
-    // TODO:  throw error on out of range input
-    do
-    {
-
-      // most of the correction calculation is explained above,  the reason for the
-      // term after the "|| " is that it correctly propagates carries across
-      // multiple columns.
-      correction =
-        ((lookupIndex == 0) || (correction != 0 && lookupIndex == radix - 1))
-        ? (radix - 1) : 0;
-
-      // index in "table" of the next char to emit
-      lookupIndex = (val + correction) % radix;
-
-      // shift input by one "column"
-      val = (val / radix);
-
-      // if the next value we'd put out would be a leading zero, we're done.
-      if (lookupIndex == 0 && val == 0)
-        break;
-
-      // put out the next character of output
-      buf[charPos--] = table[lookupIndex];
-    }
-    while (val > 0);
-
-    return new String(buf, charPos + 1, (buf.length - charPos - 1));
-  }
-
-  /**
-   * Convert a long integer into roman numerals.
-   * @param val Value to convert.
-   * @param prefixesAreOK true_ to enable prefix notation (e.g. 4 = "IV"),
-   * false_ to disable prefix notation (e.g. 4 = "IIII").
-   * @return Roman numeral string.
-   * @see DecimalToRoman
-   * @see m_romanConvertTable
-   */
-  String long2roman(long val, boolean prefixesAreOK)
-  {
-
-    if (val <= 0)
-    {
-      return "#E(" + val + ")";
-    }
-
-    String roman = "";
-    int place = 0;
-
-    if (val <= 3999L)
-    {
-      do
-      {
-        while (val >= m_romanConvertTable[place].m_postValue)
-        {
-          roman += m_romanConvertTable[place].m_postLetter;
-          val -= m_romanConvertTable[place].m_postValue;
-        }
-
-        if (prefixesAreOK)
-        {
-          if (val >= m_romanConvertTable[place].m_preValue)
-          {
-            roman += m_romanConvertTable[place].m_preLetter;
-            val -= m_romanConvertTable[place].m_preValue;
-          }
-        }
-
-        place++;
-      }
-      while (val > 0);
-    }
-    else
-    {
-      roman = "#error";
-    }
-
-    return roman;
-  }  // end long2roman
-
-  /**
-   * This class returns tokens using non-alphanumberic
-   * characters as delimiters.
-   */
-  class NumberFormatStringTokenizer
-  {
-
-    /** Field holding the current position in the string      */
-    private int currentPosition;
-
-    /** The total length of the string          */
-    private int maxPosition;
-
-    /** The string to tokenize          */
-    private String str;
-
-    /**
-     * Construct a NumberFormatStringTokenizer.
-     *
-     * @param str The string to tokenize
-     */
-    NumberFormatStringTokenizer(String str)
-    {
-      this.str = str;
-      maxPosition = str.length();
-    }
-    
-    /**
-     * Reset tokenizer so that nextToken() starts from the beginning. 
-     *
-     */
-    void reset()
-    {
-      currentPosition = 0;
-    }
-
-    /**
-     * Returns the next token from this string tokenizer.
-     *
-     * @return     the next token from this string tokenizer.
-     * @throws  NoSuchElementException  if there are no more tokens in this
-     *               tokenizer's string.
-     */
-    String nextToken()
-    {
-
-      if (currentPosition >= maxPosition)
-      {
-        throw new NoSuchElementException();
-      }
-
-      int start = currentPosition;
-
-      while ((currentPosition < maxPosition)
-             && Character.isLetterOrDigit(str.charAt(currentPosition)))
-      {
-        currentPosition++;
-      }
-
-      if ((start == currentPosition)
-              && (!Character.isLetterOrDigit(str.charAt(currentPosition))))
-      {
-        currentPosition++;
-      }
-
-      return str.substring(start, currentPosition);
-    }
-
-    /**
-     * Tells if <code>nextToken</code> will throw an exception      * if it is called.
-     *
-     * @return true if <code>nextToken</code> can be called      * without throwing an exception.
-     */
-    boolean hasMoreTokens()
-    {
-      return (currentPosition >= maxPosition) ? false : true;
-    }
-
-    /**
-     * Calculates the number of times that this tokenizer's
-     * <code>nextToken</code> method can be called before it generates an
-     * exception.
-     *
-     * @return  the number of tokens remaining in the string using the current
-     *          delimiter set.
-     * @see     java.util.StringTokenizer#nextToken()
-     */
-    int countTokens()
-    {
-
-      int count = 0;
-      int currpos = currentPosition;
-
-      while (currpos < maxPosition)
-      {
-        int start = currpos;
-
-        while ((currpos < maxPosition)
-               && Character.isLetterOrDigit(str.charAt(currpos)))
-        {
-          currpos++;
-        }
-
-        if ((start == currpos)
-                && (Character.isLetterOrDigit(str.charAt(currpos)) == false))
-        {
-          currpos++;
-        }
-
-        count++;
-      }
-
-      return count;
-    }
-  }  // end NumberFormatStringTokenizer
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/transformer/QueuedEvents.java b/libcore/xml/src/main/java/org/apache/xalan/transformer/QueuedEvents.java
deleted file mode 100644
index 23791e6..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/transformer/QueuedEvents.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: QueuedEvents.java 468645 2006-10-28 06:57:24Z minchau $
- */
-package org.apache.xalan.transformer;
-
-import java.util.Vector;
-
-import org.apache.xml.utils.MutableAttrListImpl;
-
-
-/**
- * This class acts as a base for ResultTreeHandler, and keeps
- * queud stack events.  In truth, we don't need a stack,
- * so I may change this down the line a bit.
- */
-public abstract class QueuedEvents
-{
-
-  /** The number of events queued          */
-  protected int m_eventCount = 0;
-
-  /** Queued start document          */
-  // QueuedStartDocument m_startDoc = new QueuedStartDocument();
-
-  /** Queued start element          */
-  // QueuedStartElement m_startElement = new QueuedStartElement();
-  
-  public boolean m_docPending = false;
-  protected boolean m_docEnded = false;
-  
-  /** Flag indicating that an event is pending.  Public for 
-   *  fast access by ElemForEach.         */
-  public boolean m_elemIsPending = false;
-
-  /** Flag indicating that an event is ended          */
-  public boolean m_elemIsEnded = false;
-  
-  /**
-   * The pending attributes.  We have to delay the call to
-   * m_flistener.startElement(name, atts) because of the
-   * xsl:attribute and xsl:copy calls.  In other words,
-   * the attributes have to be fully collected before you
-   * can call startElement.
-   */
-  protected MutableAttrListImpl m_attributes = new MutableAttrListImpl();
-
-  /**
-   * Flag to try and get the xmlns decls to the attribute list
-   * before other attributes are added.
-   */
-  protected boolean m_nsDeclsHaveBeenAdded = false;
-
-  /**
-   * The pending element, namespace, and local name.
-   */
-  protected String m_name;
-
-  /** Namespace URL of the element          */
-  protected String m_url;
-
-  /** Local part of qualified name of the element           */
-  protected String m_localName;
-  
-  
-  /** Vector of namespaces for this element          */
-  protected Vector m_namespaces = null;
-
-//  /**
-//   * Get the queued element.
-//   *
-//   * @return the queued element.
-//   */
-//  QueuedStartElement getQueuedElem()
-//  {
-//    return (m_eventCount > 1) ? m_startElement : null;
-//  }
-
-  /**
-   * To re-initialize the document and element events 
-   *
-   */
-  protected void reInitEvents()
-  {
-  }
-
-  /**
-   * Push document event and re-initialize events  
-   *
-   */
-  public void reset()
-  {
-    pushDocumentEvent();
-    reInitEvents();
-  }
-
-  /**
-   * Push the document event.  This never gets popped.
-   */
-  void pushDocumentEvent()
-  {
-
-    // m_startDoc.setPending(true);
-    // initQSE(m_startDoc);
-    m_docPending = true;
-
-    m_eventCount++;
-  }
-
-  /**
-   * Pop element event 
-   *
-   */
-  void popEvent()
-  {
-    m_elemIsPending = false;
-    m_attributes.clear();
-
-    m_nsDeclsHaveBeenAdded = false;
-    m_name = null;
-    m_url = null;
-    m_localName = null;
-    m_namespaces = null;
-
-    m_eventCount--;
-  }
-
-  /** Instance of a serializer          */
-  private org.apache.xml.serializer.Serializer m_serializer;
-
-  /**
-   * This is only for use of object pooling, so that
-   * it can be reset.
-   *
-   * @param s non-null instance of a serializer 
-   */
-  void setSerializer(org.apache.xml.serializer.Serializer s)
-  {
-    m_serializer = s;
-  }
-
-  /**
-   * This is only for use of object pooling, so the that
-   * it can be reset.
-   *
-   * @return The serializer
-   */
-  org.apache.xml.serializer.Serializer getSerializer()
-  {
-    return m_serializer;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/transformer/ResultNameSpace.java b/libcore/xml/src/main/java/org/apache/xalan/transformer/ResultNameSpace.java
deleted file mode 100644
index 53be32a..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/transformer/ResultNameSpace.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ResultNameSpace.java 468645 2006-10-28 06:57:24Z minchau $
- */
-package org.apache.xalan.transformer;
-
-/**
- * A representation of a result namespace.  One of these will
- * be pushed on the result tree namespace stack for each
- * result tree element.
- * @xsl.usage internal
- */
-public class ResultNameSpace
-{
-
-  /** Pointer to next ResultNameSpace          */
-  public ResultNameSpace m_next = null;
-
-  /** Prefix of namespace         */
-  public String m_prefix;
-
-  /** Namespace URI          */
-  public String m_uri;  // if null, then Element namespace is empty.
-
-  /**
-   * Construct a namespace for placement on the
-   * result tree namespace stack.
-   *
-   * @param prefix of result namespace
-   * @param uri URI of result namespace
-   */
-  public ResultNameSpace(String prefix, String uri)
-  {
-    m_prefix = prefix;
-    m_uri = uri;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/transformer/StackGuard.java b/libcore/xml/src/main/java/org/apache/xalan/transformer/StackGuard.java
deleted file mode 100644
index ac46501..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/transformer/StackGuard.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: StackGuard.java 468645 2006-10-28 06:57:24Z minchau $
- */
-package org.apache.xalan.transformer;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.templates.Constants;
-import org.apache.xalan.templates.ElemTemplate;
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xml.utils.ObjectStack;
-
-/**
- * Class to guard against recursion getting too deep.
- */
-public class StackGuard
-{
-
-  /**
-   * Used for infinite loop check. If the value is -1, do not
-   * check for infinite loops. Anyone who wants to enable that
-   * check should change the value of this variable to be the
-   * level of recursion that they want to check. Be careful setting
-   * this variable, if the number is too low, it may report an
-   * infinite loop situation, when there is none.
-   * Post version 1.0.0, we'll make this a runtime feature.
-   */
-  private int m_recursionLimit = -1;
-  
-  TransformerImpl m_transformer;
-
-  /**
-   * Get the recursion limit.
-   * Used for infinite loop check. If the value is -1, do not
-   * check for infinite loops. Anyone who wants to enable that
-   * check should change the value of this variable to be the
-   * level of recursion that they want to check. Be careful setting
-   * this variable, if the number is too low, it may report an
-   * infinite loop situation, when there is none.
-   * Post version 1.0.0, we'll make this a runtime feature.
-   *
-   * @return The recursion limit.
-   */
-  public int getRecursionLimit()
-  {
-    return m_recursionLimit;
-  }
-
-  /**
-   * Set the recursion limit.
-   * Used for infinite loop check. If the value is -1, do not
-   * check for infinite loops. Anyone who wants to enable that
-   * check should change the value of this variable to be the
-   * level of recursion that they want to check. Be careful setting
-   * this variable, if the number is too low, it may report an
-   * infinite loop situation, when there is none.
-   * Post version 1.0.0, we'll make this a runtime feature.
-   *
-   * @param limit The recursion limit.
-   */
-  public void setRecursionLimit(int limit)
-  {
-    m_recursionLimit = limit;
-  }
-
-  /**
-   * Constructor StackGuard
-   *
-   */
-  public StackGuard(TransformerImpl transformerImpl)
-  {
-    m_transformer = transformerImpl;
-  }
-
-  /**
-   * Overide equal method for StackGuard objects 
-   *
-   */
-  public int countLikeTemplates(ElemTemplate templ, int pos)
-  {
-  	ObjectStack elems = m_transformer.getCurrentTemplateElements();
-  	int count = 1;
-    for (int i = pos-1; i >= 0; i--)
-    {
-    	if((ElemTemplateElement)elems.elementAt(i) == templ)
-    		count++;
-    }
-	
-    return count;
-  }
-
-  
-  /**
-   * Get the next named or match template down from and including 
-   * the given position.
-   * @param pos the current index position in the stack.
-   * @return null if no matched or named template found, otherwise 
-   * the next named or matched template at or below the position.
-   */
-  private ElemTemplate getNextMatchOrNamedTemplate(int pos)
-  {
-  	ObjectStack elems = m_transformer.getCurrentTemplateElements();
-    for (int i = pos; i >= 0; i--)
-    {
-    	ElemTemplateElement elem = (ElemTemplateElement) elems.elementAt(i);
-    	if(null != elem)
-    	{
-	    	if(elem.getXSLToken() == Constants.ELEMNAME_TEMPLATE)
-	    	{
-	    		return (ElemTemplate)elem;
-	    	}
-    	}
-    }
-  	return null;
-  }
-
-  /**
-   * Check if we are in an infinite loop
-   *
-   * @throws TransformerException
-   */
-  public void checkForInfinateLoop() throws TransformerException
-  {
-    int nTemplates = m_transformer.getCurrentTemplateElementsCount();
-    if(nTemplates < m_recursionLimit)
-    	return;
-    	
-    if(m_recursionLimit <= 0)
-    	return;  // Safety check.
-    	
-    // loop from the top index down to the recursion limit (I don't think 
-    // there's any need to go below that).
-    for (int i = (nTemplates - 1); i >= m_recursionLimit; i--)
-    {
-    	ElemTemplate template = getNextMatchOrNamedTemplate(i);
-    	
-    	if(null == template)
-    		break;
-    		
-    	int loopCount = countLikeTemplates(template, i);
-    	
-    	if (loopCount >= m_recursionLimit)
-    	{
-    		// throw new TransformerException("Template nesting too deep. nesting = "+loopCount+
-    		//   ", template "+((null == template.getName()) ? "name = " : "match = ")+
-    		//   ((null != template.getName()) ? template.getName().toString() 
-    		//   : template.getMatch().getPatternString()));
-    		
-    		String idIs = XSLMessages.createMessage(((null != template.getName()) ? "nameIs" : "matchPatternIs"), null);
-        	Object[] msgArgs = new Object[]{ new Integer(loopCount), idIs, 
-                     ((null != template.getName()) ? template.getName().toString() 
-    		   : template.getMatch().getPatternString()) };
-        	String msg = XSLMessages.createMessage("recursionTooDeep", msgArgs);
-
-    		throw new TransformerException(msg);
-    	}
-    }
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformSnapshot.java b/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformSnapshot.java
deleted file mode 100644
index b46dc6e..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformSnapshot.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: TransformSnapshot.java 468645 2006-10-28 06:57:24Z minchau $
- */
-package org.apache.xalan.transformer;
-
-/**
- * This is an opaque interface that allows the transformer to return a 
- * "snapshot" of it's current state, which can later be restored.
- * 
- * @deprecated It doesn't look like this code, which is for tooling, has
- * functioned propery for a while, so it doesn't look like it is being used.
- */
-public interface TransformSnapshot
-{
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformSnapshotImpl.java b/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformSnapshotImpl.java
deleted file mode 100644
index 53eef1a..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformSnapshotImpl.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: TransformSnapshotImpl.java 468645 2006-10-28 06:57:24Z minchau $
- */
-package org.apache.xalan.transformer;
-
-import java.util.Enumeration;
-import java.util.Stack;
-
-import org.apache.xml.dtm.DTMIterator;
-import org.apache.xml.utils.BoolStack;
-import org.apache.xml.utils.IntStack;
-import org.apache.xml.utils.NamespaceSupport2;
-import org.apache.xml.utils.NodeVector;
-import org.apache.xml.utils.ObjectStack;
-import org.apache.xpath.VariableStack;
-import org.apache.xpath.XPathContext;
-
-import org.xml.sax.helpers.NamespaceSupport;
-
-import org.apache.xml.serializer.NamespaceMappings;
-import org.apache.xml.serializer.SerializationHandler;
-/**
- * This class holds a "snapshot" of it's current transformer state,
- * which can later be restored.
- *
- * This only saves state which can change over the course of the side-effect-free
- * (i.e. no extensions that call setURIResolver, etc.).
- * 
- * @deprecated  It doesn't look like this code, which is for tooling, has
- * functioned propery for a while, so it doesn't look like it is being used.
- */
-class TransformSnapshotImpl implements TransformSnapshot
-{
-
-  /**
-   * The stack of Variable stack frames.
-   */
-  private VariableStack m_variableStacks;
-
-  /**
-   * The stack of <a href="http://www.w3.org/TR/xslt#dt-current-node">current node</a> objects.
-   *  Not to be confused with the current node list.  
-   */
-  private IntStack m_currentNodes;
-
-  /** A stack of the current sub-expression nodes. */
-  private IntStack m_currentExpressionNodes;
-
-  /**
-   * The current context node lists stack.
-   */
-  private Stack m_contextNodeLists;
-
-  /**
-   * The current context node list.
-   */
-  private DTMIterator m_contextNodeList;
-
-  /**
-   * Stack of AxesIterators.
-   */
-  private Stack m_axesIteratorStack;
-
-  /**
-   * Is > 0 when we're processing a for-each.
-   */
-  private BoolStack m_currentTemplateRuleIsNull;
-
-  /**
-   * A node vector used as a stack to track the current
-   * ElemTemplateElement.  Needed for the
-   * org.apache.xalan.transformer.TransformState interface,
-   * so a tool can discover the calling template. 
-   */
-  private ObjectStack m_currentTemplateElements;
-
-  /**
-   * A node vector used as a stack to track the current
-   * ElemTemplate that was matched, as well as the node that
-   * was matched.  Needed for the
-   * org.apache.xalan.transformer.TransformState interface,
-   * so a tool can discover the matched template, and matched
-   * node. 
-   */
-  private Stack m_currentMatchTemplates;
-
-  /**
-   * A node vector used as a stack to track the current
-   * ElemTemplate that was matched, as well as the node that
-   * was matched.  Needed for the
-   * org.apache.xalan.transformer.TransformState interface,
-   * so a tool can discover the matched template, and matched
-   * node. 
-   */
-  private NodeVector m_currentMatchNodes;
-
-  /**
-   * The table of counters for xsl:number support.
-   * @see ElemNumber
-   */
-  private CountersTable m_countersTable;
-
-  /**
-   * Stack for the purposes of flagging infinite recursion with
-   * attribute sets.
-   */
-  private Stack m_attrSetStack;
-
-  /** Indicate whether a namespace context was pushed */
-  boolean m_nsContextPushed;
-
-  /**
-   * Use the SAX2 helper class to track result namespaces.
-   */
-  private NamespaceMappings m_nsSupport;
-
-  /** The number of events queued */
-//  int m_eventCount;
-
-  /**
-   * Constructor TransformSnapshotImpl
-   * Take a snapshot of the currently executing context.
-   *
-   * @param transformer Non null transformer instance
-   * @deprecated  It doesn't look like this code, which is for tooling, has
-   * functioned propery for a while, so it doesn't look like it is being used.
-   */
-  TransformSnapshotImpl(TransformerImpl transformer)
-  {
-
-    try
-    {
-
-      // Are all these clones deep enough?
-      SerializationHandler rtf = transformer.getResultTreeHandler();
-
-      {
-        // save serializer fields
-        m_nsSupport = (NamespaceMappings)rtf.getNamespaceMappings().clone();
-        
-        // Do other fields need to be saved/restored?
-      }
- 
-      XPathContext xpc = transformer.getXPathContext();
-
-      m_variableStacks = (VariableStack) xpc.getVarStack().clone();
-      m_currentNodes = (IntStack) xpc.getCurrentNodeStack().clone();
-      m_currentExpressionNodes =
-        (IntStack) xpc.getCurrentExpressionNodeStack().clone();
-      m_contextNodeLists = (Stack) xpc.getContextNodeListsStack().clone();
-
-      if (!m_contextNodeLists.empty())
-        m_contextNodeList =
-          (DTMIterator) xpc.getContextNodeList().clone();
-
-      m_axesIteratorStack = (Stack) xpc.getAxesIteratorStackStacks().clone();
-      m_currentTemplateRuleIsNull =
-        (BoolStack) transformer.m_currentTemplateRuleIsNull.clone();
-      m_currentTemplateElements =
-        (ObjectStack) transformer.m_currentTemplateElements.clone();
-      m_currentMatchTemplates =
-        (Stack) transformer.m_currentMatchTemplates.clone();
-      m_currentMatchNodes =
-        (NodeVector) transformer.m_currentMatchedNodes.clone();
-      m_countersTable =
-        (CountersTable) transformer.getCountersTable().clone();
-
-      if (transformer.m_attrSetStack != null)
-        m_attrSetStack = (Stack) transformer.m_attrSetStack.clone();
-    }
-    catch (CloneNotSupportedException cnse)
-    {
-      throw new org.apache.xml.utils.WrappedRuntimeException(cnse);
-    }
-  }
-
-  /**
-   * This will reset the stylesheet to a given execution context
-   * based on some previously taken snapshot where we can then start execution 
-   *
-   * @param transformer Non null transformer instance
-   * 
-   * @deprecated  It doesn't look like this code, which is for tooling, has
-   * functioned propery for a while, so it doesn't look like it is being used.
-   */
-  void apply(TransformerImpl transformer)
-  {
-
-    try
-    {
-
-      // Are all these clones deep enough?
-      SerializationHandler rtf = transformer.getResultTreeHandler();
-
-      if (rtf != null)
-      {
-        // restore serializer fields
-         rtf.setNamespaceMappings((NamespaceMappings)m_nsSupport.clone());
-      }
-
-      XPathContext xpc = transformer.getXPathContext();
-
-      xpc.setVarStack((VariableStack) m_variableStacks.clone());
-      xpc.setCurrentNodeStack((IntStack) m_currentNodes.clone());
-      xpc.setCurrentExpressionNodeStack(
-        (IntStack) m_currentExpressionNodes.clone());
-      xpc.setContextNodeListsStack((Stack) m_contextNodeLists.clone());
-
-      if (m_contextNodeList != null)
-        xpc.pushContextNodeList((DTMIterator) m_contextNodeList.clone());
-
-      xpc.setAxesIteratorStackStacks((Stack) m_axesIteratorStack.clone());
-
-      transformer.m_currentTemplateRuleIsNull =
-        (BoolStack) m_currentTemplateRuleIsNull.clone();
-      transformer.m_currentTemplateElements =
-        (ObjectStack) m_currentTemplateElements.clone();
-      transformer.m_currentMatchTemplates =
-        (Stack) m_currentMatchTemplates.clone();
-      transformer.m_currentMatchedNodes =
-        (NodeVector) m_currentMatchNodes.clone();
-      transformer.m_countersTable = (CountersTable) m_countersTable.clone();
-
-      if (m_attrSetStack != null)
-        transformer.m_attrSetStack = (Stack) m_attrSetStack.clone();
-    }
-    catch (CloneNotSupportedException cnse)
-    {
-      throw new org.apache.xml.utils.WrappedRuntimeException(cnse);
-    }
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformerImpl.java b/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformerImpl.java
index 389d013..cf550b9 100644
--- a/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformerImpl.java
+++ b/libcore/xml/src/main/java/org/apache/xalan/transformer/TransformerImpl.java
@@ -66,8 +66,6 @@
 import org.apache.xalan.templates.StylesheetComposed;
 import org.apache.xalan.templates.StylesheetRoot;
 import org.apache.xalan.templates.XUnresolvedVariable;
-import org.apache.xalan.trace.GenerateEvent;
-import org.apache.xalan.trace.TraceManager;
 import org.apache.xml.dtm.DTM;
 import org.apache.xml.dtm.DTMIterator;
 import org.apache.xml.dtm.DTMManager;
@@ -95,7 +93,6 @@
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXNotRecognizedException;
 import org.xml.sax.SAXNotSupportedException;
-import org.xml.sax.ext.DeclHandler;
 import org.xml.sax.ext.LexicalHandler;
 
 /**
@@ -119,12 +116,6 @@
    */
   private java.io.FileOutputStream m_outputStream = null;
 
-  /**
-   * True if the parser events should be on the main thread,
-   * false if not.  Experemental.  Can not be set right now.
-   */
-  private boolean m_parserEventsOnMain = true;
-
   /** The thread that the transformer is running on. */
   private Thread m_transformThread;
 
@@ -157,9 +148,6 @@
   //   */
   //  private Vector m_newVars = new Vector();
 
-  /** The JAXP Document Builder, mainly to create Result Tree Fragments. */
-  DocumentBuilder m_docBuilder = null;
-
   /**
    * A pool of ResultTreeHandlers, for serialization of a subtree to text.
    *  Please note that each of these also holds onto a Text Serializer.  
@@ -244,12 +232,6 @@
   private XPathContext m_xcontext;
 
   /**
-   * Object to guard agains infinite recursion when
-   * doing queries.
-   */
-  private StackGuard m_stackGuard;
-
-  /**
    * Output handler to bottleneck SAX events.
    */
   private SerializationHandler m_serializationHandler;  
@@ -265,7 +247,6 @@
 
   /**
    * The table of counters for xsl:number support.
-   * @see ElemNumber
    */
   CountersTable m_countersTable = null;
 
@@ -312,23 +293,12 @@
   private boolean m_source_location = false;
     
   /**
-   * This is a compile-time flag to turn off calling
-   * of trace listeners. Set this to false for optimization purposes.
-   */
-  private boolean m_debug = false;
-
-  /**
    * The SAX error handler, where errors and warnings are sent.
    */
   private ErrorListener m_errorHandler =
     new org.apache.xml.utils.DefaultErrorHandler(false);
 
   /**
-   * The trace manager.
-   */
-  private TraceManager m_traceManager = new TraceManager(this);
-
-  /**
    * If the transform thread throws an exception, the exception needs to
    * be stashed away so that the main thread can pass it on to the
    * client. 
@@ -336,26 +306,12 @@
   private Exception m_exceptionThrown = null;
 
   /**
-   * The InputSource for the source tree, which is needed if the
-   * parse thread is not the main thread, in order for the parse
-   * thread's run method to get to the input source.
-   * (Delete this if reversing threads is outlawed. -sb)    
-   */
-  private Source m_xmlSource;
-
-  /**
    * This is needed for support of setSourceTreeDocForThread(Node doc),
    * which must be called in order for the transform thread's run
    * method to obtain the root of the source tree to be transformed.     
    */
   private int m_doc;
 
-  /**
-   * If the the transform is on the secondary thread, we
-   * need to know when it is done, so we can return.
-   */
-  private boolean m_isTransformDone = false;
-
   /** Flag to to tell if the tranformer needs to be reset. */
   private boolean m_hasBeenReset = false;
 
@@ -363,17 +319,6 @@
   private boolean m_shouldReset = true;
 
   /**
-   * NEEDSDOC Method setShouldReset 
-   *
-   *
-   * NEEDSDOC @param shouldReset
-   */
-  public void setShouldReset(boolean shouldReset)
-  {
-    m_shouldReset = shouldReset;
-  }
-
-  /**
    * A stack of current template modes.
    */
   private Stack m_modes = new Stack();
@@ -405,7 +350,6 @@
     
     setXPathContext(xPath);
     getXPathContext().setNamespaceContext(stylesheet);
-    m_stackGuard = new StackGuard(this);    
   }
   
   // ================ ExtensionsTable ===================
@@ -518,9 +462,9 @@
       m_attrSetStack = null;
       m_countersTable = null;
       m_currentTemplateRuleIsNull = new BoolStack();
-      m_xmlSource = null;
+      // m_xmlSource = null; // android-removed
       m_doc = DTM.NULL;
-      m_isTransformDone = false;
+      // m_isTransformDone = false; // android-removed
       m_transformThread = null;
 
       // m_inputContentHandler = null;
@@ -531,48 +475,9 @@
     //    m_reportInPostExceptionFromThread = false;
   }
 
-  /**
-   * <code>getProperty</code> returns the current setting of the
-   * property described by the <code>property</code> argument.
-   *
-   * %REVIEW% Obsolete now that source_location is handled in the TransformerFactory?
-   *
-   * @param property a <code>String</code> value
-   * @return a <code>boolean</code> value
-   */
-  public boolean getProperty(String property)
-  {
-    return false;
-  }
-
-  /**
-   * Set a runtime property for this <code>TransformerImpl</code>.
-   *
-   * %REVIEW% Obsolete now that source_location is handled in the TransformerFactory?
-   *
-   * @param property a <code>String</code> value
-   * @param value an <code>Object</code> value
-   */
-  public void setProperty(String property, Object value)
-  {
-  }
-
   // ========= Transformer Interface Implementation ==========
 
   /**
-   * Get true if the parser events should be on the main thread,
-   * false if not.  Experimental.  Can not be set right now.
-   *
-   * @return true if the parser events should be on the main thread,
-   * false if not.
-   * @xsl.usage experimental
-   */
-  public boolean isParserEventsOnMain()
-  {
-    return m_parserEventsOnMain;
-  }
-
-  /**
    * Get the thread that the transform process is on.
    *
    * @return The thread that the transform process is on, or null.
@@ -786,16 +691,6 @@
   /**
    * Get the base URL of the source.
    *
-   * @return The base URL of the source tree, or null.
-   */
-  public String getBaseURLOfSource()
-  {
-    return m_urlOfSource;
-  }
-
-  /**
-   * Get the base URL of the source.
-   *
    *
    * NEEDSDOC @param base
    * @return The base URL of the source tree, or null.
@@ -806,29 +701,6 @@
   }
 
   /**
-   * Get the original output target.
-   *
-   * @return The Result object used to kick of the transform or null.
-   */
-  public Result getOutputTarget()
-  {
-    return m_outputTarget;
-  }
-
-  /**
-   * Set the original output target.  This is useful when using a SAX transform and
-   * supplying a ContentHandler or when the URI of the output target should
-   * not be the same as the systemID of the original output target.
-   *
-   *
-   * NEEDSDOC @param outputTarget
-   */
-  public void setOutputTarget(Result outputTarget)
-  {
-    m_outputTarget = outputTarget;
-  }
-
-  /**
    * Get an output property that is in effect for the
    * transformation.  The property specified may be a property
    * that was set with setOutputProperty, or it may be a
@@ -1465,36 +1337,6 @@
   }
 
   /**
-   * Get a SAX2 DeclHandler for the input.
-   * @return A valid DeclHandler, which should never be null, as
-   * long as getFeature("http://xml.org/trax/features/sax/input")
-   * returns true.
-   */
-  public DeclHandler getInputDeclHandler()
-  {
-
-    if (m_inputContentHandler instanceof DeclHandler)
-      return (DeclHandler) m_inputContentHandler;
-    else
-      return null;
-  }
-
-  /**
-   * Get a SAX2 LexicalHandler for the input.
-   * @return A valid LexicalHandler, which should never be null, as
-   * long as getFeature("http://xml.org/trax/features/sax/input")
-   * returns true.
-   */
-  public LexicalHandler getInputLexicalHandler()
-  {
-
-    if (m_inputContentHandler instanceof LexicalHandler)
-      return (LexicalHandler) m_inputContentHandler;
-    else
-      return null;
-  }
-
-  /**
    * Set the output properties for the transformation.  These
    * properties will override properties set in the templates
    * with xsl:output.
@@ -2016,18 +1858,6 @@
   }
 
   /**
-   * Get the StringWriter pool, so that StringWriter
-   * objects may be reused.
-   *
-   * @return The string writer pool, not null.
-   * @xsl.usage internal
-   */
-  public ObjectPool getStringWriterPool()
-  {
-    return m_stringWriterObjectPool;
-  }
-
-  /**
    * Take the contents of a template element, process it, and
    * convert it to a string.
    *
@@ -2251,10 +2081,6 @@
       else
       {
 
-        // Fire a trace event for the template.
-         
-        if (m_debug)
-          getTraceManager().fireTraceEvent(template);
         // And execute the child templates.
         // 9/11/00: If template has been compiled, hand off to it
         // since much (most? all?) of the processing has been inlined.
@@ -2268,9 +2094,6 @@
         // m_xcontext.getVarStack().link();
         m_xcontext.getVarStack().link(template.m_frameSize);
         executeChildTemplates(template, true);
-        
-        if (m_debug)
-          getTraceManager().fireTraceEndEvent(template);
       }
     }
     catch (org.xml.sax.SAXException se)
@@ -2494,9 +2317,6 @@
     {
       ElemSort sort = foreach.getSortElem(i);
       
-      if (m_debug)
-        getTraceManager().fireTraceEvent(sort);
-     
       String langString =
         (null != sort.getLang())
         ? sort.getLang().evaluate(xctxt, sourceNodeContext, foreach) : null;
@@ -2556,8 +2376,6 @@
       keys.addElement(new NodeSortKey(this, sort.getSelect(), treatAsNumbers,
                                       descending, langString, caseOrderUpper,
                                       foreach));
-      if (m_debug)
-        getTraceManager().fireTraceEndEvent(sort);
      }
 
     return keys;
@@ -2568,27 +2386,6 @@
   //==========================================================
   
   /**
-   * Get the stack of ElemTemplateElements.
-   * 
-   * @return A copy of stack that contains the xsl element instructions, 
-   * the earliest called in index zero, and the latest called in index size()-1.
-   */
-  public Vector getElementCallstack()
-  {
-  	Vector elems = new Vector();
-  	int nStackSize = m_currentTemplateElements.size();
-  	for(int i = 0; i < nStackSize; i++)
-  	{
-  		ElemTemplateElement elem = (ElemTemplateElement) m_currentTemplateElements.elementAt(i);
-  		if(null != elem)
-  		{
-  			elems.addElement(elem);
-  		}
-  	}
-  	return elems;
-  }
-  
-  /**
    * Get the count of how many elements are 
    * active.
    * @return The number of active elements on 
@@ -2667,29 +2464,6 @@
   }
   
   /**
-   * Get the call stack of xsl:template elements.
-   * 
-   * @return A copy of stack that contains the xsl:template 
-   * (ElemTemplate) instructions, the earliest called in index 
-   * zero, and the latest called in index size()-1.
-   */
-  public Vector getTemplateCallstack()
-  {
-  	Vector elems = new Vector();
-  	int nStackSize = m_currentTemplateElements.size();
-  	for(int i = 0; i < nStackSize; i++)
-  	{
-  		ElemTemplateElement elem = (ElemTemplateElement) m_currentTemplateElements.elementAt(i);
-  		if(null != elem && (elem.getXSLToken() != Constants.ELEMNAME_TEMPLATE))
-  		{
-  			elems.addElement(elem);
-  		}
-  	}
-  	return elems;
-  }
-
-
-  /**
    * This method retrieves the xsl:template
    * that is in effect, which may be a matched template
    * or a named template.
@@ -2839,20 +2613,6 @@
   }
 
   /**
-   * If the quietConflictWarnings property is set to
-   * true, warnings about pattern conflicts won't be
-   * printed to the diagnostics stream.
-   * False by default.
-   * (Currently setting this property will have no effect.)
-   *
-   * @param b true if conflict warnings should be suppressed.
-   */
-  public void setQuietConflictWarnings(boolean b)
-  {
-    m_quietConflictWarnings = b;
-  }
-
-  /**
    * Set the execution context for XPath.
    *
    * @param xcontext A non-null reference to the XPathContext
@@ -2875,53 +2635,6 @@
   }
 
   /**
-   * Get the object used to guard the stack from
-   * recursion.
-   *
-   * @return The StackGuard object, which should never be null.
-   * @xsl.usage internal
-   */
-  public StackGuard getStackGuard()
-  {
-    return m_stackGuard;
-  }
-
-  /**
-   * Get the recursion limit.
-   * Used for infinite loop check. If the value is -1, do not
-   * check for infinite loops. Anyone who wants to enable that
-   * check should change the value of this variable to be the
-   * level of recursion that they want to check. Be careful setting
-   * this variable, if the number is too low, it may report an
-   * infinite loop situation, when there is none.
-   * Post version 1.0.0, we'll make this a runtime feature.
-   *
-   * @return The limit on recursion, or -1 if no check is to be made.
-   */
-  public int getRecursionLimit()
-  {
-    return m_stackGuard.getRecursionLimit();
-  }
-
-  /**
-   * Set the recursion limit.
-   * Used for infinite loop check. If the value is -1, do not
-   * check for infinite loops. Anyone who wants to enable that
-   * check should change the value of this variable to be the
-   * level of recursion that they want to check. Be careful setting
-   * this variable, if the number is too low, it may report an
-   * infinite loop situation, when there is none.
-   * Post version 1.0.0, we'll make this a runtime feature.
-   *
-   * @param limit A number that represents the limit of recursion,
-   * or -1 if no checking is to be done.
-   */
-  public void setRecursionLimit(int limit)
-  {
-    m_stackGuard.setRecursionLimit(limit);
-  }
-
-  /**
    * Get the SerializationHandler object.
    *
    * @return The current SerializationHandler, which may not
@@ -3125,18 +2838,6 @@
   }
 
   /**
-   * Get an instance of the trace manager for this transformation.
-   * This object can be used to set trace listeners on various
-   * events during the transformation.
-   *
-   * @return A reference to the TraceManager, never null.
-   */
-  public TraceManager getTraceManager()
-  {
-    return m_traceManager;
-  }
-
-  /**
    * Look up the value of a feature.
    *
    * <p>The feature name is any fully-qualified URI.  It is
@@ -3327,48 +3028,6 @@
   }
 
   /**
-   * Set the input source for the source tree, which is needed if the
-   * parse thread is not the main thread, in order for the parse
-   * thread's run method to get to the input source.
-   *
-   * @param source The input source for the source tree.
-   */
-  public void setXMLSource(Source source)
-  {
-    m_xmlSource = source;
-  }
-
-  /**
-   * Tell if the transform method is completed.
-   *
-   * @return True if transformNode has completed, or
-   * an exception was thrown.
-   */
-  public boolean isTransformDone()
-  {
-
-    synchronized (this)
-    {
-      return m_isTransformDone;
-    }
-  }
-
-  /**
-   * Set if the transform method is completed.
-   *
-   * @param done True if transformNode has completed, or
-   * an exception was thrown.
-   */
-  public void setIsTransformDone(boolean done)
-  {
-
-    synchronized (this)
-    {
-      m_isTransformDone = done;
-    }
-  }
-
-  /**
    * From a secondary thread, post the exception, so that
    * it can be picked up from the main thread.
    *
@@ -3397,7 +3056,7 @@
     //      SourceTreeHandler sth = (SourceTreeHandler) ch;
     //      ((TransformerImpl)(sth.getTransformer())).postExceptionFromThread(e);
     //    }
-    m_isTransformDone = true;
+    // m_isTransformDone = true; // android-removed
     m_exceptionThrown = e;
     ;  // should have already been reported via the error handler?
 
@@ -3435,7 +3094,7 @@
       // transformNode(n);
       try
       {
-        m_isTransformDone = false;
+        // m_isTransformDone = false; // android-removed
         
         // Should no longer be needed...
 //          if(m_inputContentHandler instanceof TransformerHandlerImpl)
@@ -3459,7 +3118,7 @@
       }
       finally
       {
-        m_isTransformDone = true;
+        // m_isTransformDone = true; // android-removed
 
         if (m_inputContentHandler instanceof TransformerHandlerImpl)
         {
@@ -3486,58 +3145,6 @@
   // Fragment re-execution interfaces for a tool.
 
   /**
-   * This will get a snapshot of the current executing context 
-   *
-   *
-   * @return TransformSnapshot object, snapshot of executing context
-   * @deprecated This is an internal tooling API that nobody seems to be using
-   */
-  public TransformSnapshot getSnapshot()
-  {
-    return new TransformSnapshotImpl(this);
-  }
-
-  /**
-   * This will execute the following XSLT instructions
-   * from the snapshot point, after the stylesheet execution
-   * context has been reset from the snapshot point. 
-   *
-   * @param ts The snapshot of where to start execution
-   *
-   * @throws TransformerException
-   * @deprecated This is an internal tooling API that nobody seems to be using
-   */
-  public void executeFromSnapshot(TransformSnapshot ts)
-          throws TransformerException
-  {
-
-    ElemTemplateElement template = getMatchedTemplate();
-    int child = getMatchedNode();
-
-    pushElemTemplateElement(template);  //needed??
-    m_xcontext.pushCurrentNode(child);  //needed??
-    this.executeChildTemplates(template, true);  // getResultTreeHandler());
-  }
-
-  /**
-   * This will reset the stylesheet execution context
-   * from the snapshot point.
-   *
-   * @param ts The snapshot of where to start execution
-   * @deprecated This is an internal tooling API that nobody seems to be using
-   */
-  public void resetToStylesheet(TransformSnapshot ts)
-  {
-    ((TransformSnapshotImpl) ts).apply(this);
-  }
-
-  /**
-   * NEEDSDOC Method stopTransformation 
-   *
-   */
-  public void stopTransformation(){}
-
-  /**
    * Test whether whitespace-only text nodes are visible in the logical
    * view of <code>DTM</code>. Normally, this function
    * will be called by the implementation of <code>DTM</code>;
@@ -3600,9 +3207,6 @@
 		char[] ch,
 		int start,
 		int length) {
-			
-		GenerateEvent ge = new GenerateEvent(this, eventType, ch, start, length);
-		m_traceManager.fireGenerateEvent(ge);					
 	}
 
 	/**
@@ -3613,18 +3217,12 @@
 		int eventType,
 		String name,
 		Attributes atts) {
-			
-		GenerateEvent ge = new GenerateEvent(this, eventType, name, atts);
-		m_traceManager.fireGenerateEvent(ge);					
 	}
 
 	/**
 	 * Fire off processingInstruction events.
-	 * @see org.apache.xml.serializer.SerializerTrace#fireGenerateEvent(int, String, String)
 	 */
 	public void fireGenerateEvent(int eventType, String name, String data) {
-		GenerateEvent ge = new GenerateEvent(this, eventType, name,data);
-		m_traceManager.fireGenerateEvent(ge);				
 	}
 
 	/**
@@ -3632,8 +3230,6 @@
 	 * @see org.apache.xml.serializer.SerializerTrace#fireGenerateEvent(int, String)
 	 */
 	public void fireGenerateEvent(int eventType, String data) {
-		GenerateEvent ge = new GenerateEvent(this, eventType, data);
-		m_traceManager.fireGenerateEvent(ge);		
 	}
 
 	/**
@@ -3641,23 +3237,13 @@
 	 * @see org.apache.xml.serializer.SerializerTrace#fireGenerateEvent(int)
 	 */
 	public void fireGenerateEvent(int eventType) {
-		GenerateEvent ge = new GenerateEvent(this, eventType);
-		m_traceManager.fireGenerateEvent(ge);
 	}
 
     /**
      * @see org.apache.xml.serializer.SerializerTrace#hasTraceListeners()
      */
     public boolean hasTraceListeners() {
-        return m_traceManager.hasTraceListeners();
-    }
-
-    public boolean getDebug() {
-        return m_debug;
-    }
-
-    public void setDebug(boolean b) {
-        m_debug = b;
+        return false;
     }
 
     /**
diff --git a/libcore/xml/src/main/java/org/apache/xalan/transformer/XSLInfiniteLoopException.java b/libcore/xml/src/main/java/org/apache/xalan/transformer/XSLInfiniteLoopException.java
deleted file mode 100644
index 820b55e..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/transformer/XSLInfiniteLoopException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLInfiniteLoopException.java 468645 2006-10-28 06:57:24Z minchau $
- */
-package org.apache.xalan.transformer;
-
-/**
- * Class used to create an Infinite Loop Exception 
- * @xsl.usage internal
- */
-class XSLInfiniteLoopException
-{
-
-  /**
-   * Constructor XSLInfiniteLoopException
-   *
-   */
-  XSLInfiniteLoopException()
-  {
-    super();
-  }
-
-  /**
-   * Get Message associated with the exception
-   *
-   *
-   * @return Message associated with the exception
-   */
-  public String getMessage()
-  {
-    return "Processing Terminated.";
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xalan/xslt/Process.java b/libcore/xml/src/main/java/org/apache/xalan/xslt/Process.java
deleted file mode 100644
index a1b2bcc..0000000
--- a/libcore/xml/src/main/java/org/apache/xalan/xslt/Process.java
+++ /dev/null
@@ -1,1192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: Process.java 475586 2006-11-16 05:19:36Z minchau $
- */
-package org.apache.xalan.xslt;
-
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.util.Properties;
-import java.util.ResourceBundle;
-import java.util.Vector;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Templates;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.URIResolver;
-import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.sax.SAXResult;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.sax.SAXTransformerFactory;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import org.apache.xalan.Version;
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.trace.PrintTraceListener;
-import org.apache.xalan.trace.TraceManager;
-import org.apache.xalan.transformer.XalanProperties;
-import org.apache.xml.utils.DefaultErrorHandler;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-/**
- * The main() method handles the Xalan command-line interface.
- * @xsl.usage general
- */
-public class Process
-{
-  /**
-   * Prints argument options.
-   *
-   * @param resbundle Resource bundle
-   */
-  protected static void printArgOptions(ResourceBundle resbundle)
-  {
-    System.out.println(resbundle.getString("xslProc_option"));  //"xslproc options: ");
-    System.out.println("\n\t\t\t" + resbundle.getString("xslProc_common_options") + "\n");
-    System.out.println(resbundle.getString("optionXSLTC"));  //"    [-XSLTC (use XSLTC for transformation)]
-    System.out.println(resbundle.getString("optionIN"));  //"    [-IN inputXMLURL]");
-    System.out.println(resbundle.getString("optionXSL"));  //"   [-XSL XSLTransformationURL]");
-    System.out.println(resbundle.getString("optionOUT"));  //"   [-OUT outputFileName]");
-
-    // System.out.println(resbundle.getString("optionE")); //"   [-E (Do not expand entity refs)]");
-    System.out.println(resbundle.getString("optionV"));  //"   [-V (Version info)]");
-
-    // System.out.println(resbundle.getString("optionVALIDATE")); //"   [-VALIDATE (Set whether validation occurs.  Validation is off by default.)]");
-    System.out.println(resbundle.getString("optionEDUMP"));  //"   [-EDUMP {optional filename} (Do stackdump on error.)]");
-    System.out.println(resbundle.getString("optionXML"));  //"   [-XML (Use XML formatter and add XML header.)]");
-    System.out.println(resbundle.getString("optionTEXT"));  //"   [-TEXT (Use simple Text formatter.)]");
-    System.out.println(resbundle.getString("optionHTML"));  //"   [-HTML (Use HTML formatter.)]");
-    System.out.println(resbundle.getString("optionPARAM"));  //"   [-PARAM name expression (Set a stylesheet parameter)]");
-    
-    System.out.println(resbundle.getString("optionMEDIA"));
-    System.out.println(resbundle.getString("optionFLAVOR"));
-    System.out.println(resbundle.getString("optionDIAG"));
-    System.out.println(resbundle.getString("optionURIRESOLVER"));  //"   [-URIRESOLVER full class name (URIResolver to be used to resolve URIs)]");    
-    System.out.println(resbundle.getString("optionENTITYRESOLVER"));  //"   [-ENTITYRESOLVER full class name (EntityResolver to be used to resolve entities)]");
-    waitForReturnKey(resbundle);
-    System.out.println(resbundle.getString("optionCONTENTHANDLER"));  //"   [-CONTENTHANDLER full class name (ContentHandler to be used to serialize output)]");
-    System.out.println(resbundle.getString("optionSECUREPROCESSING")); //"   [-SECURE (set the secure processing feature to true)]");
-    
-    System.out.println("\n\t\t\t" + resbundle.getString("xslProc_xalan_options") + "\n");
-    
-    System.out.println(resbundle.getString("optionQC"));  //"   [-QC (Quiet Pattern Conflicts Warnings)]");
-
-    // System.out.println(resbundle.getString("optionQ"));  //"   [-Q  (Quiet Mode)]"); // sc 28-Feb-01 commented out
-    System.out.println(resbundle.getString("optionTT"));  //"   [-TT (Trace the templates as they are being called.)]");
-    System.out.println(resbundle.getString("optionTG"));  //"   [-TG (Trace each generation event.)]");
-    System.out.println(resbundle.getString("optionTS"));  //"   [-TS (Trace each selection event.)]");
-    System.out.println(resbundle.getString("optionTTC"));  //"   [-TTC (Trace the template children as they are being processed.)]");
-    System.out.println(resbundle.getString("optionTCLASS"));  //"   [-TCLASS (TraceListener class for trace extensions.)]");
-    System.out.println(resbundle.getString("optionLINENUMBERS")); //"   [-L use line numbers]"
-    System.out.println(resbundle.getString("optionINCREMENTAL"));
-    System.out.println(resbundle.getString("optionNOOPTIMIMIZE"));
-    System.out.println(resbundle.getString("optionRL"));
-        
-    System.out.println("\n\t\t\t" + resbundle.getString("xslProc_xsltc_options") + "\n");
-    System.out.println(resbundle.getString("optionXO"));
-    waitForReturnKey(resbundle);    
-    System.out.println(resbundle.getString("optionXD"));
-    System.out.println(resbundle.getString("optionXJ"));
-    System.out.println(resbundle.getString("optionXP"));
-    System.out.println(resbundle.getString("optionXN"));
-    System.out.println(resbundle.getString("optionXX"));
-    System.out.println(resbundle.getString("optionXT"));
-  }
-  
-  /**
-   * Command line interface to transform an XML document according to
-   * the instructions found in an XSL stylesheet.  
-   * <p>The Process class provides basic functionality for 
-   * performing transformations from the command line.  To see a 
-   * list of arguments supported, call with zero arguments.</p>
-   * <p>To set stylesheet parameters from the command line, use 
-   * <code>-PARAM name expression</code>. If you want to set the 
-   * parameter to a string value, simply pass the string value 
-   * as-is, and it will be interpreted as a string.  (Note: if 
-   * the value has spaces in it, you may need to quote it depending 
-   * on your shell environment).</p>
-   *
-   * @param argv Input parameters from command line
-   */
-  public static void main(String argv[])
-  {
-    
-    // Runtime.getRuntime().traceMethodCalls(false); // turns Java tracing off
-    boolean doStackDumpOnError = false;
-    boolean setQuietMode = false;
-    boolean doDiag = false;
-    String msg = null;
-    boolean isSecureProcessing = false;
-
-    // Runtime.getRuntime().traceMethodCalls(false);
-    // Runtime.getRuntime().traceInstructions(false);
-
-    /**
-     * The default diagnostic writer...
-     */
-    java.io.PrintWriter diagnosticsWriter = new PrintWriter(System.err, true);
-    java.io.PrintWriter dumpWriter = diagnosticsWriter;
-    ResourceBundle resbundle =
-      (XSLMessages.loadResourceBundle(
-        org.apache.xml.utils.res.XResourceBundle.ERROR_RESOURCES));
-    String flavor = "s2s";
-
-    if (argv.length < 1)
-    {
-      printArgOptions(resbundle);
-    }
-    else
-    {
-      boolean useXSLTC = false;
-      for (int i = 0; i < argv.length; i++)
-      {
-        if ("-XSLTC".equalsIgnoreCase(argv[i]))
-        {
-          useXSLTC = true;
-        }
-      }
-        
-      TransformerFactory tfactory;
-      if (useXSLTC)
-      {
-	 String key = "javax.xml.transform.TransformerFactory";
-	 String value = "org.apache.xalan.xsltc.trax.TransformerFactoryImpl";
-	 Properties props = System.getProperties();
-	 props.put(key, value);
-	 System.setProperties(props);      
-      }
-      
-      try
-      {
-        tfactory = TransformerFactory.newInstance();
-        tfactory.setErrorListener(new DefaultErrorHandler(false));
-      }
-      catch (TransformerFactoryConfigurationError pfe)
-      {
-        pfe.printStackTrace(dumpWriter);
-//      "XSL Process was not successful.");
-        msg = XSLMessages.createMessage(
-            XSLTErrorResources.ER_NOT_SUCCESSFUL, null);
-        diagnosticsWriter.println(msg);  
-
-        tfactory = null;  // shut up compiler
-
-        doExit(msg);
-      }
-
-      boolean formatOutput = false;
-      boolean useSourceLocation = false;
-      String inFileName = null;
-      String outFileName = null;
-      String dumpFileName = null;
-      String xslFileName = null;
-      String treedumpFileName = null;
-      PrintTraceListener tracer = null;
-      String outputType = null;
-      String media = null;
-      Vector params = new Vector();
-      boolean quietConflictWarnings = false;
-      URIResolver uriResolver = null;
-      EntityResolver entityResolver = null;
-      ContentHandler contentHandler = null;
-      int recursionLimit=-1;
-
-      for (int i = 0; i < argv.length; i++)
-      {
-        if ("-XSLTC".equalsIgnoreCase(argv[i]))
-        {
-          // The -XSLTC option has been processed.
-        }
-        else if ("-TT".equalsIgnoreCase(argv[i]))
-        {
-          if (!useXSLTC)
-          {
-            if (null == tracer)
-              tracer = new PrintTraceListener(diagnosticsWriter);
-
-            tracer.m_traceTemplates = true;
-          }
-          else
-            printInvalidXSLTCOption("-TT");
-
-          // tfactory.setTraceTemplates(true);
-        }
-        else if ("-TG".equalsIgnoreCase(argv[i]))
-        {
-          if (!useXSLTC)
-          {
-            if (null == tracer)
-              tracer = new PrintTraceListener(diagnosticsWriter);
-
-            tracer.m_traceGeneration = true;
-          }
-          else
-            printInvalidXSLTCOption("-TG");
-
-          // tfactory.setTraceSelect(true);
-        }
-        else if ("-TS".equalsIgnoreCase(argv[i]))
-        {
-          if (!useXSLTC)
-          {
-            if (null == tracer)
-              tracer = new PrintTraceListener(diagnosticsWriter);
-
-            tracer.m_traceSelection = true;
-          }
-          else
-            printInvalidXSLTCOption("-TS");
-
-          // tfactory.setTraceTemplates(true);
-        }
-        else if ("-TTC".equalsIgnoreCase(argv[i]))
-        {
-          if (!useXSLTC)
-          {
-            if (null == tracer)
-              tracer = new PrintTraceListener(diagnosticsWriter);
-
-            tracer.m_traceElements = true;
-          }
-          else
-            printInvalidXSLTCOption("-TTC");
-
-          // tfactory.setTraceTemplateChildren(true);
-        }
-        else if ("-INDENT".equalsIgnoreCase(argv[i]))
-        {
-          int indentAmount;
-
-          if (((i + 1) < argv.length) && (argv[i + 1].charAt(0) != '-'))
-          {
-            indentAmount = Integer.parseInt(argv[++i]);
-          }
-          else
-          {
-            indentAmount = 0;
-          }
-
-          // TBD:
-          // xmlProcessorLiaison.setIndent(indentAmount);
-        }
-        else if ("-IN".equalsIgnoreCase(argv[i]))
-        {
-          if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')
-            inFileName = argv[++i];
-          else
-            System.err.println(
-              XSLMessages.createMessage(
-                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                new Object[]{ "-IN" }));  //"Missing argument for);
-        }
-        else if ("-MEDIA".equalsIgnoreCase(argv[i]))
-        {
-          if (i + 1 < argv.length)
-            media = argv[++i];
-          else
-            System.err.println(
-              XSLMessages.createMessage(
-                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                new Object[]{ "-MEDIA" }));  //"Missing argument for);
-        }
-        else if ("-OUT".equalsIgnoreCase(argv[i]))
-        {
-          if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')
-            outFileName = argv[++i];
-          else
-            System.err.println(
-              XSLMessages.createMessage(
-                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                new Object[]{ "-OUT" }));  //"Missing argument for);
-        }
-        else if ("-XSL".equalsIgnoreCase(argv[i]))
-        {
-          if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')
-            xslFileName = argv[++i];
-          else
-            System.err.println(
-              XSLMessages.createMessage(
-                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                new Object[]{ "-XSL" }));  //"Missing argument for);
-        }
-        else if ("-FLAVOR".equalsIgnoreCase(argv[i]))
-        {
-          if (i + 1 < argv.length)
-          {
-            flavor = argv[++i];
-          }
-          else
-            System.err.println(
-              XSLMessages.createMessage(
-                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                new Object[]{ "-FLAVOR" }));  //"Missing argument for);
-        }
-        else if ("-PARAM".equalsIgnoreCase(argv[i]))
-        {
-          if (i + 2 < argv.length)
-          {
-            String name = argv[++i];
-
-            params.addElement(name);
-
-            String expression = argv[++i];
-
-            params.addElement(expression);
-          }
-          else
-            System.err.println(
-              XSLMessages.createMessage(
-                XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                new Object[]{ "-PARAM" }));  //"Missing argument for);
-        }
-        else if ("-E".equalsIgnoreCase(argv[i]))
-        {
-
-          // TBD:
-          // xmlProcessorLiaison.setShouldExpandEntityRefs(false);
-        }
-        else if ("-V".equalsIgnoreCase(argv[i]))
-        {
-          diagnosticsWriter.println(resbundle.getString("version")  //">>>>>>> Xalan Version "
-                                    + Version.getVersion() + ", " +
-
-          /* xmlProcessorLiaison.getParserDescription()+ */
-          resbundle.getString("version2"));  // "<<<<<<<");
-        }
-        else if ("-QC".equalsIgnoreCase(argv[i]))
-        {
-          if (!useXSLTC)
-            quietConflictWarnings = true;
-          else
-            printInvalidXSLTCOption("-QC");
-        }
-        else if ("-Q".equalsIgnoreCase(argv[i]))
-        {
-          setQuietMode = true;
-        }
-        else if ("-DIAG".equalsIgnoreCase(argv[i]))
-        {
-          doDiag = true;
-        }
-        else if ("-XML".equalsIgnoreCase(argv[i]))
-        {
-          outputType = "xml";
-        }
-        else if ("-TEXT".equalsIgnoreCase(argv[i]))
-        {
-          outputType = "text";
-        }
-        else if ("-HTML".equalsIgnoreCase(argv[i]))
-        {
-          outputType = "html";
-        }
-        else if ("-EDUMP".equalsIgnoreCase(argv[i]))
-        {
-          doStackDumpOnError = true;
-
-          if (((i + 1) < argv.length) && (argv[i + 1].charAt(0) != '-'))
-          {
-            dumpFileName = argv[++i];
-          }
-        }
-        else if ("-URIRESOLVER".equalsIgnoreCase(argv[i]))
-        {
-          if (i + 1 < argv.length)
-          {
-            try
-            {
-              uriResolver = (URIResolver) ObjectFactory.newInstance(
-                argv[++i], ObjectFactory.findClassLoader(), true);
-
-              tfactory.setURIResolver(uriResolver);
-            }
-            catch (ObjectFactory.ConfigurationError cnfe)
-            {
-                msg = XSLMessages.createMessage(
-                    XSLTErrorResources.ER_CLASS_NOT_FOUND_FOR_OPTION,
-                    new Object[]{ "-URIResolver" });
-              System.err.println(msg);
-              doExit(msg);
-            }
-          }
-          else
-          {
-            msg = XSLMessages.createMessage(
-                    XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                    new Object[]{ "-URIResolver" });  //"Missing argument for);
-            System.err.println(msg);
-            doExit(msg);
-          }
-        }
-        else if ("-ENTITYRESOLVER".equalsIgnoreCase(argv[i]))
-        {
-          if (i + 1 < argv.length)
-          {
-            try
-            {
-              entityResolver = (EntityResolver) ObjectFactory.newInstance(
-                argv[++i], ObjectFactory.findClassLoader(), true);
-            }
-            catch (ObjectFactory.ConfigurationError cnfe)
-            {
-                msg = XSLMessages.createMessage(
-                    XSLTErrorResources.ER_CLASS_NOT_FOUND_FOR_OPTION,
-                    new Object[]{ "-EntityResolver" });
-              System.err.println(msg);
-              doExit(msg);
-            }
-          }
-          else
-          {
-//            "Missing argument for);
-              msg = XSLMessages.createMessage(
-                    XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                    new Object[]{ "-EntityResolver" });
-            System.err.println(msg);  
-            doExit(msg);
-          }
-        }
-        else if ("-CONTENTHANDLER".equalsIgnoreCase(argv[i]))
-        {
-          if (i + 1 < argv.length)
-          {
-            try
-            {
-              contentHandler = (ContentHandler) ObjectFactory.newInstance(
-                argv[++i], ObjectFactory.findClassLoader(), true);
-            }
-            catch (ObjectFactory.ConfigurationError cnfe)
-            {
-                msg = XSLMessages.createMessage(
-                    XSLTErrorResources.ER_CLASS_NOT_FOUND_FOR_OPTION,
-                    new Object[]{ "-ContentHandler" });
-              System.err.println(msg);
-              doExit(msg);
-            }
-          }
-          else
-          {
-//            "Missing argument for);
-              msg = XSLMessages.createMessage(
-                    XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                    new Object[]{ "-ContentHandler" });
-            System.err.println(msg);  
-            doExit(msg);
-          }
-        }
-        else if ("-L".equalsIgnoreCase(argv[i]))
-        {
-          if (!useXSLTC)
-            tfactory.setAttribute(XalanProperties.SOURCE_LOCATION, Boolean.TRUE); 
-          else
-            printInvalidXSLTCOption("-L");
-        }
-        else if ("-INCREMENTAL".equalsIgnoreCase(argv[i]))
-        {
-          if (!useXSLTC)
-            tfactory.setAttribute
-              ("http://xml.apache.org/xalan/features/incremental", 
-               java.lang.Boolean.TRUE);
-          else
-            printInvalidXSLTCOption("-INCREMENTAL");
-        }
-        else if ("-NOOPTIMIZE".equalsIgnoreCase(argv[i]))
-        {
-          // Default is true.
-          //
-          // %REVIEW% We should have a generalized syntax for negative
-          // switches...  and probably should accept the inverse even
-          // if it is the default.
-          if (!useXSLTC)
-            tfactory.setAttribute
-              ("http://xml.apache.org/xalan/features/optimize", 
-               java.lang.Boolean.FALSE);
-          else
-            printInvalidXSLTCOption("-NOOPTIMIZE");
-	}
-        else if ("-RL".equalsIgnoreCase(argv[i]))
-        {
-          if (!useXSLTC)
-          {
-            if (i + 1 < argv.length)
-              recursionLimit = Integer.parseInt(argv[++i]);
-            else
-              System.err.println(
-                XSLMessages.createMessage(
-                  XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                  new Object[]{ "-rl" }));  //"Missing argument for);
-          }
-          else
-          {
-            if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')
-             i++;
-             
-            printInvalidXSLTCOption("-RL");
-          }
-        }
-        // Generate the translet class and optionally specify the name
-        // of the translet class.
-        else if ("-XO".equalsIgnoreCase(argv[i]))
-        {
-          if (useXSLTC)
-          {
-            if (i + 1 < argv.length && argv[i+1].charAt(0) != '-')
-            {
-              tfactory.setAttribute("generate-translet", "true");
-              tfactory.setAttribute("translet-name", argv[++i]);
-            }
-            else
-              tfactory.setAttribute("generate-translet", "true");
-          }
-          else
-          {
-            if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')
-             i++;
-            printInvalidXalanOption("-XO");
-          }
-        }
-        // Specify the destination directory for the translet classes.
-        else if ("-XD".equalsIgnoreCase(argv[i]))
-        {
-          if (useXSLTC)
-          {
-            if (i + 1 < argv.length && argv[i+1].charAt(0) != '-')
-              tfactory.setAttribute("destination-directory", argv[++i]);
-            else
-              System.err.println(
-                XSLMessages.createMessage(
-                  XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                  new Object[]{ "-XD" }));  //"Missing argument for);
-            
-          }          
-          else
-          {
-            if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')
-             i++;
-             
-            printInvalidXalanOption("-XD");
-          }
-        }
-        // Specify the jar file name which the translet classes are packaged into.
-        else if ("-XJ".equalsIgnoreCase(argv[i]))
-        {
-          if (useXSLTC)
-          {
-            if (i + 1 < argv.length && argv[i+1].charAt(0) != '-')
-            {
-              tfactory.setAttribute("generate-translet", "true");
-              tfactory.setAttribute("jar-name", argv[++i]);
-            }
-            else
-              System.err.println(
-                XSLMessages.createMessage(
-                  XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                  new Object[]{ "-XJ" }));  //"Missing argument for);
-          }                    
-          else
-          {
-            if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')
-             i++;
-             
-            printInvalidXalanOption("-XJ");
-          }
-        
-        }
-        // Specify the package name prefix for the generated translet classes.
-        else if ("-XP".equalsIgnoreCase(argv[i]))
-        {
-          if (useXSLTC)
-          {
-            if (i + 1 < argv.length && argv[i+1].charAt(0) != '-')
-              tfactory.setAttribute("package-name", argv[++i]);
-            else
-              System.err.println(
-                XSLMessages.createMessage(
-                  XSLTErrorResources.ER_MISSING_ARG_FOR_OPTION,
-                  new Object[]{ "-XP" }));  //"Missing argument for);
-          }                              
-          else
-          {
-            if (i + 1 < argv.length && argv[i + 1].charAt(0) != '-')
-             i++;
-             
-            printInvalidXalanOption("-XP");
-          }
-        
-        }
-        // Enable template inlining.
-        else if ("-XN".equalsIgnoreCase(argv[i]))
-        {
-          if (useXSLTC)
-          {
-            tfactory.setAttribute("enable-inlining", "true");
-          }                                        
-          else
-            printInvalidXalanOption("-XN");        
-        }
-        // Turns on additional debugging message output
-        else if ("-XX".equalsIgnoreCase(argv[i]))
-        {
-          if (useXSLTC)
-          {
-            tfactory.setAttribute("debug", "true");
-          }                                        
-          else
-            printInvalidXalanOption("-XX");        
-        }
-        // Create the Transformer from the translet if the translet class is newer
-        // than the stylesheet.
-        else if ("-XT".equalsIgnoreCase(argv[i]))
-        {
-          if (useXSLTC)
-          {
-            tfactory.setAttribute("auto-translet", "true");
-          }                                        
-          else
-            printInvalidXalanOption("-XT");        
-        }
-        else if ("-SECURE".equalsIgnoreCase(argv[i]))
-        {
-          isSecureProcessing = true;
-          try
-          {
-            tfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-          }
-          catch (TransformerConfigurationException e) {}
-        }
-        else
-          System.err.println(
-            XSLMessages.createMessage(
-              XSLTErrorResources.ER_INVALID_OPTION, new Object[]{ argv[i] }));  //"Invalid argument:);
-      }
-      
-      // Print usage instructions if no xml and xsl file is specified in the command line
-      if (inFileName == null && xslFileName == null)
-      {
-          msg = resbundle.getString("xslProc_no_input");
-        System.err.println(msg);
-        doExit(msg);
-      }
-
-      // Note that there are usage cases for calling us without a -IN arg
-      // The main XSL transformation occurs here!
-      try
-      {
-        long start = System.currentTimeMillis();
-
-        if (null != dumpFileName)
-        {
-          dumpWriter = new PrintWriter(new FileWriter(dumpFileName));
-        }
-
-        Templates stylesheet = null;
-
-        if (null != xslFileName)
-        {
-          if (flavor.equals("d2d"))
-          {
-
-            // Parse in the xml data into a DOM
-            DocumentBuilderFactory dfactory =
-              DocumentBuilderFactory.newInstance();
-
-            dfactory.setNamespaceAware(true);
-
-            if (isSecureProcessing)
-            {
-              try
-              {
-                dfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-              }
-              catch (ParserConfigurationException pce) {}
-            }
-
-            DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-            Node xslDOM = docBuilder.parse(new InputSource(xslFileName));
-
-            stylesheet = tfactory.newTemplates(new DOMSource(xslDOM,
-                    xslFileName));
-          }
-          else
-          {
-            // System.out.println("Calling newTemplates: "+xslFileName);
-            stylesheet = tfactory.newTemplates(new StreamSource(xslFileName));
-            // System.out.println("Done calling newTemplates: "+xslFileName);
-          }
-        }
-
-        PrintWriter resultWriter;
-        StreamResult strResult;
-
-        if (null != outFileName)
-        {
-          strResult = new StreamResult(new FileOutputStream(outFileName));
-          // One possible improvement might be to ensure this is 
-          //  a valid URI before setting the systemId, but that 
-          //  might have subtle changes that pre-existing users 
-          //  might notice; we can think about that later -sc r1.46
-          strResult.setSystemId(outFileName);
-        }
-        else
-        {
-          strResult = new StreamResult(System.out);
-	  // We used to default to incremental mode in this case.
-	  // We've since decided that since the -INCREMENTAL switch is
-	  // available, that default is probably not necessary nor
-	  // necessarily a good idea.
-        }
-
-        SAXTransformerFactory stf = (SAXTransformerFactory) tfactory;
-        
-		// This is currently controlled via TransformerFactoryImpl.
-        if (!useXSLTC && useSourceLocation)
-           stf.setAttribute(XalanProperties.SOURCE_LOCATION, Boolean.TRUE);        
-
-        // Did they pass in a stylesheet, or should we get it from the 
-        // document?
-        if (null == stylesheet)
-        {
-          Source source =
-            stf.getAssociatedStylesheet(new StreamSource(inFileName), media,
-                                        null, null);
-
-          if (null != source)
-            stylesheet = tfactory.newTemplates(source);
-          else
-          {
-            if (null != media)
-              throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_STYLESHEET_IN_MEDIA, new Object[]{inFileName, media})); //"No stylesheet found in: "
-                                            // + inFileName + ", media="
-                                            // + media);
-            else
-              throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_STYLESHEET_PI, new Object[]{inFileName})); //"No xml-stylesheet PI found in: "
-                                             //+ inFileName);
-          }
-        }
-
-        if (null != stylesheet)
-        {
-          Transformer transformer = flavor.equals("th") ? null : stylesheet.newTransformer();
-          transformer.setErrorListener(new DefaultErrorHandler(false));
-
-          // Override the output format?
-          if (null != outputType)
-          {
-            transformer.setOutputProperty(OutputKeys.METHOD, outputType);
-          }
-
-          if (transformer instanceof org.apache.xalan.transformer.TransformerImpl)
-          {
-            org.apache.xalan.transformer.TransformerImpl impl = (org.apache.xalan.transformer.TransformerImpl)transformer;
-            TraceManager tm = impl.getTraceManager();
-
-            if (null != tracer)
-              tm.addTraceListener(tracer);
-
-            impl.setQuietConflictWarnings(quietConflictWarnings);
-
-			// This is currently controlled via TransformerFactoryImpl.
-            if (useSourceLocation)
-              impl.setProperty(XalanProperties.SOURCE_LOCATION, Boolean.TRUE);
-
-	    if(recursionLimit>0)
-	      impl.setRecursionLimit(recursionLimit);
-
-            // sc 28-Feb-01 if we re-implement this, please uncomment helpmsg in printArgOptions
-            // impl.setDiagnosticsOutput( setQuietMode ? null : diagnosticsWriter );
-          }
-
-          int nParams = params.size();
-
-          for (int i = 0; i < nParams; i += 2)
-          {
-            transformer.setParameter((String) params.elementAt(i),
-                                     (String) params.elementAt(i + 1));
-          }
-
-          if (uriResolver != null)
-            transformer.setURIResolver(uriResolver);
-
-          if (null != inFileName)
-          {
-            if (flavor.equals("d2d"))
-            {
-
-              // Parse in the xml data into a DOM
-              DocumentBuilderFactory dfactory =
-                DocumentBuilderFactory.newInstance();
-
-              dfactory.setCoalescing(true);
-              dfactory.setNamespaceAware(true);
-
-              if (isSecureProcessing)
-              {
-                try
-                {
-                  dfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-                }
-                catch (ParserConfigurationException pce) {}
-              }
-
-              DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-
-              if (entityResolver != null)
-                docBuilder.setEntityResolver(entityResolver);
-
-              Node xmlDoc = docBuilder.parse(new InputSource(inFileName));
-              Document doc = docBuilder.newDocument();
-              org.w3c.dom.DocumentFragment outNode =
-                doc.createDocumentFragment();
-
-              transformer.transform(new DOMSource(xmlDoc, inFileName),
-                                    new DOMResult(outNode));
-
-              // Now serialize output to disk with identity transformer
-              Transformer serializer = stf.newTransformer();
-              serializer.setErrorListener(new DefaultErrorHandler(false));
-              
-              Properties serializationProps =
-                stylesheet.getOutputProperties();
-
-              serializer.setOutputProperties(serializationProps);
-
-              if (contentHandler != null)
-              {
-                SAXResult result = new SAXResult(contentHandler);
-
-                serializer.transform(new DOMSource(outNode), result);
-              }
-              else
-                serializer.transform(new DOMSource(outNode), strResult);
-            }
-            else if (flavor.equals("th"))
-            {
-              for (int i = 0; i < 1; i++) // Loop for diagnosing bugs with inconsistent behavior
-              {
-              // System.out.println("Testing the TransformerHandler...");
-
-              // ===============
-              XMLReader reader = null;
-
-              // Use JAXP1.1 ( if possible )      
-              try
-              {
-                javax.xml.parsers.SAXParserFactory factory =
-                  javax.xml.parsers.SAXParserFactory.newInstance();
-
-                factory.setNamespaceAware(true);
-
-                if (isSecureProcessing)
-                {
-                  try
-                  {
-                    factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-                  }
-                  catch (org.xml.sax.SAXException se) {}
-                }
-
-                javax.xml.parsers.SAXParser jaxpParser =
-                  factory.newSAXParser();
-
-                reader = jaxpParser.getXMLReader();
-              }
-              catch (javax.xml.parsers.ParserConfigurationException ex)
-              {
-                throw new org.xml.sax.SAXException(ex);
-              }
-              catch (javax.xml.parsers.FactoryConfigurationError ex1)
-              {
-                throw new org.xml.sax.SAXException(ex1.toString());
-              }
-              catch (NoSuchMethodError ex2){}
-              catch (AbstractMethodError ame){}
-
-              if (null == reader)
-              {
-                reader = XMLReaderFactory.createXMLReader();
-              }
-              
-              if (!useXSLTC)
-                stf.setAttribute(org.apache.xalan.processor.TransformerFactoryImpl.FEATURE_INCREMENTAL, 
-                   Boolean.TRUE);
-                 
-              TransformerHandler th = stf.newTransformerHandler(stylesheet);
-              
-              reader.setContentHandler(th);
-              reader.setDTDHandler(th);
-              
-              if(th instanceof org.xml.sax.ErrorHandler)
-                reader.setErrorHandler((org.xml.sax.ErrorHandler)th);
-              
-              try
-              {
-                reader.setProperty(
-                  "http://xml.org/sax/properties/lexical-handler", th);
-              }
-              catch (org.xml.sax.SAXNotRecognizedException e){}
-              catch (org.xml.sax.SAXNotSupportedException e){}
-              try
-              {
-                reader.setFeature("http://xml.org/sax/features/namespace-prefixes",
-                                  true);
-              } catch (org.xml.sax.SAXException se) {}
-        
-              th.setResult(strResult);
-              
-              reader.parse(new InputSource(inFileName));
-              }                            
-            }
-            else
-            {
-              if (entityResolver != null)
-              {
-                XMLReader reader = null;
-
-                // Use JAXP1.1 ( if possible )      
-                try
-                {
-                  javax.xml.parsers.SAXParserFactory factory =
-                    javax.xml.parsers.SAXParserFactory.newInstance();
-
-                  factory.setNamespaceAware(true);
-
-                  if (isSecureProcessing)
-                  {
-                    try
-                    {
-                      factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-                    }
-                    catch (org.xml.sax.SAXException se) {}
-                  }
-
-                  javax.xml.parsers.SAXParser jaxpParser =
-                    factory.newSAXParser();
-
-                  reader = jaxpParser.getXMLReader();
-                }
-                catch (javax.xml.parsers.ParserConfigurationException ex)
-                {
-                  throw new org.xml.sax.SAXException(ex);
-                }
-                catch (javax.xml.parsers.FactoryConfigurationError ex1)
-                {
-                  throw new org.xml.sax.SAXException(ex1.toString());
-                }
-                catch (NoSuchMethodError ex2){}
-                catch (AbstractMethodError ame){}
-
-                if (null == reader)
-                {
-                  reader = XMLReaderFactory.createXMLReader();
-                }
-
-                reader.setEntityResolver(entityResolver);
-
-                if (contentHandler != null)
-                {
-                  SAXResult result = new SAXResult(contentHandler);
-
-                  transformer.transform(
-                    new SAXSource(reader, new InputSource(inFileName)),
-                    result);
-                }
-                else
-                {
-                  transformer.transform(
-                    new SAXSource(reader, new InputSource(inFileName)),
-                    strResult);
-                }
-              }
-              else if (contentHandler != null)
-              {
-                SAXResult result = new SAXResult(contentHandler);
-
-                transformer.transform(new StreamSource(inFileName), result);
-              }
-              else
-              {
-                // System.out.println("Starting transform");
-                transformer.transform(new StreamSource(inFileName),
-                                      strResult);
-                // System.out.println("Done with transform");
-              }
-            }
-          }
-          else
-          {
-            StringReader reader =
-              new StringReader("<?xml version=\"1.0\"?> <doc/>");
-
-            transformer.transform(new StreamSource(reader), strResult);
-          }
-        }
-        else
-        {
-//          "XSL Process was not successful.");
-            msg = XSLMessages.createMessage(
-                XSLTErrorResources.ER_NOT_SUCCESSFUL, null);
-          diagnosticsWriter.println(msg);  
-          doExit(msg);
-        }
-        
-	// close output streams
-	if (null != outFileName && strResult!=null)
-	{
-   	  java.io.OutputStream out = strResult.getOutputStream();
-   	  java.io.Writer writer = strResult.getWriter();
-   	  try
-   	  {
-      	    if (out != null) out.close();
-      	    if (writer != null) writer.close();
-   	  }
-   	  catch(java.io.IOException ie) {}
-	}        
-
-        long stop = System.currentTimeMillis();
-        long millisecondsDuration = stop - start;
-
-        if (doDiag)
-        {
-        	Object[] msgArgs = new Object[]{ inFileName, xslFileName, new Long(millisecondsDuration) };
-            msg = XSLMessages.createMessage("diagTiming", msgArgs);
-        	diagnosticsWriter.println('\n');
-          	diagnosticsWriter.println(msg);
-        }
-          
-      }
-      catch (Throwable throwable)
-      {
-        while (throwable
-               instanceof org.apache.xml.utils.WrappedRuntimeException)
-        {
-          throwable =
-            ((org.apache.xml.utils.WrappedRuntimeException) throwable).getException();
-        }
-
-        if ((throwable instanceof NullPointerException)
-                || (throwable instanceof ClassCastException))
-          doStackDumpOnError = true;
-
-        diagnosticsWriter.println();
-
-        if (doStackDumpOnError)
-          throwable.printStackTrace(dumpWriter);
-        else
-        {
-          DefaultErrorHandler.printLocation(diagnosticsWriter, throwable);
-          diagnosticsWriter.println(
-            XSLMessages.createMessage(XSLTErrorResources.ER_XSLT_ERROR, null)
-            + " (" + throwable.getClass().getName() + "): "
-            + throwable.getMessage());
-        }
-
-        // diagnosticsWriter.println(XSLMessages.createMessage(XSLTErrorResources.ER_NOT_SUCCESSFUL, null)); //"XSL Process was not successful.");
-        if (null != dumpFileName)
-        {
-          dumpWriter.close();
-        }
-
-        doExit(throwable.getMessage());
-      }
-
-      if (null != dumpFileName)
-      {
-        dumpWriter.close();
-      }
-
-      if (null != diagnosticsWriter)
-      {
-
-        // diagnosticsWriter.close();
-      }
-
-      // if(!setQuietMode)
-      //  diagnosticsWriter.println(resbundle.getString("xsldone")); //"Xalan: done");
-      // else
-      // diagnosticsWriter.println("");  //"Xalan: done");
-    }
-  }
-  
-  /** It is _much_ easier to debug under VJ++ if I can set a single breakpoint 
-   * before this blows itself out of the water...
-   * (I keep checking this in, it keeps vanishing. Grr!)
-   * */
-  static void doExit(String msg)
-  {
-    throw new RuntimeException(msg);
-  }
-  
-  /**
-   * Wait for a return key to continue
-   * 
-   * @param resbundle The resource bundle
-   */
-  private static void waitForReturnKey(ResourceBundle resbundle)
-  {
-    System.out.println(resbundle.getString("xslProc_return_to_continue"));
-    try
-    {
-      while (System.in.read() != '\n');
-    }
-    catch (java.io.IOException e) { }  
-  }
-  
-  /**
-   * Print a message if an option cannot be used with -XSLTC.
-   *
-   * @param option The option String
-   */
-  private static void printInvalidXSLTCOption(String option)
-  {
-    System.err.println(XSLMessages.createMessage("xslProc_invalid_xsltc_option", new Object[]{option}));
-  }
-  
-  /**
-   * Print a message if an option can only be used with -XSLTC.
-   *
-   * @param option The option String
-   */
-  private static void printInvalidXalanOption(String option)
-  {
-    System.err.println(XSLMessages.createMessage("xslProc_invalid_xalan_option", new Object[]{option}));
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/dtm/DTMException.java b/libcore/xml/src/main/java/org/apache/xml/dtm/DTMException.java
index ebb3024..030dc1f 100644
--- a/libcore/xml/src/main/java/org/apache/xml/dtm/DTMException.java
+++ b/libcore/xml/src/main/java/org/apache/xml/dtm/DTMException.java
@@ -323,7 +323,7 @@
 
         boolean isJdk14OrHigher = false;
         try {
-            Throwable.class.getMethod("getCause",null);
+            Throwable.class.getMethod("getCause", (Class<?>) null);
             isJdk14OrHigher = true;
         } catch (NoSuchMethodException nsme) {
             // do nothing
@@ -357,12 +357,12 @@
                 try {
                     Method meth =
                         ((Object) exception).getClass().getMethod("getException",
-                            null);
+                            (Class<?>) null);
     
                     if (null != meth) {
                         Throwable prev = exception;
     
-                        exception = (Throwable) meth.invoke(exception, null);
+                        exception = (Throwable) meth.invoke(exception, (Class<?>) null);
     
                         if (prev == exception) {
                             break;
diff --git a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/CoroutineParser.java b/libcore/xml/src/main/java/org/apache/xml/dtm/ref/CoroutineParser.java
deleted file mode 100644
index 9b89ae5..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/CoroutineParser.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: CoroutineParser.java 468653 2006-10-28 07:07:05Z minchau $
- */
-
-package org.apache.xml.dtm.ref;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-
-/** <p>CoroutineParser is an API for parser threads that operate as
- * coroutines. See CoroutineSAXParser and CoroutineSAXParser_Xerces
- * for examples.</p>
- *
- * <p>&lt;grumble&gt; I'd like the interface to require a specific form
- * for either the base constructor or a static factory method. Java
- * doesn't allow us to specify either, so I'll just document them
- * here:
- *
- * <ul>
- * <li>public CoroutineParser(CoroutineManager co, int appCoroutine);</li>
- * <li>public CoroutineParser createCoroutineParser(CoroutineManager co, int appCoroutine);</li>
- * </ul>
- *
- * &lt;/grumble&gt;</p>
- *
- * @deprecated Since the ability to start a parse via the
- * coroutine protocol was not being used and was complicating design.
- * See {@link IncrementalSAXSource}.
- * */
-public interface CoroutineParser {
-
-    /** @return the coroutine ID number for this CoroutineParser object.
-     * Note that this isn't useful unless you know which CoroutineManager
-     * you're talking to. Also note that the do...() methods encapsulate
-     * the common transactions with the CoroutineParser, so you shouldn't
-     * need this in most cases.
-     * */
-    public int getParserCoroutineID();
-
-    /** @return the CoroutineManager for this CoroutineParser object.
-     * If you're using the do...() methods, applications should only
-     * need to talk to the CoroutineManager once, to obtain the
-     * application's Coroutine ID.
-     * */
-    public CoroutineManager getCoroutineManager();
-
-  /** Register a SAX-style content handler for us to output to */
-  public void setContentHandler(ContentHandler handler);
-
-  /**  Register a SAX-style lexical handler for us to output to
-   *  Not all parsers support this...
-   *
-   * %REVIEW% Not called setLexicalHandler because Xalan uses that name
-   * internally, which causes subclassing nuisances. 
-   */
-  public void setLexHandler(org.xml.sax.ext.LexicalHandler handler);
-
-  /* The run() method is required in CoroutineParsers that run as
-   * threads (of course)... but it isn't part of our API, and
-   * shouldn't be declared here.
-   * */
-
-  //================================================================
-  /** doParse() is a simple API which tells the coroutine parser
-   * to begin reading from a file.  This is intended to be called from one
-   * of our partner coroutines, and serves both to encapsulate the
-   * communication protocol and to avoid having to explicitly use the
-   * CoroutineParser's coroutine ID number.
-   *
-   * %REVIEW% Can/should this unify with doMore? (if URI hasn't changed,
-   * parse more from same file, else end and restart parsing...?
-   *
-   * @param source The InputSource to parse from.
-   * @param appCoroutine The coroutine ID number of the coroutine invoking
-   * this method, so it can be resumed after the parser has responded to the
-   * request.
-   * @return Boolean.TRUE if the CoroutineParser believes more data may be available
-   * for further parsing. Boolean.FALSE if parsing ran to completion.
-   * Exception if the parser objected for some reason.
-   * */
-  public Object doParse(InputSource source, int appCoroutine);
-
-  /** doMore() is a simple API which tells the coroutine parser
-   * that we need more nodes.  This is intended to be called from one
-   * of our partner coroutines, and serves both to encapsulate the
-   * communication protocol and to avoid having to explicitly use the
-   * CoroutineParser's coroutine ID number.
-   *
-   * @param parsemore If true, tells the incremental parser to generate
-   * another chunk of output. If false, tells the parser that we're
-   * satisfied and it can terminate parsing of this document.
-   * @param appCoroutine The coroutine ID number of the coroutine invoking
-   * this method, so it can be resumed after the parser has responded to the
-   * request.
-   * @return Boolean.TRUE if the CoroutineParser believes more data may be available
-   * for further parsing. Boolean.FALSE if parsing ran to completion.
-   * Exception if the parser objected for some reason.
-   * */
-  public Object doMore (boolean parsemore, int appCoroutine);
-
-  /** doTerminate() is a simple API which tells the coroutine
-   * parser to terminate itself.  This is intended to be called from
-   * one of our partner coroutines, and serves both to encapsulate the
-   * communication protocol and to avoid having to explicitly use the
-   * CoroutineParser's coroutine ID number.
-   *
-   * Returns only after the CoroutineParser has acknowledged the request.
-   *
-   * @param appCoroutine The coroutine ID number of the coroutine invoking
-   * this method, so it can be resumed after the parser has responded to the
-   * request.
-   * */
-  public void doTerminate(int appCoroutine);
-
-  /**
-   * Initialize the coroutine parser. Same parameters could be passed
-   * in a non-default constructor, or by using using context ClassLoader
-   * and newInstance and then calling init()
-   */
-  public void init( CoroutineManager co, int appCoroutineID, XMLReader parser );
-
-} // class CoroutineParser
diff --git a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/CustomStringPool.java b/libcore/xml/src/main/java/org/apache/xml/dtm/ref/CustomStringPool.java
deleted file mode 100644
index 334a957..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/CustomStringPool.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: CustomStringPool.java 475904 2006-11-16 20:09:39Z minchau $
- */
-
-package org.apache.xml.dtm.ref;
-import java.util.Hashtable;
-
-/** <p>CustomStringPool is an example of appliction provided data structure
- * for a DTM implementation to hold symbol references, e.g. elelment names.
- * It will follow the DTMDStringPool interface and use two simple methods
- * indexToString(int i) and stringToIndex(Sring s) to map between a set of
- * string values and a set of integer index values.  Therefore, an application
- * may improve DTM processing speed by substituting the DTM symbol resolution
- * tables with application specific quick symbol resolution tables.</p>
- *
- * %REVIEW% The only difference between this an DTMStringPool seems to be that
- * it uses a java.lang.Hashtable full of Integers rather than implementing its
- * own hashing. Joe deliberately avoided that approach when writing
- * DTMStringPool, since it is both much more memory-hungry and probably slower
- * -- especially in JDK 1.1.x, where Hashtable is synchronized. We need to
- * either justify this implementation or discard it.
- * 
- * %REVIEW% Xalan-J has dropped support for 1.1.x and we can now use
- * the colletion classes in 1.2, such as java.util.HashMap which is
- * similar to java.util.Hashtable but not synchronized. For performance reasons
- * one could change m_stringToInt to be a HashMap, but is it OK to do that?
- * Are such CustomStringPool objects already used in a thread-safe way?
- *
- * <p>Status: In progress, under discussion.</p>
- * */
-public class CustomStringPool extends DTMStringPool {
-        //final Vector m_intToString;
-        //static final int HASHPRIME=101;
-        //int[] m_hashStart=new int[HASHPRIME];
-        final Hashtable m_stringToInt = new Hashtable(); // can this be a HashMap instead?
-        public static final int NULL=-1;
-
-        public CustomStringPool()
-        {
-                super();
-                /*m_intToString=new Vector();
-                System.out.println("In constructor m_intToString is " + 
-                                                                                         ((null == m_intToString) ? "null" : "not null"));*/
-                //m_stringToInt=new Hashtable();
-                //removeAllElements();
-        }
-
-        public void removeAllElements()
-        {
-                m_intToString.removeAllElements();
-                if (m_stringToInt != null) 
-                        m_stringToInt.clear();
-        }
-
-        /** @return string whose value is uniquely identified by this integer index.
-         * @throws java.lang.ArrayIndexOutOfBoundsException
-         *  if index doesn't map to a string.
-         * */
-        public String indexToString(int i)
-        throws java.lang.ArrayIndexOutOfBoundsException
-        {
-                return(String) m_intToString.elementAt(i);
-        }
-
-        /** @return integer index uniquely identifying the value of this string. */
-        public int stringToIndex(String s)
-        {
-                if (s==null) return NULL;
-                Integer iobj=(Integer)m_stringToInt.get(s);
-                if (iobj==null) {
-                        m_intToString.addElement(s);
-                        iobj=new Integer(m_intToString.size());
-                        m_stringToInt.put(s,iobj);
-                }
-                return iobj.intValue();
-        }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/DTMSafeStringPool.java b/libcore/xml/src/main/java/org/apache/xml/dtm/ref/DTMSafeStringPool.java
deleted file mode 100644
index 386147b..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/DTMSafeStringPool.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: DTMSafeStringPool.java 468653 2006-10-28 07:07:05Z minchau $
- */
-
-package org.apache.xml.dtm.ref;
-
-
-/** <p>Like DTMStringPool, but threadsafe. It's been proposed that DTMs
- * share their string pool(s); that raises threadsafety issues which
- * this addresses. Of course performance is inferior to that of the
- * bare-bones version.</p>
- *
- * <p>Status: Passed basic test in main().</p>
- * */
-public class DTMSafeStringPool
-extends DTMStringPool
-{
-  public synchronized void removeAllElements()
-    {
-      super.removeAllElements();
-    }
-
-  /** @return string whose value is uniquely identified by this integer index.
-   * @throws java.lang.ArrayIndexOutOfBoundsException
-   *  if index doesn't map to a string.
-   * */ 
-  public synchronized String indexToString(int i)
-    throws java.lang.ArrayIndexOutOfBoundsException
-    {
-      return super.indexToString(i);
-    }
-
-  /** @return integer index uniquely identifying the value of this string. */ 
-  public synchronized int stringToIndex(String s)
-    {
-      return super.stringToIndex(s);
-    }
-
-  /** Command-line unit test driver. This test relies on the fact that
-   * this version of the pool assigns indices consecutively, starting
-   * from zero, as new unique strings are encountered.
-   */
-  public static void main(String[] args)
-  {
-    String[] word={
-      "Zero","One","Two","Three","Four","Five",
-      "Six","Seven","Eight","Nine","Ten",
-      "Eleven","Twelve","Thirteen","Fourteen","Fifteen",
-      "Sixteen","Seventeen","Eighteen","Nineteen","Twenty",
-      "Twenty-One","Twenty-Two","Twenty-Three","Twenty-Four",
-      "Twenty-Five","Twenty-Six","Twenty-Seven","Twenty-Eight",
-      "Twenty-Nine","Thirty","Thirty-One","Thirty-Two",
-      "Thirty-Three","Thirty-Four","Thirty-Five","Thirty-Six",
-      "Thirty-Seven","Thirty-Eight","Thirty-Nine"};
-
-    DTMStringPool pool=new DTMSafeStringPool();
-
-    System.out.println("If no complaints are printed below, we passed initial test.");
-
-    for(int pass=0;pass<=1;++pass)
-      {
-        int i;
-
-        for(i=0;i<word.length;++i)
-          {
-            int j=pool.stringToIndex(word[i]);
-            if(j!=i)
-              System.out.println("\tMismatch populating pool: assigned "+
-                                 j+" for create "+i);
-          }
-
-        for(i=0;i<word.length;++i)
-          {
-            int j=pool.stringToIndex(word[i]);
-            if(j!=i)
-              System.out.println("\tMismatch in stringToIndex: returned "+
-                                 j+" for lookup "+i);
-          }
-
-        for(i=0;i<word.length;++i)
-          {
-            String w=pool.indexToString(i);
-            if(!word[i].equals(w))
-              System.out.println("\tMismatch in indexToString: returned"+
-                                 w+" for lookup "+i);
-          }
-        
-        pool.removeAllElements();
-        
-        System.out.println("\nPass "+pass+" complete\n");
-      } // end pass loop
-  }
-} // DTMSafeStringPool
diff --git a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/EmptyIterator.java b/libcore/xml/src/main/java/org/apache/xml/dtm/ref/EmptyIterator.java
deleted file mode 100644
index d6e1343..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/EmptyIterator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: EmptyIterator.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.dtm.ref;
-
-import org.apache.xml.dtm.DTMAxisIterator;
-import org.apache.xml.dtm.DTM;
-
-
-/**
- * DTM Empty Axis Iterator. The class is immutable
- */
-public final class EmptyIterator implements DTMAxisIterator
-{
-  private static final EmptyIterator INSTANCE =  new EmptyIterator();
-  
-  public static DTMAxisIterator  getInstance() {return INSTANCE;}
-  
-  private EmptyIterator(){}
-  
-  public final  int  next(){ return END; }  
-  
-  public final DTMAxisIterator reset(){ return this; }
-
-  public final int getLast(){ return 0; }
-
-  public final int getPosition(){ return 1; }
-
-  public final void setMark(){}
-
-  public final void gotoMark(){}
-
-  public final DTMAxisIterator setStartNode(int node){ return this; }
-
-  public final int getStartNode(){ return END; } 
-  
-  public final boolean isReverse(){return false;} 
-  
-  public final DTMAxisIterator cloneIterator(){ return this; }
-  
-  public final void setRestartable(boolean isRestartable) {}
-  
-  public final int getNodeByPosition(int position){ return END; } 
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/ObjectFactory.java b/libcore/xml/src/main/java/org/apache/xml/dtm/ref/ObjectFactory.java
deleted file mode 100755
index 313ee6a..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/dtm/ref/ObjectFactory.java
+++ /dev/null
@@ -1,661 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ObjectFactory.java 468653 2006-10-28 07:07:05Z minchau $
- */
-
-package org.apache.xml.dtm.ref;
-
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.File;
-import java.io.FileInputStream;
-
-import java.util.Properties;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-/**
- * This class is duplicated for each JAXP subpackage so keep it in sync.
- * It is package private and therefore is not exposed as part of the JAXP
- * API.
- * <p>
- * This code is designed to implement the JAXP 1.1 spec pluggability
- * feature and is designed to run on JDK version 1.1 and
- * later, and to compile on JDK 1.2 and onward.  
- * The code also runs both as part of an unbundled jar file and
- * when bundled as part of the JDK.
- * <p>
- * This class was moved from the <code>javax.xml.parsers.ObjectFactory</code>
- * class and modified to be used as a general utility for creating objects 
- * dynamically.
- *
- * @version $Id: ObjectFactory.java 468653 2006-10-28 07:07:05Z minchau $
- */
-class ObjectFactory {
-
-    //
-    // Constants
-    //
-
-    // name of default properties file to look for in JDK's jre/lib directory
-    private static final String DEFAULT_PROPERTIES_FILENAME =
-                                                     "xalan.properties";
-
-    private static final String SERVICES_PATH = "META-INF/services/";
-
-    /** Set to true for debugging */
-    private static final boolean DEBUG = false;
-
-    /** cache the contents of the xalan.properties file.
-     *  Until an attempt has been made to read this file, this will
-     * be null; if the file does not exist or we encounter some other error
-     * during the read, this will be empty.
-     */
-    private static Properties fXalanProperties = null;
-
-    /***
-     * Cache the time stamp of the xalan.properties file so
-     * that we know if it's been modified and can invalidate
-     * the cache when necessary.
-     */
-    private static long fLastModified = -1;
-
-    //
-    // Public static methods
-    //
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return instance of factory, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Object createObject(String factoryId, String fallbackClassName)
-        throws ConfigurationError {
-        return createObject(factoryId, null, fallbackClassName);
-    } // createObject(String,String):Object
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return instance of factory, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Object createObject(String factoryId, 
-                                      String propertiesFilename,
-                                      String fallbackClassName)
-        throws ConfigurationError
-    {
-        Class factoryClass = lookUpFactoryClass(factoryId,
-                                                propertiesFilename,
-                                                fallbackClassName);
-
-        if (factoryClass == null) {
-            throw new ConfigurationError(
-                "Provider for " + factoryId + " cannot be found", null);
-        }
-
-        try{
-            Object instance = factoryClass.newInstance();
-            debugPrintln("created new instance of factory " + factoryId);
-            return instance;
-        } catch (Exception x) {
-            throw new ConfigurationError(
-                "Provider for factory " + factoryId
-                    + " could not be instantiated: " + x, x);
-        }
-    } // createObject(String,String,String):Object
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return Class object of factory, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Class lookUpFactoryClass(String factoryId) 
-        throws ConfigurationError
-    {
-        return lookUpFactoryClass(factoryId, null, null);
-    } // lookUpFactoryClass(String):Class
-
-    /**
-     * Finds the implementation Class object in the specified order.  The
-     * specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return Class object that provides factory service, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static Class lookUpFactoryClass(String factoryId,
-                                           String propertiesFilename,
-                                           String fallbackClassName)
-        throws ConfigurationError
-    {
-        String factoryClassName = lookUpFactoryClassName(factoryId,
-                                                         propertiesFilename,
-                                                         fallbackClassName);
-        ClassLoader cl = findClassLoader();
-
-        if (factoryClassName == null) {
-            factoryClassName = fallbackClassName;
-        }
-
-        // assert(className != null);
-        try{
-            Class providerClass = findProviderClass(factoryClassName,
-                                                    cl,
-                                                    true);
-            debugPrintln("created new instance of " + providerClass +
-                   " using ClassLoader: " + cl);
-            return providerClass;
-        } catch (ClassNotFoundException x) {
-            throw new ConfigurationError(
-                "Provider " + factoryClassName + " not found", x);
-        } catch (Exception x) {
-            throw new ConfigurationError(
-                "Provider "+factoryClassName+" could not be instantiated: "+x,
-                x);
-        }
-    } // lookUpFactoryClass(String,String,String):Class
-
-    /**
-     * Finds the name of the required implementation class in the specified
-     * order.  The specified order is the following:
-     * <ol>
-     *  <li>query the system property using <code>System.getProperty</code>
-     *  <li>read <code>$java.home/lib/<i>propertiesFilename</i></code> file
-     *  <li>read <code>META-INF/services/<i>factoryId</i></code> file
-     *  <li>use fallback classname
-     * </ol>
-     *
-     * @return name of class that provides factory service, never null
-     *
-     * @param factoryId             Name of the factory to find, same as
-     *                              a property name
-     * @param propertiesFilename The filename in the $java.home/lib directory
-     *                           of the properties file.  If none specified,
-     *                           ${java.home}/lib/xalan.properties will be used.
-     * @param fallbackClassName     Implementation class name, if nothing else
-     *                              is found.  Use null to mean no fallback.
-     *
-     * @exception ObjectFactory.ConfigurationError
-     */
-    static String lookUpFactoryClassName(String factoryId,
-                                                String propertiesFilename,
-                                                String fallbackClassName)
-    {
-        SecuritySupport ss = SecuritySupport.getInstance();
-
-        // Use the system property first
-        try {
-            String systemProp = ss.getSystemProperty(factoryId);
-            if (systemProp != null) {
-                debugPrintln("found system property, value=" + systemProp);
-                return systemProp;
-            }
-        } catch (SecurityException se) {
-            // Ignore and continue w/ next location
-        }
-
-        // Try to read from propertiesFilename, or
-        // $java.home/lib/xalan.properties
-        String factoryClassName = null;
-        // no properties file name specified; use
-        // $JAVA_HOME/lib/xalan.properties:
-        if (propertiesFilename == null) {
-            File propertiesFile = null;
-            boolean propertiesFileExists = false;
-            try {
-                String javah = ss.getSystemProperty("java.home");
-                propertiesFilename = javah + File.separator +
-                    "lib" + File.separator + DEFAULT_PROPERTIES_FILENAME;
-                propertiesFile = new File(propertiesFilename);
-                propertiesFileExists = ss.getFileExists(propertiesFile);
-            } catch (SecurityException e) {
-                // try again...
-                fLastModified = -1;
-                fXalanProperties = null;
-            }
-
-            synchronized (ObjectFactory.class) {
-                boolean loadProperties = false;
-                FileInputStream fis = null;
-                try {
-                    // file existed last time
-                    if(fLastModified >= 0) {
-                        if(propertiesFileExists &&
-                                (fLastModified < (fLastModified = ss.getLastModified(propertiesFile)))) {
-                            loadProperties = true;
-                        } else {
-                            // file has stopped existing...
-                            if(!propertiesFileExists) {
-                                fLastModified = -1;
-                                fXalanProperties = null;
-                            } // else, file wasn't modified!
-                        }
-                    } else {
-                        // file has started to exist:
-                        if(propertiesFileExists) {
-                            loadProperties = true;
-                            fLastModified = ss.getLastModified(propertiesFile);
-                        } // else, nothing's changed
-                    }
-                    if(loadProperties) {
-                        // must never have attempted to read xalan.properties
-                        // before (or it's outdeated)
-                        fXalanProperties = new Properties();
-                        fis = ss.getFileInputStream(propertiesFile);
-                        fXalanProperties.load(fis);
-                    }
-	        } catch (Exception x) {
-	            fXalanProperties = null;
-	            fLastModified = -1;
-                    // assert(x instanceof FileNotFoundException
-	            //        || x instanceof SecurityException)
-	            // In both cases, ignore and continue w/ next location
-	        }
-                finally {
-                    // try to close the input stream if one was opened.
-                    if (fis != null) {
-                        try {
-                            fis.close();
-                        }
-                        // Ignore the exception.
-                        catch (IOException exc) {}
-                    }
-                }	            
-            }
-            if(fXalanProperties != null) {
-                factoryClassName = fXalanProperties.getProperty(factoryId);
-            }
-        } else {
-            FileInputStream fis = null;
-            try {
-                fis = ss.getFileInputStream(new File(propertiesFilename));
-                Properties props = new Properties();
-                props.load(fis);
-                factoryClassName = props.getProperty(factoryId);
-            } catch (Exception x) {
-                // assert(x instanceof FileNotFoundException
-                //        || x instanceof SecurityException)
-                // In both cases, ignore and continue w/ next location
-            }
-            finally {
-                // try to close the input stream if one was opened.
-                if (fis != null) {
-                    try {
-                        fis.close();
-                    }
-                    // Ignore the exception.
-                    catch (IOException exc) {}
-                }
-            }               
-        }
-        if (factoryClassName != null) {
-            debugPrintln("found in " + propertiesFilename + ", value="
-                          + factoryClassName);
-            return factoryClassName;
-        }
-
-        // Try Jar Service Provider Mechanism
-        return findJarServiceProviderName(factoryId);
-    } // lookUpFactoryClass(String,String):String
-
-    //
-    // Private static methods
-    //
-
-    /** Prints a message to standard error if debugging is enabled. */
-    private static void debugPrintln(String msg) {
-        if (DEBUG) {
-            System.err.println("JAXP: " + msg);
-        }
-    } // debugPrintln(String)
-
-    /**
-     * Figure out which ClassLoader to use.  For JDK 1.2 and later use
-     * the context ClassLoader.
-     */
-    static ClassLoader findClassLoader()
-        throws ConfigurationError
-    { 
-        SecuritySupport ss = SecuritySupport.getInstance();
-
-        // Figure out which ClassLoader to use for loading the provider
-        // class.  If there is a Context ClassLoader then use it.
-        ClassLoader context = ss.getContextClassLoader();
-        ClassLoader system = ss.getSystemClassLoader();
-
-        ClassLoader chain = system;
-        while (true) {
-            if (context == chain) {
-                // Assert: we are on JDK 1.1 or we have no Context ClassLoader
-                // or any Context ClassLoader in chain of system classloader
-                // (including extension ClassLoader) so extend to widest
-                // ClassLoader (always look in system ClassLoader if Xalan
-                // is in boot/extension/system classpath and in current
-                // ClassLoader otherwise); normal classloaders delegate
-                // back to system ClassLoader first so this widening doesn't
-                // change the fact that context ClassLoader will be consulted
-                ClassLoader current = ObjectFactory.class.getClassLoader();
-
-                chain = system;
-                while (true) {
-                    if (current == chain) {
-                        // Assert: Current ClassLoader in chain of
-                        // boot/extension/system ClassLoaders
-                        return system;
-                    }
-                    if (chain == null) {
-                        break;
-                    }
-                    chain = ss.getParentClassLoader(chain);
-                }
-
-                // Assert: Current ClassLoader not in chain of
-                // boot/extension/system ClassLoaders
-                return current;
-            }
-
-            if (chain == null) {
-                // boot ClassLoader reached
-                break;
-            }
-
-            // Check for any extension ClassLoaders in chain up to
-            // boot ClassLoader
-            chain = ss.getParentClassLoader(chain);
-        };
-
-        // Assert: Context ClassLoader not in chain of
-        // boot/extension/system ClassLoaders
-        return context;
-    } // findClassLoader():ClassLoader
-
-    /**
-     * Create an instance of a class using the specified ClassLoader
-     */ 
-    static Object newInstance(String className, ClassLoader cl,
-                                      boolean doFallback)
-        throws ConfigurationError
-    {
-        // assert(className != null);
-        try{
-            Class providerClass = findProviderClass(className, cl, doFallback);
-            Object instance = providerClass.newInstance();
-            debugPrintln("created new instance of " + providerClass +
-                   " using ClassLoader: " + cl);
-            return instance;
-        } catch (ClassNotFoundException x) {
-            throw new ConfigurationError(
-                "Provider " + className + " not found", x);
-        } catch (Exception x) {
-            throw new ConfigurationError(
-                "Provider " + className + " could not be instantiated: " + x,
-                x);
-        }
-    }
-
-    /**
-     * Find a Class using the specified ClassLoader
-     */ 
-    static Class findProviderClass(String className, ClassLoader cl,
-                                           boolean doFallback)
-        throws ClassNotFoundException, ConfigurationError
-    {   
-        //throw security exception if the calling thread is not allowed to access the
-        //class. Restrict the access to the package classes as specified in java.security policy.
-        SecurityManager security = System.getSecurityManager();
-        try{
-                if (security != null){
-                    final int lastDot = className.lastIndexOf(".");
-                    String packageName = className;
-                    if (lastDot != -1) packageName = className.substring(0, lastDot);
-                    security.checkPackageAccess(packageName);
-                 }   
-        }catch(SecurityException e){
-            throw e;
-        }
-        
-        Class providerClass;
-        if (cl == null) {
-            // XXX Use the bootstrap ClassLoader.  There is no way to
-            // load a class using the bootstrap ClassLoader that works
-            // in both JDK 1.1 and Java 2.  However, this should still
-            // work b/c the following should be true:
-            //
-            // (cl == null) iff current ClassLoader == null
-            //
-            // Thus Class.forName(String) will use the current
-            // ClassLoader which will be the bootstrap ClassLoader.
-            providerClass = Class.forName(className);
-        } else {
-            try {
-                providerClass = cl.loadClass(className);
-            } catch (ClassNotFoundException x) {
-                if (doFallback) {
-                    // Fall back to current classloader
-                    ClassLoader current = ObjectFactory.class.getClassLoader();
-                    if (current == null) {
-                        providerClass = Class.forName(className);
-                    } else if (cl != current) {
-                        cl = current;
-                        providerClass = cl.loadClass(className);
-                    } else {
-                        throw x;
-                    }
-                } else {
-                    throw x;
-                }
-            }
-        }
-
-        return providerClass;
-    }
-
-    /**
-     * Find the name of service provider using Jar Service Provider Mechanism
-     *
-     * @return instance of provider class if found or null
-     */
-    private static String findJarServiceProviderName(String factoryId)
-    {
-        SecuritySupport ss = SecuritySupport.getInstance();
-        String serviceId = SERVICES_PATH + factoryId;
-        InputStream is = null;
-
-        // First try the Context ClassLoader
-        ClassLoader cl = findClassLoader();
-
-        is = ss.getResourceAsStream(cl, serviceId);
-
-        // If no provider found then try the current ClassLoader
-        if (is == null) {
-            ClassLoader current = ObjectFactory.class.getClassLoader();
-            if (cl != current) {
-                cl = current;
-                is = ss.getResourceAsStream(cl, serviceId);
-            }
-        }
-
-        if (is == null) {
-            // No provider found
-            return null;
-        }
-
-        debugPrintln("found jar resource=" + serviceId +
-               " using ClassLoader: " + cl);
-
-        // Read the service provider name in UTF-8 as specified in
-        // the jar spec.  Unfortunately this fails in Microsoft
-        // VJ++, which does not implement the UTF-8
-        // encoding. Theoretically, we should simply let it fail in
-        // that case, since the JVM is obviously broken if it
-        // doesn't support such a basic standard.  But since there
-        // are still some users attempting to use VJ++ for
-        // development, we have dropped in a fallback which makes a
-        // second attempt using the platform's default encoding. In
-        // VJ++ this is apparently ASCII, which is a subset of
-        // UTF-8... and since the strings we'll be reading here are
-        // also primarily limited to the 7-bit ASCII range (at
-        // least, in English versions), this should work well
-        // enough to keep us on the air until we're ready to
-        // officially decommit from VJ++. [Edited comment from
-        // jkesselm]
-        BufferedReader rd;
-        try {
-            rd = new BufferedReader(new InputStreamReader(is, "UTF-8"));
-        } catch (java.io.UnsupportedEncodingException e) {
-            rd = new BufferedReader(new InputStreamReader(is));
-        }
-        
-        String factoryClassName = null;
-        try {
-            // XXX Does not handle all possible input as specified by the
-            // Jar Service Provider specification
-            factoryClassName = rd.readLine();
-        } catch (IOException x) {
-            // No provider found
-            return null;
-        }
-        finally {
-            try {
-                // try to close the reader.
-                rd.close();
-            }
-            // Ignore the exception.
-            catch (IOException exc) {}
-        }          
-
-        if (factoryClassName != null &&
-            ! "".equals(factoryClassName)) {
-            debugPrintln("found in resource, value="
-                   + factoryClassName);
-
-            // Note: here we do not want to fall back to the current
-            // ClassLoader because we want to avoid the case where the
-            // resource file was found using one ClassLoader and the
-            // provider class was instantiated using a different one.
-            return factoryClassName;
-        }
-
-        // No provider found
-        return null;
-    }
-
-    //
-    // Classes
-    //
-
-    /**
-     * A configuration error.
-     */
-    static class ConfigurationError 
-        extends Error {
-                static final long serialVersionUID = 7772782876036961354L;
-        //
-        // Data
-        //
-
-        /** Exception. */
-        private Exception exception;
-
-        //
-        // Constructors
-        //
-
-        /**
-         * Construct a new instance with the specified detail string and
-         * exception.
-         */
-        ConfigurationError(String msg, Exception x) {
-            super(msg);
-            this.exception = x;
-        } // <init>(String,Exception)
-
-        //
-        // Public methods
-        //
-
-        /** Returns the exception associated to this error. */
-        Exception getException() {
-            return exception;
-        } // getException():Exception
-
-    } // class ConfigurationError
-
-} // class ObjectFactory
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources.java
index 1f0cab4..ef036f2 100644
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources.java
+++ b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources.java
@@ -22,9 +22,6 @@
 
 
 import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
 
 /**
  * Set up error messages.
@@ -363,68 +360,4 @@
   
   };
   }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-  
 }
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ca.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ca.java
deleted file mode 100644
index 45b4809..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ca.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_ca.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_ca extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "Aquesta funci\u00f3 no t\u00e9 suport."},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "No es pot sobreescriure una causa"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "No s'ha trobat cap implementaci\u00f3 per defecte "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "Actualment no es d\u00f3na suport a ChunkedIntArray({0})"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "El despla\u00e7ament \u00e9s m\u00e9s gran que la ranura"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Coroutine no est\u00e0 disponible, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager ha rebut una sol\u00b7licitud co_exit()"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "S'ha produ\u00eft un error a co_joinCoroutineSet()"},
-
-    { ER_COROUTINE_PARAM,
-      "Error de par\u00e0metre coroutine ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nUNEXPECTED: doTerminate de l''analitzador respon {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "L'an\u00e0lisi no es pot cridar mentre s'est\u00e0 duent a terme"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Error: l''iterador de tipus de l''eix {0} no s''ha implementat"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Error: l''iterador de l''eix {0} no s''ha implementat "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "El clonatge de l'iterador no t\u00e9 suport"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Tipus de commutaci\u00f3 de l''eix desconeguda: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "La commutaci\u00f3 de l''eix no t\u00e9 suport: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "No hi ha m\u00e9s ID de DTM disponibles"},
-
-    { ER_NOT_SUPPORTED,
-      "No t\u00e9 suport: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "El node no ha de ser nul per a getDTMHandleFromNode"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "No s'ha pogut resoldre el node en un manejador"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "startParse no es pot cridar mentre s'est\u00e0 duent a terme l'an\u00e0lisi"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse necessita un SAXParser que no sigui nul"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "No s'ha pogut inicialitzar l'analitzador amb"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "S'ha produ\u00eft una excepci\u00f3 en crear una nova inst\u00e0ncia de l'agrupaci\u00f3"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "La via d'acc\u00e9s cont\u00e9 una seq\u00fc\u00e8ncia d'escapament no v\u00e0lida"},
-
-    { ER_SCHEME_REQUIRED,
-       "Es necessita l'esquema"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "No s''ha trobat cap esquema a l''URI: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "No s'ha trobat cap esquema a l'URI"},
-
-    { ER_PATH_INVALID_CHAR,
-       "La via d''acc\u00e9s cont\u00e9 un car\u00e0cter no v\u00e0lid {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "No es pot establir un esquema des d'una cadena nul\u00b7la"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "L'esquema no t\u00e9 conformitat."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "El format de l'adre\u00e7a del sistema principal no \u00e9s el correcte"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "El port no es pot establir quan el sistema principal \u00e9s nul"},
-
-    { ER_INVALID_PORT,
-       "N\u00famero de port no v\u00e0lid"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "El fragment nom\u00e9s es pot establir per a un URI gen\u00e8ric"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "El fragment no es pot establir si la via d'acc\u00e9s \u00e9s nul\u00b7la"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "El fragment cont\u00e9 un car\u00e0cter no v\u00e0lid"},
-
-    { ER_PARSER_IN_USE,
-      "L'analitzador ja s'est\u00e0 utilitzant"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "No es pot modificar {0} {1} mentre es duu a terme l''an\u00e0lisi"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "La causalitat pr\u00f2pia no est\u00e0 permesa."},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "No es pot especificar informaci\u00f3 de l'usuari si no s'especifica el sistema principal"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "No es pot especificar el port si no s'especifica el sistema principal"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "No es pot especificar una cadena de consulta en la via d'acc\u00e9s i la cadena de consulta"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "No es pot especificar un fragment tant en la via d'acc\u00e9s com en el fragment"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "No es pot inicialitzar l'URI amb par\u00e0metres buits"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "Aquest m\u00e8tode encara no t\u00e9 suport "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "Ara mateix no es pot reiniciar IncrementalSAXSource_Filter"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader no es pot produir abans de la sol\u00b7licitud d'startParse"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "La commutaci\u00f3 de l''eix no t\u00e9 suport: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "S'ha creat ListingErrorHandler amb PrintWriter nul"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "ID del sistema (SystemId) desconegut"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Ubicaci\u00f3 de l'error desconeguda"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "El prefix s''ha de resoldre en un espai de noms: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "createDocument() no t\u00e9 suport a XPathContext"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "El subordinat de l'atribut no t\u00e9 un document de propietari."},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "El subordinat de l'atribut no t\u00e9 un element de document de propietari."},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Av\u00eds: no es pot produir text abans de l'element de document. Es passa per alt."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "No hi pot haver m\u00e9s d'una arrel en un DOM."},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "L'argument 'localName' \u00e9s nul."},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "El nom local de QNAME ha de ser un NCName v\u00e0lid."},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "El prefix de QNAME ha de ser un NCName v\u00e0lid."},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "El nom no pot comen\u00e7ar amb dos punts. "},
-
-    { "BAD_CODE", "El par\u00e0metre de createMessage estava fora dels l\u00edmits."},
-    { "FORMAT_FAILED", "S'ha generat una excepci\u00f3 durant la crida messageFormat."},
-    { "line", "L\u00ednia n\u00fam."},
-    { "column","Columna n\u00fam."}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("ca", "ES"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_cs.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_cs.java
deleted file mode 100644
index 2adb781..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_cs.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_cs.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_cs extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "Nepodporovan\u00e1 funkce!"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "P\u0159\u00ed\u010dinu nelze p\u0159epsat"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "Nebyla nalezena v\u00fdchoz\u00ed implementace. "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "Funkce ChunkedIntArray({0}) nen\u00ed aktu\u00e1ln\u011b podporov\u00e1na."},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "Offset je v\u011bt\u0161\u00ed ne\u017e slot."},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Spole\u010dn\u00e1 rutina nen\u00ed k dispozici, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "Funkce CoroutineManager obdr\u017eela po\u017eadavek co_exit()"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "Selhala funkce co_joinCoroutineSet()"},
-
-    { ER_COROUTINE_PARAM,
-      "Chyba parametru spole\u010dn\u00e9 rutiny ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nNeo\u010dek\u00e1van\u00e9: odpov\u011bdi funkce analyz\u00e1toru doTerminate {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "b\u011bhem anal\u00fdzy nelze volat analyz\u00e1tor"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Chyba: zadan\u00fd iter\u00e1tor osy {0} nen\u00ed implementov\u00e1n"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Chyba: zadan\u00fd iter\u00e1tor osy {0} nen\u00ed implementov\u00e1n "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "Nepodporovan\u00fd klon iter\u00e1toru."},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Nezn\u00e1m\u00fd typ osy pr\u016fchodu: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Nepodporovan\u00e1 osa pr\u016fchodu: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "\u017d\u00e1dn\u00e1 dal\u0161\u00ed ID DTM nejsou k dispozici"},
-
-    { ER_NOT_SUPPORTED,
-      "Nepodporov\u00e1no: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "Uzel pou\u017eit\u00fd ve funkci getDTMHandleFromNode mus\u00ed m\u00edt hodnotu not-null"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "Uzel nelze p\u0159elo\u017eit do manipul\u00e1toru"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "B\u011bhem anal\u00fdzy nelze volat funkci startParse."},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "Funkce startParse vy\u017eaduje SAXParser s hodnotou not-null."},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "nelze inicializovat analyz\u00e1tor s:"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "v\u00fdjimka p\u0159i vytv\u00e1\u0159en\u00ed nov\u00e9 instance spole\u010dn\u00e9 oblasti"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "Cesta obsahuje neplatnou escape sekvenci"},
-
-    { ER_SCHEME_REQUIRED,
-       "Je vy\u017eadov\u00e1no sch\u00e9ma!"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "V URI nebylo nalezeno \u017e\u00e1dn\u00e9 sch\u00e9ma: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "V URI nebylo nalezeno \u017e\u00e1dn\u00e9 sch\u00e9ma"},
-
-    { ER_PATH_INVALID_CHAR,
-       "Cesta obsahuje neplatn\u00fd znak: {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "Nelze nastavit sch\u00e9ma \u0159et\u011bzce s hodnotou null."},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "Sch\u00e9ma nevyhovuje."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "Adresa hostitele m\u00e1 nespr\u00e1vn\u00fd form\u00e1t."},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "M\u00e1-li hostitel hodnotu null, nelze nastavit port."},
-
-    { ER_INVALID_PORT,
-       "Neplatn\u00e9 \u010d\u00edslo portu."},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "Fragment lze nastavit jen u generick\u00e9ho URI."},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "M\u00e1-li cesta hodnotu null, nelze nastavit fragment."},
-
-    { ER_FRAG_INVALID_CHAR,
-       "Fragment obsahuje neplatn\u00fd znak."},
-
-    { ER_PARSER_IN_USE,
-      "Analyz\u00e1tor se ji\u017e pou\u017e\u00edv\u00e1."},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "B\u011bhem anal\u00fdzy nelze m\u011bnit {0} {1}."},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Zp\u016fsoben\u00ed sama sebe (self-causation) nen\u00ed povoleno"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "Nen\u00ed-li ur\u010den hostitel, nelze zadat \u00fadaje o u\u017eivateli."},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "Nen\u00ed-li ur\u010den hostitel, nelze zadat port."},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "V \u0159et\u011bzci cesty a dotazu nelze zadat \u0159et\u011bzec dotazu."},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "Fragment nelze ur\u010dit z\u00e1rove\u0148 v cest\u011b i ve fragmentu."},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "URI nelze inicializovat s pr\u00e1zdn\u00fdmi parametry."},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "Prozat\u00edm nepodporovan\u00e1 metoda. "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "Filtr IncrementalSAXSource_Filter nelze aktu\u00e1ln\u011b znovu spustit."},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "P\u0159ed po\u017eadavkem startParse nen\u00ed XMLReader."},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Nepodporovan\u00e1 osa pr\u016fchodu: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "Prvek ListingErrorHandler byl vytvo\u0159en s funkc\u00ed PrintWriter s hodnotou null!"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "Nezn\u00e1m\u00fd identifik\u00e1tor SystemId"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Chyba se vyskytla na nezn\u00e1m\u00e9m m\u00edst\u011b"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "P\u0159edponu mus\u00ed b\u00fdt mo\u017eno p\u0159elo\u017eit do oboru n\u00e1zv\u016f: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "Funkce XPathContext nepodporuje funkci createDocument()!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "Potomek atributu nem\u00e1 dokument vlastn\u00edka!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "Potomek atributu nem\u00e1 prvek dokumentu vlastn\u00edka!"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Varov\u00e1n\u00ed: v\u00fdstup textu nem\u016f\u017ee p\u0159edch\u00e1zet prvku dokumentu!  Ignorov\u00e1no..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "DOM nem\u016f\u017ee m\u00edt n\u011bkolik ko\u0159en\u016f!"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "Argument 'localName' m\u00e1 hodnotu null"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "Hodnota Localname ve funkci QNAME by m\u011bla b\u00fdt platn\u00fdm prvkem NCName"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "P\u0159edpona ve funkci QNAME by m\u011bla b\u00fdt platn\u00fdm prvkem NCName"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "N\u00e1zev nesm\u00ed za\u010d\u00ednat dvojte\u010dkou"},
-
-    { "BAD_CODE", "Parametr funkce createMessage je mimo limit"},
-    { "FORMAT_FAILED", "P\u0159i vol\u00e1n\u00ed funkce messageFormat do\u0161lo k v\u00fdjimce"},
-    { "line", "\u0158\u00e1dek #"},
-    { "column","Sloupec #"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("cs", "CZ"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_de.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_de.java
deleted file mode 100644
index 62011cd..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_de.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_de.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_de extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "Funktion wird nicht unterst\u00fctzt!"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "cause kann nicht \u00fcberschrieben werden."},
-
-    { ER_NO_DEFAULT_IMPL,
-      "Keine Standardimplementierung gefunden. "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) wird derzeit nicht unterst\u00fctzt."},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "Offset ist gr\u00f6\u00dfer als der Bereich."},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Koroutine nicht verf\u00fcgbar, ID: {0}."},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager hat Anforderung co_exit() empfangen."},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "co_joinCoroutineSet() ist fehlgeschlagen."},
-
-    { ER_COROUTINE_PARAM,
-      "Parameterfehler der Koroutine ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nUNERWARTET: Parser doTerminate antwortet {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "parse darf w\u00e4hrend der Syntaxanalyse nicht aufgerufen werden."},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Fehler: Iterator mit Typangabe f\u00fcr Achse {0} ist nicht implementiert."},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Fehler: Iterator f\u00fcr Achse {0} ist nicht implementiert. "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "Iterator 'clone' wird nicht unterst\u00fctzt."},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Unbekannter Achsentraversiertyp: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Achsentraversierer wird nicht unterst\u00fctzt: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "Keine weiteren Dokumenttypmodell-IDs verf\u00fcgbar"},
-
-    { ER_NOT_SUPPORTED,
-      "Nicht unterst\u00fctzt: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "Knoten muss ungleich Null sein f\u00fcr getDTMHandleFromNode."},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "Der Knoten konnte nicht in eine Kennung aufgel\u00f6st werden."},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "startParse kann w\u00e4hrend der Syntaxanalyse nicht aufgerufen werden."},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse erfordert SAXParser ungleich Null."},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "Konnte Parser nicht initialisieren mit"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "Ausnahmebedingung beim Erstellen einer neuen Instanz f\u00fcr Pool."},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "Der Pfad enth\u00e4lt eine ung\u00fcltige Escapezeichenfolge."},
-
-    { ER_SCHEME_REQUIRED,
-       "Schema ist erforderlich!"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "Kein Schema gefunden in URI: {0}."},
-
-    { ER_NO_SCHEME_INURI,
-       "Kein Schema gefunden in URI"},
-
-    { ER_PATH_INVALID_CHAR,
-       "Pfad enth\u00e4lt ung\u00fcltiges Zeichen: {0}."},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "Schema kann nicht von Nullzeichenfolge festgelegt werden."},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "Das Schema ist nicht angepasst."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "Der Host ist keine syntaktisch korrekte Adresse."},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "Der Port kann nicht festgelegt werden, wenn der Host gleich Null ist."},
-
-    { ER_INVALID_PORT,
-       "Ung\u00fcltige Portnummer"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "Fragment kann nur f\u00fcr eine generische URI (Uniform Resource Identifier) festgelegt werden."},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "Fragment kann nicht festgelegt werden, wenn der Pfad gleich Null ist."},
-
-    { ER_FRAG_INVALID_CHAR,
-       "Fragment enth\u00e4lt ein ung\u00fcltiges Zeichen."},
-
-    { ER_PARSER_IN_USE,
-      "Der Parser wird bereits verwendet."},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "{0} {1} kann w\u00e4hrend der Syntaxanalyse nicht ge\u00e4ndert werden."},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Selbstverursachung ist nicht zul\u00e4ssig."},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "Benutzerinformationen k\u00f6nnen nicht angegeben werden, wenn der Host nicht angegeben wurde."},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "Der Port kann nicht angegeben werden, wenn der Host nicht angegeben wurde."},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "Abfragezeichenfolge kann nicht im Pfad und in der Abfragezeichenfolge angegeben werden."},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "Fragment kann nicht im Pfad und im Fragment angegeben werden."},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "URI (Uniform Resource Identifier) kann nicht mit leeren Parametern initialisiert werden."},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "Die Methode wird noch nicht unterst\u00fctzt. "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "IncrementalSAXSource_Filter ist momentan nicht wieder anlauff\u00e4hig."},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader nicht vor Anforderung startParse"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Achsentraversierer nicht unterst\u00fctzt: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "ListingErrorHandler erstellt ohne Druckausgabeprogramm!"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "System-ID unbekannt"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Position des Fehlers unbekannt"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Das Pr\u00e4fix muss in einen Namensbereich aufgel\u00f6st werden: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "createDocument() wird nicht in XPathContext unterst\u00fctzt!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "Das Attribut child weist kein Eignerdokument auf!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "Das Attribut child weist kein Eignerdokumentelement auf!"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Warnung: Vor dem Dokumentelement kann kein Text ausgegeben werden!  Wird ignoriert..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "Mehr als ein Root f\u00fcr ein Dokumentobjektmodell ist nicht m\u00f6glich!"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "Das Argument 'localName' ist Null."},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "Der lokale Name (Localname) in QNAME muss ein g\u00fcltiger NCName sein."},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "Das Pr\u00e4fix in QNAME muss ein g\u00fcltiger NCName sein."},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "Name darf nicht mit einem Doppelpunkt beginnen."},
-
-    { "BAD_CODE", "Der Parameter f\u00fcr createMessage lag au\u00dferhalb des g\u00fcltigen Bereichs"},
-    { "FORMAT_FAILED", "W\u00e4hrend des Aufrufs von messageFormat wurde eine Ausnahmebedingung ausgel\u00f6st"},
-    { "line", "Zeilennummer"},
-    { "column","Spaltennummer"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_en.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_en.java
deleted file mode 100644
index 986466c..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_en.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_en.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-/**
- * Default implementation of XPATHErrorResources.  This is just
- * an empty class.
- * @xsl.usage advanced
- */
-public class XMLErrorResources_en extends XMLErrorResources
-{
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_es.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_es.java
deleted file mode 100644
index d268cb2..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_es.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_es.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_es extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "\u00a1Funci\u00f3n no soportada!"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "No se puede escribir encima de la causa"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "No se ha encontrado una implementaci\u00f3n predeterminada "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) no soportada actualmente"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "El desplazamiento es mayor que el espacio"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Corrutina no disponible, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager ha recibido una petici\u00f3n co_exit()"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "Anomal\u00eda de co_joinCoroutineSet()"},
-
-    { ER_COROUTINE_PARAM,
-      "Error del par\u00e1metro de corrutina ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nINESPERADO: Respuestas doTerminate del analizador {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "No se puede llamar a parse mientras se est\u00e1 analizando"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Error: El iterador escrito para el eje {0} no est\u00e1 implementado"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Error: El iterador para el eje {0} no est\u00e1 implementado "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "La r\u00e9plica del iterador no est\u00e1 soportada"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Tipo de cruce de eje desconocido: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Cruzador de eje no soportado: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "No hay m\u00e1s ID de DTM disponibles"},
-
-    { ER_NOT_SUPPORTED,
-      "No soportado: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "El nodo no debe ser nulo para getDTMHandleFromNode"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "No se puede resolver el nodo como un manejador"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "No se puede llamar a startParse mientras se est\u00e1 analizando"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse necesita un SAXParser no nulo"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "No se ha podido inicializar el analizador con"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "Se ha producido una excepci\u00f3n al crear la nueva instancia de la agrupaci\u00f3n"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "La v\u00eda de acceso contiene una secuencia de escape no v\u00e1lida"},
-
-    { ER_SCHEME_REQUIRED,
-       "\u00a1Se necesita un esquema!"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "No se ha encontrado un esquema en el URI: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "No se ha encontrado un esquema en el URI"},
-
-    { ER_PATH_INVALID_CHAR,
-       "La v\u00eda de acceso contiene un car\u00e1cter no v\u00e1lido: {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "No se puede establecer un esquema de una serie nula"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "El esquema no es compatible."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "El sistema principal no es una direcci\u00f3n bien formada"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "No se puede establecer el puerto si el sistema principal es nulo"},
-
-    { ER_INVALID_PORT,
-       "N\u00famero de puerto no v\u00e1lido"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "S\u00f3lo se puede establecer el fragmento para un URI gen\u00e9rico"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "No se puede establecer el fragmento si la v\u00eda de acceso es nula"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "El fragmento contiene un car\u00e1cter no v\u00e1lido"},
-
-    { ER_PARSER_IN_USE,
-      "El analizador ya est\u00e1 en uso"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "No se puede cambiar {0} {1} mientras se analiza"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Autocausalidad no permitida"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "No se puede especificar la informaci\u00f3n de usuario si no se ha especificado el sistema principal"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "No se puede especificar el puerto si no se ha especificado el sistema principal"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "No se puede especificar la serie de consulta en la v\u00eda de acceso y en la serie de consulta"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "No se puede especificar el fragmento en la v\u00eda de acceso y en el fragmento"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "No se puede inicializar el URI con par\u00e1metros vac\u00edos"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "El m\u00e9todo no est\u00e1 a\u00fan soportado "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "IncrementalSAXSource_Filter no es actualmente reiniciable"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader no debe ir antes que la petici\u00f3n startParse"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Cruzador de eje no soportado: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "\u00a1Se ha creado ListingErrorHandler con PrintWriter nulo!"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "SystemId desconocido"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Ubicaci\u00f3n del error desconocida"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "El prefijo debe resolverse como un espacio de nombres: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "\u00a1createDocument() no soportada en XPathContext!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "\u00a1El hijo atributo no tiene un documento propietario!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "\u00a1El hijo atributo no tiene un elemento documento propietario!"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "\u00a1Aviso: no puede haber salida de texto antes del elemento documento!  Ignorando..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "\u00a1No puede haber m\u00e1s de una ra\u00edz en DOM!"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "El argumento 'localName' es nulo"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "Localname en QNAME debe ser un NCName v\u00e1lido"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "El prefijo en QNAME debe ser un NCName v\u00e1lido"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "El nombre no puede empezar con dos puntos"},
-
-    { "BAD_CODE", "El par\u00e1metro para createMessage estaba fuera de los l\u00edmites"},
-    { "FORMAT_FAILED", "Se ha generado una excepci\u00f3n durante la llamada messageFormat"},
-    { "line", "L\u00ednea n\u00fam."},
-    { "column","Columna n\u00fam."}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("es", "ES"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_fr.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_fr.java
deleted file mode 100644
index 6d50095..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_fr.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_fr.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_fr extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "Fonction non prise en charge !"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "Impossible de remplacer la cause"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "Impossible de trouver une impl\u00e9mentation par d\u00e9faut "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) n''est pas pris en charge"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "D\u00e9calage plus important que l'emplacement"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Coroutine non disponible, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager a re\u00e7u une demande de co_exit()"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "Echec de co_joinCoroutineSet()"},
-
-    { ER_COROUTINE_PARAM,
-      "Erreur de param\u00e8tre de Coroutine ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nRESULTAT INATTENDU : L''analyseur doTerminate r\u00e9pond {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "parse ne peut \u00eatre appel\u00e9 lors de l'analyse"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Erreur : it\u00e9rateur typ\u00e9 de l''axe {0} non impl\u00e9ment\u00e9"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Erreur : it\u00e9rateur de l''axe {0} non impl\u00e9ment\u00e9 "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "Clone de l'it\u00e9rateur non pris en charge"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Type transversal d''axe inconnu : {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Traverseur d''axe non pris en charge : {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "Aucun autre ID de DTM disponible"},
-
-    { ER_NOT_SUPPORTED,
-      "Non pris en charge : {0}"},
-
-    { ER_NODE_NON_NULL,
-      "Le noeud ne doit pas \u00eatre vide pour getDTMHandleFromNode"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "Impossible de convertir le noeud en pointeur"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "startParse ne peut \u00eatre appel\u00e9 pendant l'analyse"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse requiert un SAXParser non vide"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "impossible d'initialiser l'analyseur"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "exception durant la cr\u00e9ation d'une instance du pool"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "Le chemin d'acc\u00e8s contient une s\u00e9quence d'\u00e9chappement non valide"},
-
-    { ER_SCHEME_REQUIRED,
-       "Processus requis !"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "Processus introuvable dans l''URI : {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "Processus introuvable dans l'URI"},
-
-    { ER_PATH_INVALID_CHAR,
-       "Le chemin contient un caract\u00e8re non valide : {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "Impossible de d\u00e9finir le processus \u00e0 partir de la cha\u00eene vide"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "Le processus n'est pas conforme."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "L'h\u00f4te n'est pas une adresse bien form\u00e9e"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "Le port ne peut \u00eatre d\u00e9fini quand l'h\u00f4te est vide"},
-
-    { ER_INVALID_PORT,
-       "Num\u00e9ro de port non valide"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "Le fragment ne peut \u00eatre d\u00e9fini que pour un URI g\u00e9n\u00e9rique"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "Le fragment ne peut \u00eatre d\u00e9fini quand le chemin d'acc\u00e8s est vide"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "Le fragment contient un caract\u00e8re non valide"},
-
-    { ER_PARSER_IN_USE,
-      "L'analyseur est d\u00e9j\u00e0 utilis\u00e9"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "Impossible de modifier {0} {1} durant l''analyse"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Auto-causalit\u00e9 interdite"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "Userinfo ne peut \u00eatre sp\u00e9cifi\u00e9 si l'h\u00f4te ne l'est pas"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "Le port peut ne pas \u00eatre sp\u00e9cifi\u00e9 si l'h\u00f4te n'est pas sp\u00e9cifi\u00e9"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "La cha\u00eene de requ\u00eate ne doit pas figurer dans un chemin et une cha\u00eene de requ\u00eate"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "Le fragment ne doit pas \u00eatre indiqu\u00e9 \u00e0 la fois dans le chemin et dans le fragment"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "Impossible d'initialiser l'URI avec des param\u00e8tres vides"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "Cette m\u00e9thode n'est pas encore prise en charge "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "IncrementalSAXSource_Filter ne peut red\u00e9marrer"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader ne figure pas avant la demande startParse"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Traverseur d''axe non pris en charge : {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "ListingErrorHandler cr\u00e9\u00e9 avec PrintWriter vide !"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "ID syst\u00e8me inconnu"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Emplacement inconnu de l'erreur"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Le pr\u00e9fixe doit se convertir en espace de noms : {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "createDocument() non pris en charge dans XPathContext !"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "L'enfant de l'attribut ne poss\u00e8de pas de document propri\u00e9taire !"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "Le contexte ne poss\u00e8de pas d'\u00e9l\u00e9ment de document propri\u00e9taire !"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Avertissement : impossible d'afficher du texte avant l'\u00e9l\u00e9ment de document !  Traitement ignor\u00e9..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "Un DOM ne peut poss\u00e9der plusieurs racines !"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "L'argument 'localName' est vide"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "Dans QNAME, le nom local doit \u00eatre un nom NCName valide"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "Dans QNAME, le pr\u00e9fixe doit \u00eatre un nom NCName valide"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "Un nom ne peut commencer par le signe deux-points"},
-
-    { "BAD_CODE", "Le param\u00e8tre de createMessage se trouve hors limites"},
-    { "FORMAT_FAILED", "Exception soulev\u00e9e lors de l'appel de messageFormat"},
-    { "line", "Ligne #"},
-    { "column","Colonne #"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_hu.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_hu.java
deleted file mode 100644
index 4f3b6e1..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_hu.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_hu.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_hu extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "A f\u00fcggv\u00e9ny nem t\u00e1mogatott."},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "Nem lehet fel\u00fcl\u00edrni az okot"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "Nem tal\u00e1lhat\u00f3 alap\u00e9rtelmezett megval\u00f3s\u00edt\u00e1s "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "A ChunkedIntArray({0}) jelenleg nem t\u00e1mogatott"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "Az eltol\u00e1s nagyobb mint a ny\u00edl\u00e1s"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "T\u00e1rs szubrutin nem \u00e9rhet\u0151 el, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager \u00e9rkezett a co_exit() k\u00e9r\u00e9sre"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "A co_joinCoroutineSet() nem siker\u00fclt "},
-
-    { ER_COROUTINE_PARAM,
-      "T\u00e1rs szubrutin param\u00e9terhiba ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nV\u00c1RATLAN: \u00c9rtelmez\u0151 doTerminate v\u00e1laszok {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "\u00e9rtelmez\u00e9s nem h\u00edvhat\u00f3 meg \u00e9rtelmez\u00e9s k\u00f6zben "},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Hiba: A tipiz\u00e1lt iter\u00e1tor a(z) {0} tengelyhez nincs megval\u00f3s\u00edtva"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Hiba: Az iter\u00e1tor a(z) {0} tengelyhez nincs megval\u00f3s\u00edtva "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "Az iter\u00e1tor kl\u00f3noz\u00e1sa nem t\u00e1mogatott"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Ismeretlen tengely bej\u00e1r\u00e1si \u00fat t\u00edpus: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "A tengely bej\u00e1r\u00e1si \u00fat nem t\u00e1mogatott: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "Nincs t\u00f6bb DTM azonos\u00edt\u00f3"},
-
-    { ER_NOT_SUPPORTED,
-      "Nem t\u00e1mogatott: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "A csom\u00f3pont nem lehet null a getDTMHandleFromNode f\u00fcggv\u00e9nyhez"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "A csom\u00f3pontot nem lehet azonos\u00edt\u00f3ra feloldani"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "A startParse f\u00fcggv\u00e9nyt nem h\u00edvhatja meg \u00e9rtelmez\u00e9s k\u00f6zben"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "A startParse f\u00fcggv\u00e9nyhez nemnull SAXParser sz\u00fcks\u00e9ges"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "Nem lehet inicializ\u00e1lni az \u00e9rtelmez\u0151t ezzel"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "kiv\u00e9tel egy \u00faj t\u00e1rol\u00f3p\u00e9ld\u00e1ny l\u00e9trehoz\u00e1sakor"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "Az el\u00e9r\u00e9si \u00fat \u00e9rv\u00e9nytelen vez\u00e9rl\u0151 jelsorozatot tartalmaz"},
-
-    { ER_SCHEME_REQUIRED,
-       "S\u00e9ma sz\u00fcks\u00e9ges."},
-
-    { ER_NO_SCHEME_IN_URI,
-       "Nem tal\u00e1lhat\u00f3 s\u00e9ma az URI-ban: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "Nem tal\u00e1lhat\u00f3 s\u00e9ma az URI-ban"},
-
-    { ER_PATH_INVALID_CHAR,
-       "Az el\u00e9r\u00e9si \u00fat \u00e9rv\u00e9nytelen karaktert tartalmaz: {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "Nem lehet be\u00e1ll\u00edtani a s\u00e9m\u00e1t null karaktersorozatb\u00f3l"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "A s\u00e9ma nem megfelel\u0151."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "A hoszt nem j\u00f3l form\u00e1zott c\u00edm"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "A portot nem \u00e1ll\u00edthatja be, ha a hoszt null"},
-
-    { ER_INVALID_PORT,
-       "\u00c9rv\u00e9nytelen portsz\u00e1m"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "Csak \u00e1ltal\u00e1nos URI-hoz \u00e1ll\u00edthat be t\u00f6red\u00e9ket "},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "A t\u00f6red\u00e9ket nem \u00e1ll\u00edthatja be, ha az el\u00e9r\u00e9si \u00fat null"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "A t\u00f6red\u00e9k \u00e9rv\u00e9nytelen karaktert tartalmaz"},
-
-    { ER_PARSER_IN_USE,
-      "Az \u00e9rtelmez\u0151 m\u00e1r haszn\u00e1latban van"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "Nem v\u00e1ltoztathat\u00f3 meg a(z) {0} {1} \u00e9rtelmez\u00e9s k\u00f6zben"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Az \u00f6n-megokol\u00e1s nem megengedett"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "Nem adhatja meg a felhaszn\u00e1l\u00f3i inform\u00e1ci\u00f3kat, ha nincs megadva hoszt"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "Nem adhatja meg a portot, ha nincs megadva hoszt"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "Nem adhat meg lek\u00e9rdez\u00e9si karaktersorozatot az el\u00e9r\u00e9si \u00fatban \u00e9s a lek\u00e9rdez\u00e9si karaktersorozatban"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "Nem adhat meg t\u00f6red\u00e9ket az el\u00e9r\u00e9si \u00fatban \u00e9s a t\u00f6red\u00e9kben is"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "Az URI nem inicializ\u00e1lhat\u00f3 \u00fcres param\u00e9terekkel"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "A met\u00f3dus m\u00e9g nem t\u00e1mogatott "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "Az IncrementalSAXSource_Filter jelenleg nem \u00ednd\u00edthat\u00f3 \u00fajra"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "Az XMLReader nem a startParse k\u00e9r\u00e9s el\u0151tt van "},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "A tengely bej\u00e1r\u00e1si \u00fat nem t\u00e1mogatott: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "A ListingErrorHandler null PrintWriter \u00e9rt\u00e9kkel j\u00f6tt l\u00e9tre."},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "Ismeretlen SystemId"},
-
-    { ER_LOCATION_UNKNOWN,
-      "A hiba helye ismeretlen"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Az el\u0151tagnak egy n\u00e9vt\u00e9rre kell felold\u00f3dnia: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "A createDocument() nem t\u00e1mogatott az XPathContext-ben."},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "Az attrib\u00fatum ut\u00f3dnak nincs tulajdonos dokumentuma."},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "Az attrib\u00fatum ut\u00f3dnak nincs tulajdonos dokumentumeleme."},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Figyelmeztet\u00e9s: nem lehet sz\u00f6veget ki\u00edrni dokumentum elem el\u0151tt. Figyelmen k\u00edv\u00fcl marad..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "Nem lehet egyn\u00e9l t\u00f6bb gy\u00f6k\u00e9r a DOM-ban"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "A 'localName' argumentum null"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "A QNAME-beli helyi n\u00e9vnek egy \u00e9rv\u00e9nyes NCName-nek kell lennie"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "A QNAME-beli el\u0151tagnak \u00e9rv\u00e9nyes NCName-nek kell lennie"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "A n\u00e9v nem kezd\u0151dhet kett\u0151sponttal"},
-
-    { "BAD_CODE", "A createMessage egyik param\u00e9tere nincs a megfelel\u0151 tartom\u00e1nyban"},
-    { "FORMAT_FAILED", "Kiv\u00e9tel t\u00f6rt\u00e9nt a messageFormat h\u00edv\u00e1sa k\u00f6zben"},
-    { "line", "Sor #"},
-    { "column","Oszlop #"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("hu", "HU"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_it.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_it.java
deleted file mode 100644
index ace9a01..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_it.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_it.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_it extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "Funzione non supportata."},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "Impossibile sovrascrivere causa"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "Non \u00e8 stata trovata alcuna implementazione predefinita "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) correntemente non supportato"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "Offset pi\u00f9 grande dello slot"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Coroutine non disponibile, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager ha ricevuto la richiesta co_exit()"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "co_joinCoroutineSet() con esito negativo"},
-
-    { ER_COROUTINE_PARAM,
-      "Errore parametro Coroutine {0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nNON PREVISTO: Risposte doTerminate del parser {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "impossibile richiamare l'analisi durante l'analisi"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Errore: iteratore immesso per l''''asse {0} non implementato"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Errore: iteratore per l''''asse {0} non implementato "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "Clone iteratore non supportato"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Tipo trasversale di asse sconosciuto: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Trasversale dell''''asse non supportato: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "Non vi sono ulteriori ID DTM disponibili"},
-
-    { ER_NOT_SUPPORTED,
-      "Non supportato: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "Il nodo deve essere non nullo per getDTMHandleFromNode"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "Impossibile risolvere il nodo in un handle"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "Impossibile richiamare startParse durante l'analisi"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse richiede SAXParser non nullo"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "impossibile inizializzare il parser con"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "si \u00e8 verificata un'eccezione durante la creazione della nuova istanza per il pool"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "Il percorso contiene sequenza di escape non valida"},
-
-    { ER_SCHEME_REQUIRED,
-       "Lo schema \u00e8 obbligatorio."},
-
-    { ER_NO_SCHEME_IN_URI,
-       "Nessuno schema trovato nell''''URI: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "Non \u00e8 stato trovato alcuno schema nell'URI"},
-
-    { ER_PATH_INVALID_CHAR,
-       "Il percorso contiene un carattere non valido: {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "Impossibile impostare lo schema da una stringa nulla"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "Lo schema non \u00e8 conforme."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "Host non \u00e8 un'indirizzo corretto"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "La porta non pu\u00f2 essere impostata se l'host \u00e8 nullo"},
-
-    { ER_INVALID_PORT,
-       "Numero di porta non valido"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "Il frammento pu\u00f2 essere impostato solo per un URI generico"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "Il frammento non pu\u00f2 essere impostato se il percorso \u00e8 nullo"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "Il frammento contiene un carattere non valido"},
-
-    { ER_PARSER_IN_USE,
-      "Parser gi\u00e0 in utilizzo"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "Impossibile modificare {0} {1} durante l''''analisi"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Self-causation non consentito"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "Userinfo non pu\u00f2 essere specificato se l'host non \u00e8 specificato"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "La porta non pu\u00f2 essere specificata se l'host non \u00e8 specificato"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "La stringa di interrogazione non pu\u00f2 essere specificata nella stringa di interrogazione e percorso."},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "Il frammento non pu\u00f2 essere specificato sia nel percorso che nel frammento"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "Impossibile inizializzare l'URI con i parametri vuoti"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "Metodo non ancora supportato "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "IncrementalSAXSource_Filter correntemente non riavviabile"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader non si trova prima della richiesta startParse"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Trasversale dell''''asse non supportato: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "ListingErrorHandler creato con PrintWriter nullo."},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "SystemId sconosciuto"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Posizione di errore sconosciuta"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Il prefisso deve risolvere in uno namespace: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "createDocument() non supportato in XPathContext!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "Il child dell'attributo non ha un documento proprietario."},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "Il child dell'attributo non ha un elemento del documento proprietario."},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Attenzione: impossibile emettere testo prima dell'elemento del documento.  Operazione ignorata..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "Impossibile avere pi\u00f9 di una root in un DOM!"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "Argomento 'localName' nullo"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "Localname in QNAME deve essere un NCName valido"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "Prefix in QNAME deve essere un NCName valido"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "Il nome non pu\u00f2 iniziare con un carattere di due punti"},
-
-    { "BAD_CODE", "Il parametro per createMessage fuori limite"},
-    { "FORMAT_FAILED", "Rilevata eccezione durante la chiamata messageFormat"},
-    { "line", "Riga #"},
-    { "column","Colonna #"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("it", "IT"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ja.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ja.java
deleted file mode 100644
index 65e98a4..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ja.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_ja.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_ja extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "cause \u3092\u4e0a\u66f8\u304d\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "\u30c7\u30d5\u30a9\u30eb\u30c8\u5b9f\u88c5\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093 "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "\u73fe\u5728 ChunkedIntArray({0}) \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "\u30aa\u30d5\u30bb\u30c3\u30c8\u304c\u30b9\u30ed\u30c3\u30c8\u3088\u308a\u5927\u3067\u3059"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "\u30b3\u30eb\u30fc\u30c1\u30f3\u304c\u4f7f\u7528\u53ef\u80fd\u3067\u3042\u308a\u307e\u305b\u3093\u3002id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager \u304c co_exit() \u8981\u6c42\u3092\u53d7\u3051\u53d6\u308a\u307e\u3057\u305f"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "co_joinCoroutineSet() \u304c\u5931\u6557\u3057\u307e\u3057\u305f"},
-
-    { ER_COROUTINE_PARAM,
-      "\u30b3\u30eb\u30fc\u30c1\u30f3\u30fb\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u30fb\u30a8\u30e9\u30fc ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\n\u4e88\u60f3\u5916: \u30d1\u30fc\u30b5\u30fc doTerminate \u304c {0} \u3092\u5fdc\u7b54\u3057\u3066\u3044\u307e\u3059"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "parse \u306f\u69cb\u6587\u89e3\u6790\u4e2d\u306b\u547c\u3073\u51fa\u3057\u3066\u306f\u3044\u3051\u307e\u305b\u3093"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "\u30a8\u30e9\u30fc: \u8ef8 {0} \u306e\u578b\u4ed8\u304d\u30a4\u30c6\u30ec\u30fc\u30bf\u30fc\u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "\u30a8\u30e9\u30fc: \u8ef8 {0} \u306e\u30a4\u30c6\u30ec\u30fc\u30bf\u30fc\u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093 "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "\u30a4\u30c6\u30ec\u30fc\u30bf\u30fc\u306e\u8907\u88fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "\u4e0d\u660e\u306e\u8ef8\u30c8\u30e9\u30d0\u30fc\u30b9\u30fb\u30bf\u30a4\u30d7: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "\u8ef8\u30c8\u30e9\u30d0\u30fc\u30b5\u30fc\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "\u4f7f\u7528\u53ef\u80fd\u306a DTM ID \u306f\u3053\u308c\u4ee5\u4e0a\u3042\u308a\u307e\u305b\u3093"},
-
-    { ER_NOT_SUPPORTED,
-      "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "getDTMHandleFromNode \u306e\u30ce\u30fc\u30c9\u306f\u975e\u30cc\u30eb\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "\u30ce\u30fc\u30c9\u3092\u30cf\u30f3\u30c9\u30eb\u306b\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "startParse \u306f\u69cb\u6587\u89e3\u6790\u4e2d\u306b\u547c\u3073\u51fa\u3057\u3066\u306f\u3044\u3051\u307e\u305b\u3093"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse \u306b\u306f\u30cc\u30eb\u4ee5\u5916\u306e SAXParser \u304c\u5fc5\u8981\u3067\u3059"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "\u30d1\u30fc\u30b5\u30fc\u3092\u6b21\u3067\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f:"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "\u30d7\u30fc\u30eb\u306e\u65b0\u898f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u4e2d\u306b\u4f8b\u5916"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "\u30d1\u30b9\u306b\u7121\u52b9\u306a\u30a8\u30b9\u30b1\u30fc\u30d7\u30fb\u30b7\u30fc\u30b1\u30f3\u30b9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059"},
-
-    { ER_SCHEME_REQUIRED,
-       "\u30b9\u30ad\u30fc\u30e0\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "\u30b9\u30ad\u30fc\u30e0\u306f URI {0} \u3067\u898b\u3064\u304b\u308a\u307e\u305b\u3093"},
-
-    { ER_NO_SCHEME_INURI,
-       "\u30b9\u30ad\u30fc\u30e0\u306f URI \u3067\u898b\u3064\u304b\u308a\u307e\u305b\u3093"},
-
-    { ER_PATH_INVALID_CHAR,
-       "\u30d1\u30b9\u306b\u7121\u52b9\u6587\u5b57: {0} \u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "\u30cc\u30eb\u30fb\u30b9\u30c8\u30ea\u30f3\u30b0\u304b\u3089\u306f\u30b9\u30ad\u30fc\u30e0\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "\u30b9\u30ad\u30fc\u30e0\u306f\u4e00\u81f4\u3057\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "\u30db\u30b9\u30c8\u306f\u3046\u307e\u304f\u69cb\u6210\u3055\u308c\u305f\u30a2\u30c9\u30ec\u30b9\u3067\u3042\u308a\u307e\u305b\u3093"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "\u30db\u30b9\u30c8\u304c\u30cc\u30eb\u3067\u3042\u308b\u3068\u30dd\u30fc\u30c8\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_INVALID_PORT,
-       "\u7121\u52b9\u306a\u30dd\u30fc\u30c8\u756a\u53f7"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "\u7dcf\u79f0 URI \u306e\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u3057\u304b\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "\u30d1\u30b9\u304c\u30cc\u30eb\u3067\u3042\u308b\u3068\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u306b\u7121\u52b9\u6587\u5b57\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059"},
-
-    { ER_PARSER_IN_USE,
-      "\u30d1\u30fc\u30b5\u30fc\u306f\u3059\u3067\u306b\u4f7f\u7528\u4e2d\u3067\u3059"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "\u69cb\u6587\u89e3\u6790\u4e2d\u306b {0} {1} \u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "\u81ea\u5206\u81ea\u8eab\u3092\u539f\u56e0\u3068\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "\u30db\u30b9\u30c8\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306f Userinfo \u3092\u6307\u5b9a\u3057\u3066\u306f\u3044\u3051\u307e\u305b\u3093"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "\u30db\u30b9\u30c8\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u30dd\u30fc\u30c8\u3092\u6307\u5b9a\u3057\u3066\u306f\u3044\u3051\u307e\u305b\u3093"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "\u7167\u4f1a\u30b9\u30c8\u30ea\u30f3\u30b0\u306f\u30d1\u30b9\u304a\u3088\u3073\u7167\u4f1a\u30b9\u30c8\u30ea\u30f3\u30b0\u5185\u306b\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u306f\u30d1\u30b9\u3068\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u306e\u4e21\u65b9\u306b\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "URI \u306f\u7a7a\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "\u30e1\u30bd\u30c3\u30c9\u306f\u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093 "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "\u73fe\u5728 IncrementalSAXSource_Filter \u306f\u518d\u59cb\u52d5\u53ef\u80fd\u3067\u3042\u308a\u307e\u305b\u3093"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader \u304c startParse \u8981\u6c42\u306e\u524d\u3067\u3042\u308a\u307e\u305b\u3093"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "\u8ef8\u30c8\u30e9\u30d0\u30fc\u30b5\u30fc\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "ListingErrorHandler \u304c\u30cc\u30eb PrintWriter \u3067\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "SystemId \u306f\u4e0d\u660e"},
-
-    { ER_LOCATION_UNKNOWN,
-      "\u30a8\u30e9\u30fc\u306e\u4f4d\u7f6e\u306f\u4e0d\u660e"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\u63a5\u982d\u90e8\u306f\u540d\u524d\u7a7a\u9593\u306b\u89e3\u6c7a\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "createDocument() \u306f XPathContext \u5185\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "\u5c5e\u6027\u306e\u5b50\u306b\u6240\u6709\u8005\u6587\u66f8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "\u5c5e\u6027\u306e\u5b50\u306b\u6240\u6709\u8005\u6587\u66f8\u8981\u7d20\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "\u8b66\u544a: \u6587\u66f8\u8981\u7d20\u306e\u524d\u306b\u30c6\u30ad\u30b9\u30c8\u3092\u51fa\u529b\u3067\u304d\u307e\u305b\u3093\u3002  \u7121\u8996\u3057\u3066\u3044\u307e\u3059..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "DOM \u3067\u306f\u8907\u6570\u306e\u30eb\u30fc\u30c8\u3092\u6301\u3064\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "\u5f15\u6570 'localName' \u304c\u30cc\u30eb\u3067\u3059\u3002"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "QNAME \u5185\u306e\u30ed\u30fc\u30ab\u30eb\u540d\u306f\u6709\u52b9\u306a NCName \u3067\u3042\u308b\u306f\u305a\u3067\u3059"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "QNAME \u5185\u306e\u63a5\u982d\u90e8\u306f\u6709\u52b9\u306a NCName \u3067\u3042\u308b\u306f\u305a\u3067\u3059"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "\u540d\u524d\u306f\u30b3\u30ed\u30f3\u3067\u59cb\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093"},
-
-    { "BAD_CODE", "createMessage \u3078\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u304c\u7bc4\u56f2\u5916\u3067\u3057\u305f\u3002"},
-    { "FORMAT_FAILED", "messageFormat \u547c\u3073\u51fa\u3057\u4e2d\u306b\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f\u3002"},
-    { "line", "\u884c #"},
-    { "column","\u6841 #"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ko.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ko.java
deleted file mode 100644
index 44b88b2..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ko.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_ko.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_ko extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "\ud568\uc218\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "\uc6d0\uc778\uc744 \uacb9\uccd0\uc4f8 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_DEFAULT_IMPL,
-      "\uae30\ubcf8 \uad6c\ud604\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0})\uac00 \ud604\uc7ac \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "\uc624\ud504\uc14b\uc774 \uc2ac\ub86f\ubcf4\ub2e4 \ud07d\ub2c8\ub2e4."},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Coroutine\uc740 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager\uac00 co_exit() \uc694\uccad\uc744 \ubc1b\uc558\uc2b5\ub2c8\ub2e4."},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "co_joinCoroutineSet()\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_COROUTINE_PARAM,
-      "Coroutine \ub9e4\uac1c\ubcc0\uc218 \uc624\ub958({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nUNEXPECTED: \uad6c\ubd84 \ubd84\uc11d\uae30 doTerminate\uac00 {0}\uc5d0 \uc751\ub2f5\ud569\ub2c8\ub2e4."},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "\uad6c\ubb38 \ubd84\uc11d \uc911\uc5d0\ub294 parse\ub97c \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "\uc624\ub958: {0} \ucd95\uc5d0 \ub300\ud574 \uc720\ud615\ud654\ub41c \ubc18\ubcf5\uae30\ub97c \uad6c\ud604\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "\uc624\ub958: {0} \ucd95\uc5d0 \ub300\ud55c \ubc18\ubcf5\uae30\ub97c \uad6c\ud604\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "\ubc18\ubcf5\uae30 \ubcf5\uc81c\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "\uc54c \uc218 \uc5c6\ub294 axis traversal \uc720\ud615: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Axis traverser\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ucd94\uac00 DTM ID\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NOT_SUPPORTED,
-      "\uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "getDTMHandleFromNode\uc758 \ub178\ub4dc\ub294 \ub110(null) \uc774\uc678\uc758 \uac12\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "\ub178\ub4dc\ub97c \ud578\ub4e4\ub85c \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "\uad6c\ubb38 \ubd84\uc11d \uc911\uc5d0\ub294 startParse\ub97c \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse\ub294 \ub110(null)\uc774 \uc544\ub2cc SAXParser\ub97c \ud544\uc694\ub85c \ud569\ub2c8\ub2e4."},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "\uad6c\ubb38 \ubd84\uc11d\uae30\ub97c \ucd08\uae30\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "\ud480\uc758 \uc0c8 \uc778\uc2a4\ud134\uc2a4 \uc791\uc131 \uc911 \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "\uacbd\ub85c\uc5d0 \uc798\ubabb\ub41c \uc774\uc2a4\ucf00\uc774\ud504 \uc21c\uc11c\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SCHEME_REQUIRED,
-       "\uc2a4\ud0a4\ub9c8\uac00 \ud544\uc694\ud569\ub2c8\ub2e4."},
-
-    { ER_NO_SCHEME_IN_URI,
-       "URI\uc5d0 \uc2a4\ud0a4\ub9c8\uac00 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "URI\uc5d0 \uc2a4\ud0a4\ub9c8\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_PATH_INVALID_CHAR,
-       "\uacbd\ub85c\uc5d0 \uc798\ubabb\ub41c \ubb38\uc790\uac00 \uc788\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "\ub110(null) \ubb38\uc790\uc5f4\uc5d0\uc11c \uc2a4\ud0a4\ub9c8\ub97c \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "\uc2a4\ud0a4\ub9c8\uac00 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "\ud638\uc2a4\ud2b8\uac00 \uc644\uc804\ud55c \uc8fc\uc18c\uac00 \uc544\ub2d9\ub2c8\ub2e4."},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "\ud638\uc2a4\ud2b8\uac00 \ub110(null)\uc774\uba74 \ud3ec\ud2b8\ub97c \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_INVALID_PORT,
-       "\uc798\ubabb\ub41c \ud3ec\ud2b8 \ubc88\ud638"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "\uc77c\ubc18 URI\uc5d0 \ub300\ud574\uc11c\ub9cc \ub2e8\ud3b8\uc744 \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "\uacbd\ub85c\uac00 \ub110(null)\uc774\uba74 \ub2e8\ud3b8\uc744 \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_FRAG_INVALID_CHAR,
-       "\ub2e8\ud3b8\uc5d0 \uc798\ubabb\ub41c \ubb38\uc790\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-
-    { ER_PARSER_IN_USE,
-      "\uad6c\ubb38 \ubd84\uc11d\uae30\uac00 \uc774\ubbf8 \uc0ac\uc6a9 \uc911\uc785\ub2c8\ub2e4."},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "\uad6c\ubb38 \ubd84\uc11d \uc911\uc5d0\ub294 {0} {1}\uc744(\ub97c) \ubcc0\uacbd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Self-causation\uc774 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "\ud638\uc2a4\ud2b8\ub97c \uc9c0\uc815\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0\uc5d0\ub294 Userinfo\ub97c \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "\ud638\uc2a4\ud2b8\ub97c \uc9c0\uc815\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0\uc5d0\ub294 \ud3ec\ud2b8\ub97c \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "\uacbd\ub85c \ubc0f \uc870\ud68c \ubb38\uc790\uc5f4\uc5d0 \uc870\ud68c \ubb38\uc790\uc5f4\uc744 \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "\uacbd\ub85c \ubc0f \ub2e8\ud3b8 \ub458 \ub2e4\uc5d0 \ub2e8\ud3b8\uc744 \uc9c0\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "\ube48 \ub9e4\uac1c\ubcc0\uc218\ub85c URI\ub97c \ucd08\uae30\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "\uc544\uc9c1 \uba54\uc18c\ub4dc\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "\ud604\uc7ac IncrementalSAXSource_Filter\ub97c \ub2e4\uc2dc \uc2dc\uc791\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "startParse \uc694\uccad \uc804\uc5d0 XMLReader\ub97c \uc2dc\uc791\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Axis traverser\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "\ub110(null) PrintWriter\ub85c ListingErrorHandler\ub97c \uc791\uc131\ud588\uc2b5\ub2c8\ub2e4."},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "SystemId\ub97c \uc54c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_LOCATION_UNKNOWN,
-      "\uc624\ub958 \uc704\uce58 \uc54c \uc218 \uc5c6\uc74c"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\uc811\ub450\ubd80\ub294 \uc774\ub984 \uacf5\uac04\uc73c\ub85c \ubd84\uc11d\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "XPathContext\uc5d0\uc11c createDocument()\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "\ud558\uc704 \uc18d\uc131\uc5d0 \uc18c\uc720\uc790 \ubb38\uc11c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "\ud558\uc704 \uc18d\uc131\uc5d0 \uc18c\uc720\uc790 \ubb38\uc11c \uc694\uc18c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "\uacbd\uace0: \ubb38\uc11c \uc694\uc18c \uc55e\uc5d0 \ud14d\uc2a4\ud2b8\ub97c \ucd9c\ub825\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ubb34\uc2dc \uc911..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "DOM\uc5d0 \ub458 \uc774\uc0c1\uc758 \ub8e8\ud2b8\uac00 \uc788\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "'localName' \uc778\uc218\uac00 \ub110(null)\uc785\ub2c8\ub2e4."},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "QNAME\uc758 \ub85c\uceec \uc774\ub984\uc740 \uc720\ud6a8\ud55c NCName\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "QNAME\uc758 \uc811\ub450\ubd80\ub294 \uc720\ud6a8\ud55c NCName\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "\uc774\ub984\uc740 \ucf5c\ub860\uc73c\ub85c \uc2dc\uc791\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. "},
-
-    { "BAD_CODE", "createMessage\uc5d0 \ub300\ud55c \ub9e4\uac1c\ubcc0\uc218\uac00 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4."},
-    { "FORMAT_FAILED", "messageFormat \ud638\ucd9c \uc911 \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4."},
-    { "line", "\ud589 #"},
-    { "column","\uc5f4 #"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("ko", "KR"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_pl.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_pl.java
deleted file mode 100644
index 572fe47..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_pl.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_pl.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_pl extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "Nieobs\u0142ugiwana funkcja!"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "Nie mo\u017cna nadpisa\u0107 przyczyny"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "Nie znaleziono domy\u015blnej implementacji"},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) nie jest obecnie obs\u0142ugiwane"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "Przesuni\u0119cie wi\u0119ksze ni\u017c szczelina"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Koprocedura niedost\u0119pna, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager otrzyma\u0142 \u017c\u0105danie co_exit()"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "co_joinCoroutineSet() nie powiod\u0142o si\u0119"},
-
-    { ER_COROUTINE_PARAM,
-      "B\u0142\u0105d parametru koprocedury ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nNIEOCZEKIWANE: Analizator doTerminate odpowiada {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "Nie mo\u017cna wywo\u0142a\u0107 parse podczas analizowania"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "B\u0142\u0105d: Iterator okre\u015blonego typu dla osi {0} nie jest zaimplementowany"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "B\u0142\u0105d: Iterator dla osi {0} nie jest zaimplementowany"},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "Kopia iteratora nie jest obs\u0142ugiwana"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Nieznany typ przej\u015bcia osi {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Nieobs\u0142ugiwane przej\u015bcie osi: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "Nie ma wi\u0119cej dost\u0119pnych identyfikator\u00f3w DTM"},
-
-    { ER_NOT_SUPPORTED,
-      "Nieobs\u0142ugiwane: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "W\u0119ze\u0142 musi by\u0107 niepusty dla getDTMHandleFromNode"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "Nie mo\u017cna przet\u0142umaczy\u0107 w\u0119z\u0142a na uchwyt"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "Nie mo\u017cna wywo\u0142a\u0107 startParse podczas analizowania"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse potrzebuje niepustego SAXParser"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "nie mo\u017cna zainicjowa\u0107 analizatora"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "wyj\u0105tek podczas tworzenia nowej instancji dla puli"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "\u015acie\u017cka zawiera nieznan\u0105 sekwencj\u0119 o zmienionym znaczeniu"},
-
-    { ER_SCHEME_REQUIRED,
-       "Schemat jest wymagany!"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "Nie znaleziono schematu w URI {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "Nie znaleziono schematu w URI"},
-
-    { ER_PATH_INVALID_CHAR,
-       "\u015acie\u017cka zawiera niepoprawny znak {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "Nie mo\u017cna ustawi\u0107 schematu z pustego ci\u0105gu znak\u00f3w"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "Schemat nie jest zgodny."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "Host nie jest poprawnie skonstruowanym adresem"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "Nie mo\u017cna ustawi\u0107 portu, kiedy host jest pusty"},
-
-    { ER_INVALID_PORT,
-       "Niepoprawny numer portu"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "Fragment mo\u017cna ustawi\u0107 tylko dla og\u00f3lnego URI"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "Nie mo\u017cna ustawi\u0107 fragmentu, kiedy \u015bcie\u017cka jest pusta"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "Fragment zawiera niepoprawny znak"},
-
-    { ER_PARSER_IN_USE,
-      "Analizator jest ju\u017c u\u017cywany"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "Nie mo\u017cna zmieni\u0107 {0} {1} podczas analizowania"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Bycie w\u0142asn\u0105 przyczyn\u0105 jest niedozwolone"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "Nie mo\u017cna poda\u0107 informacji o u\u017cytkowniku, je\u015bli nie podano hosta"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "Nie mo\u017cna poda\u0107 portu, je\u015bli nie podano hosta"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "Tekstu zapytania nie mo\u017cna poda\u0107 w tek\u015bcie \u015bcie\u017cki i zapytania"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "Nie mo\u017cna poda\u0107 fragmentu jednocze\u015bnie w \u015bcie\u017cce i fragmencie"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "Nie mo\u017cna zainicjowa\u0107 URI z pustymi parametrami"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "Metoda nie jest jeszcze obs\u0142ugiwana"},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "IncrementalSAXSource_Filter nie jest obecnie mo\u017cliwy do ponownego uruchomienia"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader nie mo\u017ce wyst\u0105pi\u0107 przed \u017c\u0105daniem startParse"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Nieobs\u0142ugiwane przej\u015bcie osi: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "Utworzono ListingErrorHandler z pustym PrintWriter!"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "Nieznany identyfikator systemu"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Po\u0142o\u017cenie b\u0142\u0119du jest nieznane"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Przedrostek musi da\u0107 si\u0119 przet\u0142umaczy\u0107 na przestrze\u0144 nazw: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "Funkcja createDocument() nie jest obs\u0142ugiwana w XPathContext!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "Bezpo\u015bredni element potomny atrybutu nie ma dokumentu w\u0142a\u015bciciela!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "Bezpo\u015bredni element potomny atrybutu nie ma elementu dokumentu w\u0142a\u015bciciela!"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Ostrze\u017cenie: Nie mo\u017cna wyprowadzi\u0107 tekstu przed elementem dokumentu!  Ignorowanie..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "Nie mo\u017cna mie\u0107 wi\u0119cej ni\u017c jeden element g\u0142\u00f3wny w DOM!"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "Argument 'localName' jest pusty"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "Nazwa lokalna w QNAME powinna by\u0107 poprawn\u0105 nazw\u0105 NCName"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "Przedrostek w QNAME powinien by\u0107 poprawn\u0105 nazw\u0105 NCName"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "Nazwa nie mo\u017ce rozpoczyna\u0107 si\u0119 od dwukropka"},
-
-    { "BAD_CODE", "Parametr createMessage by\u0142 spoza zakresu"},
-    { "FORMAT_FAILED", "Podczas wywo\u0142ania messageFormat zg\u0142oszony zosta\u0142 wyj\u0105tek"},
-    { "line", "Nr wiersza: "},
-    { "column","Nr kolumny: "}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("pl", "PL"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_pt_BR.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_pt_BR.java
deleted file mode 100644
index 3c89be3..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_pt_BR.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_pt_BR.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_pt_BR extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "Fun\u00e7\u00e3o n\u00e3o suportada!"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "Imposs\u00edvel sobrepor causa"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "Nenhuma implementa\u00e7\u00e3o padr\u00e3o encontrada"},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) n\u00e3o suportado atualmente"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "Deslocamento maior que slot"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Co-rotina n\u00e3o dispon\u00edvel, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager recebido para pedido co_exit()"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "Falha de co_joinCoroutineSet()"},
-
-    { ER_COROUTINE_PARAM,
-      "Erro de par\u00e2metro coroutine ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nINESPERADO: doTerminate do analisador respondeu {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "parse n\u00e3o pode ser chamado durante an\u00e1lise"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Erro: digitado repetidor para eixo {0} n\u00e3o implementado"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Erro: repetidor para eixo {0} n\u00e3o implementado"},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "Clone de repetidor n\u00e3o suportado"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Tipo de passagem de eixo desconhecida: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Atravessador de eixo n\u00e3o suportado: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "N\u00e3o existem mais IDs de DTM dispon\u00edveis"},
-
-    { ER_NOT_SUPPORTED,
-      "N\u00e3o suportado: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "O n\u00f3 n\u00e3o deve ser nulo para getDTMHandleFromNode"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "N\u00e3o foi poss\u00edvel resolver o n\u00f3 para um identificador"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "startParse n\u00e3o pode ser chamado durante an\u00e1lise"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse precisa de um SAXParser n\u00e3o-nulo"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "n\u00e3o foi poss\u00edvel inicializar analisador com"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "exce\u00e7\u00e3o ao criar nova inst\u00e2ncia para o conjunto"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "O caminho cont\u00e9m seq\u00fc\u00eancia de escape inv\u00e1lida"},
-
-    { ER_SCHEME_REQUIRED,
-       "O esquema \u00e9 obrigat\u00f3rio!"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "Nenhum esquema encontrado no URI: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "Nenhum esquema encontrado no URI"},
-
-    { ER_PATH_INVALID_CHAR,
-       "O caminho cont\u00e9m caractere inv\u00e1lido: {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "Imposs\u00edvel definir esquema a partir da cadeia nula"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "O esquema n\u00e3o est\u00e1 em conformidade."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "O host n\u00e3o \u00e9 um endere\u00e7o formado corretamente"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "A porta n\u00e3o pode ser definida quando o host \u00e9 nulo"},
-
-    { ER_INVALID_PORT,
-       "N\u00famero de porta inv\u00e1lido"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "O fragmento s\u00f3 pode ser definido para um URI gen\u00e9rico"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "O fragmento n\u00e3o pode ser definido quando o caminho \u00e9 nulo"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "O fragmento cont\u00e9m caractere inv\u00e1lido"},
-
-    { ER_PARSER_IN_USE,
-      "O analisador j\u00e1 est\u00e1 sendo utilizado"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "Imposs\u00edvel alterar {0} {1} durante an\u00e1lise"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Auto-causa\u00e7\u00e3o n\u00e3o permitida"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "Userinfo n\u00e3o pode ser especificado se host n\u00e3o for especificado"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "Port n\u00e3o pode ser especificado se host n\u00e3o for especificado"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "A cadeia de consulta n\u00e3o pode ser especificada na cadeia de consulta e caminho"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "O fragmento n\u00e3o pode ser especificado no caminho e fragmento"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "Imposs\u00edvel inicializar URI com par\u00e2metros vazios"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "M\u00e9todo ainda n\u00e3o suportado"},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "IncrementalSAXSource_Filter atualmente n\u00e3o reinicializ\u00e1vel"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader n\u00e3o antes do pedido startParse"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Atravessador de eixo n\u00e3o suportado: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "ListingErrorHandler criado com nulo PrintWriter!"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "SystemId Desconhecido"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Localiza\u00e7\u00e3o de erro desconhecido"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "O prefixo deve ser resolvido para um espa\u00e7o de nomes: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "createDocument() n\u00e3o suportado em XPathContext!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "O atributo child n\u00e3o possui um documento do propriet\u00e1rio!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "O atributo child n\u00e3o possui um elemento de documento do propriet\u00e1rio!"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Aviso: imposs\u00edvel emitir texto antes do elemento document! Ignorando..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "Imposs\u00edvel ter mais de uma raiz em um DOM!"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "O argumento 'localName' \u00e9 nulo"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "Localname em QNAME deve ser um NCName v\u00e1lido"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "O prefixo em QNAME deve ser um NCName v\u00e1lido"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "O nome n\u00e3o pode come\u00e7ar com um caractere de dois pontos (:)"},
-
-    { "BAD_CODE", "O par\u00e2metro para createMessage estava fora dos limites"},
-    { "FORMAT_FAILED", "Exce\u00e7\u00e3o emitida durante chamada messageFormat"},
-    { "line", "Linha n\u00b0"},
-    { "column","Coluna n\u00b0"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("pt", "BR"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ru.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ru.java
deleted file mode 100644
index 16c8a05..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_ru.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_ru.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_ru extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f!"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0438\u0447\u0438\u043d\u0443"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "\u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Coroutine \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430, \u0418\u0414={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0437\u0430\u043f\u0440\u043e\u0441 co_exit()"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "\u041e\u0448\u0438\u0431\u043a\u0430 co_joinCoroutineSet()"},
-
-    { ER_COROUTINE_PARAM,
-      "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 Coroutine ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\n\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430: \u041e\u0442\u0432\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 doTerminate: {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "\u041d\u0435\u043b\u044c\u0437\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "\u041e\u0448\u0438\u0431\u043a\u0430: \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043b\u044f \u043e\u0441\u0438 {0} \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "\u041e\u0448\u0438\u0431\u043a\u0430: \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u043e\u0441\u0438 {0} "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "\u041a\u043e\u043f\u0438\u044f \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0442\u0438\u043f Traverser \u0434\u043b\u044f \u043e\u0441\u0438: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Traverser \u0434\u043b\u044f \u043e\u0441\u0438 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "\u041d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0418\u0414 DTM"},
-
-    { ER_NOT_SUPPORTED,
-      "\u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "\u0414\u043b\u044f getDTMHandleFromNode \u0443\u0437\u0435\u043b \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0435\u043f\u0443\u0441\u0442\u044b\u043c"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0437\u0435\u043b \u0432 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "\u041d\u0435\u043b\u044c\u0437\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c startParse \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "\u0414\u043b\u044f startParse \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u043d\u0435\u043f\u0443\u0441\u0442\u043e\u0439 SAXParser"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u0441"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "\u0418\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043f\u0443\u043b\u0430"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "\u0412 \u0438\u043c\u0435\u043d\u0438 \u043f\u0443\u0442\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430\u044f Esc-\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c"},
-
-    { ER_SCHEME_REQUIRED,
-       "\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0441\u0445\u0435\u043c\u0430!"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "\u0412 URI \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0441\u0445\u0435\u043c\u0430: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "\u0412 URI \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0441\u0445\u0435\u043c\u0430"},
-
-    { ER_PATH_INVALID_CHAR,
-       "\u0412 \u0438\u043c\u0435\u043d\u0438 \u043f\u0443\u0442\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b: {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u0434\u043b\u044f \u043f\u0443\u0441\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "\u0421\u0445\u0435\u043c\u0430 \u043d\u0435 \u043a\u043e\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u0430."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0430\u0434\u0440\u0435\u0441 \u0445\u043e\u0441\u0442\u0430"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u043e\u0440\u0442 \u0434\u043b\u044f \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0445\u043e\u0441\u0442\u0430"},
-
-    { ER_INVALID_PORT,
-       "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430 URI"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u043f\u0443\u0442\u0438"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b"},
-
-    { ER_PARSER_IN_USE,
-      "\u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c {0} {1} \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "\u0421\u0430\u043c\u043e\u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "\u041d\u0435\u043b\u044c\u0437\u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d \u0445\u043e\u0441\u0442"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "\u041d\u0435\u043b\u044c\u0437\u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d \u0445\u043e\u0441\u0442"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "\u041d\u0435\u043b\u044c\u0437\u044f \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u043f\u0443\u0442\u0438 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u043f\u0443\u0442\u0438 \u0438 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c URI \u0441 \u043f\u0443\u0441\u0442\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "\u041c\u0435\u0442\u043e\u0434 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a IncrementalSAXSource_Filter \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "\u041d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c XMLReader \u0434\u043e startParse"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Traverser \u0434\u043b\u044f \u043e\u0441\u0438 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "ListingErrorHandler \u0441\u043e\u0437\u0434\u0430\u043d \u0441 \u043f\u0443\u0441\u0442\u044b\u043c PrintWriter!"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0418\u0414 \u0441\u0438\u0441\u0442\u0435\u043c\u044b"},
-
-    { ER_LOCATION_UNKNOWN,
-      "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0430"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "createDocument() \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f XPathContext!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "\u0423 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 child \u043d\u0435\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430-\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "\u0423 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 child \u043d\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430-\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430!"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0442\u0435\u043a\u0441\u0442 \u043f\u0435\u0440\u0435\u0434 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430!  \u041f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "\u0412 DOM \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442!"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "\u041f\u0443\u0441\u0442\u043e\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 'localName'"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f \u0432 QNAME \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c NCName"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0432 QNAME \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c NCName"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "\u0418\u043c\u044f \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c\u0441\u044f \u0441 \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u044f"},
-
-    { "BAD_CODE", "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 createMessage \u043b\u0435\u0436\u0438\u0442 \u0432\u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430"},
-    { "FORMAT_FAILED", "\u0418\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 messageFormat"},
-    { "line", "\u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 "},
-    { "column","\u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 "}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_sk.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_sk.java
deleted file mode 100644
index 51d0dce..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_sk.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_sk.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_sk extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "Funkcia nie je podporovan\u00e1!"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "Nie je mo\u017en\u00e9 prep\u00edsa\u0165 pr\u00ed\u010dinu"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "Nebola n\u00e1jden\u00e1 \u017eiadna predvolen\u00e1 implement\u00e1cia "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) nie je moment\u00e1lne podporovan\u00fd"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "Offset v\u00e4\u010d\u0161\u00ed, ne\u017e z\u00e1suvka"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Ko-rutina nie je dostupn\u00e1, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager obdr\u017eal po\u017eiadavku co_exit()"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "zlyhal co_joinCoroutineSet()"},
-
-    { ER_COROUTINE_PARAM,
-      "Chyba parametra korutiny ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nNEO\u010cAK\u00c1VAN\u00c9: Analyz\u00e1tor doTerminate odpoved\u00e1 {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "syntaktick\u00fd analyz\u00e1tor nem\u00f4\u017ee by\u0165 volan\u00fd po\u010das vykon\u00e1vania anal\u00fdzy"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Chyba: nap\u00edsan\u00fd iter\u00e1tor pre os {0} nie je implementovan\u00fd"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Chyba: iter\u00e1tor pre os {0} nie je implementovan\u00fd "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "Klon iter\u00e1tora nie je podporovan\u00fd"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Nezn\u00e1my typ pret\u00ednania os\u00ed: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Pret\u00ednanie os\u00ed nie je podporovan\u00e9: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "\u017diadne \u010fal\u0161ie DTM ID nie s\u00fa dostupn\u00e9"},
-
-    { ER_NOT_SUPPORTED,
-      "Nie je podporovan\u00e9: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "Pre getDTMHandleFromNode mus\u00ed by\u0165 uzol nenulov\u00fd"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "Nebolo mo\u017en\u00e9 ur\u010di\u0165 uzol na spracovanie"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "startParse nem\u00f4\u017ee by\u0165 volan\u00fd po\u010das vykon\u00e1vania anal\u00fdzy"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse potrebuje nenulov\u00fd SAXParser"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "Nebolo mo\u017en\u00e9 inicializova\u0165 syntaktick\u00fd analyz\u00e1tor pomocou"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "v\u00fdnimka vytv\u00e1rania novej in\u0161tancie oblasti"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "Cesta obsahuje neplatn\u00fa \u00fanikov\u00fa sekvenciu"},
-
-    { ER_SCHEME_REQUIRED,
-       "Je po\u017eadovan\u00e1 sch\u00e9ma!"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "V URI sa nena\u0161la \u017eiadna sch\u00e9ma: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "V URI nebola n\u00e1jden\u00e1 \u017eiadna sch\u00e9ma"},
-
-    { ER_PATH_INVALID_CHAR,
-       "Cesta obsahuje neplatn\u00fd znak: {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "Nie je mo\u017en\u00e9 stanovi\u0165 sch\u00e9mu z nulov\u00e9ho re\u0165azca"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "Nezhodn\u00e1 sch\u00e9ma."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "Hostite\u013e nie je spr\u00e1vne form\u00e1tovan\u00e1 adresa"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "Nem\u00f4\u017ee by\u0165 stanoven\u00fd port, ak je hostite\u013e nulov\u00fd"},
-
-    { ER_INVALID_PORT,
-       "Neplatn\u00e9 \u010d\u00edslo portu"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "Fragment m\u00f4\u017ee by\u0165 stanoven\u00fd len pre v\u0161eobecn\u00e9 URI"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "Ak je cesta nulov\u00e1, nem\u00f4\u017ee by\u0165 stanoven\u00fd fragment"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "Fragment obsahuje neplatn\u00fd znak"},
-
-    { ER_PARSER_IN_USE,
-      "Syntaktick\u00fd analyz\u00e1tor je u\u017e pou\u017e\u00edvan\u00fd"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "Nie je mo\u017en\u00e9 zmeni\u0165 {0} {1} po\u010das vykon\u00e1vania anal\u00fdzy"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "Samozapr\u00ed\u010dinenie nie je povolen\u00e9"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "Ak nebol zadan\u00fd hostite\u013e, mo\u017eno nebolo zadan\u00e9 userinfo"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "Ak nebol zadan\u00fd hostite\u013e, mo\u017eno nebol zadan\u00fd port"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "Re\u0165azec dotazu nem\u00f4\u017ee by\u0165 zadan\u00fd v ceste a re\u0165azci dotazu"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "Fragment nem\u00f4\u017ee by\u0165 zadan\u00fd v ceste, ani vo fragmente"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "Nie je mo\u017en\u00e9 inicializova\u0165 URI s pr\u00e1zdnymi parametrami"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "Met\u00f3da e\u0161te nie je podporovan\u00e1 "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "IncrementalSAXSource_Filter nie je moment\u00e1lne re\u0161tartovate\u013en\u00fd"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader nepredch\u00e1dza po\u017eiadavke na startParse"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Pret\u00ednanie os\u00ed nie je podporovan\u00e9: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "ListingErrorHandler vytvoren\u00fd s nulov\u00fdm PrintWriter!"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "Nezn\u00e1me SystemId"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Nezn\u00e1me miesto v\u00fdskytu chyby"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "Predpona sa mus\u00ed rozl\u00ed\u0161i\u0165 do n\u00e1zvov\u00e9ho priestoru: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "createDocument() nie je podporovan\u00e9 XPathContext!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "Potomok atrib\u00fatu nem\u00e1 dokument vlastn\u00edka!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "Potomok atrib\u00fatu nem\u00e1 s\u00fa\u010das\u0165 dokumentu vlastn\u00edka!"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Upozornenie: nemo\u017eno vypusti\u0165 text pred elementom dokumentu!  Ignorovanie..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "Nie je mo\u017en\u00e9 ma\u0165 viac, ne\u017e jeden kore\u0148 DOM!"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "Argument 'localName' je nulov\u00fd"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "Lok\u00e1lny n\u00e1zov v QNAME by mal by\u0165 platn\u00fdm NCName"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "Predpona v QNAME by mala by\u0165 platn\u00fdm NCName"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "N\u00e1zov sa nem\u00f4\u017ee za\u010d\u00edna\u0165 dvojbodkou."},
-
-    { "BAD_CODE", "Parameter na createMessage bol mimo ohrani\u010denia"},
-    { "FORMAT_FAILED", "V\u00fdnimka po\u010das volania messageFormat"},
-    { "line", "Riadok #"},
-    { "column","St\u013apec #"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_sl.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_sl.java
deleted file mode 100755
index c79e716..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_sl.java
+++ /dev/null
@@ -1,431 +0,0 @@
-/*

- * Licensed to the Apache Software Foundation (ASF) under one

- * or more contributor license agreements. See the NOTICE file

- * distributed with this work for additional information

- * regarding copyright ownership. The ASF licenses this file

- * to you under the Apache License, Version 2.0 (the  "License");

- * you may not use this file except in compliance with the License.

- * You may obtain a copy of the License at

- *

- *     http://www.apache.org/licenses/LICENSE-2.0

- *

- * Unless required by applicable law or agreed to in writing, software

- * distributed under the License is distributed on an "AS IS" BASIS,

- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

- * See the License for the specific language governing permissions and

- * limitations under the License.

- */

-/*

- * $Id: XMLErrorResources_sl.java,v 1.9 2004/12/16 19:29:01 minchau Exp $

- */

-

-package org.apache.xml.res;

-

-

-import java.util.ListResourceBundle;

-import java.util.Locale;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-/**

- * Set up error messages.

- * We build a two dimensional array of message keys and

- * message strings. In order to add a new message here,

- * you need to first add a String constant. And you need

- * to enter key, value pair as part of the contents

- * array. You also need to update MAX_CODE for error strings

- * and MAX_WARNING for warnings ( Needed for only information

- * purpose )

- */

-public class XMLErrorResources_sl extends ListResourceBundle

-{

-

-/*

- * This file contains error and warning messages related to Xalan Error

- * Handling.

- *

- *  General notes to translators:

- *

- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of

- *     components.

- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".

- *     XSLTC is an acronym for XSLT Compiler.

- *

- *  2) A stylesheet is a description of how to transform an input XML document

- *     into a resultant XML document (or HTML document or text).  The

- *     stylesheet itself is described in the form of an XML document.

- *

- *  3) A template is a component of a stylesheet that is used to match a

- *     particular portion of an input document and specifies the form of the

- *     corresponding portion of the output document.

- *

- *  4) An element is a mark-up tag in an XML document; an attribute is a

- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>

- *     "elem" is an element name, "attr" and "attr2" are attribute names with

- *     the values "val" and "val2", respectively.

- *

- *  5) A namespace declaration is a special attribute that is used to associate

- *     a prefix with a URI (the namespace).  The meanings of element names and

- *     attribute names that use that prefix are defined with respect to that

- *     namespace.

- *

- *  6) "Translet" is an invented term that describes the class file that

- *     results from compiling an XML stylesheet into a Java class.

- *

- *  7) XPath is a specification that describes a notation for identifying

- *     nodes in a tree-structured representation of an XML document.  An

- *     instance of that notation is referred to as an XPath expression.

- *

- */

-

-  /*

-   * Message keys

-   */

-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";

-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";

-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";

-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";

-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";

-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";

-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";

-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";

-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";

-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";

-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";

-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";

-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";

-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";

-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";

-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";

-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";

-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";

-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";

-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";

-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";

-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";

-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";

-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";

-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";

-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";

-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";

-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";

-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";

-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";

-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";

-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";

-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";

-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";

-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";

-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";

-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";

-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";

-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";

-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";

-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";

-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";

-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";

-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";

-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";

-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";

-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";

-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";

-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";

-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";

-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";

-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";

-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";

-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";

-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";

-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";

-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";

-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";

-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";

-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";

-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";

-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";

-

-  /*

-   * Now fill in the message text.

-   * Then fill in the message text for that message code in the

-   * array. Use the new error code as the index into the array.

-   */

-

-  // Error messages...

-

-  /**

-   * Get the lookup table for error messages

-   *

-   * @return The association list.

-   */

-  public Object[][] getContents()

-  {

-    return new Object[][] {

-

-  /** Error message ID that has a null message, but takes in a single object.    */

-    {"ER0000" , "{0}" },

-

-    { ER_FUNCTION_NOT_SUPPORTED,

-      "Funkcija ni podprta!"},

-

-    { ER_CANNOT_OVERWRITE_CAUSE,

-      "Vzroka ni mogo\u010de prepisati"},

-

-    { ER_NO_DEFAULT_IMPL,

-      "Privzete implementacije ni mogo\u010de najti "},

-

-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,

-      "ChunkedIntArray({0}) trenutno ni podprt"},

-

-    { ER_OFFSET_BIGGER_THAN_SLOT,

-      "Odmik ve\u010dji od re\u017ee"},

-

-    { ER_COROUTINE_NOT_AVAIL,

-      "Sorutina ni na voljo, id={0}"},

-

-    { ER_COROUTINE_CO_EXIT,

-      "CoroutineManager je prejel zahtevo co_exit()"},

-

-    { ER_COJOINROUTINESET_FAILED,

-      "co_joinCoroutineSet() je spodletela"},

-

-    { ER_COROUTINE_PARAM,

-      "Napaka parametra sorutine ({0})"},

-

-    { ER_PARSER_DOTERMINATE_ANSWERS,

-      "\nNEPRI\u010cAKOVANO: Odgovor raz\u010dlenjevalnika doTerminate je {0}"},

-

-    { ER_NO_PARSE_CALL_WHILE_PARSING,

-      "med raz\u010dlenjevanjem klic raz\u010dlenitve ni mo\u017een"},

-

-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,

-      "Napaka: dolo\u010den iterator za os {0} ni implementiran"},

-

-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,

-      "Napaka: iterator za os {0} ni implementiran "},

-

-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,

-      "Klon iteratorja ni podprt"},

-

-    { ER_UNKNOWN_AXIS_TYPE,

-      "Neznan pre\u010dni tip osi: {0}"},

-

-    { ER_AXIS_NOT_SUPPORTED,

-      "Pre\u010dnik osi ni podprt: {0}"},

-

-    { ER_NO_DTMIDS_AVAIL,

-      "Na voljo ni ve\u010d DTM ID-jev"},

-

-    { ER_NOT_SUPPORTED,

-      "Ni podprto: {0}"},

-

-    { ER_NODE_NON_NULL,

-      "Vozli\u0161\u010de ne sme biti NULL za getDTMHandleFromNode"},

-

-    { ER_COULD_NOT_RESOLVE_NODE,

-      "Ne morem razre\u0161iti vozli\u0161\u010da v obravnavo"},

-

-    { ER_STARTPARSE_WHILE_PARSING,

-       "Med raz\u010dlenjevanjem klic startParse ni mogo\u010d"},

-

-    { ER_STARTPARSE_NEEDS_SAXPARSER,

-       "startParse potrebuje ne-NULL SAXParser"},

-

-    { ER_COULD_NOT_INIT_PARSER,

-       "parserja ni mogo\u010de inicializirati z"},

-

-    { ER_EXCEPTION_CREATING_POOL,

-       "izjema pri ustvarjanju novega primerka za zalogo"},

-

-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,

-       "Pot vsebuje neveljavno zaporedje za izhod"},

-

-    { ER_SCHEME_REQUIRED,

-       "Zahtevana je shema!"},

-

-    { ER_NO_SCHEME_IN_URI,

-       "Ne najdem sheme v URI: {0}"},

-

-    { ER_NO_SCHEME_INURI,

-       "Ne najdem sheme v URI"},

-

-    { ER_PATH_INVALID_CHAR,

-       "Pot vsebuje neveljaven znak: {0}"},

-

-    { ER_SCHEME_FROM_NULL_STRING,

-       "Ne morem nastaviti sheme iz niza NULL"},

-

-    { ER_SCHEME_NOT_CONFORMANT,

-       "Shema ni skladna."},

-

-    { ER_HOST_ADDRESS_NOT_WELLFORMED,

-       "Naslov gostitelja ni pravilno oblikovan"},

-

-    { ER_PORT_WHEN_HOST_NULL,

-       "Ko je gostitelj NULL, nastavitev vrat ni mogo\u010da"},

-

-    { ER_INVALID_PORT,

-       "Neveljavna \u0161tevilka vrat"},

-

-    { ER_FRAG_FOR_GENERIC_URI,

-       "Fragment je lahko nastavljen samo za splo\u0161ni URI"},

-

-    { ER_FRAG_WHEN_PATH_NULL,

-       "Ko je pot NULL, nastavitev fragmenta ni mogo\u010da"},

-

-    { ER_FRAG_INVALID_CHAR,

-       "Fragment vsebuje neveljaven znak"},

-

-    { ER_PARSER_IN_USE,

-      "Raz\u010dlenjevalnik je \u017ee v uporabi"},

-

-    { ER_CANNOT_CHANGE_WHILE_PARSING,

-      "Med raz\u010dlenjevanjem ni mogo\u010de spremeniti {0} {1}"},

-

-    { ER_SELF_CAUSATION_NOT_PERMITTED,

-      "Samopovzro\u010ditev ni dovoljena"},

-

-    { ER_NO_USERINFO_IF_NO_HOST,

-      "Informacije o uporabniku ne morejo biti navedene, \u010de ni naveden gostitelj"},

-

-    { ER_NO_PORT_IF_NO_HOST,

-      "Vrata ne morejo biti navedena, \u010de ni naveden gostitelj"},

-

-    { ER_NO_QUERY_STRING_IN_PATH,

-      "Poizvedbeni niz ne more biti naveden v nizu poti in poizvedbenem nizu"},

-

-    { ER_NO_FRAGMENT_STRING_IN_PATH,

-      "Fragment ne more biti hkrati naveden v poti in v fragmentu"},

-

-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,

-      "Ne morem inicializirat URI-ja s praznimi parametri"},

-

-    { ER_METHOD_NOT_SUPPORTED,

-      "Metoda ni ve\u010d podprta "},

-

-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,

-      "IncrementalSAXSource_Filter v tem trenutku ni mogo\u010de ponovno zagnati"},

-

-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,

-      "XMLReader ne pred zahtevo za startParse"},

-

-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,

-      "Pre\u010dnik osi ni podprt: {0}"},

-

-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,

-      "ListingErrorHandler ustvarjen s PrintWriter NULL!"},

-

-    { ER_SYSTEMID_UNKNOWN,

-      "Neznan sistemski ID"},

-

-    { ER_LOCATION_UNKNOWN,

-      "Mesto napake neznano"},

-

-    { ER_PREFIX_MUST_RESOLVE,

-      "Predpona se mora razre\u0161iti v imenski prostor: {0}"},

-

-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,

-      "createDocument() ni podprt v XPathContext!"},

-

-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,

-      "Podrejeni predmet atributa nima lastni\u0161kega dokumenta!"},

-

-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,

-      "Podrejeni predmet atributa nima elementa lastni\u0161kega dokumenta!"},

-

-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,

-      "Opozorilo: besedila ne morem prikazati pred elementom dokumenta!  Ignoriram..."},

-

-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,

-      "Na DOM-u ne more biti ve\u010d kot en koren!"},

-

-    { ER_ARG_LOCALNAME_NULL,

-       "Argument 'lokalno ime' je NULL"},

-

-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName

-    // The localname is the portion after the optional colon; the message indicates

-    // that there is a problem with that part of the QNAME.

-    { ER_ARG_LOCALNAME_INVALID,

-       "Lokalno ime v QNAME bi moralo biti veljavno NCIme"},

-

-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName

-    // The prefix is the portion before the optional colon; the message indicates

-    // that there is a problem with that part of the QNAME.

-    { ER_ARG_PREFIX_INVALID,

-       "Predpona v QNAME bi morala biti valjavno NCIme"},

-

-    { ER_NAME_CANT_START_WITH_COLON,

-      "Ime se ne more za\u010deti z dvopi\u010djem"},

-

-    { "BAD_CODE", "Parameter za ustvariSporo\u010dilo presega meje"},

-    { "FORMAT_FAILED", "Med klicem messageFormat naletel na izjemo"},

-    { "line", "Vrstica #"},

-    { "column","Stolpec #"}

-

-

-  };

-  }

-

-  /**

-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior

-   *   of ResourceBundle.getBundle().

-   *

-   *   @param className the name of the class that implements the resource bundle.

-   *   @return the ResourceBundle

-   *   @throws MissingResourceException

-   */

-  public static final XMLErrorResources loadResourceBundle(String className)

-          throws MissingResourceException

-  {

-

-    Locale locale = Locale.getDefault();

-    String suffix = getResourceSuffix(locale);

-

-    try

-    {

-

-      // first try with the given locale

-      return (XMLErrorResources) ResourceBundle.getBundle(className

-              + suffix, locale);

-    }

-    catch (MissingResourceException e)

-    {

-      try  // try to fall back to en_US if we can't load

-      {

-

-        // Since we can't find the localized property file,

-        // fall back to en_US.

-        return (XMLErrorResources) ResourceBundle.getBundle(className,

-                new Locale("sl", "SL"));

-      }

-      catch (MissingResourceException e2)

-      {

-

-        // Now we are really in trouble.

-        // very bad, definitely very bad...not going to get very far

-        throw new MissingResourceException(

-          "Could not load any resource bundles.", className, "");

-      }

-    }

-  }

-

-  /**

-   * Return the resource file suffic for the indicated locale

-   * For most locales, this will be based the language code.  However

-   * for Chinese, we do distinguish between Taiwan and PRC

-   *

-   * @param locale the locale

-   * @return an String suffix which canbe appended to a resource name

-   */

-  private static final String getResourceSuffix(Locale locale)

-  {

-

-    String suffix = "_" + locale.getLanguage();

-    String country = locale.getCountry();

-

-    if (country.equals("TW"))

-      suffix += "_" + country;

-

-    return suffix;

-  }

-

-}

diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_sv.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_sv.java
deleted file mode 100644
index 835efa1..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_sv.java
+++ /dev/null
@@ -1,626 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_sv.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_sv extends XMLErrorResources
-{
-
-  /** Maximum error messages, this is needed to keep track of the number of messages.    */
-  public static final int MAX_CODE = 61;
-
-  /** Maximum warnings, this is needed to keep track of the number of warnings.          */
-  public static final int MAX_WARNING = 0;
-
-  /** Maximum misc strings.   */
-  public static final int MAX_OTHERS = 4;
-
-  /** Maximum total warnings and error messages.          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-  
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-  /** ER_FUNCTION_NOT_SUPPORTED          */
-  //public static final int ER_FUNCTION_NOT_SUPPORTED = 80;
-
-
-  {
-    ER_FUNCTION_NOT_SUPPORTED, "Funktion inte underst\u00f6dd:"},
-
-  
-  /** Can't overwrite cause         */
-  //public static final int ER_CANNOT_OVERWRITE_CAUSE = 115;
-
-
-  {
-    ER_CANNOT_OVERWRITE_CAUSE,
-			"Kan inte skriva \u00f6ver orsak"},
-
-  
-   /**  No default implementation found */
-  //public static final int ER_NO_DEFAULT_IMPL = 156;
-
-
-  {
-    ER_NO_DEFAULT_IMPL,
-         "Standardimplementering saknas i:"},
-
-  
-   /**  ChunkedIntArray({0}) not currently supported */
-  //public static final int ER_CHUNKEDINTARRAY_NOT_SUPPORTED = 157;
-
-
-  {
-    ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-       "ChunkedIntArray({0}) underst\u00f6ds f\u00f6r n\u00e4rvarande inte"},
-
-  
-   /**  Offset bigger than slot */
-  //public static final int ER_OFFSET_BIGGER_THAN_SLOT = 158;
-
-
-  {
-    ER_OFFSET_BIGGER_THAN_SLOT,
-       "Offset st\u00f6rre \u00e4n fack"},
-
-  
-   /**  Coroutine not available, id= */
-  //public static final int ER_COROUTINE_NOT_AVAIL = 159;
-
-
-  {
-    ER_COROUTINE_NOT_AVAIL,
-       "Sidorutin inte tillg\u00e4nglig, id={0}"},
-
-  
-   /**  CoroutineManager recieved co_exit() request */
-  //public static final int ER_COROUTINE_CO_EXIT = 160;
-
-
-  {
-    ER_COROUTINE_CO_EXIT,
-       "CoroutineManager mottog co_exit()-f\u00f6rfr\u00e5gan"},
-
-  
-   /**  co_joinCoroutineSet() failed */
-  //public static final int ER_COJOINROUTINESET_FAILED = 161;
-
-
-  {
-    ER_COJOINROUTINESET_FAILED,
-       "co_joinCoroutineSet() misslyckades"},
-
-  
-   /**  Coroutine parameter error () */
-  //public static final int ER_COROUTINE_PARAM = 162;
-
-
-  {
-    ER_COROUTINE_PARAM,
-       "Sidorutin fick parameterfel ({0})"},
-
-  
-   /**  UNEXPECTED: Parser doTerminate answers  */
-  //public static final int ER_PARSER_DOTERMINATE_ANSWERS = 163;
-
-
-  {
-    ER_PARSER_DOTERMINATE_ANSWERS,
-       "\nOV\u00c4NTAT: Parser doTerminate-svar {0}"},
-
-  
-   /**  parse may not be called while parsing */
-  //public static final int ER_NO_PARSE_CALL_WHILE_PARSING = 164;
-
-
-  {
-    ER_NO_PARSE_CALL_WHILE_PARSING,
-       "parse f\u00e5r inte anropas medan tolkning sker"},
-
-  
-   /**  Error: typed iterator for axis  {0} not implemented  */
-  //public static final int ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = 165;
-
-
-  {
-    ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-       "Fel: typad upprepare f\u00f6r axel {0} inte implementerad"},
-
-  
-   /**  Error: iterator for axis {0} not implemented  */
-  //public static final int ER_ITERATOR_AXIS_NOT_IMPLEMENTED = 166;
-
-
-  {
-    ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-       "Fel: upprepare f\u00f6r axel {0} inte implementerad"},
-
-  
-   /**  Iterator clone not supported  */
-  //public static final int ER_ITERATOR_CLONE_NOT_SUPPORTED = 167;
-
-
-  {
-    ER_ITERATOR_CLONE_NOT_SUPPORTED,
-       "Uppreparklon underst\u00f6ds inte"},
-
-  
-   /**  Unknown axis traversal type  */
-  //public static final int ER_UNKNOWN_AXIS_TYPE = 168;
-
-
-  {
-    ER_UNKNOWN_AXIS_TYPE,
-       "Ok\u00e4nd axeltraverstyp: {0}"},
-
-  
-   /**  Axis traverser not supported  */
-  //public static final int ER_AXIS_NOT_SUPPORTED = 169;
-
-
-  {
-    ER_AXIS_NOT_SUPPORTED,
-       "Axeltravers underst\u00f6ds inte: {0}"},
-
-  
-   /**  No more DTM IDs are available  */
-  //public static final int ER_NO_DTMIDS_AVAIL = 170;
-
-
-  {
-    ER_NO_DTMIDS_AVAIL,
-       "Inga fler DTM-IDs \u00e4r tillg\u00e4ngliga"},
-
-  
-   /**  Not supported  */
-  //public static final int ER_NOT_SUPPORTED = 171;
-
-
-  {
-    ER_NOT_SUPPORTED,
-       "Underst\u00f6ds inte: {0}"},
-
-  
-   /**  node must be non-null for getDTMHandleFromNode  */
-  //public static final int ER_NODE_NON_NULL = 172;
-
-
-  {
-    ER_NODE_NON_NULL,
-       "Nod m\u00e5ste vara icke-null f\u00f6r getDTMHandleFromNode"},
-
-  
-   /**  Could not resolve the node to a handle  */
-  //public static final int ER_COULD_NOT_RESOLVE_NODE = 173;
-
-
-  {
-    ER_COULD_NOT_RESOLVE_NODE,
-       "Kunde inte l\u00f6sa nod till ett handtag"},
-
-  
-   /**  startParse may not be called while parsing */
-  //public static final int ER_STARTPARSE_WHILE_PARSING = 174;
-
-
-  {
-    ER_STARTPARSE_WHILE_PARSING,
-       "startParse f\u00e5r inte anropas medan tolkning sker"},
-
-  
-   /**  startParse needs a non-null SAXParser  */
-  //public static final int ER_STARTPARSE_NEEDS_SAXPARSER = 175;
-
-
-  {
-    ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse beh\u00f6ver en SAXParser som \u00e4r icke-null"},
-
-  
-   /**  could not initialize parser with */
-  //public static final int ER_COULD_NOT_INIT_PARSER = 176;
-
-
-  {
-    ER_COULD_NOT_INIT_PARSER,
-       "kunde inte initialisera tolk med"},
-
-  
-   /**  exception creating new instance for pool  */
-  //public static final int ER_EXCEPTION_CREATING_POOL = 178;
-
-
-  {
-    ER_EXCEPTION_CREATING_POOL,
-       "undantag skapar ny instans f\u00f6r pool"},
-
-  
-   /**  Path contains invalid escape sequence  */
-  //public static final int ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = 179;
-
-
-  {
-    ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "V\u00e4g inneh\u00e5ller ogiltig flyktsekvens"},
-
-  
-   /**  Scheme is required!  */
-  //public static final int ER_SCHEME_REQUIRED = 180;
-
-
-  {
-    ER_SCHEME_REQUIRED,
-       "Schema kr\u00e4vs!"},
-
-  
-   /**  No scheme found in URI  */
-  //public static final int ER_NO_SCHEME_IN_URI = 181;
-
-
-  {
-    ER_NO_SCHEME_IN_URI,
-       "Schema saknas i URI: {0}"},
-
-  
-   /**  No scheme found in URI  */
-  //public static final int ER_NO_SCHEME_INURI = 182;
-
-
-  {
-    ER_NO_SCHEME_INURI,
-       "Schema saknas i URI"},
-
-  
-   /**  Path contains invalid character:   */
-  //public static final int ER_PATH_INVALID_CHAR = 183;
-
-
-  {
-    ER_PATH_INVALID_CHAR,
-       "V\u00e4g inneh\u00e5ller ogiltigt tecken: {0}"},
-
-  
-   /**  Cannot set scheme from null string  */
-  //public static final int ER_SCHEME_FROM_NULL_STRING = 184;
-
-
-  {
-    ER_SCHEME_FROM_NULL_STRING,
-       "Kan inte s\u00e4tta schema fr\u00e5n null-str\u00e4ng"},
-
-  
-   /**  The scheme is not conformant. */
-  //public static final int ER_SCHEME_NOT_CONFORMANT = 185;
-
-
-  {
-    ER_SCHEME_NOT_CONFORMANT,
-       "Schemat \u00e4r inte likformigt."},
-
-  
-   /**  Host is not a well formed address  */
-  //public static final int ER_HOST_ADDRESS_NOT_WELLFORMED = 186;
-
-
-  {
-    ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "V\u00e4rd \u00e4r inte en v\u00e4lformulerad adress"},
-
-  
-   /**  Port cannot be set when host is null  */
-  //public static final int ER_PORT_WHEN_HOST_NULL = 187;
-
-
-  {
-    ER_PORT_WHEN_HOST_NULL,
-       "Port kan inte s\u00e4ttas n\u00e4r v\u00e4rd \u00e4r null"},
-
-  
-   /**  Invalid port number  */
-  //public static final int ER_INVALID_PORT = 188;
-
-
-  {
-    ER_INVALID_PORT,
-       "Ogiltigt portnummer"},
-
-  
-   /**  Fragment can only be set for a generic URI  */
-  //public static final int ER_FRAG_FOR_GENERIC_URI = 189;
-
-
-  {
-    ER_FRAG_FOR_GENERIC_URI,
-       "Fragment kan bara s\u00e4ttas f\u00f6r en allm\u00e4n URI"},
-
-  
-   /**  Fragment cannot be set when path is null  */
-  //public static final int ER_FRAG_WHEN_PATH_NULL = 190;
-
-
-  {
-    ER_FRAG_WHEN_PATH_NULL,
-       "Fragment kan inte s\u00e4ttas n\u00e4r v\u00e4g \u00e4r null"},
-
-  
-   /**  Fragment contains invalid character  */
-  //public static final int ER_FRAG_INVALID_CHAR = 191;
-
-
-  {
-    ER_FRAG_INVALID_CHAR,
-       "Fragment inneh\u00e5ller ogiltigt tecken"},
-
-  
- 
-  
-   /** Parser is already in use  */
-  //public static final int ER_PARSER_IN_USE = 192;
-
-
-  {
-    ER_PARSER_IN_USE,
-        "Tolk anv\u00e4nds redan"},
-
-  
-   /** Parser is already in use  */
-  //public static final int ER_CANNOT_CHANGE_WHILE_PARSING = 193;
-
-
-  {
-    ER_CANNOT_CHANGE_WHILE_PARSING,
-        "Kan inte \u00e4ndra {0} {1} medan tolkning sker"},
-
-  
-   /** Self-causation not permitted  */
-  //public static final int ER_SELF_CAUSATION_NOT_PERMITTED = 194;
-
-
-  {
-    ER_SELF_CAUSATION_NOT_PERMITTED,
-        "Sj\u00e4lvorsakande inte till\u00e5ten"},
-
-  
-   /** Userinfo may not be specified if host is not specified   */
-  //public static final int ER_NO_USERINFO_IF_NO_HOST = 198;
-
-
-  {
-    ER_NO_USERINFO_IF_NO_HOST,
-        "Userinfo f\u00e5r inte anges om v\u00e4rden inte \u00e4r angiven"},
-
-  
-   /** Port may not be specified if host is not specified   */
-  //public static final int ER_NO_PORT_IF_NO_HOST = 199;
-
-
-  {
-    ER_NO_PORT_IF_NO_HOST,
-        "Port f\u00e5r inte anges om v\u00e4rden inte \u00e4r angiven"},
-
-  
-   /** Query string cannot be specified in path and query string   */
-  //public static final int ER_NO_QUERY_STRING_IN_PATH = 200;
-
-
-  {
-    ER_NO_QUERY_STRING_IN_PATH,
-        "F\u00f6rfr\u00e5gan-str\u00e4ng kan inte anges i v\u00e4g och f\u00f6rfr\u00e5gan-str\u00e4ng"},
-
-  
-   /** Fragment cannot be specified in both the path and fragment   */
-  //public static final int ER_NO_FRAGMENT_STRING_IN_PATH = 201;
-
-
-  {
-    ER_NO_FRAGMENT_STRING_IN_PATH,
-        "Fragment kan inte anges i b\u00e5de v\u00e4gen och fragmentet"},
-
-  
-   /** Cannot initialize URI with empty parameters   */
-  //public static final int ER_CANNOT_INIT_URI_EMPTY_PARMS = 202;
-
-
-  {
-    ER_CANNOT_INIT_URI_EMPTY_PARMS,
-        "Kan inte initialisera URI med tomma parametrar"},
-
-  
-  /**  Method not yet supported    */
-  //public static final int ER_METHOD_NOT_SUPPORTED = 210;
-
-
-  {
-    ER_METHOD_NOT_SUPPORTED,
-        "Metod \u00e4nnu inte underst\u00f6dd "},
-
-
-  /** IncrementalSAXSource_Filter not currently restartable   */
-  //public static final int ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = 214;
-
-
-  {
-    ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-     "IncrementalSAXSource_Filter kan f\u00f6r n\u00e4rvarande inte startas om"},
-
-  
-  /** IncrementalSAXSource_Filter not currently restartable   */
-  //public static final int ER_XMLRDR_NOT_BEFORE_STARTPARSE = 215;
-
-
-  {
-    ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-     "XMLReader inte innan startParse-beg\u00e4ran"},
-
-
-// Axis traverser not supported: {0}
-  //public static final int ER_AXIS_TRAVERSER_NOT_SUPPORTED = 235;
-
-  {
-    ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-     "Det g\u00e5r inte att v\u00e4nda axeln: {0}"},
-
-
-// ListingErrorHandler created with null PrintWriter!
-  //public static final int ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = 236;
-
-  {
-    ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-     "ListingErrorHandler skapad med null PrintWriter!"},
-
-
-  //public static final int ER_SYSTEMID_UNKNOWN = 240;
-
-  {
-    ER_SYSTEMID_UNKNOWN,
-     "SystemId ok\u00e4nt"},
-
-
-  // Location of error unknown
-  //public static final int ER_LOCATION_UNKNOWN = 241;
-
-  {
-    ER_LOCATION_UNKNOWN,
-     "Platsen f\u00f6r felet \u00e4r ok\u00e4nd"},
-
-
-  /** Field ER_PREFIX_MUST_RESOLVE          */
-  //public static final int ER_PREFIX_MUST_RESOLVE = 52;
-
-
-  {
-    ER_PREFIX_MUST_RESOLVE,
-      "Prefix must resolve to a namespace: {0}"},
-
-
-  /** Field ER_CREATEDOCUMENT_NOT_SUPPORTED          */
-  //public static final int ER_CREATEDOCUMENT_NOT_SUPPORTED = 54;
-
-
-  {
-    ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "createDocument() underst\u00f6ds inte av XPathContext!"},
-
-
-  /** Field ER_CHILD_HAS_NO_OWNER_DOCUMENT          */
-  //public static final int ER_CHILD_HAS_NO_OWNER_DOCUMENT = 55;
-
-
-  {
-    ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "Attributbarn saknar \u00e4gardokument!"},
-
-
-  /** Field ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT          */
-  //public static final int ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = 56;
-
-
-  {
-    ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "Attributbarn saknar \u00e4gardokumentelement!"},
-
-
-  /** Field ER_CANT_OUTPUT_TEXT_BEFORE_DOC          */
-  //public static final int ER_CANT_OUTPUT_TEXT_BEFORE_DOC = 63;
-
-
-  {
-    ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Varning: kan inte skriva ut text innan dokumentelement!  Ignorerar..."},
-
-
-  /** Field ER_CANT_HAVE_MORE_THAN_ONE_ROOT          */
-  //public static final int ER_CANT_HAVE_MORE_THAN_ONE_ROOT = 64;
-
-
-  {
-    ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "Kan inte ha mer \u00e4n en rot p\u00e5 en DOM!"},
-
-  
-   /**  Argument 'localName' is null  */
-  //public static final int ER_ARG_LOCALNAME_NULL = 70;
-
-
-  {
-    ER_ARG_LOCALNAME_NULL,
-       "Argument 'localName' \u00e4r null"},
-
-
-  // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-  // The localname is the portion after the optional colon; the message indicates
-  // that there is a problem with that part of the QNAME.
-
-  /** localname in QNAME should be a valid NCName */
-  //public static final int ER_ARG_LOCALNAME_INVALID = 101;
-
-
-  {
-    ER_ARG_LOCALNAME_INVALID,
-       "Localname i QNAME b\u00f6r vara ett giltigt NCName"},
-
-  
-  // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-  // The prefix is the portion before the optional colon; the message indicates
-  // that there is a problem with that part of the QNAME.
-
-  /** prefix in QNAME should be a valid NCName */
-  //public static final int ER_ARG_PREFIX_INVALID = 102;
-
-
-  {
-    ER_ARG_PREFIX_INVALID,
-       "Prefixet i QNAME b\u00f6r vara ett giltigt NCName"},
-
-  { "BAD_CODE",
-      "Parameter till createMessage ligger utanf\u00f6r till\u00e5tet intervall"},
-  { "FORMAT_FAILED",
-      "Undantag utl\u00f6st vid messageFormat-anrop"},
-  { "line",  "Rad #"},
-  { "column", "Kolumn #"}
-         
-  };
-  }
- 
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_tr.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_tr.java
deleted file mode 100644
index b95eac4..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_tr.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_tr.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_tr extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "\u0130\u015flev desteklenmiyor!"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "Nedenin \u00fczerine yaz\u0131lamaz"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "Varsay\u0131lan uygulama bulunamad\u0131 "},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) \u015fu an desteklenmiyor"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "G\u00f6reli konum yuvadan b\u00fcy\u00fck"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "Coroutine kullan\u0131lam\u0131yor, id={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager co_exit() iste\u011fi ald\u0131"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "co_joinCoroutineSet() ba\u015far\u0131s\u0131z oldu"},
-
-    { ER_COROUTINE_PARAM,
-      "Coroutine de\u011fi\u015ftirgesi hatas\u0131 ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\nBEKLENMEYEN: Parser doTerminate yan\u0131t\u0131 {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "Ayr\u0131\u015ft\u0131rma s\u0131ras\u0131nda parse \u00e7a\u011fr\u0131lamaz"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Hata: {0} ekseni i\u00e7in tip atanm\u0131\u015f yineleyici ger\u00e7ekle\u015ftirilmedi"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "Hata: {0} ekseni i\u00e7in yineleyici ger\u00e7ekle\u015ftirilmedi "},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "Yineleyici e\u015fkopyas\u0131 desteklenmiyor"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "Bilinmeyen eksen dola\u015fma tipi: {0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "Eksen dola\u015f\u0131c\u0131 desteklenmiyor: {0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "Kullan\u0131labilecek ba\u015fka DTM tan\u0131t\u0131c\u0131s\u0131 yok"},
-
-    { ER_NOT_SUPPORTED,
-      "Desteklenmiyor: {0}"},
-
-    { ER_NODE_NON_NULL,
-      "getDTMHandleFromNode i\u00e7in d\u00fc\u011f\u00fcm bo\u015f de\u011ferli olmamal\u0131d\u0131r"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "D\u00fc\u011f\u00fcm tan\u0131t\u0131c\u0131 de\u011fere \u00e7\u00f6z\u00fclemedi"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "Ayr\u0131\u015ft\u0131rma s\u0131ras\u0131nda startParse \u00e7a\u011fr\u0131lamaz"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse i\u00e7in bo\u015f de\u011ferli olmayan SAXParser gerekiyor"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "Ayr\u0131\u015ft\u0131r\u0131c\u0131 bununla kullan\u0131ma haz\u0131rlanamad\u0131"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "Havuz i\u00e7in yeni \u00f6rnek yarat\u0131l\u0131rken kural d\u0131\u015f\u0131 durum"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "Yol ge\u00e7ersiz ka\u00e7\u0131\u015f dizisi i\u00e7eriyor"},
-
-    { ER_SCHEME_REQUIRED,
-       "\u015eema gerekli!"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "URI i\u00e7inde \u015fema bulunamad\u0131: {0}"},
-
-    { ER_NO_SCHEME_INURI,
-       "URI i\u00e7inde \u015fema bulunamad\u0131"},
-
-    { ER_PATH_INVALID_CHAR,
-       "Yol ge\u00e7ersiz karakter i\u00e7eriyor: {0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "Bo\u015f de\u011ferli dizgiden \u015fema tan\u0131mlanamaz"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "\u015eema uyumlu de\u011fil."},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "Anasistem do\u011fru bi\u00e7imli bir adres de\u011fil"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "Anasistem bo\u015f de\u011ferliyken kap\u0131 tan\u0131mlanamaz"},
-
-    { ER_INVALID_PORT,
-       "Kap\u0131 numaras\u0131 ge\u00e7ersiz"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "Par\u00e7a yaln\u0131zca soysal URI i\u00e7in tan\u0131mlanabilir"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "Yol bo\u015f de\u011ferliyken par\u00e7a tan\u0131mlanamaz"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "Par\u00e7a ge\u00e7ersiz karakter i\u00e7eriyor"},
-
-    { ER_PARSER_IN_USE,
-      "Ayr\u0131\u015ft\u0131r\u0131c\u0131 kullan\u0131mda"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "Ayr\u0131\u015ft\u0131rma s\u0131ras\u0131nda {0} {1} de\u011fi\u015ftirilemez"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "\u00d6znedenselli\u011fe izin verilmez"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "Anasistem belirtilmediyse kullan\u0131c\u0131 bilgisi belirtilemez"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "Anasistem belirtilmediyse kap\u0131 belirtilemez"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "Yol ve sorgu dizgisinde sorgu dizgisi belirtilemez"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "Par\u00e7a hem yolda, hem de par\u00e7ada belirtilemez"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "Bo\u015f de\u011fi\u015ftirgelerle URI kullan\u0131ma haz\u0131rlanamaz"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "Y\u00f6ntem hen\u00fcz desteklenmiyor "},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "IncrementalSAXSource_Filter \u015fu an yeniden ba\u015flat\u0131labilir durumda de\u011fil"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader, startParse iste\u011finden \u00f6nce olmaz"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "Eksen dola\u015f\u0131c\u0131 desteklenmiyor: {0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "ListingErrorHandler bo\u015f de\u011ferli PrintWriter ile yarat\u0131ld\u0131!"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "SystemId bilinmiyor"},
-
-    { ER_LOCATION_UNKNOWN,
-      "Hata yeri bilinmiyor"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\u00d6nek bir ad alan\u0131na \u00e7\u00f6z\u00fclmelidir: {0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "XPathContext i\u00e7inde createDocument() desteklenmiyor!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "\u00d6zniteli\u011fin alt \u00f6\u011fesinin iye belgesi yok!"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "\u00d6zniteli\u011fin alt \u00f6\u011fesinin iye belge \u00f6\u011fesi yok!"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "Uyar\u0131: Belge \u00f6\u011fesinden \u00f6nce metin \u00e7\u0131k\u0131\u015f\u0131 olamaz!  Yoksay\u0131l\u0131yor..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "DOM \u00fczerinde birden fazla k\u00f6k olamaz!"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "'localName' ba\u011f\u0131ms\u0131z de\u011fi\u015ftirgesi bo\u015f de\u011ferli"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "QNAME i\u00e7indeki yerel ad (localname) ge\u00e7erli bir NCName olmal\u0131d\u0131r"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "QNAME i\u00e7indeki \u00f6nek ge\u00e7erli bir NCName olmal\u0131d\u0131r"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "Ad iki nokta \u00fcst \u00fcste imiyle ba\u015flayamaz"},
-
-    { "BAD_CODE", "createMessage i\u00e7in kullan\u0131lan de\u011fi\u015ftirge s\u0131n\u0131rlar\u0131n d\u0131\u015f\u0131nda"},
-    { "FORMAT_FAILED", "messageFormat \u00e7a\u011fr\u0131s\u0131 s\u0131ras\u0131nda kural d\u0131\u015f\u0131 durum yay\u0131nland\u0131"},
-    { "line", "Sat\u0131r #"},
-    { "column","Kolon #"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("tr", "TR"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_zh.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_zh.java
deleted file mode 100755
index 8ce724e..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_zh.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*

- * Licensed to the Apache Software Foundation (ASF) under one

- * or more contributor license agreements. See the NOTICE file

- * distributed with this work for additional information

- * regarding copyright ownership. The ASF licenses this file

- * to you under the Apache License, Version 2.0 (the  "License");

- * you may not use this file except in compliance with the License.

- * You may obtain a copy of the License at

- *

- *     http://www.apache.org/licenses/LICENSE-2.0

- *

- * Unless required by applicable law or agreed to in writing, software

- * distributed under the License is distributed on an "AS IS" BASIS,

- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

- * See the License for the specific language governing permissions and

- * limitations under the License.

- */

-/*

- * $Id: XMLErrorResources_zh.java 338081 2004-12-15 17:35:58Z jycli $

- */

-package org.apache.xml.res;

-

-

-import java.util.ListResourceBundle;

-import java.util.Locale;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-/**

- * Set up error messages.

- * We build a two dimensional array of message keys and

- * message strings. In order to add a new message here,

- * you need to first add a String constant. And you need

- * to enter key, value pair as part of the contents

- * array. You also need to update MAX_CODE for error strings

- * and MAX_WARNING for warnings ( Needed for only information

- * purpose )

- */

-public class XMLErrorResources_zh extends ListResourceBundle

-{

-

-/*

- * This file contains error and warning messages related to Xalan Error

- * Handling.

- *

- *  General notes to translators:

- *

- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of

- *     components.

- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".

- *     XSLTC is an acronym for XSLT Compiler.

- *

- *  2) A stylesheet is a description of how to transform an input XML document

- *     into a resultant XML document (or HTML document or text).  The

- *     stylesheet itself is described in the form of an XML document.

- *

- *  3) A template is a component of a stylesheet that is used to match a

- *     particular portion of an input document and specifies the form of the

- *     corresponding portion of the output document.

- *

- *  4) An element is a mark-up tag in an XML document; an attribute is a

- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>

- *     "elem" is an element name, "attr" and "attr2" are attribute names with

- *     the values "val" and "val2", respectively.

- *

- *  5) A namespace declaration is a special attribute that is used to associate

- *     a prefix with a URI (the namespace).  The meanings of element names and

- *     attribute names that use that prefix are defined with respect to that

- *     namespace.

- *

- *  6) "Translet" is an invented term that describes the class file that

- *     results from compiling an XML stylesheet into a Java class.

- *

- *  7) XPath is a specification that describes a notation for identifying

- *     nodes in a tree-structured representation of an XML document.  An

- *     instance of that notation is referred to as an XPath expression.

- *

- */

-

-  /*

-   * Message keys

-   */

-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";

-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";

-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";

-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";

-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";

-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";

-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";

-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";

-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";

-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";

-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";

-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";

-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";

-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";

-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";

-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";

-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";

-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";

-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";

-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";

-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";

-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";

-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";

-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";

-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";

-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";

-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";

-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";

-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";

-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";

-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";

-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";

-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";

-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";

-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";

-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";

-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";

-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";

-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";

-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";

-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";

-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";

-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";

-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";

-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";

-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";

-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";

-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";

-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";

-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";

-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";

-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";

-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";

-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";

-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";

-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";

-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";

-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";

-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";

-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";

-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";

-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";

-

-  /*

-   * Now fill in the message text.

-   * Then fill in the message text for that message code in the

-   * array. Use the new error code as the index into the array.

-   */

-

-  // Error messages...

-

-  /**

-   * Get the lookup table for error messages

-   *

-   * @return The association list.

-   */

-  public Object[][] getContents()

-  {

-    return new Object[][] {

-

-  /** Error message ID that has a null message, but takes in a single object.    */

-    {"ER0000" , "{0}" },

-

-    { ER_FUNCTION_NOT_SUPPORTED,

-      "\u51fd\u6570\u4e0d\u53d7\u652f\u6301\uff01"},

-

-    { ER_CANNOT_OVERWRITE_CAUSE,

-      "\u65e0\u6cd5\u8986\u76d6\u539f\u56e0"},

-

-    { ER_NO_DEFAULT_IMPL,

-      "\u627e\u4e0d\u5230\u7f3a\u7701\u5b9e\u73b0"},

-

-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,

-      "\u5f53\u524d\u4e0d\u652f\u6301 ChunkedIntArray({0})"},

-

-    { ER_OFFSET_BIGGER_THAN_SLOT,

-      "\u504f\u79fb\u5927\u4e8e\u69fd"},

-

-    { ER_COROUTINE_NOT_AVAIL,

-      "\u534f\u540c\u7a0b\u5e8f\u4e0d\u53ef\u7528\uff0cid={0}"},

-

-    { ER_COROUTINE_CO_EXIT,

-      "CoroutineManager \u63a5\u6536\u5230 co_exit() \u8bf7\u6c42"},

-

-    { ER_COJOINROUTINESET_FAILED,

-      "co_joinCoroutineSet() \u5931\u8d25"},

-

-    { ER_COROUTINE_PARAM,

-      "\u534f\u540c\u7a0b\u5e8f\u53c2\u6570\u9519\u8bef\uff08{0}\uff09"},

-

-    { ER_PARSER_DOTERMINATE_ANSWERS,

-      "\n\u610f\u5916\uff1a\u89e3\u6790\u5668 doTerminate \u5e94\u7b54 {0}"},

-

-    { ER_NO_PARSE_CALL_WHILE_PARSING,

-      "\u89e3\u6790\u65f6\u53ef\u80fd\u6ca1\u6709\u8c03\u7528 parse"},

-

-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,

-      "\u9519\u8bef\uff1a\u6ca1\u6709\u5b9e\u73b0\u4e3a\u8f74 {0} \u8f93\u5165\u7684\u8fed\u4ee3\u5668"},

-

-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,

-      "\u9519\u8bef\uff1a\u6ca1\u6709\u5b9e\u73b0\u8f74 {0} \u7684\u8fed\u4ee3\u5668"},

-

-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,

-      "\u4e0d\u652f\u6301\u8fed\u4ee3\u5668\u514b\u9686"},

-

-    { ER_UNKNOWN_AXIS_TYPE,

-      "\u672a\u77e5\u7684\u8f74\u904d\u5386\u7c7b\u578b\uff1a{0}"},

-

-    { ER_AXIS_NOT_SUPPORTED,

-      "\u4e0d\u652f\u6301\u8f74\u904d\u5386\u7a0b\u5e8f\uff1a{0}"},

-

-    { ER_NO_DTMIDS_AVAIL,

-      "\u65e0\u66f4\u591a\u7684 DTM \u6807\u8bc6\u53ef\u7528"},

-

-    { ER_NOT_SUPPORTED,

-      "\u4e0d\u652f\u6301\uff1a{0}"},

-

-    { ER_NODE_NON_NULL,

-      "\u5bf9\u4e8e getDTMHandleFromNode\uff0c\u8282\u70b9\u5fc5\u987b\u662f\u975e\u7a7a\u7684"},

-

-    { ER_COULD_NOT_RESOLVE_NODE,

-      "\u65e0\u6cd5\u5c06\u8282\u70b9\u89e3\u6790\u5230\u53e5\u67c4"},

-

-    { ER_STARTPARSE_WHILE_PARSING,

-       "\u89e3\u6790\u65f6\u53ef\u80fd\u6ca1\u6709\u8c03\u7528 startParse"},

-

-    { ER_STARTPARSE_NEEDS_SAXPARSER,

-       "startParse \u9700\u8981\u975e\u7a7a\u7684 SAXParser"},

-

-    { ER_COULD_NOT_INIT_PARSER,

-       "\u65e0\u6cd5\u7528\u4ee5\u4e0b\u5de5\u5177\u521d\u59cb\u5316\u89e3\u6790\u5668"},

-

-    { ER_EXCEPTION_CREATING_POOL,

-       "\u4e3a\u6c60\u521b\u5efa\u65b0\u5b9e\u4f8b\u65f6\u53d1\u751f\u5f02\u5e38"},

-

-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,

-       "\u8def\u5f84\u5305\u542b\u65e0\u6548\u7684\u8f6c\u4e49\u5e8f\u5217"},

-

-    { ER_SCHEME_REQUIRED,

-       "\u6a21\u5f0f\u662f\u5fc5\u9700\u7684\uff01"},

-

-    { ER_NO_SCHEME_IN_URI,

-       "URI {0} \u4e2d\u627e\u4e0d\u5230\u4efb\u4f55\u6a21\u5f0f"},

-

-    { ER_NO_SCHEME_INURI,

-       "URI \u4e2d\u627e\u4e0d\u5230\u4efb\u4f55\u6a21\u5f0f"},

-

-    { ER_PATH_INVALID_CHAR,

-       "\u8def\u5f84\u5305\u542b\u65e0\u6548\u7684\u5b57\u7b26\uff1a{0}"},

-

-    { ER_SCHEME_FROM_NULL_STRING,

-       "\u65e0\u6cd5\u4ece\u7a7a\u5b57\u7b26\u4e32\u8bbe\u7f6e\u6a21\u5f0f"},

-

-    { ER_SCHEME_NOT_CONFORMANT,

-       "\u6a21\u5f0f\u4e0d\u4e00\u81f4\u3002"},

-

-    { ER_HOST_ADDRESS_NOT_WELLFORMED,

-       "\u4e3b\u673a\u4e0d\u662f\u683c\u5f0f\u6b63\u786e\u7684\u5730\u5740"},

-

-    { ER_PORT_WHEN_HOST_NULL,

-       "\u4e3b\u673a\u4e3a\u7a7a\u65f6\uff0c\u65e0\u6cd5\u8bbe\u7f6e\u7aef\u53e3"},

-

-    { ER_INVALID_PORT,

-       "\u7aef\u53e3\u53f7\u65e0\u6548"},

-

-    { ER_FRAG_FOR_GENERIC_URI,

-       "\u53ea\u80fd\u4e3a\u7c7b\u5c5e URI \u8bbe\u7f6e\u7247\u6bb5"},

-

-    { ER_FRAG_WHEN_PATH_NULL,

-       "\u8def\u5f84\u4e3a\u7a7a\u65f6\uff0c\u65e0\u6cd5\u8bbe\u7f6e\u7247\u6bb5"},

-

-    { ER_FRAG_INVALID_CHAR,

-       "\u7247\u6bb5\u5305\u542b\u65e0\u6548\u7684\u5b57\u7b26"},

-

-    { ER_PARSER_IN_USE,

-      "\u89e3\u6790\u5668\u5df2\u5728\u4f7f\u7528"},

-

-    { ER_CANNOT_CHANGE_WHILE_PARSING,

-      "\u89e3\u6790\u65f6\u65e0\u6cd5\u66f4\u6539 {0} {1}"},

-

-    { ER_SELF_CAUSATION_NOT_PERMITTED,

-      "\u4e0d\u5141\u8bb8\u81ea\u89e6\u53d1"},

-

-    { ER_NO_USERINFO_IF_NO_HOST,

-      "\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u4e3b\u673a\uff0c\u5219\u4e0d\u53ef\u4ee5\u6307\u5b9a\u7528\u6237\u4fe1\u606f"},

-

-    { ER_NO_PORT_IF_NO_HOST,

-      "\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u4e3b\u673a\uff0c\u5219\u4e0d\u53ef\u4ee5\u6307\u5b9a\u7aef\u53e3"},

-

-    { ER_NO_QUERY_STRING_IN_PATH,

-      "\u8def\u5f84\u548c\u67e5\u8be2\u5b57\u7b26\u4e32\u4e2d\u4e0d\u80fd\u6307\u5b9a\u67e5\u8be2\u5b57\u7b26\u4e32"},

-

-    { ER_NO_FRAGMENT_STRING_IN_PATH,

-      "\u8def\u5f84\u548c\u7247\u6bb5\u4e2d\u90fd\u4e0d\u80fd\u6307\u5b9a\u7247\u6bb5"},

-

-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,

-      "\u4e0d\u80fd\u4ee5\u7a7a\u53c2\u6570\u521d\u59cb\u5316 URI"},

-

-    { ER_METHOD_NOT_SUPPORTED,

-      "\u5c1a\u4e0d\u652f\u6301\u65b9\u6cd5"},

-

-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,

-      "\u5f53\u524d\u4e0d\u53ef\u91cd\u65b0\u542f\u52a8 IncrementalSAXSource_Filter"},

-

-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,

-      "XMLReader \u4e0d\u5728 startParse \u8bf7\u6c42\u4e4b\u524d"},

-

-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,

-      "\u4e0d\u652f\u6301\u8f74\u904d\u5386\u7a0b\u5e8f\uff1a{0}"},

-

-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,

-      "\u4ee5\u7a7a\u7684 PrintWriter \u521b\u5efa\u4e86 ListingErrorHandler\uff01"},

-

-    { ER_SYSTEMID_UNKNOWN,

-      "SystemId \u672a\u77e5"},

-

-    { ER_LOCATION_UNKNOWN,

-      "\u9519\u8bef\u4f4d\u7f6e\u672a\u77e5"},

-

-    { ER_PREFIX_MUST_RESOLVE,

-      "\u524d\u7f00\u5fc5\u987b\u89e3\u6790\u4e3a\u540d\u79f0\u7a7a\u95f4\uff1a{0}"},

-

-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,

-      "XPathContext \u4e2d\u4e0d\u652f\u6301 createDocument()\uff01"},

-

-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,

-      "\u5b50\u5c5e\u6027\u6ca1\u6709\u6240\u6709\u8005\u6587\u6863\uff01"},

-

-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,

-      "\u5b50\u5c5e\u6027\u6ca1\u6709\u6240\u6709\u8005\u6587\u6863\u5143\u7d20\uff01"},

-

-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,

-      "\u8b66\u544a\uff1a\u65e0\u6cd5\u5728\u8bb0\u5f55\u5143\u7d20\u524d\u8f93\u51fa\u6587\u672c\uff01\u5ffd\u7565..."},

-

-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,

-      "DOM \u4e0a\u4e0d\u80fd\u6709\u591a\u4e2a\u6839\uff01"},

-

-    { ER_ARG_LOCALNAME_NULL,

-       "\u81ea\u53d8\u91cf\u201clocalName\u201d\u4e3a\u7a7a"},

-

-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName

-    // The localname is the portion after the optional colon; the message indicates

-    // that there is a problem with that part of the QNAME.

-    { ER_ARG_LOCALNAME_INVALID,

-       "QNAME \u4e2d\u7684\u672c\u5730\u540d\u5e94\u5f53\u662f\u6709\u6548\u7684 NCName"},

-

-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName

-    // The prefix is the portion before the optional colon; the message indicates

-    // that there is a problem with that part of the QNAME.

-    { ER_ARG_PREFIX_INVALID,

-       "QNAME \u4e2d\u7684\u524d\u7f00\u5e94\u5f53\u662f\u6709\u6548\u7684 NCName"},

-

-    { ER_NAME_CANT_START_WITH_COLON,

-      "\u540d\u79f0\u4e0d\u80fd\u4ee5\u5192\u53f7\u5f00\u5934"},

-

-    { "BAD_CODE", "createMessage \u7684\u53c2\u6570\u8d85\u51fa\u8303\u56f4"},

-    { "FORMAT_FAILED", "\u5728 messageFormat \u8c03\u7528\u8fc7\u7a0b\u4e2d\u629b\u51fa\u4e86\u5f02\u5e38"},

-    { "line", "\u884c\u53f7"},

-    { "column","\u5217\u53f7"}

-

-

-  };

-  }

-

-  /**

-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior

-   *   of ResourceBundle.getBundle().

-   *

-   *   @param className the name of the class that implements the resource bundle.

-   *   @return the ResourceBundle

-   *   @throws MissingResourceException

-   */

-  public static final XMLErrorResources loadResourceBundle(String className)

-          throws MissingResourceException

-  {

-

-    Locale locale = Locale.getDefault();

-    String suffix = getResourceSuffix(locale);

-

-    try

-    {

-

-      // first try with the given locale

-      return (XMLErrorResources) ResourceBundle.getBundle(className

-              + suffix, locale);

-    }

-    catch (MissingResourceException e)

-    {

-      try  // try to fall back to en_US if we can't load

-      {

-

-        // Since we can't find the localized property file,

-        // fall back to en_US.

-        return (XMLErrorResources) ResourceBundle.getBundle(className,

-                new Locale("zh", "CN"));

-      }

-      catch (MissingResourceException e2)

-      {

-

-        // Now we are really in trouble.

-        // very bad, definitely very bad...not going to get very far

-        throw new MissingResourceException(

-          "Could not load any resource bundles.", className, "");

-      }

-    }

-  }

-

-  /**

-   * Return the resource file suffic for the indicated locale

-   * For most locales, this will be based the language code.  However

-   * for Chinese, we do distinguish between Taiwan and PRC

-   *

-   * @param locale the locale

-   * @return an String suffix which canbe appended to a resource name

-   */

-  private static final String getResourceSuffix(Locale locale)

-  {

-

-    String suffix = "_" + locale.getLanguage();

-    String country = locale.getCountry();

-

-    if (country.equals("TW"))

-      suffix += "_" + country;

-

-    return suffix;

-  }

-

-}

diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_zh_TW.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_zh_TW.java
deleted file mode 100644
index 555b081..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLErrorResources_zh_TW.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLErrorResources_zh_TW.java 468653 2006-10-28 07:07:05Z minchau $
- */
-package org.apache.xml.res;
-
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a String constant. And you need
- * to enter key, value pair as part of the contents
- * array. You also need to update MAX_CODE for error strings
- * and MAX_WARNING for warnings ( Needed for only information
- * purpose )
- */
-public class XMLErrorResources_zh_TW extends ListResourceBundle
-{
-
-/*
- * This file contains error and warning messages related to Xalan Error
- * Handling.
- *
- *  General notes to translators:
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- */
-
-  /*
-   * Message keys
-   */
-  public static final String ER_FUNCTION_NOT_SUPPORTED = "ER_FUNCTION_NOT_SUPPORTED";
-  public static final String ER_CANNOT_OVERWRITE_CAUSE = "ER_CANNOT_OVERWRITE_CAUSE";
-  public static final String ER_NO_DEFAULT_IMPL = "ER_NO_DEFAULT_IMPL";
-  public static final String ER_CHUNKEDINTARRAY_NOT_SUPPORTED = "ER_CHUNKEDINTARRAY_NOT_SUPPORTED";
-  public static final String ER_OFFSET_BIGGER_THAN_SLOT = "ER_OFFSET_BIGGER_THAN_SLOT";
-  public static final String ER_COROUTINE_NOT_AVAIL = "ER_COROUTINE_NOT_AVAIL";
-  public static final String ER_COROUTINE_CO_EXIT = "ER_COROUTINE_CO_EXIT";
-  public static final String ER_COJOINROUTINESET_FAILED = "ER_COJOINROUTINESET_FAILED";
-  public static final String ER_COROUTINE_PARAM = "ER_COROUTINE_PARAM";
-  public static final String ER_PARSER_DOTERMINATE_ANSWERS = "ER_PARSER_DOTERMINATE_ANSWERS";
-  public static final String ER_NO_PARSE_CALL_WHILE_PARSING = "ER_NO_PARSE_CALL_WHILE_PARSING";
-  public static final String ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_AXIS_NOT_IMPLEMENTED = "ER_ITERATOR_AXIS_NOT_IMPLEMENTED";
-  public static final String ER_ITERATOR_CLONE_NOT_SUPPORTED = "ER_ITERATOR_CLONE_NOT_SUPPORTED";
-  public static final String ER_UNKNOWN_AXIS_TYPE = "ER_UNKNOWN_AXIS_TYPE";
-  public static final String ER_AXIS_NOT_SUPPORTED = "ER_AXIS_NOT_SUPPORTED";
-  public static final String ER_NO_DTMIDS_AVAIL = "ER_NO_DTMIDS_AVAIL";
-  public static final String ER_NOT_SUPPORTED = "ER_NOT_SUPPORTED";
-  public static final String ER_NODE_NON_NULL = "ER_NODE_NON_NULL";
-  public static final String ER_COULD_NOT_RESOLVE_NODE = "ER_COULD_NOT_RESOLVE_NODE";
-  public static final String ER_STARTPARSE_WHILE_PARSING = "ER_STARTPARSE_WHILE_PARSING";
-  public static final String ER_STARTPARSE_NEEDS_SAXPARSER = "ER_STARTPARSE_NEEDS_SAXPARSER";
-  public static final String ER_COULD_NOT_INIT_PARSER = "ER_COULD_NOT_INIT_PARSER";
-  public static final String ER_EXCEPTION_CREATING_POOL = "ER_EXCEPTION_CREATING_POOL";
-  public static final String ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE = "ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE";
-  public static final String ER_SCHEME_REQUIRED = "ER_SCHEME_REQUIRED";
-  public static final String ER_NO_SCHEME_IN_URI = "ER_NO_SCHEME_IN_URI";
-  public static final String ER_NO_SCHEME_INURI = "ER_NO_SCHEME_INURI";
-  public static final String ER_PATH_INVALID_CHAR = "ER_PATH_INVALID_CHAR";
-  public static final String ER_SCHEME_FROM_NULL_STRING = "ER_SCHEME_FROM_NULL_STRING";
-  public static final String ER_SCHEME_NOT_CONFORMANT = "ER_SCHEME_NOT_CONFORMANT";
-  public static final String ER_HOST_ADDRESS_NOT_WELLFORMED = "ER_HOST_ADDRESS_NOT_WELLFORMED";
-  public static final String ER_PORT_WHEN_HOST_NULL = "ER_PORT_WHEN_HOST_NULL";
-  public static final String ER_INVALID_PORT = "ER_INVALID_PORT";
-  public static final String ER_FRAG_FOR_GENERIC_URI ="ER_FRAG_FOR_GENERIC_URI";
-  public static final String ER_FRAG_WHEN_PATH_NULL = "ER_FRAG_WHEN_PATH_NULL";
-  public static final String ER_FRAG_INVALID_CHAR = "ER_FRAG_INVALID_CHAR";
-  public static final String ER_PARSER_IN_USE = "ER_PARSER_IN_USE";
-  public static final String ER_CANNOT_CHANGE_WHILE_PARSING = "ER_CANNOT_CHANGE_WHILE_PARSING";
-  public static final String ER_SELF_CAUSATION_NOT_PERMITTED = "ER_SELF_CAUSATION_NOT_PERMITTED";
-  public static final String ER_NO_USERINFO_IF_NO_HOST = "ER_NO_USERINFO_IF_NO_HOST";
-  public static final String ER_NO_PORT_IF_NO_HOST = "ER_NO_PORT_IF_NO_HOST";
-  public static final String ER_NO_QUERY_STRING_IN_PATH = "ER_NO_QUERY_STRING_IN_PATH";
-  public static final String ER_NO_FRAGMENT_STRING_IN_PATH = "ER_NO_FRAGMENT_STRING_IN_PATH";
-  public static final String ER_CANNOT_INIT_URI_EMPTY_PARMS = "ER_CANNOT_INIT_URI_EMPTY_PARMS";
-  public static final String ER_METHOD_NOT_SUPPORTED ="ER_METHOD_NOT_SUPPORTED";
-  public static final String ER_INCRSAXSRCFILTER_NOT_RESTARTABLE = "ER_INCRSAXSRCFILTER_NOT_RESTARTABLE";
-  public static final String ER_XMLRDR_NOT_BEFORE_STARTPARSE = "ER_XMLRDR_NOT_BEFORE_STARTPARSE";
-  public static final String ER_AXIS_TRAVERSER_NOT_SUPPORTED = "ER_AXIS_TRAVERSER_NOT_SUPPORTED";
-  public static final String ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER = "ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER";
-  public static final String ER_SYSTEMID_UNKNOWN = "ER_SYSTEMID_UNKNOWN";
-  public static final String ER_LOCATION_UNKNOWN = "ER_LOCATION_UNKNOWN";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_CREATEDOCUMENT_NOT_SUPPORTED = "ER_CREATEDOCUMENT_NOT_SUPPORTED";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT";
-  public static final String ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT = "ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT";
-  public static final String ER_CANT_OUTPUT_TEXT_BEFORE_DOC = "ER_CANT_OUTPUT_TEXT_BEFORE_DOC";
-  public static final String ER_CANT_HAVE_MORE_THAN_ONE_ROOT = "ER_CANT_HAVE_MORE_THAN_ONE_ROOT";
-  public static final String ER_ARG_LOCALNAME_NULL = "ER_ARG_LOCALNAME_NULL";
-  public static final String ER_ARG_LOCALNAME_INVALID = "ER_ARG_LOCALNAME_INVALID";
-  public static final String ER_ARG_PREFIX_INVALID = "ER_ARG_PREFIX_INVALID";
-  public static final String ER_NAME_CANT_START_WITH_COLON = "ER_NAME_CANT_START_WITH_COLON";
-
-  /*
-   * Now fill in the message text.
-   * Then fill in the message text for that message code in the
-   * array. Use the new error code as the index into the array.
-   */
-
-  // Error messages...
-
-  /**
-   * Get the lookup table for error messages
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][] {
-
-  /** Error message ID that has a null message, but takes in a single object.    */
-    {"ER0000" , "{0}" },
-
-    { ER_FUNCTION_NOT_SUPPORTED,
-      "\u51fd\u6578\u4e0d\u53d7\u652f\u63f4\uff01"},
-
-    { ER_CANNOT_OVERWRITE_CAUSE,
-      "\u7121\u6cd5\u6539\u5beb\u539f\u56e0"},
-
-    { ER_NO_DEFAULT_IMPL,
-      "\u627e\u4e0d\u5230\u9810\u8a2d\u5be6\u4f5c"},
-
-    { ER_CHUNKEDINTARRAY_NOT_SUPPORTED,
-      "ChunkedIntArray({0}) \u76ee\u524d\u4e0d\u53d7\u652f\u63f4"},
-
-    { ER_OFFSET_BIGGER_THAN_SLOT,
-      "\u504f\u79fb\u6bd4\u69fd\u5927"},
-
-    { ER_COROUTINE_NOT_AVAIL,
-      "\u6c92\u6709 Coroutine \u53ef\u7528\uff0cid={0}"},
-
-    { ER_COROUTINE_CO_EXIT,
-      "CoroutineManager \u6536\u5230 co_exit() \u8981\u6c42"},
-
-    { ER_COJOINROUTINESET_FAILED,
-      "co_joinCoroutineSet() \u5931\u6548"},
-
-    { ER_COROUTINE_PARAM,
-      "Coroutine \u53c3\u6578\u932f\u8aa4 ({0})"},
-
-    { ER_PARSER_DOTERMINATE_ANSWERS,
-      "\n\u975e\u9810\u671f\u7684\u7d50\u679c\uff1a\u5256\u6790\u5668 doTerminate \u56de\u7b54 {0}"},
-
-    { ER_NO_PARSE_CALL_WHILE_PARSING,
-      "\u5728\u5256\u6790\u6642\u672a\u547c\u53eb parse"},
-
-    { ER_TYPED_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "\u932f\u8aa4\uff1a\u91dd\u5c0d\u8ef8 {0} \u8f38\u5165\u7684\u91cd\u8907\u9805\u76ee\u6c92\u6709\u5be6\u4f5c"},
-
-    { ER_ITERATOR_AXIS_NOT_IMPLEMENTED,
-      "\u932f\u8aa4\uff1a\u8ef8 {0} \u7684\u91cd\u8907\u9805\u76ee\u6c92\u6709\u5be6\u4f5c"},
-
-    { ER_ITERATOR_CLONE_NOT_SUPPORTED,
-      "\u91cd\u8907\u9805\u76ee\u8907\u88fd\u4e0d\u53d7\u652f\u63f4"},
-
-    { ER_UNKNOWN_AXIS_TYPE,
-      "\u4e0d\u660e\u7684\u8ef8\u904d\u6b77\u985e\u578b\uff1a{0}"},
-
-    { ER_AXIS_NOT_SUPPORTED,
-      "\u4e0d\u652f\u63f4\u8ef8\u904d\u6b77\uff1a{0}"},
-
-    { ER_NO_DTMIDS_AVAIL,
-      "\u6c92\u6709\u53ef\u7528\u7684 DTM ID"},
-
-    { ER_NOT_SUPPORTED,
-      "\u4e0d\u652f\u63f4\uff1a{0}"},
-
-    { ER_NODE_NON_NULL,
-      "\u5c0d getDTMHandleFromNode \u800c\u8a00\uff0c\u7bc0\u9ede\u5fc5\u9808\u70ba\u975e\u7a7a\u503c"},
-
-    { ER_COULD_NOT_RESOLVE_NODE,
-      "\u7121\u6cd5\u89e3\u6790\u7bc0\u9ede\u70ba\u63a7\u9ede"},
-
-    { ER_STARTPARSE_WHILE_PARSING,
-       "\u5728\u5256\u6790\u6642\u672a\u547c\u53eb startParse"},
-
-    { ER_STARTPARSE_NEEDS_SAXPARSER,
-       "startParse \u9700\u8981\u975e\u7a7a\u503c\u7684 SAXParser"},
-
-    { ER_COULD_NOT_INIT_PARSER,
-       "\u7121\u6cd5\u4f7f\u7528\u4ee5\u4e0b\u9805\u76ee\u8d77\u59cb\u8a2d\u5b9a\u5256\u6790\u5668"},
-
-    { ER_EXCEPTION_CREATING_POOL,
-       "\u5efa\u7acb\u5132\u5b58\u6c60\u7684\u65b0\u5be6\u4f8b\u6642\u767c\u751f\u7570\u5e38"},
-
-    { ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-       "\u8def\u5f91\u5305\u542b\u7121\u6548\u7684\u8df3\u812b\u5b57\u5143"},
-
-    { ER_SCHEME_REQUIRED,
-       "\u7db1\u8981\u662f\u5fc5\u9700\u7684\uff01"},
-
-    { ER_NO_SCHEME_IN_URI,
-       "\u5728 URI\uff1a{0} \u627e\u4e0d\u5230\u7db1\u8981"},
-
-    { ER_NO_SCHEME_INURI,
-       "\u5728 URI \u627e\u4e0d\u5230\u7db1\u8981"},
-
-    { ER_PATH_INVALID_CHAR,
-       "\u8def\u5f91\u5305\u542b\u7121\u6548\u7684\u5b57\u5143\uff1a{0}"},
-
-    { ER_SCHEME_FROM_NULL_STRING,
-       "\u7121\u6cd5\u5f9e\u7a7a\u5b57\u4e32\u8a2d\u5b9a\u7db1\u8981"},
-
-    { ER_SCHEME_NOT_CONFORMANT,
-       "\u7db1\u8981\u4e0d\u662f conformant\u3002"},
-
-    { ER_HOST_ADDRESS_NOT_WELLFORMED,
-       "\u4e3b\u6a5f\u6c92\u6709\u5b8c\u6574\u7684\u4f4d\u5740"},
-
-    { ER_PORT_WHEN_HOST_NULL,
-       "\u4e3b\u6a5f\u70ba\u7a7a\u503c\u6642\uff0c\u7121\u6cd5\u8a2d\u5b9a\u57e0"},
-
-    { ER_INVALID_PORT,
-       "\u7121\u6548\u7684\u57e0\u7de8\u865f"},
-
-    { ER_FRAG_FOR_GENERIC_URI,
-       "\u53ea\u80fd\u5c0d\u901a\u7528\u7684 URI \u8a2d\u5b9a\u7247\u6bb5"},
-
-    { ER_FRAG_WHEN_PATH_NULL,
-       "\u8def\u5f91\u70ba\u7a7a\u503c\u6642\uff0c\u7121\u6cd5\u8a2d\u5b9a\u7247\u6bb5"},
-
-    { ER_FRAG_INVALID_CHAR,
-       "\u7247\u6bb5\u5305\u542b\u7121\u6548\u7684\u5b57\u5143"},
-
-    { ER_PARSER_IN_USE,
-      "\u5256\u6790\u5668\u5df2\u5728\u4f7f\u7528\u4e2d"},
-
-    { ER_CANNOT_CHANGE_WHILE_PARSING,
-      "\u5256\u6790\u6642\u7121\u6cd5\u8b8a\u66f4 {0} {1}"},
-
-    { ER_SELF_CAUSATION_NOT_PERMITTED,
-      "\u4e0d\u5141\u8a31\u672c\u8eab\u7684\u56e0\u679c\u95dc\u4fc2"},
-
-    { ER_NO_USERINFO_IF_NO_HOST,
-      "\u5982\u679c\u6c92\u6709\u6307\u5b9a\u4e3b\u6a5f\uff0c\u4e0d\u53ef\u6307\u5b9a Userinfo"},
-
-    { ER_NO_PORT_IF_NO_HOST,
-      "\u5982\u679c\u6c92\u6709\u6307\u5b9a\u4e3b\u6a5f\uff0c\u4e0d\u53ef\u6307\u5b9a\u57e0"},
-
-    { ER_NO_QUERY_STRING_IN_PATH,
-      "\u5728\u8def\u5f91\u53ca\u67e5\u8a62\u5b57\u4e32\u4e2d\u4e0d\u53ef\u6307\u5b9a\u67e5\u8a62\u5b57\u4e32"},
-
-    { ER_NO_FRAGMENT_STRING_IN_PATH,
-      "\u7247\u6bb5\u7121\u6cd5\u540c\u6642\u5728\u8def\u5f91\u548c\u7247\u6bb5\u4e2d\u6307\u5b9a"},
-
-    { ER_CANNOT_INIT_URI_EMPTY_PARMS,
-      "\u7121\u6cd5\u4ee5\u7a7a\u767d\u53c3\u6578\u8d77\u59cb\u8a2d\u5b9a URI"},
-
-    { ER_METHOD_NOT_SUPPORTED,
-      "\u65b9\u6cd5\u4e0d\u53d7\u652f\u63f4"},
-
-    { ER_INCRSAXSRCFILTER_NOT_RESTARTABLE,
-      "IncrementalSAXSource_Filter \u76ee\u524d\u7121\u6cd5\u91cd\u65b0\u555f\u52d5"},
-
-    { ER_XMLRDR_NOT_BEFORE_STARTPARSE,
-      "XMLReader \u6c92\u6709\u5728 startParse \u8981\u6c42\u4e4b\u524d"},
-
-    { ER_AXIS_TRAVERSER_NOT_SUPPORTED,
-      "\u4e0d\u652f\u63f4\u8ef8\u904d\u6b77\uff1a{0}"},
-
-    { ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER,
-      "\u4ee5\u7a7a\u503c PrintWriter \u5efa\u7acb\u7684 ListingErrorHandler\uff01"},
-
-    { ER_SYSTEMID_UNKNOWN,
-      "\u4e0d\u660e\u7684 SystemId"},
-
-    { ER_LOCATION_UNKNOWN,
-      "\u932f\u8aa4\u4f4d\u7f6e\u4e0d\u660e"},
-
-    { ER_PREFIX_MUST_RESOLVE,
-      "\u5b57\u9996\u5fc5\u9808\u89e3\u6790\u70ba\u540d\u7a31\u7a7a\u9593\uff1a{0}"},
-
-    { ER_CREATEDOCUMENT_NOT_SUPPORTED,
-      "\u5728 XPathContext \u4e2d\u4e0d\u652f\u63f4 createDocument()"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT,
-      "\u5c6c\u6027\u5b50\u9805\u5143\u4ef6\u6c92\u6709\u64c1\u6709\u8005\u6587\u4ef6\uff01"},
-
-    { ER_CHILD_HAS_NO_OWNER_DOCUMENT_ELEMENT,
-      "\u5c6c\u6027\u5b50\u9805\u5143\u4ef6\u6c92\u6709\u64c1\u6709\u8005\u6587\u4ef6\u5143\u7d20\uff01"},
-
-    { ER_CANT_OUTPUT_TEXT_BEFORE_DOC,
-      "\u8b66\u544a\uff1a\u4e0d\u80fd\u8f38\u51fa\u6587\u4ef6\u5143\u7d20\u4e4b\u524d\u7684\u6587\u5b57\uff01\u5ffd\u7565..."},
-
-    { ER_CANT_HAVE_MORE_THAN_ONE_ROOT,
-      "\u4e00\u500b DOM \u53ea\u80fd\u6709\u4e00\u500b\u6839\u76ee\u9304\uff01"},
-
-    { ER_ARG_LOCALNAME_NULL,
-       "\u5f15\u6578 'localName' \u70ba\u7a7a\u503c"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The localname is the portion after the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_LOCALNAME_INVALID,
-       "QNAME \u4e2d\u7684\u672c\u7aef\u540d\u7a31\u61c9\u8a72\u662f\u6709\u6548\u7684 NCName"},
-
-    // Note to translators:  A QNAME has the syntactic form [NCName:]NCName
-    // The prefix is the portion before the optional colon; the message indicates
-    // that there is a problem with that part of the QNAME.
-    { ER_ARG_PREFIX_INVALID,
-       "QNAME \u4e2d\u7684\u5b57\u9996\u61c9\u8a72\u662f\u6709\u6548\u7684 NCName"},
-
-    { ER_NAME_CANT_START_WITH_COLON,
-      "\u540d\u7a31\u7684\u958b\u982d\u4e0d\u53ef\u70ba\u5192\u865f"},
-
-    { "BAD_CODE", "createMessage \u7684\u53c3\u6578\u8d85\u51fa\u754c\u9650"},
-    { "FORMAT_FAILED", "\u5728 messageFormat \u547c\u53eb\u671f\u9593\u64f2\u51fa\u7570\u5e38"},
-    { "line", "\u884c\u865f"},
-    { "column","\u6b04\u865f"}
-
-
-  };
-  }
-
-  /**
-   *   Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   *   of ResourceBundle.getBundle().
-   *
-   *   @param className the name of the class that implements the resource bundle.
-   *   @return the ResourceBundle
-   *   @throws MissingResourceException
-   */
-  public static final XMLErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XMLErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XMLErrorResources) ResourceBundle.getBundle(className,
-                new Locale("zh", "TW"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/res/XMLMessages.java b/libcore/xml/src/main/java/org/apache/xml/res/XMLMessages.java
index 2d26876..9a2412e 100644
--- a/libcore/xml/src/main/java/org/apache/xml/res/XMLMessages.java
+++ b/libcore/xml/src/main/java/org/apache/xml/res/XMLMessages.java
@@ -36,11 +36,7 @@
   protected Locale fLocale = Locale.getDefault();
 
   /** The language specific resource object for XML messages.  */
-  private static ListResourceBundle XMLBundle = null;
-
-  /** The class name of the XML error message string table.    */
-  private static final String XML_ERROR_RESOURCES =
-    "org.apache.xml.res.XMLErrorResources";
+  private static ListResourceBundle XMLBundle = new XMLErrorResources(); // android-changed
 
   /** String to use if a bad message code is used. */
   protected static final String BAD_CODE = "BAD_CODE";
@@ -80,15 +76,10 @@
    */
   public static final String createXMLMessage(String msgKey, Object args[])
   {
-    if (XMLBundle == null)
-      XMLBundle = loadResourceBundle(XML_ERROR_RESOURCES);
-    
-    if (XMLBundle != null)
-    {
+      // BEGIN android-changed
+      //     don't localize exceptions
       return createMsg(XMLBundle, msgKey, args);
-    }
-    else
-      return "Could not load any resource bundles.";
+      // END android-changed
   }
 
   /**
@@ -153,62 +144,4 @@
 
     return fmsg;
   }
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className The class name of the resource bundle.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static ListResourceBundle loadResourceBundle(String className)
-          throws MissingResourceException
-  {    
-    Locale locale = Locale.getDefault();
-
-    try
-    {
-      return (ListResourceBundle)ResourceBundle.getBundle(className, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (ListResourceBundle)ResourceBundle.getBundle(
-          className, new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles." + className, className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which can be appended to a resource name
-   */
-  protected static String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
 }
diff --git a/libcore/xml/src/main/java/org/apache/xml/serializer/EmptySerializer.java b/libcore/xml/src/main/java/org/apache/xml/serializer/EmptySerializer.java
deleted file mode 100644
index 215eef4..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/serializer/EmptySerializer.java
+++ /dev/null
@@ -1,787 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: EmptySerializer.java 471981 2006-11-07 04:28:00Z minchau $
- */
-package org.apache.xml.serializer;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.util.Hashtable;
-import java.util.Properties;
-import java.util.Vector;
-
-import javax.xml.transform.SourceLocator;
-import javax.xml.transform.Transformer;
-
-import org.w3c.dom.Node;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * This class is an adapter class. Its only purpose is to be extended and
- * for that extended class to over-ride all methods that are to be used. 
- * 
- * This class is not a public API, it is only public because it is used
- * across package boundaries.
- * 
- * @xsl.usage internal
- */
-public class EmptySerializer implements SerializationHandler
-{
-    protected static final String ERR = "EmptySerializer method not over-ridden";
-    /**
-     * @see SerializationHandler#asContentHandler()
-     */
-    
-    protected void couldThrowIOException() throws IOException
-    {
-        return; // don't do anything.
-    }
-    
-    protected void couldThrowSAXException() throws SAXException
-    {
-        return; // don't do anything.
-    }
-    
-    protected void couldThrowSAXException(char[] chars, int off, int len) throws SAXException
-    {
-        return; // don't do anything.
-    }
-    
-    protected void couldThrowSAXException(String elemQName) throws SAXException
-    {
-        return; // don't do anything.
-    }
-    
-    protected void couldThrowException() throws Exception
-    {
-        return; // don't do anything.
-    }
-
-    void aMethodIsCalled()
-    {
-
-        // throw new RuntimeException(err);
-        return;
-    }
-  
-    
-    /**
-     * @see SerializationHandler#asContentHandler()
-     */
-    public ContentHandler asContentHandler() throws IOException
-    {
-        couldThrowIOException();
-        return null;
-    }
-    /**
-     * @see SerializationHandler#setContentHandler(org.xml.sax.ContentHandler)
-     */
-    public void setContentHandler(ContentHandler ch)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#close()
-     */
-    public void close()
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#getOutputFormat()
-     */
-    public Properties getOutputFormat()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see SerializationHandler#getOutputStream()
-     */
-    public OutputStream getOutputStream()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see SerializationHandler#getWriter()
-     */
-    public Writer getWriter()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see SerializationHandler#reset()
-     */
-    public boolean reset()
-    {
-        aMethodIsCalled();
-        return false;
-    }
-    /**
-     * @see SerializationHandler#serialize(org.w3c.dom.Node)
-     */
-    public void serialize(Node node) throws IOException
-    {
-        couldThrowIOException();
-    }
-    /**
-     * @see SerializationHandler#setCdataSectionElements(java.util.Vector)
-     */
-    public void setCdataSectionElements(Vector URI_and_localNames)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#setEscaping(boolean)
-     */
-    public boolean setEscaping(boolean escape) throws SAXException
-    {
-        couldThrowSAXException();
-        return false;
-    }
-    /**
-     * @see SerializationHandler#setIndent(boolean)
-     */
-    public void setIndent(boolean indent)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#setIndentAmount(int)
-     */
-    public void setIndentAmount(int spaces)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#setOutputFormat(java.util.Properties)
-     */
-    public void setOutputFormat(Properties format)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#setOutputStream(java.io.OutputStream)
-     */
-    public void setOutputStream(OutputStream output)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#setVersion(java.lang.String)
-     */
-    public void setVersion(String version)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#setWriter(java.io.Writer)
-     */
-    public void setWriter(Writer writer)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#setTransformer(javax.xml.transform.Transformer)
-     */
-    public void setTransformer(Transformer transformer)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see SerializationHandler#getTransformer()
-     */
-    public Transformer getTransformer()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see SerializationHandler#flushPending()
-     */
-    public void flushPending() throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see ExtendedContentHandler#addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void addAttribute(
-        String uri,
-        String localName,
-        String rawName,
-        String type,
-        String value,
-        boolean XSLAttribute)        
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see ExtendedContentHandler#addAttributes(org.xml.sax.Attributes)
-     */
-    public void addAttributes(Attributes atts) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see ExtendedContentHandler#addAttribute(java.lang.String, java.lang.String)
-     */
-    public void addAttribute(String name, String value)
-    {
-        aMethodIsCalled();
-    }
-
-    /**
-     * @see ExtendedContentHandler#characters(java.lang.String)
-     */
-    public void characters(String chars) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see ExtendedContentHandler#endElement(java.lang.String)
-     */
-    public void endElement(String elemName) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see ExtendedContentHandler#startDocument()
-     */
-    public void startDocument() throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see ExtendedContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void startElement(String uri, String localName, String qName)
-        throws SAXException
-    {
-        couldThrowSAXException(qName);
-    }
-    /**
-     * @see ExtendedContentHandler#startElement(java.lang.String)
-     */
-    public void startElement(String qName) throws SAXException
-    {
-        couldThrowSAXException(qName);
-    }
-    /**
-     * @see ExtendedContentHandler#namespaceAfterStartElement(java.lang.String, java.lang.String)
-     */
-    public void namespaceAfterStartElement(String uri, String prefix)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see ExtendedContentHandler#startPrefixMapping(java.lang.String, java.lang.String, boolean)
-     */
-    public boolean startPrefixMapping(
-        String prefix,
-        String uri,
-        boolean shouldFlush)
-        throws SAXException
-    {
-        couldThrowSAXException();
-        return false;
-    }
-    /**
-     * @see ExtendedContentHandler#entityReference(java.lang.String)
-     */
-    public void entityReference(String entityName) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see ExtendedContentHandler#getNamespaceMappings()
-     */
-    public NamespaceMappings getNamespaceMappings()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see ExtendedContentHandler#getPrefix(java.lang.String)
-     */
-    public String getPrefix(String uri)
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see ExtendedContentHandler#getNamespaceURI(java.lang.String, boolean)
-     */
-    public String getNamespaceURI(String name, boolean isElement)
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see ExtendedContentHandler#getNamespaceURIFromPrefix(java.lang.String)
-     */
-    public String getNamespaceURIFromPrefix(String prefix)
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#setDocumentLocator(org.xml.sax.Locator)
-     */
-    public void setDocumentLocator(Locator arg0)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#endDocument()
-     */
-    public void endDocument() throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#startPrefixMapping(java.lang.String, java.lang.String)
-     */
-    public void startPrefixMapping(String arg0, String arg1)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#endPrefixMapping(java.lang.String)
-     */
-    public void endPrefixMapping(String arg0) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
-     */
-    public void startElement(
-        String arg0,
-        String arg1,
-        String arg2,
-        Attributes arg3)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void endElement(String arg0, String arg1, String arg2)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-     */
-    public void characters(char[] arg0, int arg1, int arg2) throws SAXException
-    {
-        couldThrowSAXException(arg0, arg1, arg2);
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#ignorableWhitespace(char[], int, int)
-     */
-    public void ignorableWhitespace(char[] arg0, int arg1, int arg2)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#processingInstruction(java.lang.String, java.lang.String)
-     */
-    public void processingInstruction(String arg0, String arg1)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ContentHandler#skippedEntity(java.lang.String)
-     */
-    public void skippedEntity(String arg0) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see ExtendedLexicalHandler#comment(java.lang.String)
-     */
-    public void comment(String comment) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.LexicalHandler#startDTD(java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void startDTD(String arg0, String arg1, String arg2)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.LexicalHandler#endDTD()
-     */
-    public void endDTD() throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.LexicalHandler#startEntity(java.lang.String)
-     */
-    public void startEntity(String arg0) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.LexicalHandler#endEntity(java.lang.String)
-     */
-    public void endEntity(String arg0) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.LexicalHandler#startCDATA()
-     */
-    public void startCDATA() throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.LexicalHandler#endCDATA()
-     */
-    public void endCDATA() throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.LexicalHandler#comment(char[], int, int)
-     */
-    public void comment(char[] arg0, int arg1, int arg2) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see XSLOutputAttributes#getDoctypePublic()
-     */
-    public String getDoctypePublic()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see XSLOutputAttributes#getDoctypeSystem()
-     */
-    public String getDoctypeSystem()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see XSLOutputAttributes#getEncoding()
-     */
-    public String getEncoding()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see XSLOutputAttributes#getIndent()
-     */
-    public boolean getIndent()
-    {
-        aMethodIsCalled();
-        return false;
-    }
-    /**
-     * @see XSLOutputAttributes#getIndentAmount()
-     */
-    public int getIndentAmount()
-    {
-        aMethodIsCalled();
-        return 0;
-    }
-    /**
-     * @see XSLOutputAttributes#getMediaType()
-     */
-    public String getMediaType()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see XSLOutputAttributes#getOmitXMLDeclaration()
-     */
-    public boolean getOmitXMLDeclaration()
-    {
-        aMethodIsCalled();
-        return false;
-    }
-    /**
-     * @see XSLOutputAttributes#getStandalone()
-     */
-    public String getStandalone()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see XSLOutputAttributes#getVersion()
-     */
-    public String getVersion()
-    {
-        aMethodIsCalled();
-        return null;
-    }
-    /**
-     * @see XSLOutputAttributes#setCdataSectionElements
-     */
-    public void setCdataSectionElements(Hashtable h) throws Exception
-    {
-        couldThrowException();
-    }
-    /**
-     * @see XSLOutputAttributes#setDoctype(java.lang.String, java.lang.String)
-     */
-    public void setDoctype(String system, String pub)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see XSLOutputAttributes#setDoctypePublic(java.lang.String)
-     */
-    public void setDoctypePublic(String doctype)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see XSLOutputAttributes#setDoctypeSystem(java.lang.String)
-     */
-    public void setDoctypeSystem(String doctype)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see XSLOutputAttributes#setEncoding(java.lang.String)
-     */
-    public void setEncoding(String encoding)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see XSLOutputAttributes#setMediaType(java.lang.String)
-     */
-    public void setMediaType(String mediatype)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see XSLOutputAttributes#setOmitXMLDeclaration(boolean)
-     */
-    public void setOmitXMLDeclaration(boolean b)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see XSLOutputAttributes#setStandalone(java.lang.String)
-     */
-    public void setStandalone(String standalone)
-    {
-        aMethodIsCalled();
-    }
-    /**
-     * @see org.xml.sax.ext.DeclHandler#elementDecl(java.lang.String, java.lang.String)
-     */
-    public void elementDecl(String arg0, String arg1) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.DeclHandler#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void attributeDecl(
-        String arg0,
-        String arg1,
-        String arg2,
-        String arg3,
-        String arg4)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.DeclHandler#internalEntityDecl(java.lang.String, java.lang.String)
-     */
-    public void internalEntityDecl(String arg0, String arg1)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ext.DeclHandler#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void externalEntityDecl(String arg0, String arg1, String arg2)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
-     */
-    public void warning(SAXParseException arg0) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
-     */
-    public void error(SAXParseException arg0) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
-     */
-    public void fatalError(SAXParseException arg0) throws SAXException
-    {
-        couldThrowSAXException();
-    }
-    /**
-     * @see Serializer#asDOMSerializer()
-     */
-    public DOMSerializer asDOMSerializer() throws IOException
-    {
-        couldThrowIOException();
-        return null;
-    }
-
-    /**
-     * @see SerializationHandler#setNamespaceMappings(NamespaceMappings)
-     */
-    public void setNamespaceMappings(NamespaceMappings mappings) {
-        aMethodIsCalled();
-    }
-    
-    /**
-     * @see ExtendedContentHandler#setSourceLocator(javax.xml.transform.SourceLocator)
-     */
-    public void setSourceLocator(SourceLocator locator)
-    {
-        aMethodIsCalled();
-    }
-
-    /**
-     * @see ExtendedContentHandler#addUniqueAttribute(java.lang.String, java.lang.String, int)
-     */
-    public void addUniqueAttribute(String name, String value, int flags)
-        throws SAXException
-    {
-        couldThrowSAXException();
-    }
-
-    /**
-     * @see ExtendedContentHandler#characters(org.w3c.dom.Node)
-     */
-    public void characters(Node node) throws SAXException
-    {
-        couldThrowSAXException();        
-    }
-    
-    /**
-     * @see ExtendedContentHandler#addXSLAttribute(java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void addXSLAttribute(String qName, String value, String uri)
-    {
-        aMethodIsCalled();        
-    }
-
-    /**
-     * @see ExtendedContentHandler#addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void addAttribute(String uri, String localName, String rawName, String type, String value) throws SAXException 
-    {
-        couldThrowSAXException();        
-    }
-    /**
-     * @see org.xml.sax.DTDHandler#notationDecl(java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void notationDecl(String arg0, String arg1, String arg2) throws SAXException 
-    {
-        couldThrowSAXException(); 
-    }
-
-    /**
-     * @see org.xml.sax.DTDHandler#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-     */
-    public void unparsedEntityDecl(
-        String arg0,
-        String arg1,
-        String arg2,
-        String arg3)
-        throws SAXException {
-        couldThrowSAXException();
-    }
-
-    /**
-     * @see SerializationHandler#setDTDEntityExpansion(boolean)
-     */
-    public void setDTDEntityExpansion(boolean expand) {
-        aMethodIsCalled();
-
-    }
-    
-
-    public String getOutputProperty(String name) {
-        aMethodIsCalled();
-        return null;
-    }
-
-    public String getOutputPropertyDefault(String name) {
-        aMethodIsCalled();
-        return null;
-    }
-
-    public void setOutputProperty(String name, String val) {
-        aMethodIsCalled();
-        
-    }
-
-    public void setOutputPropertyDefault(String name, String val) {
-        aMethodIsCalled();
-        
-    }
-
-    /**
-     * @see org.apache.xml.serializer.Serializer#asDOM3Serializer()
-     */
-    public Object asDOM3Serializer() throws IOException
-    {
-        couldThrowIOException();
-        return null;
-    }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/serializer/ToHTMLSAXHandler.java b/libcore/xml/src/main/java/org/apache/xml/serializer/ToHTMLSAXHandler.java
deleted file mode 100644
index b66ecdd..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/serializer/ToHTMLSAXHandler.java
+++ /dev/null
@@ -1,748 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ToHTMLSAXHandler.java 475978 2006-11-16 23:31:20Z minchau $
- */
-
-package org.apache.xml.serializer;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.util.Properties;
-
-import javax.xml.transform.Result;
-
-import org.w3c.dom.Node;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.LexicalHandler;
-
-/**
- * This class accepts SAX-like calls, then sends true SAX calls to a
- * wrapped SAX handler.  There is optimization done knowing that the ultimate
- * output is HTML.
- * 
- * This class is not a public API.
- * 
- * @deprecated As of Xalan 2.7.1, replaced by the use of {@link ToXMLSAXHandler}.
- * 
- * @xsl.usage internal
- */
-public final class ToHTMLSAXHandler extends ToSAXHandler
-{
-	/**
-	 *  Handle document type declaration (for first element only)
-	 */
-	private boolean m_dtdHandled = false;
-	
-    /**
-     * Keeps track of whether output escaping is currently enabled
-     */
-    protected boolean m_escapeSetting = true;
-
-    /**
-     * Returns null.
-     * @return null
-     * @see Serializer#getOutputFormat()
-     */
-    public Properties getOutputFormat()
-    {
-        return null;
-    }
-
-    /**
-     * Reurns null
-     * @return null
-     * @see Serializer#getOutputStream()
-     */
-    public OutputStream getOutputStream()
-    {
-        return null;
-    }
-
-    /**
-     * Returns null
-     * @return null
-     * @see Serializer#getWriter()
-     */
-    public Writer getWriter()
-    {
-        return null;
-    }
-
-    /**
-     * Does nothing.
-     *
-     */
-    public void indent(int n) throws SAXException
-    {
-    }
-
-    /**
-     * Does nothing.
-     * @see DOMSerializer#serialize(Node)
-     */
-    public void serialize(Node node) throws IOException
-    {
-        return;
-    }
-
-    /**
-     * Turns special character escaping on/off.
-     *
-     *
-     * @param escape true if escaping is to be set on.
-     *
-     * @see SerializationHandler#setEscaping(boolean)
-     */
-    public boolean setEscaping(boolean escape) throws SAXException
-    {
-        boolean oldEscapeSetting = m_escapeSetting;
-        m_escapeSetting = escape;
-
-        if (escape) {
-            processingInstruction(Result.PI_ENABLE_OUTPUT_ESCAPING, "");
-        } else {
-            processingInstruction(Result.PI_DISABLE_OUTPUT_ESCAPING, "");
-        }
-
-        return oldEscapeSetting;
-    }
-
-    /**
-     * Does nothing
-     * @param indent the number of spaces to indent per indentation level
-     * (ignored)
-     * @see SerializationHandler#setIndent(boolean)
-     */
-    public void setIndent(boolean indent)
-    {
-    }
-
-    /**
-     * Does nothing.
-     * @param format this parameter is not used
-     * @see Serializer#setOutputFormat(Properties)
-     */
-    public void setOutputFormat(Properties format)
-    {
-    }
-
-    /**
-     * Does nothing.
-     * @param output this parameter is ignored
-     * @see Serializer#setOutputStream(OutputStream)
-     */
-    public void setOutputStream(OutputStream output)
-    {
-    }
-
-
-    /**
-     * Does nothing.
-     * @param writer this parameter is ignored.
-     * @see Serializer#setWriter(Writer)
-     */
-    public void setWriter(Writer writer)
-    {
-    }
-
-    /**
-     * @see org.xml.sax.ext.DeclHandler#attributeDecl(String, String, String, String, String)
-     */
-    /**
-     * Does nothing.
-     *
-     * @param eName this parameter is ignored
-     * @param aName this parameter is ignored
-     * @param type this parameter is ignored
-     * @param valueDefault this parameter is ignored
-     * @param value this parameter is ignored
-     * @see org.xml.sax.ext.DeclHandler#attributeDecl(String, String, String,String,String)
-     */    
-    public void attributeDecl(
-        String eName,
-        String aName,
-        String type,
-        String valueDefault,
-        String value)
-        throws SAXException
-    {
-    }
-
-
-    /**
-     * Does nothing.
-     * @see org.xml.sax.ext.DeclHandler#elementDecl(String, String)
-     */    
-    public void elementDecl(String name, String model) throws SAXException
-    {
-        return;
-    }
-
-    /**
-     * @see org.xml.sax.ext.DeclHandler#externalEntityDecl(String, String, String)
-     */
-    public void externalEntityDecl(String arg0, String arg1, String arg2)
-        throws SAXException
-    {
-    }
-
-    /**
-     * Does nothing.
-     *
-     * @see org.xml.sax.DTDHandler#unparsedEntityDecl
-     */
-    public void internalEntityDecl(String name, String value)
-        throws SAXException
-    {
-    }
-
-    /**
-     * Receive notification of the end of an element.
-     *
-     * <p>The SAX parser will invoke this method at the end of every
-     * element in the XML document; there will be a corresponding
-     * startElement() event for every endElement() event (even when the
-     * element is empty).</p>
-     *
-     * <p>If the element name has a namespace prefix, the prefix will
-     * still be attached to the name.</p>
-     *
-     *
-     * @param uri The Namespace URI, or the empty string if the
-     *        element has no Namespace URI or if Namespace
-     *        processing is not being performed.
-     * @param localName The local name (without prefix), or the
-     *        empty string if Namespace processing is not being
-     *        performed.
-     * @param qName The qualified name (with prefix), or the
-     *        empty string if qualified names are not available.
-     * @throws org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     * @see org.xml.sax.ContentHandler#endElement(String, String, String)
-     */
-    public void endElement(String uri, String localName, String qName)
-        throws SAXException
-    {
-        flushPending();
-        m_saxHandler.endElement(uri, localName, qName);
-        
-        // time to fire off endElement event
-        if (m_tracer != null)
-            super.fireEndElem(qName);
-    }
-
-    /**
-     * Does nothing.
-     */
-    public void endPrefixMapping(String prefix) throws SAXException
-    {
-    }
-
-    /**
-     * Does nothing.
-     * @see org.xml.sax.ContentHandler#ignorableWhitespace(char[], int, int)
-     */
-    public void ignorableWhitespace(char[] ch, int start, int length)
-        throws SAXException
-    {
-    }
-    
-    /**
-     * Receive notification of a processing instruction.
-     *
-     * <p>The Parser will invoke this method once for each processing
-     * instruction found: note that processing instructions may occur
-     * before or after the main document element.</p>
-     *
-     * <p>A SAX parser should never report an XML declaration (XML 1.0,
-     * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
-     * using this method.</p>
-     *
-     * @param target The processing instruction target.
-     * @param data The processing instruction data, or null if
-     *        none was supplied.
-     * @throws org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     *
-     * @throws org.xml.sax.SAXException
-     * @see org.xml.sax.ContentHandler#processingInstruction(String, String)
-     */
-    public void processingInstruction(String target, String data)
-        throws SAXException
-    {
-        flushPending();
-        m_saxHandler.processingInstruction(target,data);
-
-		// time to fire off processing instruction event
-		
-        if (m_tracer != null)		
-		    super.fireEscapingEvent(target,data);        
-    }
-
-    /**
-     * Does nothing.  
-     * @see org.xml.sax.ContentHandler#setDocumentLocator(Locator)
-     */
-    public void setDocumentLocator(Locator arg0)
-    {
-        // do nothing
-    }
-
-    /**
-     * Does nothing.
-     * @see org.xml.sax.ContentHandler#skippedEntity(String)
-     */
-    public void skippedEntity(String arg0) throws SAXException
-    {
-    }
-
-    /**
-     * Receive notification of the beginning of an element, although this is a
-     * SAX method additional namespace or attribute information can occur before
-     * or after this call, that is associated with this element.
-     *
-     *
-     * @param namespaceURI The Namespace URI, or the empty string if the
-     *        element has no Namespace URI or if Namespace
-     *        processing is not being performed.
-     * @param localName The local name (without prefix), or the
-     *        empty string if Namespace processing is not being
-     *        performed.
-     * @param qName The elements name.
-     * @param atts The attributes attached to the element, if any.
-     * @throws org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     * @see org.xml.sax.ContentHandler#startElement
-     * @see org.xml.sax.ContentHandler#endElement
-     * @see org.xml.sax.AttributeList
-     *
-     * @throws org.xml.sax.SAXException
-     *
-     * @see org.xml.sax.ContentHandler#startElement(String, String, String, Attributes)
-     */
-    public void startElement(
-        String namespaceURI,
-        String localName,
-        String qName,
-        Attributes atts)
-        throws SAXException
-    {
-        flushPending();
-        super.startElement(namespaceURI, localName, qName, atts);
-        m_saxHandler.startElement(namespaceURI, localName, qName, atts);
-        m_elemContext.m_startTagOpen = false;
-    }
-
-    /**
-     * Receive notification of a comment anywhere in the document. This callback
-     * will be used for comments inside or outside the document element.
-     * @param ch An array holding the characters in the comment.
-     * @param start The starting position in the array.
-     * @param length The number of characters to use from the array.
-     * @throws org.xml.sax.SAXException The application may raise an exception.
-     *
-     * @see org.xml.sax.ext.LexicalHandler#comment(char[], int, int)
-     */
-    public void comment(char[] ch, int start, int length) throws SAXException
-    {
-        flushPending();
-        if (m_lexHandler != null)
-            m_lexHandler.comment(ch, start, length);
-
-        // time to fire off comment event
-        if (m_tracer != null)
-            super.fireCommentEvent(ch, start, length);
-        return;
-    }
-
-    /**
-     * Does nothing.
-     * @see org.xml.sax.ext.LexicalHandler#endCDATA()
-     */
-    public void endCDATA() throws SAXException
-    {
-        return;
-    }
-
-    /**
-     * Does nothing.
-     * @see org.xml.sax.ext.LexicalHandler#endDTD()
-     */
-    public void endDTD() throws SAXException
-    {
-    }
-
-    /**
-     * Does nothing.
-     * @see org.xml.sax.ext.LexicalHandler#startCDATA()
-     */
-    public void startCDATA() throws SAXException
-    {
-    }
-
-    /**
-     * Does nothing.
-     * @see org.xml.sax.ext.LexicalHandler#startEntity(String)
-     */
-    public void startEntity(String arg0) throws SAXException
-    {
-    }
-
-    /**
-     * Receive notification of the end of a document.
-     *
-     * <p>The SAX parser will invoke this method only once, and it will
-     * be the last method invoked during the parse.  The parser shall
-     * not invoke this method until it has either abandoned parsing
-     * (because of an unrecoverable error) or reached the end of
-     * input.</p>
-     *
-     * @throws org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     *
-     * @throws org.xml.sax.SAXException
-     *
-     *
-     */
-    public void endDocument() throws SAXException
-    {
-        flushPending();
-
-        // Close output document
-        m_saxHandler.endDocument();
-
-        if (m_tracer != null)
-            super.fireEndDoc();        
-    }
-
-    /**
-     * This method is called when all the data needed for a call to the
-     * SAX handler's startElement() method has been gathered.
-     */
-    protected void closeStartTag() throws SAXException
-    {
-
-        m_elemContext.m_startTagOpen = false;
-
-        // Now is time to send the startElement event
-        m_saxHandler.startElement(
-            EMPTYSTRING,
-            m_elemContext.m_elementName,
-            m_elemContext.m_elementName,
-            m_attributes);
-        m_attributes.clear();       
-
-    }
-
-    /**
-     * Do nothing.
-     * @see SerializationHandler#close()
-     */
-    public void close()
-    {
-        return;
-    }
-
-    /**
-     * Receive notification of character data.
-     *
-     * @param chars The string of characters to process.
-     *
-     * @throws org.xml.sax.SAXException
-     *
-     * @see ExtendedContentHandler#characters(String)
-     */
-    public void characters(final String chars) throws SAXException
-    {
-        final int length = chars.length();
-        if (length > m_charsBuff.length)
-        {
-            m_charsBuff = new char[length * 2 + 1];
-        }
-        chars.getChars(0, length, m_charsBuff, 0);        
-        this.characters(m_charsBuff, 0, length);
-    }
-
-
-    /**
-     * A constructor
-     * @param handler the wrapped SAX content handler
-     * @param encoding the encoding of the output HTML document
-     */
-    public ToHTMLSAXHandler(ContentHandler handler, String encoding)
-    {
-        super(handler,encoding);
-    }
-    /**
-     * A constructor.
-     * @param handler the wrapped SAX content handler
-     * @param lex the wrapped lexical handler
-     * @param encoding the encoding of the output HTML document
-     */
-    public ToHTMLSAXHandler(
-        ContentHandler handler,
-        LexicalHandler lex,
-        String encoding)
-    {
-        super(handler,lex,encoding);
-    }
-
-    /**
-     * An element starts, but attributes are not fully known yet.
-     *
-     * @param elementNamespaceURI the URI of the namespace of the element
-     * (optional)
-     * @param elementLocalName the element name, but without prefix
-     * (optional)
-     * @param elementName the element name, with prefix, if any (required)
-     *
-     * @see ExtendedContentHandler#startElement(String)
-     */
-    public void startElement(
-        String elementNamespaceURI,
-        String elementLocalName,
-        String elementName) throws SAXException
-    {
-
-        super.startElement(elementNamespaceURI, elementLocalName, elementName);
-
-        flushPending();
-
-        // Handle document type declaration (for first element only)
-        if (!m_dtdHandled)
-        {
-            String doctypeSystem = getDoctypeSystem();
-            String doctypePublic = getDoctypePublic();
-            if ((doctypeSystem != null) || (doctypePublic != null)) {
-                if (m_lexHandler != null)
-                    m_lexHandler.startDTD(
-                        elementName,
-                        doctypePublic,
-                        doctypeSystem);
-            }
-			m_dtdHandled = true;
-        }
-        m_elemContext = m_elemContext.push(elementNamespaceURI, elementLocalName, elementName);
-    }
-    /**
-     * An element starts, but attributes are not fully known yet.
-     *
-     * @param elementName the element name, with prefix, if any
-     *
-     * @see ExtendedContentHandler#startElement(String)
-     */
-    public void startElement(String elementName) throws SAXException
-    {
-        this.startElement(null,null, elementName);
-    }
-    
-    /**
-     * Receive notification of the end of an element.
-     * @param elementName The element type name
-     * @throws org.xml.sax.SAXException Any SAX exception, possibly
-     *     wrapping another exception.
-     *
-     * @see ExtendedContentHandler#endElement(String)
-     */
-    public void endElement(String elementName) throws SAXException
-    {
-        flushPending();
-        m_saxHandler.endElement(EMPTYSTRING, elementName, elementName);
-
-        // time to fire off endElement event
-		if (m_tracer != null)
-            super.fireEndElem(elementName);        
-    }
-
-    /**
-     * Receive notification of character data.
-     *
-     * <p>The Parser will call this method to report each chunk of
-     * character data.  SAX parsers may return all contiguous character
-     * data in a single chunk, or they may split it into several
-     * chunks; however, all of the characters in any single event
-     * must come from the same external entity, so that the Locator
-     * provides useful information.</p>
-     *
-     * <p>The application must not attempt to read from the array
-     * outside of the specified range.</p>
-     *
-     * <p>Note that some parsers will report whitespace using the
-     * ignorableWhitespace() method rather than this one (validating
-     * parsers must do so).</p>
-     *
-     * @param ch The characters from the XML document.
-     * @param off The start position in the array.
-     * @param len The number of characters to read from the array.
-     * @throws org.xml.sax.SAXException Any SAX exception, possibly
-     *            wrapping another exception.
-     * @see #ignorableWhitespace
-     * @see org.xml.sax.Locator
-     *
-     * @throws org.xml.sax.SAXException
-     *
-     * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-     */
-    public void characters(char[] ch, int off, int len) throws SAXException
-    {
-
-        flushPending();
-        m_saxHandler.characters(ch, off, len);
-
-        // time to fire off characters event
-		if (m_tracer != null)
-            super.fireCharEvent(ch, off, len);        
-    }
-
-    /**
-     * This method flushes any pending events, which can be startDocument()
-     * closing the opening tag of an element, or closing an open CDATA section.
-     */
-    public void flushPending() throws SAXException
-    {
-		if (m_needToCallStartDocument)
-		{
-			startDocumentInternal();
-			m_needToCallStartDocument = false;
-		}       	
-        // Close any open element
-        if (m_elemContext.m_startTagOpen)
-        {
-            closeStartTag();
-            m_elemContext.m_startTagOpen = false;
-        }
-    }
-    /**
-     * Handle a prefix/uri mapping, which is associated with a startElement()
-     * that is soon to follow. Need to close any open start tag to make
-     * sure than any name space attributes due to this event are associated wih
-     * the up comming element, not the current one.
-     * @see ExtendedContentHandler#startPrefixMapping
-     *
-     * @param prefix The Namespace prefix being declared.
-     * @param uri The Namespace URI the prefix is mapped to.
-     * @param shouldFlush true if any open tags need to be closed first, this
-     * will impact which element the mapping applies to (open parent, or its up
-     * comming child)
-     * @return returns true if the call made a change to the current
-     * namespace information, false if it did not change anything, e.g. if the
-     * prefix/namespace mapping was already in scope from before.
-     *
-     * @throws org.xml.sax.SAXException The client may throw
-     *            an exception during processing.
-     */    
-    public boolean startPrefixMapping(
-        String prefix,
-        String uri,
-        boolean shouldFlush)
-        throws SAXException
-    {
-        // no namespace support for HTML
-        if (shouldFlush) 
-            flushPending();   
-        m_saxHandler.startPrefixMapping(prefix,uri);
-        return false;
-    }
-
-    /**
-     * Begin the scope of a prefix-URI Namespace mapping
-     * just before another element is about to start.
-     * This call will close any open tags so that the prefix mapping
-     * will not apply to the current element, but the up comming child.
-     *
-     * @see org.xml.sax.ContentHandler#startPrefixMapping
-     *
-     * @param prefix The Namespace prefix being declared.
-     * @param uri The Namespace URI the prefix is mapped to.
-     *
-     * @throws org.xml.sax.SAXException The client may throw
-     *            an exception during processing.
-     *
-     */
-    public void startPrefixMapping(String prefix, String uri)
-        throws org.xml.sax.SAXException
-    {
-        startPrefixMapping(prefix,uri,true);        
-    }
-
-    /**
-     * This method is used when a prefix/uri namespace mapping
-     * is indicated after the element was started with a
-     * startElement() and before and endElement().
-     * startPrefixMapping(prefix,uri) would be used before the
-     * startElement() call.
-     * @param prefix the prefix associated with the given URI.
-     * @param uri the URI of the namespace
-     *
-     * @see ExtendedContentHandler#namespaceAfterStartElement(String, String)
-     */
-    public void namespaceAfterStartElement(
-        final String prefix,
-        final String uri)
-        throws SAXException
-    {
-        // hack for XSLTC with finding URI for default namespace
-        if (m_elemContext.m_elementURI == null)
-        {
-            String prefix1 = getPrefixPart(m_elemContext.m_elementName);
-            if (prefix1 == null && EMPTYSTRING.equals(prefix))
-            {
-                // the elements URI is not known yet, and it
-                // doesn't have a prefix, and we are currently
-                // setting the uri for prefix "", so we have
-                // the uri for the element... lets remember it
-                m_elemContext.m_elementURI = uri;
-            }
-        }       
-        startPrefixMapping(prefix,uri,false);
-    }
-    
-    /**
-     * Try's to reset the super class and reset this class for 
-     * re-use, so that you don't need to create a new serializer 
-     * (mostly for performance reasons).
-     * 
-     * @return true if the class was successfuly reset.
-     * @see Serializer#reset()
-     */
-    public boolean reset()
-    {
-        boolean wasReset = false;
-        if (super.reset())
-        {
-            resetToHTMLSAXHandler();
-            wasReset = true;
-        }
-        return wasReset;
-    }
-    
-    /**
-     * Reset all of the fields owned by ToHTMLSAXHandler class
-     *
-     */
-    private void resetToHTMLSAXHandler()
-    {
-        this.m_dtdHandled = false;
-        this.m_escapeSetting = true;
-    }  
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/serializer/utils/BoolStack.java b/libcore/xml/src/main/java/org/apache/xml/serializer/utils/BoolStack.java
deleted file mode 100644
index e919ab3..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/serializer/utils/BoolStack.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: BoolStack.java 468654 2006-10-28 07:09:23Z minchau $
- */
-package org.apache.xml.serializer.utils;
-
-
-/**
- * Simple stack for boolean values.
- * 
- * This class is a copy of the one in org.apache.xml.utils. 
- * It exists to cut the serializers dependancy on that package.
- * A minor changes from that package are:
- * doesn't implement Clonable
- *  
- * This class is not a public API, it is only public because it is 
- * used in org.apache.xml.serializer.
- * 
- * @xsl.usage internal
- */
-public final class BoolStack
-{
-
-  /** Array of boolean values          */
-  private boolean m_values[];
-
-  /** Array size allocated           */
-  private int m_allocatedSize;
-
-  /** Index into the array of booleans          */
-  private int m_index;
-
-  /**
-   * Default constructor.  Note that the default
-   * block size is very small, for small lists.
-   */
-  public BoolStack()
-  {
-    this(32);
-  }
-
-  /**
-   * Construct a IntVector, using the given block size.
-   *
-   * @param size array size to allocate
-   */
-  public BoolStack(int size)
-  {
-
-    m_allocatedSize = size;
-    m_values = new boolean[size];
-    m_index = -1;
-  }
-
-  /**
-   * Get the length of the list.
-   *
-   * @return Current length of the list
-   */
-  public final int size()
-  {
-    return m_index + 1;
-  }
-
-  /**
-   * Clears the stack.
-   *
-   */
-  public final void clear()
-  {
-    m_index = -1;
-  }
-
-  /**
-   * Pushes an item onto the top of this stack.
-   *
-   *
-   * @param val the boolean to be pushed onto this stack.
-   * @return  the <code>item</code> argument.
-   */
-  public final boolean push(boolean val)
-  {
-
-    if (m_index == m_allocatedSize - 1)
-      grow();
-
-    return (m_values[++m_index] = val);
-  }
-
-  /**
-   * Removes the object at the top of this stack and returns that
-   * object as the value of this function.
-   *
-   * @return     The object at the top of this stack.
-   * @throws  EmptyStackException  if this stack is empty.
-   */
-  public final boolean pop()
-  {
-    return m_values[m_index--];
-  }
-
-  /**
-   * Removes the object at the top of this stack and returns the
-   * next object at the top as the value of this function.
-   *
-   *
-   * @return Next object to the top or false if none there
-   */
-  public final boolean popAndTop()
-  {
-
-    m_index--;
-
-    return (m_index >= 0) ? m_values[m_index] : false;
-  }
-
-  /**
-   * Set the item at the top of this stack  
-   *
-   *
-   * @param b Object to set at the top of this stack
-   */
-  public final void setTop(boolean b)
-  {
-    m_values[m_index] = b;
-  }
-
-  /**
-   * Looks at the object at the top of this stack without removing it
-   * from the stack.
-   *
-   * @return     the object at the top of this stack.
-   * @throws  EmptyStackException  if this stack is empty.
-   */
-  public final boolean peek()
-  {
-    return m_values[m_index];
-  }
-
-  /**
-   * Looks at the object at the top of this stack without removing it
-   * from the stack.  If the stack is empty, it returns false.
-   *
-   * @return     the object at the top of this stack.
-   */
-  public final boolean peekOrFalse()
-  {
-    return (m_index > -1) ? m_values[m_index] : false;
-  }
-
-  /**
-   * Looks at the object at the top of this stack without removing it
-   * from the stack.  If the stack is empty, it returns true.
-   *
-   * @return     the object at the top of this stack.
-   */
-  public final boolean peekOrTrue()
-  {
-    return (m_index > -1) ? m_values[m_index] : true;
-  }
-
-  /**
-   * Tests if this stack is empty.
-   *
-   * @return  <code>true</code> if this stack is empty;
-   *          <code>false</code> otherwise.
-   */
-  public boolean isEmpty()
-  {
-    return (m_index == -1);
-  }
-
-  /**
-   * Grows the size of the stack
-   *
-   */
-  private void grow()
-  {
-
-    m_allocatedSize *= 2;
-
-    boolean newVector[] = new boolean[m_allocatedSize];
-
-    System.arraycopy(m_values, 0, newVector, 0, m_index + 1);
-
-    m_values = newVector;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/ElemDesc.java b/libcore/xml/src/main/java/org/apache/xml/utils/ElemDesc.java
deleted file mode 100644
index e34510a..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/ElemDesc.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ElemDesc.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xml.utils;
-
-import java.util.Hashtable;
-
-/**
- * This class is in support of SerializerToHTML, and acts as a sort
- * of element representative for HTML elements.
- * @xsl.usage internal
- */
-class ElemDesc
-{
-
-  /** Table of attributes for the element */
-  Hashtable m_attrs = null;
-
-  /** Element's flags, describing the role this element plays during
-   * formatting of the document. This is used as a bitvector; more than one flag
-   * may be set at a time, bitwise-ORed together. Mnemonic and bits
-   * have been assigned to the flag values. NOTE: Some bits are
-   * currently assigned multiple mnemonics; it is the caller's
-   * responsibility to disambiguate these if necessary. */
-  int m_flags;
-
-  /** Defines mnemonic and bit-value for the EMPTY flag */
-  static final int EMPTY = (1 << 1);
-
-  /** Defines mnemonic and bit-value for the FLOW flag  */
-  static final int FLOW = (1 << 2);
-
-  /** Defines mnemonic and bit-value for the BLOCK flag          */
-  static final int BLOCK = (1 << 3);
-
-  /** Defines mnemonic and bit-value for the BLOCKFORM  flag         */
-  static final int BLOCKFORM = (1 << 4);
-
-  /** Defines mnemonic and bit-value for the BLOCKFORMFIELDSET flag          */
-  static final int BLOCKFORMFIELDSET = (1 << 5);
-
-  /** Defines mnemonic and bit-value for the CDATA flag         */
-  static final int CDATA = (1 << 6);
-
-  /** Defines mnemonic and bit-value for the PCDATA flag          */
-  static final int PCDATA = (1 << 7);
-
-  /** Defines mnemonic and bit-value for the RAW flag         */
-  static final int RAW = (1 << 8);
-
-  /** Defines mnemonic and bit-value for the INLINE flag          */
-  static final int INLINE = (1 << 9);
-
-  /** Defines mnemonic and bit-value for the INLINEA flag          */
-  static final int INLINEA = (1 << 10);
-
-  /** Defines mnemonic and bit-value for the INLINELABEL flag          */
-  static final int INLINELABEL = (1 << 11);
-
-  /** Defines mnemonic and bit-value for the FONTSTYLE flag          */
-  static final int FONTSTYLE = (1 << 12);
-
-  /** Defines mnemonic and bit-value for the PHRASE flag          */
-  static final int PHRASE = (1 << 13);
-
-  /** Defines mnemonic and bit-value for the FORMCTRL flag         */
-  static final int FORMCTRL = (1 << 14);
-
-  /** Defines mnemonic and bit-value for the SPECIAL flag         */
-  static final int SPECIAL = (1 << 15);
-
-  /** Defines mnemonic and bit-value for the ASPECIAL flag         */
-  static final int ASPECIAL = (1 << 16);
-
-  /** Defines mnemonic and bit-value for the HEADMISC flag         */
-  static final int HEADMISC = (1 << 17);
-
-  /** Defines mnemonic and bit-value for the HEAD flag         */
-  static final int HEAD = (1 << 18);
-
-  /** Defines mnemonic and bit-value for the LIST flag         */
-  static final int LIST = (1 << 19);
-
-  /** Defines mnemonic and bit-value for the PREFORMATTED flag         */
-  static final int PREFORMATTED = (1 << 20);
-
-  /** Defines mnemonic and bit-value for the WHITESPACESENSITIVE flag         */
-  static final int WHITESPACESENSITIVE = (1 << 21);
-
-  /** Defines mnemonic and bit-value for the ATTRURL flag         */
-  static final int ATTRURL = (1 << 1);
-
-  /** Defines mnemonic and bit-value for the ATTREMPTY flag         */
-  static final int ATTREMPTY = (1 << 2);
-
-  /**
-   * Construct an ElementDescription with an initial set of flags.
-   *
-   * @param flags Element flags
-   * @see m_flags
-   */
-  ElemDesc(int flags)
-  {
-    m_flags = flags;
-  }
-
-  /**
-   * "is (this element described by these flags)".
-   * 
-   * This might more properly be called areFlagsSet(). It accepts an
-   * integer (being used as a bitvector) and checks whether all the 
-   * corresponding bits are set in our internal flags. Note that this
-   * test is performed as a bitwise AND, not an equality test, so a
-   * 0 bit in the input means "don't test", not "must be set false".
-   *
-   * @param flags Vector of flags to compare against this element's flags
-   *
-   * @return true if the flags set in the parameter are also set in the
-   * element's stored flags.
-   * 
-   * @see m_flags
-   * @see isAttrFlagSet
-   */
-  boolean is(int flags)
-  {
-    // int which = (m_flags & flags);
-    return (m_flags & flags) != 0;
-  }
-
-  /**
-   * Set a new attribute for this element 
-   *
-   *
-   * @param name Attribute name
-   * @param flags Attibute flags
-   */
-  void setAttr(String name, int flags)
-  {
-
-    if (null == m_attrs)
-      m_attrs = new Hashtable();
-
-    m_attrs.put(name, new Integer(flags));
-  }
-
-  /**
-   * Find out if a flag is set in a given attribute of this element 
-   *
-   *
-   * @param name Attribute name
-   * @param flags Flag to check
-   *
-   * @return True if the flag is set in the attribute. Returns false
-   * if the attribute is not found 
-   * @see m_flags
-   */
-  boolean isAttrFlagSet(String name, int flags)
-  {
-
-    if (null != m_attrs)
-    {
-      Integer _flags = (Integer) m_attrs.get(name);
-
-      if (null != _flags)
-      {
-        return (_flags.intValue() & flags) != 0;
-      }
-    }
-
-    return false;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/Hashtree2Node.java b/libcore/xml/src/main/java/org/apache/xml/utils/Hashtree2Node.java
deleted file mode 100644
index bb2131a..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/Hashtree2Node.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: Hashtree2Node.java 475902 2006-11-16 20:03:16Z minchau $
- */
-
-package org.apache.xml.utils;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Simple static utility to convert Hashtable to a Node.  
- *
- * @see org.apache.xalan.xslt.EnvironmentCheck
- * @see org.apache.xalan.lib.Extensions
- * @author shane_curcuru@us.ibm.com
- * @version $Id: Hashtree2Node.java 475902 2006-11-16 20:03:16Z minchau $
- * @xsl.usage general
- */
-public abstract class Hashtree2Node
-{
-
-    /**
-     * Convert a Hashtable into a Node tree.  
-     * 
-     * <p>The hash may have either Hashtables as values (in which 
-     * case we recurse) or other values, in which case we print them 
-     * as &lt;item> elements, with a 'key' attribute with the value 
-     * of the key, and the element contents as the value.</p>
-     *
-     * <p>If args are null we simply return without doing anything. 
-     * If we encounter an error, we will attempt to add an 'ERROR' 
-     * Element with exception info; if that doesn't work we simply 
-     * return without doing anything else byt printStackTrace().</p>
-     *
-     * @param hash to get info from (may have sub-hashtables)
-     * @param name to use as parent element for appended node
-     * futurework could have namespace and prefix as well
-     * @param container Node to append our report to
-     * @param factory Document providing createElement, etc. services
-     */
-    public static void appendHashToNode(Hashtable hash, String name, 
-            Node container, Document factory)
-    {
-        // Required arguments must not be null
-        if ((null == container) || (null == factory) || (null == hash))
-        {
-            return;
-        }
-
-        // name we will provide a default value for
-        String elemName = null;
-        if ((null == name) || ("".equals(name)))
-            elemName = "appendHashToNode";
-        else
-            elemName = name;
-
-        try
-        {
-            Element hashNode = factory.createElement(elemName);
-            container.appendChild(hashNode);
-
-            Enumeration keys = hash.keys();
-            List v = new ArrayList();
-
-            while (keys.hasMoreElements())
-            {
-                Object key = keys.nextElement();
-                String keyStr = key.toString();
-                Object item = hash.get(key);
-
-                if (item instanceof Hashtable)
-                {
-                    // Ensure a pre-order traversal; add this hashes 
-                    //  items before recursing to child hashes
-                    // Save name and hash in two steps
-                    v.add(keyStr);
-                    v.add((Hashtable) item);
-                }
-                else
-                {
-                    try
-                    {
-                        // Add item to node
-                        Element node = factory.createElement("item");
-                        node.setAttribute("key", keyStr);
-                        node.appendChild(factory.createTextNode((String)item));
-                        hashNode.appendChild(node);
-                    }
-                    catch (Exception e)
-                    {
-                        Element node = factory.createElement("item");
-                        node.setAttribute("key", keyStr);
-                        node.appendChild(factory.createTextNode("ERROR: Reading " + key + " threw: " + e.toString()));
-                        hashNode.appendChild(node);
-                    }
-                }
-            }
-
-            // Now go back and do the saved hashes
-            Iterator it = v.iterator();
-            while (it.hasNext())
-            {
-                // Retrieve name and hash in two steps
-                String n = (String) it.next();
-                Hashtable h = (Hashtable) it.next();
-
-                appendHashToNode(h, n, hashNode, factory);
-            }
-        }
-        catch (Exception e2)
-        {
-            // Ooops, just bail (suggestions for a safe thing 
-            //  to do in this case appreciated)
-            e2.printStackTrace();
-        }
-    }    
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/ListingErrorHandler.java b/libcore/xml/src/main/java/org/apache/xml/utils/ListingErrorHandler.java
deleted file mode 100644
index 20ca253..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/ListingErrorHandler.java
+++ /dev/null
@@ -1,566 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: ListingErrorHandler.java 468655 2006-10-28 07:12:06Z minchau $
- */
-
-package org.apache.xml.utils;
-
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.URL;
-import java.net.URLConnection;
-
-import javax.xml.transform.ErrorListener;
-import javax.xml.transform.SourceLocator;
-import javax.xml.transform.TransformerException;
-
-import org.apache.xml.res.XMLErrorResources;
-import org.apache.xml.res.XMLMessages;
-
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-
-/**
- * Sample implementation of similar SAX ErrorHandler and JAXP ErrorListener.  
- *
- * <p>This implementation is suitable for various use cases, and 
- * provides some basic configuration API's as well to control 
- * when we re-throw errors, etc.</p>
- *
- * @author shane_curcuru@us.ibm.com
- * @version $Id: ListingErrorHandler.java 468655 2006-10-28 07:12:06Z minchau $
- * @xsl.usage general
- */
-public class ListingErrorHandler implements ErrorHandler, ErrorListener
-{
-    protected PrintWriter m_pw = null;
-  
-
-    /**
-     * Constructor ListingErrorHandler; user-supplied PrintWriter.  
-     */
-    public ListingErrorHandler(PrintWriter pw)
-    {
-        if (null == pw)
-            throw new NullPointerException(XMLMessages.createXMLMessage(XMLErrorResources.ER_ERRORHANDLER_CREATED_WITH_NULL_PRINTWRITER, null));
-            // "ListingErrorHandler created with null PrintWriter!");
-            
-        m_pw = pw;
-    }
-
-    /**
-     * Constructor ListingErrorHandler; uses System.err.  
-     */
-    public ListingErrorHandler()
-    {
-        m_pw = new PrintWriter(System.err, true);
-    }
-
-
-    /* ======== Implement org.xml.sax.ErrorHandler ======== */
-    /**
-     * Receive notification of a warning.
-     *
-     * <p>SAX parsers will use this method to report conditions that
-     * are not errors or fatal errors as defined by the XML 1.0
-     * recommendation.  The default behaviour is to take no action.</p>
-     *
-     * <p>The SAX parser must continue to provide normal parsing events
-     * after invoking this method: it should still be possible for the
-     * application to process the document through to the end.</p>
-     *
-     * <p>Filters may use this method to report other, non-XML warnings
-     * as well.</p>
-     *
-     * @param exception The warning information encapsulated in a
-     *                  SAX parse exception.
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     * wrapping another exception; only if setThrowOnWarning is true.
-     * @see org.xml.sax.SAXParseException 
-     */
-    public void warning (SAXParseException exception)
-    	throws SAXException
-    {
-    	logExceptionLocation(m_pw, exception);
-        // Note: should we really call .toString() below, since 
-        //  sometimes the message is not properly set?
-        m_pw.println("warning: " + exception.getMessage());
-        m_pw.flush();
-
-        if (getThrowOnWarning())
-            throw exception;
-    }
-    
-    
-    /**
-     * Receive notification of a recoverable error.
-     *
-     * <p>This corresponds to the definition of "error" in section 1.2
-     * of the W3C XML 1.0 Recommendation.  For example, a validating
-     * parser would use this callback to report the violation of a
-     * validity constraint.  The default behaviour is to take no
-     * action.</p>
-     *
-     * <p>The SAX parser must continue to provide normal parsing events
-     * after invoking this method: it should still be possible for the
-     * application to process the document through to the end.  If the
-     * application cannot do so, then the parser should report a fatal
-     * error even if the XML 1.0 recommendation does not require it to
-     * do so.</p>
-     *
-     * <p>Filters may use this method to report other, non-XML errors
-     * as well.</p>
-     *
-     * @param exception The error information encapsulated in a
-     *                  SAX parse exception.
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     * wrapping another exception; only if setThrowOnErroris true.
-     * @see org.xml.sax.SAXParseException 
-     */
-    public void error (SAXParseException exception)
-    	throws SAXException
-    {
-    	logExceptionLocation(m_pw, exception);
-        m_pw.println("error: " + exception.getMessage());
-        m_pw.flush();
-
-        if (getThrowOnError())
-            throw exception;
-    }
-    
-    
-    /**
-     * Receive notification of a non-recoverable error.
-     *
-     * <p>This corresponds to the definition of "fatal error" in
-     * section 1.2 of the W3C XML 1.0 Recommendation.  For example, a
-     * parser would use this callback to report the violation of a
-     * well-formedness constraint.</p>
-     *
-     * <p>The application must assume that the document is unusable
-     * after the parser has invoked this method, and should continue
-     * (if at all) only for the sake of collecting addition error
-     * messages: in fact, SAX parsers are free to stop reporting any
-     * other events once this method has been invoked.</p>
-     *
-     * @param exception The error information encapsulated in a
-     *                  SAX parse exception.  
-     * @exception org.xml.sax.SAXException Any SAX exception, possibly
-     * wrapping another exception; only if setThrowOnFatalError is true.
-     * @see org.xml.sax.SAXParseException
-     */
-    public void fatalError (SAXParseException exception)
-    	throws SAXException
-    {
-    	logExceptionLocation(m_pw, exception);
-        m_pw.println("fatalError: " + exception.getMessage());
-        m_pw.flush();
-
-        if (getThrowOnFatalError())
-            throw exception;
-    }
-
-
-    /* ======== Implement javax.xml.transform.ErrorListener ======== */
-
-    /**
-     * Receive notification of a warning.
-     *
-     * <p>{@link javax.xml.transform.Transformer} can use this method to report
-     * conditions that are not errors or fatal errors.  The default behaviour
-     * is to take no action.</p>
-     *
-     * <p>After invoking this method, the Transformer must continue with
-     * the transformation. It should still be possible for the
-     * application to process the document through to the end.</p>
-     *
-     * @param exception The warning information encapsulated in a
-     *                  transformer exception.
-     *
-     * @throws javax.xml.transform.TransformerException  only if 
-     * setThrowOnWarning is true.
-     *
-     * @see javax.xml.transform.TransformerException
-     */
-    public void warning(TransformerException exception)
-        throws TransformerException
-    {
-    	logExceptionLocation(m_pw, exception);
-        m_pw.println("warning: " + exception.getMessage());
-        m_pw.flush();
-
-        if (getThrowOnWarning())
-            throw exception;
-    }
-
-    /**
-     * Receive notification of a recoverable error.
-     *
-     * <p>The transformer must continue to try and provide normal transformation
-     * after invoking this method.  It should still be possible for the
-     * application to process the document through to the end if no other errors
-     * are encountered.</p>
-     *
-     * @param exception The error information encapsulated in a
-     *                  transformer exception.
-     *
-     * @throws javax.xml.transform.TransformerException  only if 
-     * setThrowOnError is true.
-     *
-     * @see javax.xml.transform.TransformerException
-     */
-    public void error(TransformerException exception)
-        throws TransformerException
-    {
-    	logExceptionLocation(m_pw, exception);
-        m_pw.println("error: " + exception.getMessage());
-        m_pw.flush();
-
-        if (getThrowOnError())
-            throw exception;
-    }
-
-    /**
-     * Receive notification of a non-recoverable error.
-     *
-     * <p>The transformer must continue to try and provide normal transformation
-     * after invoking this method.  It should still be possible for the
-     * application to process the document through to the end if no other errors
-     * are encountered, but there is no guarantee that the output will be
-     * useable.</p>
-     *
-     * @param exception The error information encapsulated in a
-     *                  transformer exception.
-     *
-     * @throws javax.xml.transform.TransformerException  only if 
-     * setThrowOnError is true.
-     *
-     * @see javax.xml.transform.TransformerException
-     */
-    public void fatalError(TransformerException exception)
-        throws TransformerException
-    {
-    	logExceptionLocation(m_pw, exception);
-        m_pw.println("error: " + exception.getMessage());
-        m_pw.flush();
-
-        if (getThrowOnError())
-            throw exception;
-    }
-
-
-
-    /* ======== Implement worker methods ======== */
-
-
-    /**
-     * Print out location information about the exception.  
-     *
-     * Cribbed from DefaultErrorHandler.printLocation() 
-     * @param pw PrintWriter to send output to
-     * @param exception TransformerException or SAXParseException
-     * to log information about
-     */
-    public static void logExceptionLocation(PrintWriter pw, Throwable exception)
-    {
-        if (null == pw)
-            pw = new PrintWriter(System.err, true);
-        
-        SourceLocator locator = null;
-        Throwable cause = exception;
-
-        // Try to find the locator closest to the cause.
-        do
-        {
-            // Find the current locator, if one present
-            if(cause instanceof SAXParseException)
-            {
-                // A SAXSourceLocator is a Xalan helper class 
-                //  that implements both a SourceLocator and a SAX Locator
-                //@todo check that the new locator actually has 
-                //  as much or more information as the 
-                //  current one already does
-                locator = new SAXSourceLocator((SAXParseException)cause);
-            }
-            else if (cause instanceof TransformerException)
-            {
-                SourceLocator causeLocator = ((TransformerException)cause).getLocator();
-                if(null != causeLocator)
-                {
-                    locator = causeLocator;
-                }
-            }
-            
-            // Then walk back down the chain of exceptions
-            if(cause instanceof TransformerException)
-                cause = ((TransformerException)cause).getCause();
-            else if(cause instanceof WrappedRuntimeException)
-                cause = ((WrappedRuntimeException)cause).getException();
-            else if(cause instanceof SAXException)
-                cause = ((SAXException)cause).getException();
-            else
-                cause = null;
-        }
-        while(null != cause);
-
-        // Formatting note: mimic javac-like errors:
-        //  path\filename:123: message-here
-        //  systemId:L=1;C=2: message-here
-        if(null != locator)
-        {
-            String id = (locator.getPublicId() != locator.getPublicId())
-                      ? locator.getPublicId()
-                        : (null != locator.getSystemId())
-                          ? locator.getSystemId() : "SystemId-Unknown";
-
-            pw.print(id + ":Line=" + locator.getLineNumber()
-                             + ";Column=" + locator.getColumnNumber()+": ");
-            pw.println("exception:" + exception.getMessage());
-            pw.println("root-cause:" 
-                       + ((null != cause) ? cause.getMessage() : "null"));
-            logSourceLine(pw, locator); 
-        }
-        else
-        {
-            pw.print("SystemId-Unknown:locator-unavailable: ");
-            pw.println("exception:" + exception.getMessage());
-            pw.println("root-cause:" 
-                       + ((null != cause) ? cause.getMessage() : "null"));
-        }
-    }
-
-
-    /**
-     * Print out the specific source line that caused the exception, 
-     * if possible to load it.  
-     *
-     * @param pw PrintWriter to send output to
-     * @param locator Xalan wrapper for either a JAXP or a SAX 
-     * source location object
-     */
-    public static void logSourceLine(PrintWriter pw, SourceLocator locator)
-    {
-        if (null == locator)
-            return;
-            
-        if (null == pw)
-            pw = new PrintWriter(System.err, true);
-
-        String url = locator.getSystemId();
-        // Bail immediately if we get SystemId-Unknown
-        //@todo future improvement: attempt to get resource 
-        //  from a publicId if possible
-        if (null == url)
-        {
-            pw.println("line: (No systemId; cannot read file)");
-            pw.println();
-            return;
-        }
-        
-        //@todo attempt to get DOM backpointer or other ids
-
-        try
-        {
-            int line = locator.getLineNumber();
-            int column = locator.getColumnNumber();
-            pw.println("line: " + getSourceLine(url, line));
-            StringBuffer buf = new StringBuffer("line: ");
-            for (int i = 1; i < column; i++)
-            {
-                buf.append(' ');
-            }
-            buf.append('^');
-            pw.println(buf.toString());
-        }
-        catch (Exception e)
-        {
-            pw.println("line: logSourceLine unavailable due to: " + e.getMessage());
-            pw.println();
-        }
-    }
-
-
-    /**
-     * Return the specific source line that caused the exception, 
-     * if possible to load it; allow exceptions to be thrown.  
-     *
-     * @author shane_curcuru@us.ibm.com
-     */
-    protected static String getSourceLine(String sourceUrl, int lineNum)
-            throws Exception
-    {
-        URL url = null;
-        // Get a URL from the sourceUrl
-        try
-        {
-            // Try to get a URL from it as-is
-            url = new URL(sourceUrl);
-        }
-        catch (java.net.MalformedURLException mue)
-        {
-            int indexOfColon = sourceUrl.indexOf(':');
-            int indexOfSlash = sourceUrl.indexOf('/');
-            
-            if ((indexOfColon != -1)
-                && (indexOfSlash != -1)
-                && (indexOfColon < indexOfSlash))
-            {
-                // The url is already absolute, but we could not get 
-                //  the system to form it, so bail
-                throw mue;
-            }
-            else
-            {
-                // The url is relative, so attempt to get absolute
-                url = new URL(SystemIDResolver.getAbsoluteURI(sourceUrl));
-                // If this fails, allow the exception to propagate
-            }
-        }
-        
-        String line = null;
-        InputStream is = null;
-        BufferedReader br = null;
-        try
-        {
-            // Open the URL and read to our specified line
-            URLConnection uc = url.openConnection();
-            is = uc.getInputStream();
-            br = new BufferedReader(new InputStreamReader(is));
-
-            // Not the most efficient way, but it works
-            // (Feel free to patch to seek to the appropriate line)
-            for (int i = 1; i <= lineNum; i++)
-            {
-                line = br.readLine();
-            }
-            
-        } 
-        // Allow exceptions to propagate from here, but ensure 
-        //  streams are closed!
-        finally
-        {
-            br.close();
-            is.close();
-        }
-        
-        // Return whatever we found
-        return line;
-    }    
-
-
-    /* ======== Implement settable properties ======== */
-
-    /**
-     * User-settable behavior: when to re-throw exceptions.  
-     *
-     * <p>This allows per-instance configuration of 
-     * ListingErrorHandlers.  You can ask us to either throw 
-     * an exception when we're called for various warning / 
-     * error / fatalErrors, or simply log them and continue.</p>
-     *
-     * @param b if we should throw an exception on warnings
-     */
-    public void setThrowOnWarning(boolean b)
-    {
-        throwOnWarning = b;
-    }
-
-    /**
-     * User-settable behavior: when to re-throw exceptions.  
-     *
-     * @return if we throw an exception on warnings
-     */
-    public boolean getThrowOnWarning()
-    {
-        return throwOnWarning;
-    }
-
-    /** If we should throw exception on warnings; default:false.  */
-    protected boolean throwOnWarning = false;
-
-
-    /**
-     * User-settable behavior: when to re-throw exceptions.  
-     *
-     * <p>This allows per-instance configuration of 
-     * ListingErrorHandlers.  You can ask us to either throw 
-     * an exception when we're called for various warning / 
-     * error / fatalErrors, or simply log them and continue.</p>
-     *
-     * <p>Note that the behavior of many parsers/transformers 
-     * after an error is not necessarily defined!</p>
-     *
-     * @param b if we should throw an exception on errors
-     */
-    public void setThrowOnError(boolean b)
-    {
-        throwOnError = b;
-    }
-
-    /**
-     * User-settable behavior: when to re-throw exceptions.  
-     *
-     * @return if we throw an exception on errors
-     */
-    public boolean getThrowOnError()
-    {
-        return throwOnError;
-    }
-
-    /** If we should throw exception on errors; default:true.  */
-    protected boolean throwOnError = true;
-
-
-    /**
-     * User-settable behavior: when to re-throw exceptions.  
-     *
-     * <p>This allows per-instance configuration of 
-     * ListingErrorHandlers.  You can ask us to either throw 
-     * an exception when we're called for various warning / 
-     * error / fatalErrors, or simply log them and continue.</p>
-     *
-     * <p>Note that the behavior of many parsers/transformers 
-     * after a fatalError is not necessarily defined, most 
-     * products will probably barf if you continue.</p>
-     *
-     * @param b if we should throw an exception on fatalErrors
-     */
-    public void setThrowOnFatalError(boolean b)
-    {
-        throwOnFatalError = b;
-    }
-
-    /**
-     * User-settable behavior: when to re-throw exceptions.  
-     *
-     * @return if we throw an exception on fatalErrors
-     */
-    public boolean getThrowOnFatalError()
-    {
-        return throwOnFatalError;
-    }
-
-    /** If we should throw exception on fatalErrors; default:true.  */
-    protected boolean throwOnFatalError = true;
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/LocaleUtility.java b/libcore/xml/src/main/java/org/apache/xml/utils/LocaleUtility.java
deleted file mode 100755
index 03b3bd7..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/LocaleUtility.java
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: LocaleUtility.java 468655 2006-10-28 07:12:06Z minchau $
- */
-
-package org.apache.xml.utils;
-
-import java.util.Locale;
-
-/**
- * @author Igor Hersht, igorh@ca.ibm.com
- */
-public class LocaleUtility {
-    /**
-     * IETF RFC 1766 tag separator
-     */
-    public final static char IETF_SEPARATOR = '-';  
-    public final static String EMPTY_STRING = ""; 
-    
-   
- public static Locale langToLocale(String lang) {
-       if((lang == null) || lang.equals(EMPTY_STRING)){ // not specified => getDefault
-            return Locale.getDefault();
-       }
-        String language = EMPTY_STRING;
-        String country =  EMPTY_STRING;
-        String variant =  EMPTY_STRING;
-
-        int i1 = lang.indexOf(IETF_SEPARATOR);
-        if (i1 < 0) {
-            language = lang;
-        } else {
-            language = lang.substring(0, i1);
-            ++i1;
-            int i2 = lang.indexOf(IETF_SEPARATOR, i1);
-            if (i2 < 0) {
-                country = lang.substring(i1);
-            } else {
-                country = lang.substring(i1, i2);
-                variant = lang.substring(i2+1);
-            }
-        }
-        
-        if(language.length() == 2){
-           language = language.toLowerCase();
-        }else {
-          language = EMPTY_STRING;
-        }
-        
-        if(country.length() == 2){
-           country = country.toUpperCase();
-        }else {
-          country = EMPTY_STRING;
-        }
-        
-        if((variant.length() > 0) && 
-        ((language.length() == 2) ||(country.length() == 2))){
-           variant = variant.toUpperCase();
-        }else{
-            variant = EMPTY_STRING;
-        }
-             
-        return new Locale(language, country, variant );
-    }
-    
-  
-   
- }
-  
-
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/MutableAttrListImpl.java b/libcore/xml/src/main/java/org/apache/xml/utils/MutableAttrListImpl.java
deleted file mode 100644
index cf2c113..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/MutableAttrListImpl.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: MutableAttrListImpl.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xml.utils;
-
-import java.io.Serializable;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.AttributesImpl;
-
-/**
- * Mutable version of AttributesImpl.
- * @xsl.usage advanced
- */
-public class MutableAttrListImpl extends AttributesImpl
-        implements Serializable
-{
-    static final long serialVersionUID = 6289452013442934470L;
-
-/**
- * Construct a new, empty AttributesImpl object.
- */
-
-public MutableAttrListImpl()
-  {
-    super();
-  }
-
-  /**
-   * Copy an existing Attributes object.
-   *
-   * <p>This constructor is especially useful inside a start
-   * element event.</p>
-   *
-   * @param atts The existing Attributes object.
-   */
-  public MutableAttrListImpl(Attributes atts)
-  {
-    super(atts);
-  }
-
-  /**
-   * Add an attribute to the end of the list.
-   *
-   * <p>For the sake of speed, this method does no checking
-   * to see if the attribute is already in the list: that is
-   * the responsibility of the application.</p>
-   *
-   * @param uri The Namespace URI, or the empty string if
-   *        none is available or Namespace processing is not
-   *        being performed.
-   * @param localName The local name, or the empty string if
-   *        Namespace processing is not being performed.
-   * @param qName The qualified (prefixed) name, or the empty string
-   *        if qualified names are not available.
-   * @param type The attribute type as a string.
-   * @param value The attribute value.
-   */
-  public void addAttribute(String uri, String localName, String qName,
-                           String type, String value)
-  {
-
-    if (null == uri)
-      uri = "";
-
-    // getIndex(qName) seems to be more reliable than getIndex(uri, localName), 
-    // in the case of the xmlns attribute anyway.
-    int index = this.getIndex(qName);
-    // int index = this.getIndex(uri, localName);
-   
-    // System.out.println("MutableAttrListImpl#addAttribute: "+uri+":"+localName+", "+index+", "+qName+", "+this);
-
-    if (index >= 0)
-      this.setAttribute(index, uri, localName, qName, type, value);
-    else
-      super.addAttribute(uri, localName, qName, type, value);
-  }
-
-  /**
-   * Add the contents of the attribute list to this list.
-   *
-   * @param atts List of attributes to add to this list
-   */
-  public void addAttributes(Attributes atts)
-  {
-
-    int nAtts = atts.getLength();
-
-    for (int i = 0; i < nAtts; i++)
-    {
-      String uri = atts.getURI(i);
-
-      if (null == uri)
-        uri = "";
-
-      String localName = atts.getLocalName(i);
-      String qname = atts.getQName(i);
-      int index = this.getIndex(uri, localName);
-      // System.out.println("MutableAttrListImpl#addAttributes: "+uri+":"+localName+", "+index+", "+atts.getQName(i)+", "+this);
-      if (index >= 0)
-        this.setAttribute(index, uri, localName, qname, atts.getType(i),
-                          atts.getValue(i));
-      else
-        addAttribute(uri, localName, qname, atts.getType(i),
-                     atts.getValue(i));
-    }
-  }
-
-  /**
-   * Return true if list contains the given (raw) attribute name.
-   *
-   * @param name Raw name of attribute to look for 
-   *
-   * @return true if an attribute is found with this name
-   */
-  public boolean contains(String name)
-  {
-    return getValue(name) != null;
-  }
-}
-
-// end of MutableAttrListImpl.java
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/RawCharacterHandler.java b/libcore/xml/src/main/java/org/apache/xml/utils/RawCharacterHandler.java
deleted file mode 100644
index 6a07382..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/RawCharacterHandler.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: RawCharacterHandler.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xml.utils;
-
-/**
- * An interface that a Serializer/ContentHandler/ContentHandler must
- * implement in order for disable-output-escaping to work.
- * @xsl.usage advanced
- */
-public interface RawCharacterHandler
-{
-
-  /**
-   * Serialize the characters without escaping.
-   *
-   * @param ch Array of characters
-   * @param start Start index of characters in the array
-   * @param length Number of characters in the array
-   *
-   * @throws javax.xml.transform.TransformerException
-   */
-  public void charactersRaw(char ch[], int start, int length)
-    throws javax.xml.transform.TransformerException;
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/SerializableLocatorImpl.java b/libcore/xml/src/main/java/org/apache/xml/utils/SerializableLocatorImpl.java
deleted file mode 100644
index a9f6157..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/SerializableLocatorImpl.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: SerializableLocatorImpl.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xml.utils;
-
-
-/**
- * The standard SAX implementation of LocatorImpl is not serializable,
- * limiting its utility as "a persistent snapshot of a locator".
- * This is a quick hack to make it so. Note that it makes more sense
- * in many cases to set up fields to hold this data rather than pointing
- * at another object... but that decision should be made on architectural
- * grounds rather than serializability.
- *<p>
- * It isn't clear whether subclassing LocatorImpl and adding serialization
- * methods makes more sense than copying it and just adding Serializable
- * to its interface. Since it's so simple, I've taken the latter approach
- * for now.
- *
- * @see org.xml.sax.helpers.LocatorImpl
- * @see org.xml.sax.Locator Locator
- * @since XalanJ2
- * @author Joe Kesselman
- * @version 1.0
- */
-public class SerializableLocatorImpl
-implements org.xml.sax.Locator, java.io.Serializable
-
-{
-    static final long serialVersionUID = -2660312888446371460L;
-    /**
-     * Zero-argument constructor.
-     *
-     * <p>SAX says "This will not normally be useful, since the main purpose
-     * of this class is to make a snapshot of an existing Locator." In fact,
-     * it _is_ sometimes useful when you want to construct a new Locator
-     * pointing to a specific location... which, after all, is why the
-     * setter methods are provided.
-     * </p>
-     */
-    public SerializableLocatorImpl ()
-    {
-    }
-    
-    
-    /**
-     * Copy constructor.
-     *
-     * <p>Create a persistent copy of the current state of a locator.
-     * When the original locator changes, this copy will still keep
-     * the original values (and it can be used outside the scope of
-     * DocumentHandler methods).</p>
-     *
-     * @param locator The locator to copy.
-     */
-    public SerializableLocatorImpl (org.xml.sax.Locator locator)
-    {
-        setPublicId(locator.getPublicId());
-        setSystemId(locator.getSystemId());
-        setLineNumber(locator.getLineNumber());
-        setColumnNumber(locator.getColumnNumber());
-    }
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    // Implementation of org.xml.sax.Locator
-    ////////////////////////////////////////////////////////////////////
-    
-    
-    /**
-     * Return the saved public identifier.
-     *
-     * @return The public identifier as a string, or null if none
-     *         is available.
-     * @see org.xml.sax.Locator#getPublicId
-     * @see #setPublicId
-     */
-    public String getPublicId ()
-    {
-        return publicId;
-    }
-    
-    
-    /**
-     * Return the saved system identifier.
-     *
-     * @return The system identifier as a string, or null if none
-     *         is available.
-     * @see org.xml.sax.Locator#getSystemId
-     * @see #setSystemId
-     */
-    public String getSystemId ()
-    {
-        return systemId;
-    }
-    
-    
-    /**
-     * Return the saved line number (1-based).
-     *
-     * @return The line number as an integer, or -1 if none is available.
-     * @see org.xml.sax.Locator#getLineNumber
-     * @see #setLineNumber
-     */
-    public int getLineNumber ()
-    {
-        return lineNumber;
-    }
-    
-    
-    /**
-     * Return the saved column number (1-based).
-     *
-     * @return The column number as an integer, or -1 if none is available.
-     * @see org.xml.sax.Locator#getColumnNumber
-     * @see #setColumnNumber
-     */
-    public int getColumnNumber ()
-    {
-        return columnNumber;
-    }
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    // Setters for the properties (not in org.xml.sax.Locator)
-    ////////////////////////////////////////////////////////////////////
-    
-    
-    /**
-     * Set the public identifier for this locator.
-     *
-     * @param publicId The new public identifier, or null 
-     *        if none is available.
-     * @see #getPublicId
-     */
-    public void setPublicId (String publicId)
-    {
-        this.publicId = publicId;
-    }
-    
-    
-    /**
-     * Set the system identifier for this locator.
-     *
-     * @param systemId The new system identifier, or null 
-     *        if none is available.
-     * @see #getSystemId
-     */
-    public void setSystemId (String systemId)
-    {
-        this.systemId = systemId;
-    }
-    
-    
-    /**
-     * Set the line number for this locator (1-based).
-     *
-     * @param lineNumber The line number, or -1 if none is available.
-     * @see #getLineNumber
-     */
-    public void setLineNumber (int lineNumber)
-    {
-        this.lineNumber = lineNumber;
-    }
-    
-    
-    /**
-     * Set the column number for this locator (1-based).
-     *
-     * @param columnNumber The column number, or -1 if none is available.
-     * @see #getColumnNumber
-     */
-    public void setColumnNumber (int columnNumber)
-    {
-        this.columnNumber = columnNumber;
-    }
-    
-    
-    ////////////////////////////////////////////////////////////////////
-    // Internal state.
-    ////////////////////////////////////////////////////////////////////
-    
-    /**
-     * The public ID.
-     * @serial
-     */
-    private String publicId;
-    
-    /**
-     * The system ID.
-     * @serial
-     */
-    private String systemId;
-    
-    /**
-     * The line number.
-     * @serial
-     */
-    private int lineNumber;
-    
-    /**
-     * The column number.
-     * @serial
-     */
-    private int columnNumber;
-    
-}
-
-// end of LocatorImpl.java
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/StringComparable.java b/libcore/xml/src/main/java/org/apache/xml/utils/StringComparable.java
deleted file mode 100755
index f677479..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/StringComparable.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: StringComparable.java 468655 2006-10-28 07:12:06Z minchau $
- */
-
-package org.apache.xml.utils;
-
-import java.util.Vector;
-import java.text.Collator;
-import java.text.RuleBasedCollator;
-import java.text.CollationElementIterator;
-import java.util.Locale;
-import java.text.CollationKey;
-
-
-/**
-* International friendly string comparison with case-order
- * @author Igor Hersht, igorh@ca.ibm.com
-*/
-public class StringComparable implements Comparable  {
-    
-     public final static int UNKNOWN_CASE = -1;
-     public final static int UPPER_CASE = 1;
-     public final static int LOWER_CASE = 2;
-     
-     private  String m_text;
-     private  Locale m_locale;
-     private RuleBasedCollator m_collator;
-     private String m_caseOrder;
-     private int m_mask = 0xFFFFFFFF; 
-     
-    public StringComparable(final String text, final Locale locale, final Collator collator, final String caseOrder){
-         m_text =  text;
-         m_locale = locale;
-         m_collator = (RuleBasedCollator)collator;
-         m_caseOrder = caseOrder;
-         m_mask = getMask(m_collator.getStrength());
-    }
-  
-   public final static Comparable getComparator( final String text, final Locale locale, final Collator collator, final String caseOrder){
-       if((caseOrder == null) ||(caseOrder.length() == 0)){// no case-order specified
-            return  ((RuleBasedCollator)collator).getCollationKey(text);
-       }else{
-            return new StringComparable(text, locale, collator, caseOrder);
-       }       
-   }
-   
-   public final String toString(){return m_text;}
-   
-   public int compareTo(Object o) {
-   final String pattern = ((StringComparable)o).toString();
-   if(m_text.equals(pattern)){//Code-point equals 
-      return 0;
-   }
-   final int savedStrength = m_collator.getStrength(); 
-   int comp = 0;
-      // Is there difference more significant than case-order?     
-     if(((savedStrength == Collator.PRIMARY) || (savedStrength == Collator.SECONDARY))){  
-         comp = m_collator.compare(m_text, pattern );     
-     }else{// more than SECONDARY
-         m_collator.setStrength(Collator.SECONDARY);
-         comp = m_collator.compare(m_text, pattern );
-         m_collator.setStrength(savedStrength);
-     }
-     if(comp != 0){//Difference more significant than case-order 
-        return comp ; 
-     }      
-        
-      // No difference more significant than case-order.     
-      // Find case difference
-       comp = getCaseDiff(m_text, pattern);
-       if(comp != 0){  
-           return comp;
-       }else{// No case differences. Less significant difference could exist 
-            return m_collator.compare(m_text, pattern );
-       }      
-  }
-  
- 
-  private final int getCaseDiff (final String text, final String pattern){
-     final int savedStrength = m_collator.getStrength();
-     final int savedDecomposition = m_collator.getDecomposition();
-     m_collator.setStrength(Collator.TERTIARY);// not to ignore case  
-     m_collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION );// corresponds NDF
-     
-    final int diff[] =getFirstCaseDiff (text, pattern, m_locale);
-    m_collator.setStrength(savedStrength);// restore
-    m_collator.setDecomposition(savedDecomposition); //restore
-    if(diff != null){  
-       if((m_caseOrder).equals("upper-first")){
-            if(diff[0] == UPPER_CASE){
-                return -1;
-            }else{
-                return 1;
-            }
-       }else{// lower-first
-            if(diff[0] == LOWER_CASE){
-                return -1;
-            }else{
-                return 1;
-            }
-       }
-   }else{// No case differences
-        return 0;
-   }
-    
-  }
-  
-   
-    
-  private final int[] getFirstCaseDiff(final String text, final String pattern, final Locale locale){
-        
-        final CollationElementIterator targIter = m_collator.getCollationElementIterator(text);
-        final CollationElementIterator patIter = m_collator.getCollationElementIterator(pattern);  
-        int startTarg = -1;
-        int endTarg = -1;
-        int startPatt = -1;
-        int endPatt = -1;
-        final int done = getElement(CollationElementIterator.NULLORDER);
-        int patternElement = 0, targetElement = 0;
-        boolean getPattern = true, getTarget = true;
-        
-        while (true) { 
-            if (getPattern){
-                 startPatt = patIter.getOffset();
-                 patternElement = getElement(patIter.next());
-                 endPatt = patIter.getOffset();
-            }
-            if ((getTarget)){               
-                 startTarg  = targIter.getOffset(); 
-                 targetElement   = getElement(targIter.next()); 
-                 endTarg  = targIter.getOffset();
-            }
-            getTarget = getPattern = true;                          
-            if ((patternElement == done) ||( targetElement == done)) {
-                return null;                      
-            } else if (targetElement == 0) {
-              getPattern = false;           
-            } else if (patternElement == 0) {
-              getTarget = false;           
-            } else if (targetElement != patternElement) {// mismatch
-                if((startPatt < endPatt) && (startTarg < endTarg)){
-                    final String  subText = text.substring(startTarg, endTarg);
-                    final String  subPatt = pattern.substring(startPatt, endPatt);
-                    final String  subTextUp = subText.toUpperCase(locale);
-                    final String  subPattUp = subPatt.toUpperCase(locale);
-                    if(m_collator.compare(subTextUp, subPattUp) != 0){ // not case diffference
-                        continue;
-                    }
-                    
-                    int diff[] = {UNKNOWN_CASE, UNKNOWN_CASE};
-                    if(m_collator.compare(subText, subTextUp) == 0){
-                        diff[0] = UPPER_CASE;
-                    }else if(m_collator.compare(subText, subText.toLowerCase(locale)) == 0){
-                       diff[0] = LOWER_CASE; 
-                    }
-                    if(m_collator.compare(subPatt, subPattUp) == 0){
-                        diff[1] = UPPER_CASE;
-                    }else if(m_collator.compare(subPatt, subPatt.toLowerCase(locale)) == 0){
-                       diff[1] = LOWER_CASE; 
-                    }
-                    
-                    if(((diff[0] == UPPER_CASE) && ( diff[1] == LOWER_CASE)) ||
-                       ((diff[0] == LOWER_CASE) && ( diff[1] == UPPER_CASE))){        
-                        return diff;
-                    }else{// not case diff
-                      continue; 
-                    }  
-                }else{
-                    continue; 
-                }
-                    
-           }
-        }
-                           
-  }
-  
-  
- // Return a mask for the part of the order we're interested in
-    private static final int getMask(final int strength) {
-        switch (strength) {
-            case Collator.PRIMARY:
-                return 0xFFFF0000;
-            case Collator.SECONDARY:
-                return 0xFFFFFF00;
-            default: 
-                return 0xFFFFFFFF;
-        }
-    }
-    //get collation element with given strength
-    // from the element with max strength
-  private final int getElement(int maxStrengthElement){
-    
-    return (maxStrengthElement & m_mask);
-  }  
-
-}//StringComparable 
-
-
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/StringToStringTable.java b/libcore/xml/src/main/java/org/apache/xml/utils/StringToStringTable.java
deleted file mode 100644
index 928b9ed..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/StringToStringTable.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: StringToStringTable.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xml.utils;
-
-/**
- * A very simple lookup table that stores a list of strings, the even
- * number strings being keys, and the odd number strings being values.
- * @xsl.usage internal
- */
-public class StringToStringTable
-{
-
-  /** Size of blocks to allocate          */
-  private int m_blocksize;
-
-  /** Array of strings this contains          */
-  private String m_map[];
-
-  /** Number of strings this contains           */
-  private int m_firstFree = 0;
-
-  /** Size of this table           */
-  private int m_mapSize;
-
-  /**
-   * Default constructor.  Note that the default
-   * block size is very small, for small lists.
-   */
-  public StringToStringTable()
-  {
-
-    m_blocksize = 16;
-    m_mapSize = m_blocksize;
-    m_map = new String[m_blocksize];
-  }
-
-  /**
-   * Construct a StringToStringTable, using the given block size.
-   *
-   * @param blocksize Size of blocks to allocate 
-   */
-  public StringToStringTable(int blocksize)
-  {
-
-    m_blocksize = blocksize;
-    m_mapSize = blocksize;
-    m_map = new String[blocksize];
-  }
-
-  /**
-   * Get the length of the list.
-   *
-   * @return Number of strings in the list
-   */
-  public final int getLength()
-  {
-    return m_firstFree;
-  }
-
-  /**
-   * Append a string onto the vector.
-   * The strings go to the even locations in the array 
-   * and the values in the odd. 
-   *
-   * @param key String to add to the list 
-   * @param value Value of the string
-   */
-  public final void put(String key, String value)
-  {
-
-    if ((m_firstFree + 2) >= m_mapSize)
-    {
-      m_mapSize += m_blocksize;
-
-      String newMap[] = new String[m_mapSize];
-
-      System.arraycopy(m_map, 0, newMap, 0, m_firstFree + 1);
-
-      m_map = newMap;
-    }
-
-    m_map[m_firstFree] = key;
-
-    m_firstFree++;
-
-    m_map[m_firstFree] = value;
-
-    m_firstFree++;
-  }
-
-  /**
-   * Tell if the table contains the given string.
-   *
-   * @param key String to look up
-   *
-   * @return return the value of the string or null if not found. 
-   */
-  public final String get(String key)
-  {
-
-    for (int i = 0; i < m_firstFree; i += 2)
-    {
-      if (m_map[i].equals(key))
-        return m_map[i + 1];
-    }
-
-    return null;
-  }
-
-  /**
-   * Remove the given string and its value from this table.
-   *
-   * @param key String to remove from the table
-   */
-  public final void remove(String key)
-  {
-
-    for (int i = 0; i < m_firstFree; i += 2)
-    {
-      if (m_map[i].equals(key))
-      {
-        if ((i + 2) < m_firstFree)
-          System.arraycopy(m_map, i + 2, m_map, i, m_firstFree - (i + 2));
-
-        m_firstFree -= 2;
-        m_map[m_firstFree] = null;
-        m_map[m_firstFree + 1] = null;
-
-        break;
-      }
-    }
-  }
-
-  /**
-   * Tell if the table contains the given string. Ignore case
-   *
-   * @param key String to look up
-   *
-   * @return The value of the string or null if not found
-   */
-  public final String getIgnoreCase(String key)
-  {
-
-    if (null == key)
-      return null;
-
-    for (int i = 0; i < m_firstFree; i += 2)
-    {
-      if (m_map[i].equalsIgnoreCase(key))
-        return m_map[i + 1];
-    }
-
-    return null;
-  }
-
-  /**
-   * Tell if the table contains the given string in the value.
-   *
-   * @param val Value of the string to look up
-   *
-   * @return the string associated with the given value or null if not found
-   */
-  public final String getByValue(String val)
-  {
-
-    for (int i = 1; i < m_firstFree; i += 2)
-    {
-      if (m_map[i].equals(val))
-        return m_map[i - 1];
-    }
-
-    return null;
-  }
-
-  /**
-   * Get the nth element.
-   *
-   * @param i index of the string to look up.
-   *
-   * @return The string at the given index.
-   */
-  public final String elementAt(int i)
-  {
-    return m_map[i];
-  }
-
-  /**
-   * Tell if the table contains the given string.
-   *
-   * @param key String to look up
-   *
-   * @return True if the given string is in this table 
-   */
-  public final boolean contains(String key)
-  {
-
-    for (int i = 0; i < m_firstFree; i += 2)
-    {
-      if (m_map[i].equals(key))
-        return true;
-    }
-
-    return false;
-  }
-
-  /**
-   * Tell if the table contains the given string.
-   *
-   * @param val value to look up
-   *
-   * @return True if the given value is in the table.
-   */
-  public final boolean containsValue(String val)
-  {
-
-    for (int i = 1; i < m_firstFree; i += 2)
-    {
-      if (m_map[i].equals(val))
-        return true;
-    }
-
-    return false;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/StringToStringTableVector.java b/libcore/xml/src/main/java/org/apache/xml/utils/StringToStringTableVector.java
deleted file mode 100644
index 7265f2e..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/StringToStringTableVector.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: StringToStringTableVector.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xml.utils;
-
-/**
- * A very simple table that stores a list of StringToStringTables, optimized
- * for small lists.
- * @xsl.usage internal
- */
-public class StringToStringTableVector
-{
-
-  /** Size of blocks to allocate         */
-  private int m_blocksize;
-
-  /** Array of StringToStringTable objects          */
-  private StringToStringTable m_map[];
-
-  /** Number of StringToStringTable objects in this array          */
-  private int m_firstFree = 0;
-
-  /** Size of this array          */
-  private int m_mapSize;
-
-  /**
-   * Default constructor.  Note that the default
-   * block size is very small, for small lists.
-   */
-  public StringToStringTableVector()
-  {
-
-    m_blocksize = 8;
-    m_mapSize = m_blocksize;
-    m_map = new StringToStringTable[m_blocksize];
-  }
-
-  /**
-   * Construct a StringToStringTableVector, using the given block size.
-   *
-   * @param blocksize Size of blocks to allocate 
-   */
-  public StringToStringTableVector(int blocksize)
-  {
-
-    m_blocksize = blocksize;
-    m_mapSize = blocksize;
-    m_map = new StringToStringTable[blocksize];
-  }
-
-  /**
-   * Get the length of the list.
-   *
-   * @return Number of StringToStringTable objects in the list
-   */
-  public final int getLength()
-  {
-    return m_firstFree;
-  }
-
-  /**
-   * Get the length of the list.
-   *
-   * @return Number of StringToStringTable objects in the list
-   */
-  public final int size()
-  {
-    return m_firstFree;
-  }
-
-  /**
-   * Append a StringToStringTable object onto the vector.
-   *
-   * @param value StringToStringTable object to add
-   */
-  public final void addElement(StringToStringTable value)
-  {
-
-    if ((m_firstFree + 1) >= m_mapSize)
-    {
-      m_mapSize += m_blocksize;
-
-      StringToStringTable newMap[] = new StringToStringTable[m_mapSize];
-
-      System.arraycopy(m_map, 0, newMap, 0, m_firstFree + 1);
-
-      m_map = newMap;
-    }
-
-    m_map[m_firstFree] = value;
-
-    m_firstFree++;
-  }
-
-  /**
-   * Given a string, find the last added occurance value
-   * that matches the key.
-   *
-   * @param key String to look up
-   *
-   * @return the last added occurance value that matches the key
-   * or null if not found.
-   */
-  public final String get(String key)
-  {
-
-    for (int i = m_firstFree - 1; i >= 0; --i)
-    {
-      String nsuri = m_map[i].get(key);
-
-      if (nsuri != null)
-        return nsuri;
-    }
-
-    return null;
-  }
-
-  /**
-   * Given a string, find out if there is a value in this table
-   * that matches the key.
-   *
-   * @param key String to look for  
-   *
-   * @return True if the string was found in table, null if not
-   */
-  public final boolean containsKey(String key)
-  {
-
-    for (int i = m_firstFree - 1; i >= 0; --i)
-    {
-      if (m_map[i].get(key) != null)
-        return true;
-    }
-
-    return false;
-  }
-
-  /**
-   * Remove the last element.
-   */
-  public final void removeLastElem()
-  {
-
-    if (m_firstFree > 0)
-    {
-      m_map[m_firstFree] = null;
-
-      m_firstFree--;
-    }
-  }
-
-  /**
-   * Get the nth element.
-   *
-   * @param i Index of element to find
-   *
-   * @return The StringToStringTable object at the given index
-   */
-  public final StringToStringTable elementAt(int i)
-  {
-    return m_map[i];
-  }
-
-  /**
-   * Tell if the table contains the given StringToStringTable.
-   *
-   * @param s The StringToStringTable to find
-   *
-   * @return True if the StringToStringTable is found
-   */
-  public final boolean contains(StringToStringTable s)
-  {
-
-    for (int i = 0; i < m_firstFree; i++)
-    {
-      if (m_map[i].equals(s))
-        return true;
-    }
-
-    return false;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/SuballocatedByteVector.java b/libcore/xml/src/main/java/org/apache/xml/utils/SuballocatedByteVector.java
deleted file mode 100644
index 710112c..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/SuballocatedByteVector.java
+++ /dev/null
@@ -1,498 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: SuballocatedByteVector.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xml.utils;
-
-/**
- * A very simple table that stores a list of byte. Very similar API to our
- * IntVector class (same API); different internal storage.
- * 
- * This version uses an array-of-arrays solution. Read/write access is thus
- * a bit slower than the simple IntVector, and basic storage is a trifle
- * higher due to the top-level array -- but appending is O(1) fast rather
- * than O(N**2) slow, which will swamp those costs in situations where
- * long vectors are being built up.
- * 
- * Known issues:
- * 
- * Some methods are private because they haven't yet been tested properly.
- * 
- * If an element has not been set (because we skipped it), its value will
- * initially be 0. Shortening the vector does not clear old storage; if you
- * then skip values and setElementAt a higher index again, you may see old data
- * reappear in the truncated-and-restored section. Doing anything else would
- * have performance costs.
- * @xsl.usage internal
- */
-public class SuballocatedByteVector
-{
-  /** Size of blocks to allocate          */
-  protected int m_blocksize;
-  
-  /** Number of blocks to (over)allocate by */
-  protected  int m_numblocks=32;
-  
-  /** Array of arrays of bytes          */
-  protected byte m_map[][];
-
-  /** Number of bytes in array          */
-  protected int m_firstFree = 0;
-
-  /** "Shortcut" handle to m_map[0] */
-  protected byte m_map0[];
-
-  /**
-   * Default constructor.  Note that the default
-   * block size is very small, for small lists.
-   */
-  public SuballocatedByteVector()
-  {
-    this(2048);
-  }
-
-  /**
-   * Construct a ByteVector, using the given block size.
-   *
-   * @param blocksize Size of block to allocate
-   */
-  public SuballocatedByteVector(int blocksize)
-  {
-    m_blocksize = blocksize;
-    m_map0=new byte[blocksize];
-    m_map = new byte[m_numblocks][];
-    m_map[0]=m_map0;
-  }
-  
-  /**
-   * Construct a ByteVector, using the given block size.
-   *
-   * @param blocksize Size of block to allocate
-   */
-  public SuballocatedByteVector(int blocksize, int increaseSize)
-  {
-    // increaseSize not currently used.
-    this(blocksize);
-  }
-
-
-  /**
-   * Get the length of the list.
-   *
-   * @return length of the list
-   */
-  public int size()
-  {
-    return m_firstFree;
-  }
-  
-  /**
-   * Set the length of the list.
-   *
-   * @return length of the list
-   */
-  private  void setSize(int sz)
-  {
-    if(m_firstFree<sz)
-      m_firstFree = sz;
-  }
-
-  /**
-   * Append a byte onto the vector.
-   *
-   * @param value Byte to add to the list 
-   */
-  public  void addElement(byte value)
-  {
-    if(m_firstFree<m_blocksize)
-      m_map0[m_firstFree++]=value;
-    else
-    {
-      int index=m_firstFree/m_blocksize;
-      int offset=m_firstFree%m_blocksize;
-      ++m_firstFree;
-
-      if(index>=m_map.length)
-      {
-        int newsize=index+m_numblocks;
-        byte[][] newMap=new byte[newsize][];
-        System.arraycopy(m_map, 0, newMap, 0, m_map.length);
-        m_map=newMap;
-      }
-      byte[] block=m_map[index];
-      if(null==block)
-        block=m_map[index]=new byte[m_blocksize];
-      block[offset]=value;
-    }
-  }
-  
-  /**
-   * Append several byte values onto the vector.
-   *
-   * @param value Byte to add to the list 
-   */
-  private  void addElements(byte value, int numberOfElements)
-  {
-    if(m_firstFree+numberOfElements<m_blocksize)
-      for (int i = 0; i < numberOfElements; i++) 
-      {
-        m_map0[m_firstFree++]=value;
-      }
-    else
-    {
-      int index=m_firstFree/m_blocksize;
-      int offset=m_firstFree%m_blocksize;
-      m_firstFree+=numberOfElements;
-      while( numberOfElements>0)
-      {
-        if(index>=m_map.length)
-        {
-          int newsize=index+m_numblocks;
-          byte[][] newMap=new byte[newsize][];
-          System.arraycopy(m_map, 0, newMap, 0, m_map.length);
-          m_map=newMap;
-        }
-        byte[] block=m_map[index];
-        if(null==block)
-          block=m_map[index]=new byte[m_blocksize];
-        int copied=(m_blocksize-offset < numberOfElements)
-          ? m_blocksize-offset : numberOfElements;
-        numberOfElements-=copied;
-        while(copied-- > 0)
-          block[offset++]=value;
-
-        ++index;offset=0;
-      }
-    }
-  }
-  
-  /**
-   * Append several slots onto the vector, but do not set the values.
-   * Note: "Not Set" means the value is unspecified.
-   *
-   * @param numberOfElements
-   */
-  private  void addElements(int numberOfElements)
-  {
-    int newlen=m_firstFree+numberOfElements;
-    if(newlen>m_blocksize)
-    {
-      int index=m_firstFree%m_blocksize;
-      int newindex=(m_firstFree+numberOfElements)%m_blocksize;
-      for(int i=index+1;i<=newindex;++i)
-        m_map[i]=new byte[m_blocksize];
-    }
-    m_firstFree=newlen;
-  }
-  
-  /**
-   * Inserts the specified node in this vector at the specified index.
-   * Each component in this vector with an index greater or equal to
-   * the specified index is shifted upward to have an index one greater
-   * than the value it had previously.
-   *
-   * Insertion may be an EXPENSIVE operation!
-   *
-   * @param value Byte to insert
-   * @param at Index of where to insert 
-   */
-  private  void insertElementAt(byte value, int at)
-  {
-    if(at==m_firstFree)
-      addElement(value);
-    else if (at>m_firstFree)
-    {
-      int index=at/m_blocksize;
-      if(index>=m_map.length)
-      {
-        int newsize=index+m_numblocks;
-        byte[][] newMap=new byte[newsize][];
-        System.arraycopy(m_map, 0, newMap, 0, m_map.length);
-        m_map=newMap;
-      }
-      byte[] block=m_map[index];
-      if(null==block)
-        block=m_map[index]=new byte[m_blocksize];
-      int offset=at%m_blocksize;
-      block[offset]=value;
-      m_firstFree=offset+1;
-    }
-    else
-    {
-      int index=at/m_blocksize;
-      int maxindex=m_firstFree+1/m_blocksize;
-      ++m_firstFree;
-      int offset=at%m_blocksize;
-      byte push;
-      
-      // ***** Easier to work down from top?
-      while(index<=maxindex)
-      {
-        int copylen=m_blocksize-offset-1;
-        byte[] block=m_map[index];
-        if(null==block)
-        {
-          push=0;
-          block=m_map[index]=new byte[m_blocksize];
-        }
-        else
-        {
-          push=block[m_blocksize-1];
-          System.arraycopy(block, offset , block, offset+1, copylen);
-        }
-        block[offset]=value;
-        value=push;
-        offset=0;
-        ++index;
-      }
-    }
-  }
-
-  /**
-   * Wipe it out. 
-   */
-  public void removeAllElements()
-  {
-    m_firstFree = 0;
-  }
-
-  /**
-   * Removes the first occurrence of the argument from this vector.
-   * If the object is found in this vector, each component in the vector
-   * with an index greater or equal to the object's index is shifted
-   * downward to have an index one smaller than the value it had
-   * previously.
-   *
-   * @param s Byte to remove from array
-   *
-   * @return True if the byte was removed, false if it was not found
-   */
-  private  boolean removeElement(byte s)
-  {
-    int at=indexOf(s,0);
-    if(at<0)
-      return false;
-    removeElementAt(at);
-    return true;
-  }
-
-  /**
-   * Deletes the component at the specified index. Each component in
-   * this vector with an index greater or equal to the specified
-   * index is shifted downward to have an index one smaller than
-   * the value it had previously.
-   *
-   * @param at index of where to remove a byte
-   */
-  private  void removeElementAt(int at)
-  {
-    // No point in removing elements that "don't exist"...  
-    if(at<m_firstFree)
-    {
-      int index=at/m_blocksize;
-      int maxindex=m_firstFree/m_blocksize;
-      int offset=at%m_blocksize;
-      
-      while(index<=maxindex)
-      {
-        int copylen=m_blocksize-offset-1;
-        byte[] block=m_map[index];
-        if(null==block)
-          block=m_map[index]=new byte[m_blocksize];
-        else
-          System.arraycopy(block, offset+1, block, offset, copylen);
-        if(index<maxindex)
-        {
-          byte[] next=m_map[index+1];
-          if(next!=null)
-            block[m_blocksize-1]=(next!=null) ? next[0] : 0;
-        }
-        else
-          block[m_blocksize-1]=0;
-        offset=0;
-        ++index;
-      }
-    }
-    --m_firstFree;
-  }
-
-  /**
-   * Sets the component at the specified index of this vector to be the
-   * specified object. The previous component at that position is discarded.
-   *
-   * The index must be a value greater than or equal to 0 and less
-   * than the current size of the vector.
-   *
-   * @param value
-   * @param at     Index of where to set the object
-   */
-  public void setElementAt(byte value, int at)
-  {
-    if(at<m_blocksize)
-    {
-      m_map0[at]=value;
-      return;
-    }
-
-    int index=at/m_blocksize;
-    int offset=at%m_blocksize;
-        
-    if(index>=m_map.length)
-    {
-      int newsize=index+m_numblocks;
-      byte[][] newMap=new byte[newsize][];
-      System.arraycopy(m_map, 0, newMap, 0, m_map.length);
-      m_map=newMap;
-    }
-
-    byte[] block=m_map[index];
-    if(null==block)
-      block=m_map[index]=new byte[m_blocksize];
-    block[offset]=value;
-
-    if(at>=m_firstFree)
-      m_firstFree=at+1;
-  }
-
-  /**
-   * Get the nth element. This is often at the innermost loop of an
-   * application, so performance is critical.
-   *
-   * @param i index of value to get
-   *
-   * @return value at given index. If that value wasn't previously set,
-   * the result is undefined for performance reasons. It may throw an
-   * exception (see below), may return zero, or (if setSize has previously
-   * been used) may return stale data.
-   *
-   * @throws ArrayIndexOutOfBoundsException if the index was _clearly_
-   * unreasonable (negative, or past the highest block).
-   *
-   * @throws NullPointerException if the index points to a block that could
-   * have existed (based on the highest index used) but has never had anything
-   * set into it.
-   * %REVIEW% Could add a catch to create the block in that case, or return 0.
-   * Try/Catch is _supposed_ to be nearly free when not thrown to. Do we
-   * believe that? Should we have a separate safeElementAt?
-   */
-  public byte elementAt(int i)
-  {
-    // %OPT% Does this really buy us anything? Test versus division for small,
-    // test _plus_ division for big docs.
-    if(i<m_blocksize)
-      return m_map0[i];
-
-    return m_map[i/m_blocksize][i%m_blocksize];
-  }
-
-  /**
-   * Tell if the table contains the given node.
-   *
-   * @param s object to look for
-   *
-   * @return true if the object is in the list
-   */
-  private  boolean contains(byte s)
-  {
-    return (indexOf(s,0) >= 0);
-  }
-
-  /**
-   * Searches for the first occurence of the given argument,
-   * beginning the search at index, and testing for equality
-   * using the equals method.
-   *
-   * @param elem object to look for
-   * @param index Index of where to begin search
-   * @return the index of the first occurrence of the object
-   * argument in this vector at position index or later in the
-   * vector; returns -1 if the object is not found.
-   */
-  public int indexOf(byte elem, int index)
-  {
-    if(index>=m_firstFree)
-      return -1;
-          
-    int bindex=index/m_blocksize;
-    int boffset=index%m_blocksize;
-    int maxindex=m_firstFree/m_blocksize;
-    byte[] block;
-    
-    for(;bindex<maxindex;++bindex)
-    {
-      block=m_map[bindex];
-      if(block!=null)
-        for(int offset=boffset;offset<m_blocksize;++offset)
-          if(block[offset]==elem)
-            return offset+bindex*m_blocksize;
-      boffset=0; // after first
-    }
-    // Last block may need to stop before end
-    int maxoffset=m_firstFree%m_blocksize;
-    block=m_map[maxindex];
-    for(int offset=boffset;offset<maxoffset;++offset)
-      if(block[offset]==elem)
-        return offset+maxindex*m_blocksize;
-
-    return -1;    
-  }
-
-  /**
-   * Searches for the first occurence of the given argument,
-   * beginning the search at index, and testing for equality
-   * using the equals method.
-   *
-   * @param elem object to look for
-   * @return the index of the first occurrence of the object
-   * argument in this vector at position index or later in the
-   * vector; returns -1 if the object is not found.
-   */
-  public int indexOf(byte elem)
-  {
-    return indexOf(elem,0);
-  }
-
-  /**
-   * Searches for the first occurence of the given argument,
-   * beginning the search at index, and testing for equality
-   * using the equals method.
-   *
-   * @param elem Object to look for
-   * @return the index of the first occurrence of the object
-   * argument in this vector at position index or later in the
-   * vector; returns -1 if the object is not found.
-   */
-  private  int lastIndexOf(byte elem)
-  {
-    int boffset=m_firstFree%m_blocksize;
-    for(int index=m_firstFree/m_blocksize;
-        index>=0;
-        --index)
-    {
-      byte[] block=m_map[index];
-      if(block!=null)
-        for(int offset=boffset; offset>=0; --offset)
-          if(block[offset]==elem)
-            return offset+index*m_blocksize;
-      boffset=0; // after first
-    }
-    return -1;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/WrongParserException.java b/libcore/xml/src/main/java/org/apache/xml/utils/WrongParserException.java
deleted file mode 100644
index 842ac24..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/WrongParserException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: WrongParserException.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xml.utils;
-
-/**
- * Certain functions may throw this error if they are paired with
- * the incorrect parser.
- * @xsl.usage general
- */
-public class WrongParserException extends RuntimeException
-{
-    static final long serialVersionUID = 6481643018533043846L;
-
-  /**
-   * Create a WrongParserException object.
-   * @param message The error message that should be reported to the user.
-   */
-  public WrongParserException(String message)
-  {
-    super(message);
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xml/utils/XMLStringFactoryDefault.java b/libcore/xml/src/main/java/org/apache/xml/utils/XMLStringFactoryDefault.java
deleted file mode 100644
index 18ab959..0000000
--- a/libcore/xml/src/main/java/org/apache/xml/utils/XMLStringFactoryDefault.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XMLStringFactoryDefault.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xml.utils;
-
-/**
- * The default implementation of XMLStringFactory.
- * This implementation creates XMLStringDefault objects.
- */
-public class XMLStringFactoryDefault extends XMLStringFactory
-{
-  // A constant representing the empty String
-  private static final XMLStringDefault EMPTY_STR = new XMLStringDefault("");
-  
-  /**
-   * Create a new XMLString from a Java string.
-   *
-   *
-   * @param string Java String reference, which must be non-null.
-   *
-   * @return An XMLString object that wraps the String reference.
-   */
-  public XMLString newstr(String string)
-  {
-    return new XMLStringDefault(string);
-  }
-
-  /**
-   * Create a XMLString from a FastStringBuffer.
-   *
-   *
-   * @param fsb FastStringBuffer reference, which must be non-null.
-   * @param start The start position in the array.
-   * @param length The number of characters to read from the array.
-   *
-   * @return An XMLString object that wraps the FastStringBuffer reference.
-   */
-  public XMLString newstr(FastStringBuffer fsb, int start, int length)
-  {
-    return new XMLStringDefault(fsb.getString(start, length));
-  }
-
-  /**
-   * Create a XMLString from a FastStringBuffer.
-   *
-   *
-   * @param string FastStringBuffer reference, which must be non-null.
-   * @param start The start position in the array.
-   * @param length The number of characters to read from the array.
-   *
-   * @return An XMLString object that wraps the FastStringBuffer reference.
-   */
-  public XMLString newstr(char[] string, int start, int length)
-  {
-    return new XMLStringDefault(new String(string, start, length));
-  }
-                                   
-  /**
-   * Get a cheap representation of an empty string.
-   * 
-   * @return An non-null reference to an XMLString that represents "".
-   */
-  public XMLString emptystr()
-  {
-    return EMPTY_STR;
-  }
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/XPathException.java b/libcore/xml/src/main/java/org/apache/xpath/XPathException.java
index b5e682a..315a5d6 100644
--- a/libcore/xml/src/main/java/org/apache/xpath/XPathException.java
+++ b/libcore/xml/src/main/java/org/apache/xpath/XPathException.java
@@ -267,7 +267,7 @@
     
     boolean isJdk14OrHigher = false;
     try {
-        Throwable.class.getMethod("getCause",null);
+        Throwable.class.getMethod("getCause", (Class<?>) null);
         isJdk14OrHigher = true;
     } catch (NoSuchMethodException nsme) {
         // do nothing
diff --git a/libcore/xml/src/main/java/org/apache/xpath/objects/XRTreeFrag.java b/libcore/xml/src/main/java/org/apache/xpath/objects/XRTreeFrag.java
index f32a4ce..048f8ab 100644
--- a/libcore/xml/src/main/java/org/apache/xpath/objects/XRTreeFrag.java
+++ b/libcore/xml/src/main/java/org/apache/xpath/objects/XRTreeFrag.java
@@ -221,7 +221,7 @@
    * Cast result object to a DTMIterator.
    * dml - modified to return an RTFIterator for
    * benefit of EXSLT object-type function in 
-   * {@link org.apache.xalan.lib.ExsltCommon}.
+   * {@code org.apache.xalan.lib.ExsltCommon}.
    * @return The document fragment as a DTMIterator
    */
   public DTMIterator asNodeIterator()
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ca.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ca.java
deleted file mode 100644
index dddcaa5..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ca.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_ca.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_ca extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "La funci\u00f3 current() no \u00e9s permesa en un patr\u00f3 de coincid\u00e8ncia." },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "La funci\u00f3 current() no accepta arguments." },
-
-  { ER_DOCUMENT_REPLACED,
-      "La implementaci\u00f3 de la funci\u00f3 document() s'ha substitu\u00eft per org.apache.xalan.xslt.FuncDocument."},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "El context no t\u00e9 un document de propietari."},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() t\u00e9 massa arguments."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() t\u00e9 massa arguments."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() t\u00e9 massa arguments."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() t\u00e9 massa arguments."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() t\u00e9 massa arguments."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() t\u00e9 massa arguments."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() t\u00e9 massa arguments."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "La funci\u00f3 translate() t\u00e9 tres arguments."},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "La funci\u00f3 unparsed-entity-uri ha de tenir un argument."},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "L'eix de l'espai de noms encara no s'ha implementat."},
-
-  { ER_UNKNOWN_AXIS,
-     "Eix desconegut: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "Operaci\u00f3 de coincid\u00e8ncia desconeguda."},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "La longitud de l'argument de la prova de node processing-instruction() no \u00e9s correcta."},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "No es pot convertir {0} en un n\u00famero."},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "No es pot convertir {0} en una NodeList."},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "No es pot convertir {0} en un NodeSetDTM."},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "No es pot convertir {0} en un tipus #{1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "El patr\u00f3 de coincid\u00e8ncia de getMatchScore \u00e9s l'esperat."},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "No s''ha pogut obtenir la variable {0}."},
-
-  { ER_UNKNOWN_OPCODE,
-     "ERROR. Codi op desconegut: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Senyals addicionals no permesos: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "Les cometes del literal s\u00f3n incorrectes. Hi ha d'haver cometes dobles."},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "Les cometes del literal s\u00f3n incorrectes. Hi ha d'haver una cometa simple."},
-
-  { ER_EMPTY_EXPRESSION,
-     "Expressi\u00f3 buida."},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "S''esperava {0}, per\u00f2 s''ha detectat {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "L''afirmaci\u00f3 del programador \u00e9s incorrecta. - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "L'argument boolean(...) ja no \u00e9s opcional amb l'esborrany d'XPath 19990709."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "S'ha trobat ',' per\u00f2 al davant no hi havia cap argument."},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "S'ha trobat ',' per\u00f2 al darrere no hi havia cap argument."},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predicate]' o '.[predicate]' no \u00e9s una sintaxi permesa. En comptes d'aix\u00f2, utilitzeu 'self::node()[predicate]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "Nom d''eix no perm\u00e8s: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "Tipus de node desconegut: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "El literal de patr\u00f3 ({0}) ha d''anar entre cometes."},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} no s''ha pogut formatar com a n\u00famero."},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "No s''ha pogut crear la relaci\u00f3 XML TransformerFactory: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Error. No s'ha trobat l'expressi\u00f3 select d'xpath (-select)."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "ERROR. No s'ha trobat ENDOP despr\u00e9s d'OP_LOCATIONPATH."},
-
-  { ER_ERROR_OCCURED,
-     "S'ha produ\u00eft un error."},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "S''ha donat VariableReference per a una variable fora de context o sense definici\u00f3. Nom = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "Nom\u00e9s es permeten els eixos subordinat:: i atribut:: en els patrons de coincid\u00e8ncia. Eixos incorrectes = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() t\u00e9 un nombre incorrecte d'arguments."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "La funci\u00f3 count ha de tenir un argument."},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "No s''ha pogut trobar la funci\u00f3: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Codificaci\u00f3 sense suport: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "S'ha produ\u00eft un error en el DTM de getNextSibling. S'intentar\u00e0 solucionar."},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Error del programador: no es pot escriure a EmptyNodeList."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "XPathContext no d\u00f3na suport a setDOMFactory."},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "El prefix s''ha de resoldre en un espai de noms: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "L''an\u00e0lisi (origen InputSource) no t\u00e9 suport a XPathContext. No es pot obrir {0}."},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "Els car\u00e0cters de l'API SAX (char ch[]... no es poden gestionar pel DTM."},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... no es poden gestionar pel DTM."},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison no pot gestionar nodes del tipus {0}."},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper no pot gestionar nodes del tipus {0}."},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "Error de DOM2Helper.parse: ID del sistema - {0} l\u00ednia - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "Error de DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "S''ha detectat un suplent UTF-16 no v\u00e0lid: {0} ?"},
-
-  { ER_OIERROR,
-     "Error d'E/S"},
-
-  { ER_CANNOT_CREATE_URL,
-     "No es pot crear la URL de: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "En XPath.readObject: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "No s'ha trobat el senyal de funci\u00f3."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "No s''ha pogut tractar amb el tipus d''XPath: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Aquest NodeSet no \u00e9s mutable."},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Aquest NodeSetDTM no \u00e9s mutable."},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "No es pot resoldre la variable: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Manejador d'error nul"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Afirmaci\u00f3 del programador: opcode desconegut: {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 o 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() no t\u00e9 suport d'XRTreeFragSelectWrapper"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() no t\u00e9 suport d'XRTreeFragSelectWrapper"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() no t\u00e9 suport d'XRTreeFragSelectWrapper"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() no t\u00e9 suport d'XRTreeFragSelectWrapper"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() no t\u00e9 suport d'XRTreeFragSelectWrapper"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() no t\u00e9 suport d'XRTreeFragSelectWrapper"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() no t\u00e9 suport d'XStringForChars"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "No s''ha trobat la variable amb el nom de {0}"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars no pot agafar una cadena com a argument."},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "L'argument FastStringBuffer no pot ser nul."},
-
-  { ER_TWO_OR_THREE,
-       "2 o 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "S'ha accedit a la variable abans que estigu\u00e9s vinculada."},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB no pot agafar una cadena com a argument."},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n Error. S'est\u00e0 establint l'arrel d'un itinerant en nul."},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Aquest NodeSetDTM no es pot iterar en un node previ"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Aquest NodeSet no es pot iterar en un node previ"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Aquest NodeSetDTM no pot indexar ni efectuar funcions de recompte"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Aquest NodeSet no pot indexar ni efectuar funcions de recompte"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "No es pot cridar setShouldCacheNodes despr\u00e9s que s'hagi cridat nextNode"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} nom\u00e9s permet {1} arguments"},
-
-  { ER_UNKNOWN_STEP,
-       "Afirmaci\u00f3 del programador a getNextStepPos: stepType desconegut: {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "S'esperava una via d'acc\u00e9s relativa darrere del senyal '/' o '//'."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "S''esperava una via d''acc\u00e9s d''ubicaci\u00f3, per\u00f2 s''ha trobat el senyal seg\u00fcent\u003a {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "S'esperava una via d'acc\u00e9s, per\u00f2 enlloc d'aix\u00f2 s'ha trobat el final de l'expressi\u00f3 XPath. "},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "S'esperava un pas d'ubicaci\u00f3 despr\u00e9s del senyal '/' o '//'."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "S'esperava una prova de node que coincid\u00eds amb NCName:* o QName."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "S'esperava un patr\u00f3 de pas per\u00f2 s'ha trobat '/'."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "S'esperava un patr\u00f3 de via d'acc\u00e9s relativa."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot convertir a un cap valor boole\u00e0. "},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot convertir a un node \u00fanic. El m\u00e8tode getSingleNodeValue s''aplica nom\u00e9s al tipus ANY_UNORDERED_NODE_TYPE i FIRST_ORDERED_NODE_TYPE."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "El m\u00e8tode getSnapshotLength no es pot cridar a l''expressi\u00f3 XPathResult d''XPath ''{0}'' perqu\u00e8 el seu XPathResultType \u00e9s {1}. Aquest m\u00e8tode nom\u00e9s s''aplica als tipus UNORDERED_NODE_SNAPSHOT_TYPE i ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "El m\u00e8tode iterateNext no es pot cridar a l''expressi\u00f3 XPathResult d''XPath ''{0}'' perqu\u00e8 el seu XPathResultType \u00e9s {1}. Aquest m\u00e8tode nom\u00e9s s''aplica als tipus UNORDERED_NODE_ITERATOR_TYPE i ORDERED_NODE_ITERATOR_TYPE."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "El document s'ha modificat des que es van produir els resultats. L'iterador no \u00e9s v\u00e0lid."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "L''argument de tipus XPath no \u00e9s v\u00e0lid: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "L'objecte de resultats XPath est\u00e0 buit."},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot encaixar al XPathResultType especificat de {2}."},
-
-  { ER_NULL_RESOLVER,
-       "No es pot resoldre el prefix amb un solucionador de prefix nul."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot convertir a cap cadena. "},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "El m\u00e8tode snapshotItem no es pot cridar a l''expressi\u00f3 XPathResult d''XPath ''{0}'' perqu\u00e8 el seu XPathResultType \u00e9s {1}. Aquest m\u00e8tode nom\u00e9s s''aplica als tipus UNORDERED_NODE_SNAPSHOT_TYPE i ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "El node de context no pertany al document vinculat a aquest XPathEvaluator."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "El tipus de node de context no t\u00e9 suport."},
-
-  { ER_XPATH_ERROR,
-       "S'ha produ\u00eft un error desconegut a XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot convertir a cap n\u00famero "},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "Funci\u00f3 d''extensi\u00f3: no es pot invocar ''{0}'' si la caracter\u00edstica XMLConstants.FEATURE_SECURE_PROCESSING s''ha establert en true."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "resolveVariable de la variable {0} torna el valor nul"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Tipus de retorn no suportat: {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "El tipus de retorn o d'origen no pot ser nul"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "L''argument {0} no pot ser nul "},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "{0}#isObjectModelSupported( String objectModel) no es pot cridar amb objectModel == null"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "{0}#isObjectModelSupported( String objectModel ) no es pot cridar amb objectModel == \"\""},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Intent d''establir una caracter\u00edstica amb un nom nul: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Intent d''establir una caracter\u00edstica desconeguda \"{0}\":{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Intent d''obtenir una caracter\u00edstica amb un nom nul: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Intent d''obtenir la caracter\u00edstica desconeguda \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "S''ha intentat establir un XPathFunctionResolver nul:{0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "S''ha intentat establir un XPathVariableResolver null:{0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "No s'ha gestionat encara el nom d'entorn nacional en la funci\u00f3 format-number."},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "La propietat XSL no t\u00e9 suport: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "No feu res ara mateix amb l''espai de noms {0} de la propietat: {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "S''ha produ\u00eft SecurityException en intentar accedir a la propietat de sistema XSL: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "Sintaxi antiga: quo(...) ja no est\u00e0 definit a XPath."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath necessita un objecte dedu\u00eft per implementar nodeTest."},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "No s'ha trobat el senyal de funci\u00f3."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "No s''ha pogut trobar la funci\u00f3: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "No es pot crear la URL de: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "L'opci\u00f3 -E no t\u00e9 suport a l'analitzador de DTM"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "S''ha donat VariableReference per a una variable fora de context o sense definici\u00f3. Nom = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Codificaci\u00f3 sense suport: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "ca"},
-  { "help_language", "ca"},
-  { "language", "ca"},
-  { "BAD_CODE", "El par\u00e0metre de createMessage estava fora dels l\u00edmits."},
-  { "FORMAT_FAILED", "S'ha generat una excepci\u00f3 durant la crida messageFormat."},
-  { "version", ">>>>>>> Versi\u00f3 Xalan "},
-  { "version2", "<<<<<<<"},
-  { "yes", "s\u00ed"},
-  { "line", "L\u00ednia n\u00fam."},
-  { "column", "Columna n\u00fam."},
-  { "xsldone", "XSLProcessor: fet"},
-  { "xpath_option", "Opcions d'xpath: "},
-  { "optionIN", "   [-in inputXMLURL]"},
-  { "optionSelect", "   [-select expressi\u00f3 xpath]"},
-  { "optionMatch", "   [-match patr\u00f3 coincid\u00e8ncia (per a diagn\u00f2stics de coincid\u00e8ncia)]"},
-  { "optionAnyExpr", "O nom\u00e9s una expressi\u00f3 xpath far\u00e0 un buidatge de diagn\u00f2stic."},
-  { "noParsermsg1", "El proc\u00e9s XSL no ha estat correcte."},
-  { "noParsermsg2", "** No s'ha trobat l'analitzador **"},
-  { "noParsermsg3", "Comproveu la vostra classpath."},
-  { "noParsermsg4", "Si no teniu XML Parser for Java d'IBM, el podeu baixar de l'indret web"},
-  { "noParsermsg5", "AlphaWorks d'IBM: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#error";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Error: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Av\u00eds: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("ca", "ES"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_cs.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_cs.java
deleted file mode 100644
index 1f2039f..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_cs.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_cs.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_cs extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "Funkce current() nen\u00ed ve vzorku shody povolena!" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "Funkce current() neakceptuje argumenty!" },
-
-  { ER_DOCUMENT_REPLACED,
-      "implementace funkce document() byla nahrazena funkc\u00ed org.apache.xalan.xslt.FuncDocument!"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "Parametr context nem\u00e1 dokument vlastn\u00edka!"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "P\u0159\u00edli\u0161 mnoho argument\u016f funkce local-name()."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "P\u0159\u00edli\u0161 mnoho argument\u016f funkce namespace-uri()."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "P\u0159\u00edli\u0161 mnoho argument\u016f funkce normalize-space()."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "P\u0159\u00edli\u0161 mnoho argument\u016f funkce number()."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "P\u0159\u00edli\u0161 mnoho argument\u016f funkce name()."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "P\u0159\u00edli\u0161 mnoho argument\u016f funkce string()."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "P\u0159\u00edli\u0161 mnoho argument\u016f funkce string-length()."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "Funkce translate() akceptuje t\u0159i argumenty!"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "Funkce unparsed-entity-uri mus\u00ed akceptovat jeden argument!"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "Obor n\u00e1zv\u016f axis nebyl je\u0161t\u011b implementov\u00e1n!"},
-
-  { ER_UNKNOWN_AXIS,
-     "nezn\u00e1m\u00fd parametr axis: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "nezn\u00e1m\u00e1 operace shody!"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "Nespr\u00e1vn\u00e1 d\u00e9lka argumentu testu uzlu processing-instruction()!"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "{0} nelze p\u0159ev\u00e9st na parametr number"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "{0} nelze p\u0159ev\u00e9st na parametr NodeList!"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "{0} nelze p\u0159ev\u00e9st na parametr NodeSetDTM!"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "{0} nelze p\u0159ev\u00e9st na parametr type#{1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "Funkce getMatchScore o\u010dek\u00e1v\u00e1 parametr!"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "Nelze z\u00edskat prom\u011bnnou s n\u00e1zvem {0}"},
-
-  { ER_UNKNOWN_OPCODE,
-     "Chyba! Nezn\u00e1m\u00fd k\u00f3d operace: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Dal\u0161\u00ed nepovolen\u00e9 tokeny: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "nespr\u00e1vn\u011b uveden\u00fd liter\u00e1l... Byly o\u010dek\u00e1v\u00e1ny uvozovky!"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "nespr\u00e1vn\u011b uveden\u00fd liter\u00e1l... Byly o\u010dek\u00e1v\u00e1ny jednoduch\u00e9 uvozovky!"},
-
-  { ER_EMPTY_EXPRESSION,
-     "Pr\u00e1zdn\u00fd v\u00fdraz!"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "O\u010dek\u00e1v\u00e1no: {0}, ale nalezeno: {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "Nespr\u00e1vn\u00e9 tvrzen\u00ed program\u00e1tora! - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "booleovsk\u00fd(...) argument ji\u017e nen\u00ed v n\u00e1vrhu 19990709 XPath voliteln\u00fd."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "Byl nalezen znak ',' bez p\u0159edchoz\u00edho argumentu!"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "Byl nalezen znak ',' bez n\u00e1sleduj\u00edc\u00edho argumentu!"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "V\u00fdraz '..[predicate]' nebo '.[predicate]' m\u00e1 nespr\u00e1vnou syntaxi. Pou\u017eijte m\u00edsto toho 'self::node()[predicate]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "nepovolen\u00fd n\u00e1zev osy: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "Nezn\u00e1m\u00fd typ uzlu: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "Je nutno uv\u00e9st vzorek liter\u00e1lu ({0})!"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} nelze zform\u00e1tovat jako \u010d\u00edslo!"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "Nelze vytvo\u0159it prvek XML TransformerFactory Liaison: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Chyba! Nebyl nalezen v\u00fdraz v\u00fdb\u011bru xpath (-select)."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "Chyba! Nebyl nalezen v\u00fdraz ENDOP po OP_LOCATIONPATH"},
-
-  { ER_ERROR_OCCURED,
-     "Do\u0161lo k chyb\u011b!"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "Odkaz VariableReference uveden k prom\u011bnn\u00e9 mimo kontext nebo bez definice!  N\u00e1zev = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "Ve vzorc\u00edch shody jsou povoleny pouze osy child:: a attribute::!  Nepovolen\u00e9 osy = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "nespr\u00e1vn\u00fd po\u010det argument\u016f parametru key()."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "Funkce count mus\u00ed obsahovat jeden argument!"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "Nelze nal\u00e9zt funkci: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Nepodporovan\u00e9 k\u00f3dov\u00e1n\u00ed: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "Ve funkci getNextSibling do\u0161lo v DTM k chyb\u011b... Prob\u00edh\u00e1 pokus o obnovu"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Chyba program\u00e1tora: Do funkce EmptyNodeList nelze zapisovat."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "Funkce XPathContext nepodporuje funkci setDOMFactory!"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "P\u0159edponu mus\u00ed b\u00fdt mo\u017eno p\u0159elo\u017eit do oboru n\u00e1zv\u016f: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "Funkce XPathContext nepodporuje anal\u00fdzu (InputSource source)! {0} - nelze otev\u0159\u00edt"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "Znaky SAX API (char ch[]... nen\u00ed v DTM zpracov\u00e1v\u00e1na!"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "Funkce ignorableWhitespace(char ch[]... nen\u00ed v DTM zpracov\u00e1v\u00e1na!"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "Funkce DTMLiaison nem\u016f\u017ee zpracov\u00e1vat uzly typu {0}"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "Funkce DOM2Helper nem\u016f\u017ee zpracov\u00e1vat uzly typu {0}"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "Chyba funkce DOM2Helper.parse: SystemID - {0} \u0159\u00e1dek - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "Chyba funkce DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "Byla zji\u0161t\u011bna neplatn\u00e1 n\u00e1hrada UTF-16: {0} ?"},
-
-  { ER_OIERROR,
-     "Chyba vstupu/v\u00fdstupu"},
-
-  { ER_CANNOT_CREATE_URL,
-     "Nelze vytvo\u0159it url pro: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "Ve funkci XPath.readObject: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "nebyl nalezen token funkce."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "Nelze pracovat s typem XPath: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Tento prvek NodeSet nelze m\u011bnit"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Tento prvek NodeSetDTM nelze m\u011bnit"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "Prom\u011bnnou nelze p\u0159elo\u017eit: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Obslu\u017en\u00fd program pro zpracov\u00e1n\u00ed chyb hodnoty null"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Tvrzen\u00ed program\u00e1tora: nezn\u00e1m\u00fd k\u00f3d operace: {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 nebo 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "Modul XRTreeFragSelectWrapper nepodporuje rtf()"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "Modul XRTreeFragSelectWrapper nepodporuje funkci asNodeIterator()"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "Modul XRTreeFragSelectWrapper nepodporuje funkci detach()"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "Modul XRTreeFragSelectWrapper nepodporuje funkci num()"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "Modul XRTreeFragSelectWrapper nepodporuje funkci xstr()"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "Modul XRTreeFragSelectWrapper nepodporuje funkci str()"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "Funkce XStringForChars nepodporuje funkci fsb()"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "Nelze nal\u00e9zt prom\u011bnnou s n\u00e1zvem {0}"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "Argumentem funkce XStringForChars nem\u016f\u017ee b\u00fdt \u0159et\u011bzec"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "Argument funkce FastStringBuffer nem\u016f\u017ee m\u00edt hodnotu null"},
-
-  { ER_TWO_OR_THREE,
-       "2 nebo 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "P\u0159\u00edstup k prom\u011bnn\u00e9 p\u0159edt\u00edm, ne\u017e je z\u00e1vazn\u00e1!"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "Argumentem funkce XStringForFSB nem\u016f\u017ee b\u00fdt \u0159et\u011bzec!"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! Chyba! Nastaven\u00ed ko\u0159ene objektu walker na hodnotu null!!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Tato funkce NodeSetDTM nem\u016f\u017ee b\u00fdt stejn\u00e1 jako p\u0159edch\u00e1zej\u00edc\u00ed uzel!"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Tato funkce NodeSet nem\u016f\u017ee b\u00fdt stejn\u00e1 jako p\u0159edch\u00e1zej\u00edc\u00ed uzel!"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Tato funkce NodeSetDTM nem\u016f\u017ee prov\u00e1d\u011bt indexovac\u00ed nebo po\u010detn\u00ed funkce!"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Tato funkce NodeSet nem\u016f\u017ee prov\u00e1d\u011bt indexovac\u00ed nebo po\u010detn\u00ed funkce!"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "Nelze volat funkci setShouldCacheNodes pot\u00e9, co byla vol\u00e1na funkce nextNode!"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} povoluje pouze {1} argument\u016f"},
-
-  { ER_UNKNOWN_STEP,
-       "Tvrzen\u00ed program\u00e1tora ve funkci getNextStepPos: nezn\u00e1m\u00fd typ stepType: {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "Po tokenu '/' nebo '//' byla o\u010dek\u00e1v\u00e1na cesta relativn\u00edho um\u00edst\u011bn\u00ed."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "O\u010dek\u00e1vala se cesta um\u00edst\u011bn\u00ed, av\u0161ak byl zaznamen\u00e1n n\u00e1sleduj\u00edc\u00ed token\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "Byla o\u010dek\u00e1v\u00e1na cesta um\u00edst\u011bn\u00ed, m\u00edsto toho v\u0161ak byl nalezen konec v\u00fdrazu XPath. "},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "Po tokenu '/' nebo '//' byl o\u010dek\u00e1v\u00e1n krok um\u00edst\u011bn\u00ed"},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "Byl o\u010dek\u00e1v\u00e1n test uzlu, kter\u00fd odpov\u00edd\u00e1 bu\u010f prvk\u016fm NCName:* nebo QName."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "Byl o\u010dek\u00e1v\u00e1n vzorek kroku, av\u0161ak byl zaznamen\u00e1n znak '/'."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "Byl o\u010dek\u00e1v\u00e1n vzorek relativn\u00ed cesty."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "Hodnota XPathResult v\u00fdrazu XPath ''{0}'' je typu XPathResultType {1}, kter\u00fd nelze p\u0159ev\u00e9st na booleovsk\u00fd typ. "},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "Hodnota XPathResult v\u00fdrazu XPath ''{0}'' je typu XPathResultType {1}, kter\u00fd nelze p\u0159ev\u00e9st na jedin\u00fd uzel. Metoda getSingleNodeValue je pou\u017eiteln\u00e1 pouze pro typy ANY_UNORDERED_NODE_TYPE a FIRST_ORDERED_NODE_TYPE. "},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "Metodu getSnapshotLength nelze volat v datech XPathResult ani ve v\u00fdrazu XPath ''{0}'', proto\u017ee jej\u00ed typ XPathResultType je {1}. Tato metoda se pou\u017e\u00edv\u00e1 pouze pro typy UNORDERED_NODE_SNAPSHOT_TYPE a ORDERED_NODE_SNAPSHOT_TYPE. "},
-
-  { ER_NON_ITERATOR_TYPE,
-       "Metodu iterateNext nelze volat v datech XPathResult ani ve v\u00fdrazu XPath ''{0}'', proto\u017ee jej\u00ed typ XPathResultType je {1}. Tato metoda se pou\u017e\u00edv\u00e1 pouze pro typy UNORDERED_NODE_ITERATOR_TYPE a ORDERED_NODE_ITERATOR_TYPE. "},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "Dokument se od doby, kdy byly vr\u00e1ceny v\u00fdsledky, zm\u011bnil. Iter\u00e1tor je neplatn\u00fd."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "Neplatn\u00fd argument typu XPath: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "Pr\u00e1zdn\u00fd objekt v\u00fdsledku XPath"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "Hodnota XPathResult v\u00fdrazu XPath ''{0}'' je typu XPathResultType {1}, kter\u00fd nelze vynucen\u011b p\u0159ev\u00e9st na zadan\u00fd typ XPathResultType {2}. "},
-
-  { ER_NULL_RESOLVER,
-       "Nelze \u0159e\u0161it p\u0159edponu \u0159e\u0161itelem (resolver) s p\u0159edponou hodnoty null."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "Hodnota XPathResult v\u00fdrazu XPath ''{0}'' je typu XPathResultType {1}, kter\u00fd nelze p\u0159ev\u00e9st na \u0159et\u011bzec. "},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "Metodu snapshotItem nelze volat v datech XPathResult ani ve v\u00fdrazu of XPath ''{0}'', proto\u017ee jej\u00ed typ XPathResultType je {1}. Tato metoda se pou\u017e\u00edv\u00e1 pouze pro typy UNORDERED_NODE_SNAPSHOT_TYPE a ORDERED_NODE_SNAPSHOT_TYPE. "},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "Uzel kontextu nepat\u0159\u00ed mezi dokumenty, kter\u00e9 jsou v\u00e1z\u00e1ny k XPathEvaluator."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "Typ uzlu kontextu nen\u00ed podporov\u00e1n."},
-
-  { ER_XPATH_ERROR,
-       "Nezn\u00e1m\u00e1 chyba objektu XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "Hodnota XPathResult v\u00fdrazu XPath ''{0}'' je typu XPathResultType {1}, kter\u00fd nelze p\u0159ev\u00e9st na \u010d\u00edslo. "},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "Roz\u0161i\u0159uj\u00edc\u00ed funkci ''{0}'' nelze vyvolat, pokud je funkce XMLConstants.FEATURE_SECURE_PROCESSING nastavena na hodnotu True. "},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "Funkce resolveVariable pro prom\u011bnnou {0} vrac\u00ed hodnotu Null"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Nepodporovan\u00fd n\u00e1vratov\u00fd typ: {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "Zdrojov\u00fd a n\u00e1vratov\u00fd typ nesm\u00ed m\u00edt hodnotu Null"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "Argument {0} nesm\u00ed m\u00edt hodnotu Null"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "Funkci {0}#isObjectModelSupported( String objectModel ) nelze volat s hodnotou objectModel == Null"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "Funkci {0}#isObjectModelSupported( String objectModel ) nelze volat s hodnotou objectModel == \"\""},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Pokus o nastaven\u00ed funkce s n\u00e1zvem s hodnotou Null: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Pokus o nastaven\u00ed nezn\u00e1m\u00e9 funkce \"{0}\":{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Pokus o na\u010dten\u00ed funkce s n\u00e1zvem s hodnotou Null: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Pokus o z\u00edsk\u00e1n\u00ed nezn\u00e1m\u00e9 funkce \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Pokus o nastaven\u00ed parametru XPathFunctionResolver s hodnotou Null:{0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Pokus o nastaven\u00ed parametru XPathVariableResolver s hodnotou Null:{0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "funkce format-number prozat\u00edm nezpracovala n\u00e1zev n\u00e1rodn\u00edho prost\u0159ed\u00ed (locale)!"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "Vlastnost XSL nen\u00ed podporov\u00e1na: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "Aktu\u00e1ln\u011b ned\u011blejte nic s oborem n\u00e1zv\u016f {0} vlastnosti: {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "P\u0159i pokusu o p\u0159\u00edstup k syst\u00e9mov\u00e9 vlastnosti XSL do\u0161lo k v\u00fdjimce SecurityException: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "Zastaral\u00e1 syntaxe: quo(...) ji\u017e nen\u00ed v XPath definov\u00e1no."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath pot\u0159ebuje k implementaci funkce nodeTest odvozen\u00fd objekt!"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "nebyl nalezen token funkce."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "Nelze nal\u00e9zt funkci: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "Nelze vytvo\u0159it adresu URL z: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "Analyz\u00e1tor DTM nepodporuje volbu -E"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "Odkaz VariableReference uveden k prom\u011bnn\u00e9 mimo kontext nebo bez definice!  N\u00e1zev = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Nepodporovan\u00e9 k\u00f3dov\u00e1n\u00ed: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "cs"},
-  { "help_language", "cs"},
-  { "language", "cs"},
-  { "BAD_CODE", "Parametr funkce createMessage je mimo limit"},
-  { "FORMAT_FAILED", "P\u0159i vol\u00e1n\u00ed funkce messageFormat do\u0161lo k v\u00fdjimce"},
-  { "version", ">>>>>>> Verze Xalan "},
-  { "version2", "<<<<<<<"},
-  { "yes", "ano"},
-  { "line", "\u0158\u00e1dek #"},
-  { "column", "Sloupec #"},
-  { "xsldone", "XSLProcessor: hotovo"},
-  { "xpath_option", "volby xpath: "},
-  { "optionIN", "   [-in inputXMLURL]"},
-  { "optionSelect", "   [-select v\u00fdraz xpath]"},
-  { "optionMatch", "   [-match vzorek shody (pro diagnostiku shody)]"},
-  { "optionAnyExpr", "Jinak v\u00fdpis diagnostiky provede pouze v\u00fdraz xpath"},
-  { "noParsermsg1", "Proces XSL nebyl \u00fasp\u011b\u0161n\u00fd."},
-  { "noParsermsg2", "** Nelze naj\u00edt analyz\u00e1tor **"},
-  { "noParsermsg3", "Zkontrolujte cestu classpath."},
-  { "noParsermsg4", "Nem\u00e1te-li analyz\u00e1tor XML jazyka Java spole\u010dnosti IBM, m\u016f\u017eete si jej st\u00e1hnout z adresy:"},
-  { "noParsermsg5", "AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#chyba";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Chyba: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Varov\u00e1n\u00ed: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("cs", "CZ"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_de.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_de.java
deleted file mode 100644
index ea2daed..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_de.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_de.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_de extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "Die Funktion current() ist in einem \u00dcbereinstimmungsmuster nicht zul\u00e4ssig!" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "In der Funktion current() d\u00fcrfen keine Argumente angegeben werden!" },
-
-  { ER_DOCUMENT_REPLACED,
-      "Die Implementierung der Funktion document() wurde durch org.apache.xalan.xslt.FuncDocument ersetzt!"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "Der Kontextknoten verf\u00fcgt nicht \u00fcber ein Eignerdokument!"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() weist zu viele Argumente auf."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() weist zu viele Argumente auf."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() weist zu viele Argumente auf."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() weist zu viele Argumente auf."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() weist zu viele Argumente auf."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() weist zu viele Argumente auf."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() weist zu viele Argumente auf."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "Die Funktion translate() erfordert drei Argumente!"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "Die Funktion unparsed-entity-uri sollte ein einziges Argument enthalten!"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "Die Namensbereichsachse ist bisher nicht implementiert!"},
-
-  { ER_UNKNOWN_AXIS,
-     "Unbekannte Achse: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "Unbekannter \u00dcbereinstimmungsvorgang!"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "Die L\u00e4nge des Arguments f\u00fcr den Knotentest von processing-instruction() ist falsch!"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "{0} kann nicht in eine Zahl konvertiert werden!"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "{0} kann nicht in NodeList konvertiert werden!"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "{0} kann nicht in NodeSetDTM konvertiert werden!"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "{0} kann nicht in type#{1} konvertiert werden."},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "\u00dcbereinstimmungsmuster in getMatchScore erwartet!"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "Die Variable mit dem Namen {0} konnte nicht abgerufen werden."},
-
-  { ER_UNKNOWN_OPCODE,
-     "FEHLER! Unbekannter Operationscode: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Zus\u00e4tzliche nicht zul\u00e4ssige Token: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "Falsche Anf\u00fchrungszeichen f\u00fcr Literal... Doppelte Anf\u00fchrungszeichen wurden erwartet!"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "Falsche Anf\u00fchrungszeichen f\u00fcr Literal... Einfache Anf\u00fchrungszeichen wurden erwartet!"},
-
-  { ER_EMPTY_EXPRESSION,
-     "Leerer Ausdruck!"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "Erwartet wurde {0}, gefunden wurde: {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "Festlegung des Programmierers ist falsch! - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "Das Argument boolean(...) ist im XPath-Entwurf 19990709 nicht mehr optional."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "Gefunden wurde ',' ohne vorangestelltes Argument!"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "Gefunden wurde ',' ohne nachfolgendes Argument!"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predicate]' oder '.[predicate]' ist eine nicht zul\u00e4ssige Syntax. Verwenden Sie stattdessen 'self::node()[predicate]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "Nicht zul\u00e4ssiger Achsenname: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "Unbekannter Knotentyp: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "Musterliteral ({0}) muss in Anf\u00fchrungszeichen angegeben werden!"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} konnte nicht als Zahl formatiert werden!"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "XML-TransformerFactory-Liaison konnte nicht erstellt werden: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Fehler! xpath-Auswahlausdruck (-select) konnte nicht gefunden werden."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "FEHLER! ENDOP konnte nach OP_LOCATIONPATH nicht gefunden werden."},
-
-  { ER_ERROR_OCCURED,
-     "Es ist ein Fehler aufgetreten!"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "Das f\u00fcr die Variable angegebene Argument VariableReference befindet sich au\u00dferhalb des Kontexts oder weist keine Definition auf!  Name = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "Nur die Achsen ''''child::'''' und ''''attribute::'''' sind in Suchmustern zul\u00e4ssig!  Fehlerhafte Achsen = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() weist eine falsche Anzahl Argumenten auf."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "Die Funktion count sollte ein einziges Argument enthalten!"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "Die Funktion konnte nicht gefunden werden: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Nicht unterst\u00fctzte Verschl\u00fcsselung: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "In dem DTM in getNextSibling ist ein Fehler aufgetreten... Wiederherstellung wird durchgef\u00fchrt"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Programmierungsfehler: In EmptyNodeList kann nicht geschrieben werden."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory wird nicht von XPathContext unterst\u00fctzt!"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "Das Pr\u00e4fix muss in einen Namensbereich aufgel\u00f6st werden: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "parse (InputSource Quelle) wird nicht in XPathContext unterst\u00fctzt! {0} kann nicht ge\u00f6ffnet werden."},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX-API characters(char ch[]... wird nicht von dem DTM verarbeitet!"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... wird nicht von dem DTM verarbeitet!"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison kann keine Knoten vom Typ {0} verarbeiten"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper kann keine Knoten vom Typ {0} verarbeiten"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "Fehler bei DOM2Helper.parse: System-ID - {0} Zeile - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "Fehler bei DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "Ung\u00fcltige UTF-16-Ersetzung festgestellt: {0} ?"},
-
-  { ER_OIERROR,
-     "E/A-Fehler"},
-
-  { ER_CANNOT_CREATE_URL,
-     "URL kann nicht erstellt werden f\u00fcr: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "In XPath.readObject: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "Funktionstoken wurde nicht gefunden."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "Der XPath-Typ kann nicht verarbeitet werden: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Diese NodeSet kann nicht ge\u00e4ndert werden"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Dieses NodeSetDTM kann nicht ge\u00e4ndert werden"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "Die Variable kann nicht aufgel\u00f6st werden: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Kein Fehlerbehandlungsprogramm vorhanden"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Programmiererfestlegung: Unbekannter Operationscode: {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 oder 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() wird nicht von XRTreeFragSelectWrapper unterst\u00fctzt"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() wird nicht von XRTreeFragSelectWrapper unterst\u00fctzt"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() wird nicht von XRTreeFragSelectWrapper unterst\u00fctzt"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() wird nicht von XRTreeFragSelectWrapper unterst\u00fctzt"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() wird nicht von XRTreeFragSelectWrapper unterst\u00fctzt"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() wird nicht von XRTreeFragSelectWrapper unterst\u00fctzt"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() wird nicht f\u00fcr XStringForChars unterst\u00fctzt"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "Die Variable mit dem Namen {0} konnte nicht gefunden werden"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars kann keine Zeichenfolge als Argument enthalten"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "Das Argument FastStringBuffer kann nicht null sein"},
-
-  { ER_TWO_OR_THREE,
-       "2 oder 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "Auf die Variable wurde zugegriffen, bevor diese gebunden wurde!"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB kann keine Zeichenfolge als Argument enthalten!"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! Fehler! Root eines Walker wird auf null gesetzt!!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Dieses NodeSetDTM kann keinen vorherigen Knoten wiederholen!"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Diese NodeSet kann keinen vorherigen Knoten wiederholen!"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Dieses NodeSetDTM kann keine Indexierungs- oder Z\u00e4hlfunktionen ausf\u00fchren!"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Diese NodeSet kann keine Indexierungs- oder Z\u00e4hlfunktionen ausf\u00fchren!"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "setShouldCacheNodes kann nicht aufgerufen werden, nachdem nextNode aufgerufen wurde!"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} erlaubt nur {1} Argument(e)"},
-
-  { ER_UNKNOWN_STEP,
-       "Programmiererfestlegung in getNextStepPos: stepType unbekannt: {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "Nach dem Token '/' oder '//' wurde ein relativer Positionspfad erwartet."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "Es wurde ein Positionspfad erwartet, aber folgendes Token wurde festgestellt\u003a {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "Es wurde ein Positionspfad erwartet, aber das Ende des XPath-Ausdrucks wurde stattdessen gefunden."},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "Nach dem Token '/' oder '//' wurde ein Positionsschritt erwartet."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "Es wurde ein Knotentest erwartet, der entweder NCName:* oder dem QNamen entspricht."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "Es wurde ein Schrittmuster erwartet, aber '/' festgestellt."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "Es wurde ein Muster eines relativen Pfads erwartet."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "XPathResult des XPath-Ausdrucks ''{0}'' hat einen XPathResultType von {1}, der nicht in einen Booleschen Ausdruck konvertiert werden kann."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "XPathResult des XPath-Ausdrucks ''{0}'' hat einen XPathResultType von {1}, der nicht in einen einzelnen Knoten konvertiert werden kann. Die Methode getSingleNodeValue bezieht sich nur auf die Typen ANY_UNORDERED_NODE_TYPE und FIRST_ORDERED_NODE_TYPE."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "Die Methode getSnapshotLength kann nicht \u00fcber XPathResult des XPath-Ausdrucks ''{0}'' aufgerufen werden, da der zugeh\u00f6rige XPathResultType {1} ist. Diese Methode gilt nur f\u00fcr die Typen UNORDERED_NODE_SNAPSHOT_TYPE und ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "Die Methode iterateNext kann nicht \u00fcber XPathResult des XPath-Ausdrucks ''{0}'' aufgerufen werden, da der zugeh\u00f6rige XPathResultType {1} ist. Diese Methode gilt nur f\u00fcr die Typen UNORDERED_NODE_ITERATOR_TYPE und ORDERED_NODE_ITERATOR_TYPE."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "Seit der R\u00fcckgabe des Ergebnisses wurde das Dokument ge\u00e4ndert. Der Iterator ist ung\u00fcltig."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "Ung\u00fcltiges XPath-Typenargument: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "Leeres XPath-Ergebnisobjekt"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "XPathResult des XPath-Ausdrucks ''{0}'' hat einen XPathResultType von {1}, der nicht in den angegebenen XPathResultType {2} konvertiert werden kann."},
-
-  { ER_NULL_RESOLVER,
-       "Das Pr\u00e4fix kann nicht mit einer Aufl\u00f6sungsfunktion f\u00fcr Nullpr\u00e4fixe aufgel\u00f6st werden."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "XPathResult des XPath-Ausdrucks ''{0}'' hat einen XPathResultType von {1}, der nicht in eine Zeichenfolge konvertiert werden kann."},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "Die Methode snapshotItem kann nicht \u00fcber XPathResult des XPath-Ausdrucks ''{0}'' aufgerufen werden, da der zugeh\u00f6rige XPathResultType {1} ist. Diese Methode gilt nur f\u00fcr die Typen UNORDERED_NODE_SNAPSHOT_TYPE und ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "Kontextknoten geh\u00f6rt nicht zu dem Dokument, das an diesen XPathEvaluator gebunden ist."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "Der Kontextknotentyp wird nicht unterst\u00fctzt."},
-
-  { ER_XPATH_ERROR,
-       "Unbekannter Fehler in XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "XPathResult des XPath-Ausdrucks ''{0}'' hat einen XPathResultType von {1}, der nicht in eine Zahl konvertiert werden kann."},
-
- //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "Erweiterungsfunktion: ''{0}'' kann nicht aufgerufen werden, wenn f\u00fcr XMLConstants.FEATURE_SECURE_PROCESSING die Einstellung ''True'' festgelegt wurde."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "resolveVariable f\u00fcr die Variable {0} gibt den Wert Null zur\u00fcck"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Nicht unterst\u00fctzter R\u00fcckgabetyp: {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "Quellen- und/oder R\u00fcckgabetyp d\u00fcrfen nicht null sein"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "Das Argument {0} darf nicht den Wert Null haben"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "{0}#isObjectModelSupported( Zeichenfolge objectModel ) kann nicht aufgerufen werden, wenn objectModel den Wert Null hat"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "{0}#isObjectModelSupported( Zeichenfolge objectModel ) kann nicht aufgerufen werden, wenn objectModel den Wert \"\" hat"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Es wird versucht, eine Funktion ohne Namensangabe zu definieren: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Es wird versucht, die unbekannte Funktion \"{0}\" zu definieren: {1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Es wird versucht, eine Funktion ohne Namensangabe abzurufen: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Es wird versucht, die unbekannte Funktion \"{0}\" abzurufen: {1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Es wird versucht, XPathFunctionResolver mit dem Wert Null zu definieren: {0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Es wird versucht, XPathVariableResolver mit dem Wert Null zu definieren: {0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "Der Name der L\u00e4ndereinstellung in der Funktion format-number wurde bisher nicht verarbeitet!"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "XSL-Merkmal wird nicht unterst\u00fctzt: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "F\u00fchren Sie derzeit keine Vorg\u00e4nge mit dem Namensbereich {0} in folgendem Merkmal durch: {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "SecurityException beim Zugriff auf XSL-Systemmerkmal: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "Veraltete Syntax: quo(...) ist nicht mehr in XPath definiert."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath ben\u00f6tigt f\u00fcr die Implementierung von nodeTest ein abgeleitetes Objekt!"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "Funktionstoken wurde nicht gefunden."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "Die Funktion konnte nicht gefunden werden: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "URL konnte nicht erstellt werden aus: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "Option -E wird f\u00fcr DTM-Parser nicht unterst\u00fctzt"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "Das f\u00fcr die Variable angegebene Argument VariableReference befindet sich au\u00dferhalb des Kontexts oder weist keine Definition auf!  Name = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Nicht unterst\u00fctzte Verschl\u00fcsselung: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "de"},
-  { "help_language", "de"},
-  { "language", "de"},
-  { "BAD_CODE", "Der Parameter f\u00fcr createMessage lag au\u00dferhalb des g\u00fcltigen Bereichs"},
-  { "FORMAT_FAILED", "W\u00e4hrend des Aufrufs von messageFormat wurde eine Ausnahmebedingung ausgel\u00f6st"},
-  { "version", ">>>>>>> Xalan-Version "},
-  { "version2", "<<<<<<<"},
-  { "yes", "ja"},
-  { "line", "Zeilennummer"},
-  { "column", "Spaltennummer"},
-  { "xsldone", "XSLProcessor: fertig"},
-  { "xpath_option", "xpath-Optionen: "},
-  { "optionIN", "[-in EingabeXMLURL]"},
-  { "optionSelect", "[-select Xpath-Ausdruck]"},
-  { "optionMatch", "[-match \u00dcbereinstimmungsmuster (f\u00fcr \u00dcbereinstimmungsdiagnose)]"},
-  { "optionAnyExpr", "\u00dcber einen einfachen xpath-Ausdruck wird ein Diagnosespeicherauszug erstellt"},
-  { "noParsermsg1", "XSL-Prozess konnte nicht erfolgreich durchgef\u00fchrt werden."},
-  { "noParsermsg2", "** Parser konnte nicht gefunden werden **"},
-  { "noParsermsg3", "Bitte \u00fcberpr\u00fcfen Sie den Klassenpfad."},
-  { "noParsermsg4", "Wenn Sie nicht \u00fcber einen IBM XML-Parser f\u00fcr Java verf\u00fcgen, k\u00f6nnen Sie ihn \u00fcber"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "FEHLERHAFTER_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FEHLGESCHLAGEN";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#Fehler";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Fehler: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Achtung: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "MUSTER ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_en.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_en.java
deleted file mode 100644
index 86fed4d..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_en.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_en.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-
-/**
- * Default implementation of XPATHErrorResources.  This is just
- * an empty class.
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_en extends XPATHErrorResources
-{
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_es.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_es.java
deleted file mode 100644
index 96c21d4..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_es.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_es.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_es extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "No est\u00e1 permitida la funci\u00f3n current() en un patr\u00f3n de coincidencia." },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "La funci\u00f3n current() no acepta argumentos." },
-
-  { ER_DOCUMENT_REPLACED,
-      "La implementaci\u00f3n de la funci\u00f3n document() ha sido sustituida por org.apache.xalan.xslt.FuncDocument."},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "El contexto no tiene un documento propietario."},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() tiene demasiados argumentos."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() tiene demasiados argumentos."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() tiene demasiados argumentos."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() tiene demasiados argumentos."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() tiene demasiados argumentos."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() tiene demasiados argumentos."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() tiene demasiados argumentos."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "La funci\u00f3n translate() utiliza tres argumentos."},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "La funci\u00f3n unparsed-entity-uri deber\u00eda utilizar un solo argumento."},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "Eje de espacio de nombres a\u00fan no implementado."},
-
-  { ER_UNKNOWN_AXIS,
-     "Eje desconocido: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "Operaci\u00f3n de coincidencia desconocida."},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "La longitud del argumento de prueba del nodo processing-instruction() es incorrecta."},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "No se puede convertir {0} a un n\u00famero"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "No se puede convertir {0} a NodeList."},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "No se puede convertir {0} a NodeSetDTM."},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "No se puede convertir {0} a un tipo {1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "Se esperaba un patr\u00f3n de coincidencia en getMatchScore."},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "No se ha podido obtener la variable de nombre {0}"},
-
-  { ER_UNKNOWN_OPCODE,
-     "ERROR. C\u00f3digo de operaci\u00f3n desconocido: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Se\u00f1ales extra no permitidas: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "Literal sin entrecomillar... Se esperaban comillas dobles."},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "Literal sin entrecomillar... Se esperaban comillas simples."},
-
-  { ER_EMPTY_EXPRESSION,
-     "Expresi\u00f3n vac\u00eda."},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "Se esperaba {0}, pero se ha encontrado: {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "La aserci\u00f3n del programador es incorrecta. - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "El argumento boolean(...) ya no es opcional con el borrador de XPath 19990709."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "Se ha encontrado ',' pero sin argumento precedente."},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "Se ha encontrado ',' pero sin argumento siguiente."},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predicate]' o '.[predicate]' es una sintaxis no permitida. Utilice 'self::node()[predicate]' en su lugar."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "Nombre de eje no permitido: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "nodetype desconocido: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "El literal del patr\u00f3n ({0}) tiene que estar entrecomillado."},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "No se ha podido formatear {0} como un n\u00famero."},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "No se ha podido crear Liaison TransformerFactory XML: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Error. No se ha encontrado la expresi\u00f3n de selecci\u00f3n (-select) de xpath."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "ERROR. No se ha podido encontrar ENDOP despu\u00e9s de OP_LOCATIONPATH"},
-
-  { ER_ERROR_OCCURED,
-     "Se ha producido un error."},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference dada para la variable est\u00e1 fuera de contexto o sin definici\u00f3n.  Nombre = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "S\u00f3lo se permiten los ejes child:: y attribute:: en patrones de coincidencia.  Ejes incorrectos = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() tiene un n\u00famero incorrecto de argumentos."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "La funci\u00f3n count deber\u00eda utilizar un solo argumento."},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "No se ha podido encontrar la funci\u00f3n: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Codificaci\u00f3n no soportada: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "Se ha producido un problema en DTM en getNextSibling... Intentando recuperar"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Error del programador: No se puede escribir enEmptyNodeList."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory no soportada por XPathContext."},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "El prefijo debe resolverse como un espacio de nombres: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "parse (InputSource source) no soportada en XPathContext. No se puede abrir {0}"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "API SAX characters(char ch[]... no manejada por DTM."},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... no manejada por DTM."},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison no puede manejar nodos de tipo {0}"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper no puede manejar nodos de tipo {0}"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "Error DOM2Helper.parse: SystemID - {0} l\u00ednea - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "Error DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "\u00bfSe ha detectado un sustituto UTF-16 no v\u00e1lido: {0}?"},
-
-  { ER_OIERROR,
-     "Error de ES"},
-
-  { ER_CANNOT_CREATE_URL,
-     "No se puede crear url para: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "En XPath.readObject: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "Se\u00f1al de funci\u00f3n no encontrada."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "No se puede tratar con el tipo XPath: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Este NodeSet no es mutable"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Este NodeSetDTM no es mutable"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "Variable no resoluble: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Manejador de error nulo"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Aserci\u00f3n del programador: opcode desconocido: {0} "},
-
-  { ER_ZERO_OR_ONE,
-       "0 \u00f3 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() no soportada por XRTreeFragSelectWrapper"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() no soportada por XRTreeFragSelectWrapper"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() no soportada por XRTreeFragSelectWrapper "},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() no soportada por XRTreeFragSelectWrapper"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() no soportada por XRTreeFragSelectWrapper "},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() no soportada por XRTreeFragSelectWrapper"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() no soportada para XStringForChars"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "No se ha podido encontrar la variable con el nombre {0}"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars no puede utilizar una serie para un argumento"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "El argumento FastStringBuffer no puede ser nulo"},
-
-  { ER_TWO_OR_THREE,
-       "2 \u00f3 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "Se ha accedido a la variable antes de enlazarla."},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB no puede utilizar una serie para un argumento."},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n Error. Estableciendo ra\u00edz de walker como nulo."},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Este NodeSetDTM no puede iterar a un nodo previo."},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Este NodeSet no puede iterar a un nodo previo."},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Este NodeSetDTM no puede realizar funciones de indexaci\u00f3n o recuento."},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Este NodeSet no puede realizar funciones de indexaci\u00f3n o recuento."},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "No se puede llamar a setShouldCacheNodes despu\u00e9s de llamar a nextNode."},
-
-  { ER_ONLY_ALLOWS,
-       "{0} s\u00f3lo admite {1} argumentos"},
-
-  { ER_UNKNOWN_STEP,
-       "Aserci\u00f3n del programador en getNextStepPos: stepType desconocido: {0} "},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "Se esperaba una v\u00eda de acceso de ubicaci\u00f3n relativa despu\u00e9s de la se\u00f1al '/' o '//'."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "Se esperaba una v\u00eda de acceso de ubicaci\u00f3n, pero se ha encontrado la se\u00f1al siguiente\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "Se esperaba una v\u00eda de acceso de ubicaci\u00f3n, pero en su lugar se ha encontrado el final de la expresi\u00f3n XPath."},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "Se esperaba un paso de ubicaci\u00f3n despu\u00e9s de la se\u00f1al '/' o '//'."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "Se esperaba una prueba de nodo coincidente con NCName:* o QName."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "Se esperaba un patr\u00f3n de paso, pero se ha encontrado '/'."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "Se esperaba un patr\u00f3n de v\u00eda de acceso relativa."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "XPathResult de la expresi\u00f3n XPath ''{0}'' tiene un XPathResultType de {1} que no se puede convertir a booleano."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "XPathResult de la expresi\u00f3n XPath ''{0}'' tiene un XPathResultType de {1} que no se puede convertir a un solo nodo. El m\u00e9todo getSingleNodeValue se aplica s\u00f3lo a tipos ANY_UNORDERED_NODE_TYPE and FIRST_ORDERED_NODE_TYPE."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "No se puede llamar al m\u00e9todo getSnapshotLength en XPathResult de la expresi\u00f3n XPath ''{0}'' porque su XPathResultType es {1}. Este m\u00e9todo se aplica s\u00f3lo a los tipos UNORDERED_NODE_SNAPSHOT_TYPE y ORDERED_NODE_SNAPSHOT_TYPE. "},
-
-  { ER_NON_ITERATOR_TYPE,
-       "No se puede llamar al m\u00e9todo iterateNext en XPathResult de la expresi\u00f3n XPath ''{0}'' porque su XPathResultType es {1}. Este m\u00e9todo se aplica s\u00f3lo a los tipos UNORDERED_NODE_ITERATOR_TYPE y ORDERED_NODE_ITERATOR_TYPE. "},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "El documento ha mutado desde que se devolvi\u00f3 el resultado. El iterador no es v\u00e1lido."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "Argumento de tipo XPath no v\u00e1lido: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "Objeto de resultado XPath vac\u00edo"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "XPathResult de la expresi\u00f3n XPath ''{0}'' tiene un XPathResultType de {1} que no se puede forzar al  XPathResultType especificado de {2}"},
-
-  { ER_NULL_RESOLVER,
-       "Imposible resolver prefijo con un solucionador de prefijo nulo."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "XPathResult de la expresi\u00f3n XPath ''{0}'' tiene un XPathResultType de {1} que no se puede convertir a una serie."},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "No se puede llamar al m\u00e9todo snapshotItem en XPathResult de la expresi\u00f3n XPath ''{0}'' porque su XPathResultType es {1}. Este m\u00e9todo se aplica s\u00f3lo a los tipos UNORDERED_NODE_SNAPSHOT_TYPE y ORDERED_NODE_SNAPSHOT_TYPE. "},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "El nodo de contexto no pertenece al documento que est\u00e1 enlazado a este XPathEvaluator."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "El tipo de nodo de contexto no est\u00e1 soportado."},
-
-  { ER_XPATH_ERROR,
-       "Error desconocido en XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "XPathResult de la expresi\u00f3n XPath ''{0}'' tiene un XPathResultType de {1} que no se puede convertir a un n\u00famero."},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "La funci\u00f3n de extensi\u00f3n: ''{0}'' no se puede invocar si la caracter\u00edstica XMLConstants.FEATURE_SECURE_PROCESSING est\u00e1 establecida en true."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "resolveVariable para la variable {0} devuelve null"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Tipo devuelto no soportado : {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "El tipo de origen y/o devuelto no puede ser null"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "El argumento {0} no puede ser null"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "No se puede llamar a {0}#isObjectModelSupported( String objectModel ) con objectModel == null"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "No se puede llamar a {0}#isObjectModelSupported( String objectModel ) con objectModel == \"\""},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Se ha intentado establecer una caracter\u00edstica con un nombre null: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Se ha intentado establecer la caracter\u00edstica \"{0}\":{1}#setFeature({0},{2}) desconocida"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Se ha intentado obtener una caracter\u00edstica con un nombre null: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Se ha intentado obtener la caracter\u00edstica desconocida \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Se ha intentado establecer un XPathFunctionResolver:{0}#setXPathFunctionResolver(null) null"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Se ha intentado establecer un XPathVariableResolver:{0}#setXPathVariableResolver(null) null"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "No se maneja a\u00fan el nombre de entorno local en la funci\u00f3n format-number."},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "Propiedad XSL no soportada: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "No hacer nada actualmente con el espacio de nombres {0} en la propiedad: {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "SecurityException al intentar acceder a la propiedad del sistema XSL: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "La antigua sintaxis: quo(...) ya no est\u00e1 definida en XPath."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath necesita un objeto derivado para implementar nodeTest."},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "Se\u00f1al de funci\u00f3n no encontrada."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "No se ha podido encontrar la funci\u00f3n: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "No se puede crear URL desde: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "Opci\u00f3n -E no soportada para analizador DTM"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference dada para la variable est\u00e1 fuera de contexto o sin definici\u00f3n  Nombre = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Codificaci\u00f3n no soportada: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "es"},
-  { "help_language", "es"},
-  { "language", "es"},
-  { "BAD_CODE", "El par\u00e1metro para createMessage estaba fuera de los l\u00edmites"},
-  { "FORMAT_FAILED", "Se ha generado una excepci\u00f3n durante la llamada messageFormat"},
-  { "version", ">>>>>>> Xalan versi\u00f3n "},
-  { "version2", "<<<<<<<"},
-  { "yes", "s\u00ed"},
-  { "line", "L\u00ednea n\u00fam."},
-  { "column", "Columna n\u00fam."},
-  { "xsldone", "XSLProcessor: terminado"},
-  { "xpath_option", "Opciones de xpath: "},
-  { "optionIN", "[-in URLXMLEntrada]"},
-  { "optionSelect", "[-select expresi\u00f3n xpath]"},
-  { "optionMatch", "[-match patr\u00f3n de coincidencia (para diagn\u00f3sticos de coincidencia)]"},
-  { "optionAnyExpr", "O simplemente una expresi\u00f3n xpath realizar\u00e1 un vuelco de diagn\u00f3stico"},
-  { "noParsermsg1", "El proceso XSL no ha sido satisfactorio."},
-  { "noParsermsg2", "** No se ha podido encontrar el analizador **"},
-  { "noParsermsg3", "Compruebe la classpath."},
-  { "noParsermsg4", "Si no dispone del analizador XML para Java de IBM, puede descargarlo de"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#error";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Error: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Aviso: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("es", "ES"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_fr.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_fr.java
deleted file mode 100644
index 178b372..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_fr.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_fr.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_fr extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "La fonction current() n'est pas admise dans un motif de correspondance !" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "La fonction current() n'accepte pas d'arguments !" },
-
-  { ER_DOCUMENT_REPLACED,
-      "L'impl\u00e9mentation de la fonction document() a \u00e9t\u00e9 remplac\u00e9e par org.apache.xalan.xslt.FuncDocument !"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "Le contexte ne poss\u00e8de pas de document propri\u00e9taire !"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() poss\u00e8de trop d'arguments."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() poss\u00e8de trop d'arguments."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() poss\u00e8de trop d'arguments."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() poss\u00e8de trop d'arguments."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() poss\u00e8de trop d'arguments."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() poss\u00e8de trop d'arguments."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() poss\u00e8de trop d'arguments."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "La fonction translate() accepte trois arguments !"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "Un argument doit \u00eatre fournie \u00e0 la fonction unparsed-entity-uri !"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "L'axe de l'espace de noms n'est pas impl\u00e9ment\u00e9 !"},
-
-  { ER_UNKNOWN_AXIS,
-     "axe inconnu : {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "op\u00e9ration de correspondance inconnue !"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "La longueur d'argument du test du noeud processing-instruction() n'est pas correcte !"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "Impossible de convertir {0} en un nombre"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "Impossible de convertir {0} en un NodeList !"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "Impossible de convertir {0} en un NodeSetDTM !"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "Impossible de convertir {0} en un type#{1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "Motif de correspondance obligatoire dans getMatchScore !"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "Impossible d''extraire la variable {0}"},
-
-  { ER_UNKNOWN_OPCODE,
-     "ERREUR ! Code op\u00e9ration inconnu : {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Jetons incorrects suppl\u00e9mentaires : {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "Erreur de guillemets dans un litt\u00e9ral... Guillemet double obligatoire !"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "Erreur de guillemets dans un litt\u00e9ral... Guillemet simple obligatoire !"},
-
-  { ER_EMPTY_EXPRESSION,
-     "Expression vide !"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "{1} a \u00e9t\u00e9 trouv\u00e9 alors que {0} \u00e9tait attendu :"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "Assertion de programme incorrecte ! - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "L'argument bool\u00e9en(...) n'est plus optionnel avec le document de normalisation XPath 19990709."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "Virgule trouv\u00e9e sans argument qui la pr\u00e9c\u00e8de !"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "Virgule trouv\u00e9e sans argument qui la suit !"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "La syntaxe '[pr\u00e9dicat]' ou '.[pr\u00e9dicat]' est incorrecte. Pr\u00e9f\u00e9rez 'self::node()[pr\u00e9dicat]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "nom d''axe incorrect : {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "Type de noeud inconnu : {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "Le litt\u00e9ral de motif ({0}) doit figurer entre guillemets !"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} ne peut \u00eatre format\u00e9e sous forme num\u00e9rique !"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "Impossible de cr\u00e9er XML TransformerFactory Liaison : {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Erreur ! Impossible de trouver l'expression de s\u00e9lection xpath (-select)."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "ERREUR ! Impossible de trouver ENDOP apr\u00e8s OP_LOCATIONPATH"},
-
-  { ER_ERROR_OCCURED,
-     "Une erreur s'est produite !"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "R\u00e9f\u00e9rence de la variable hors contexte ou sans d\u00e9finition !  Nom = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "Seuls les axes child:: et attribute:: sont autoris\u00e9s dans des motifs de correspondance !  Axes incorrects= {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() poss\u00e8de un nombre non valide d'arguments."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "Un seul argument doit \u00eatre fourni \u00e0 la fonction count !"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "Impossible de trouver la fonction : {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Codage non pris en charge : {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "Une erreur s'est produite dans la DTM de getNextSibling... Tentative de reprise en cours"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Erreur de programme : Ecriture impossible dans EmptyNodeList."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "SetDOMFactory n'est pas pris en charge par XPathContext !"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "Le pr\u00e9fixe doit se convertir en espace de noms : {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "parse (InputSource source) non pris en charge dans XPathContext ! Ouverture de {0} impossible"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "Caract\u00e8res (char ch[]...) de l'API SAX non pris en charge par le DTM !"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... non pris en charge par le DTM !"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison ne prend pas en charge des noeuds de type {0}"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper ne prend pas en charge des noeuds de type {0}"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "Erreur de DOM2Helper.parse : ID syst\u00e8me - {0} ligne - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "Erreur de DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "Substitut UTF-16 non valide d\u00e9tect\u00e9 : {0} ?"},
-
-  { ER_OIERROR,
-     "Erreur d'E-S"},
-
-  { ER_CANNOT_CREATE_URL,
-     "Impossible de cr\u00e9er une URL pour : {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "Dans XPath.readObject : {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "jeton de fonction introuvable."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "Impossible de traiter le type XPath : {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "NodeSet indivisible"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "NodeSetDTM indivisible"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "Impossible de r\u00e9soudre la variable : {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Gestionnaire d'erreurs vide"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Assertion de programme : code op\u00e9ration inconnu : {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 ou 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() non pris en charge par XRTreeFragSelectWrapper"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() non pris en charge par XRTreeFragSelectWrapper"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() non pris en charge par XRTreeFragSelectWrapper"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() non pris en charge par XRTreeFragSelectWrapper"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() non pris en charge par XRTreeFragSelectWrapper"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() non pris en charge par XRTreeFragSelectWrapper"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() non pris en charge par XStringForChars"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "Impossible de trouver la variable portant le nom {0}"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars n'accepte pas de cha\u00eene comme argument"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "L'argument FastStringBuffer ne doit pas \u00eatre vide"},
-
-  { ER_TWO_OR_THREE,
-       "2 ou 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "L'acc\u00e8s \u00e0 la variable a pr\u00e9c\u00e9d\u00e9 la liaison de celle-ci !"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB n'accepte pas de cha\u00eene comme argument !"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! Erreur ! D\u00e9finition d'une valeur nulle pour la racine d'un \u00e9l\u00e9ment walker !!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Ce NodeSetDTM ne permet pas d'it\u00e9ration vers un noeud pr\u00e9c\u00e9dent !"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Ce NodeSet ne permet pas d'it\u00e9ration vers un noeud pr\u00e9c\u00e9dent !"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Ce NodeSetDTM ne peut pas effectuer de fonctions d'indexage ou de d\u00e9nombrement !"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Ce NodeSet ne peut pas effectuer de fonctions d'indexage ou de d\u00e9nombrement !"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "Impossible d'appeler setShouldCacheNodes apr\u00e8s nextNode !"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} accepte uniquement {1} arguments"},
-
-  { ER_UNKNOWN_STEP,
-       "Assertion du programmeur dans getNextStepPos : stepType inconnu : {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "Un chemin d'emplacement relatif \u00e9tait attendu apr\u00e8s le jeton '/' ou '//'."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "Un chemin d''emplacement \u00e9tait attendu, mais le jeton suivant a \u00e9t\u00e9 d\u00e9tect\u00e9 :  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "Un chemin d'emplacement \u00e9tait attendu mais la fin de l'expression XPath a \u00e9t\u00e9 d\u00e9tect\u00e9e."},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "Une \u00e9tape d'emplacement \u00e9tait attendue apr\u00e8s le jeton '/' ou '//'."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "Un test de noeud correspondant \u00e0 NCName:* ou QName \u00e9tait attendu."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "Un mod\u00e8le d'\u00e9tape \u00e9tait attendu, mais '/' a \u00e9t\u00e9 d\u00e9tect\u00e9."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "Un mod\u00e8le de chemin relatif \u00e9tait attendu."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre converti en valeur bool\u00e9enne."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre converti en noeud unique. La m\u00e9thode getSingleNodeValue s''applique uniquement aux types ANY_UNORDERED_NODE_TYPE et FIRST_ORDERED_NODE_TYPE."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "La m\u00e9thode getSnapshotLength ne peut pas \u00eatre appel\u00e9e sur le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' car son type XPathResultType est {1}. Cette m\u00e9thode s''applique uniquement aux types UNORDERED_NODE_SNAPSHOT_TYPE et ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "La m\u00e9thode iterateNext ne peut pas \u00eatre appel\u00e9e sur le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' car son type XPathResultType est {1}. Cette m\u00e9thode s''applique uniquement aux types UNORDERED_NODE_ITERATOR_TYPE et ORDERED_NODE_ITERATOR_TYPE."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "Mutation du document depuis le renvoi du r\u00e9sultat. L'it\u00e9rateur est incorrect."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "Argument de type XPath incorrect : {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "Objet r\u00e9sultat XPath vide"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre forc\u00e9 dans le type XPathResultType indiqu\u00e9 de {2}."},
-
-  { ER_NULL_RESOLVER,
-       "Conversion impossible du pr\u00e9fixe avec un programme de r\u00e9solution de pr\u00e9fixe de valeur nulle."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre converti en cha\u00eene."},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "La m\u00e9thode snapshotItem ne peut pas \u00eatre appel\u00e9e sur le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' car son type XPathResultType est {1}. Cette m\u00e9thode s''applique uniquement aux types UNORDERED_NODE_SNAPSHOT_TYPE et ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "Le noeud de contexte n'appartient pas au document li\u00e9 \u00e0 ce XPathEvaluator."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "Le type de noeud contextuel n'est pas pris en charge."},
-
-  { ER_XPATH_ERROR,
-       "Erreur inconnue d\u00e9tect\u00e9e dans XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre converti en un nombre."},
-
- //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "La fonction d''extension : ''{0}'' ne peut pas \u00eatre appel\u00e9e lorsque la fonction XMLConstants.FEATURE_SECURE_PROCESSING a la valeur true."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "resolveVariable pour la variable {0} renvoyant la valeur null"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Type de retour non pris en charge : {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "Le type de retour et/ou source ne peut pas avoir une valeur null"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "L''argument {0} ne peut pas avoir une valeur null"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "{0}#isObjectModelSupported( Cha\u00eene objectModel ) ne peut pas \u00eatre appel\u00e9 avec objectModel == null"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "{0}#isObjectModelSupported( Cha\u00eene objectModel ) ne peut pas \u00eatre appel\u00e9 avec objectModel == \"\""},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Tentative de d\u00e9finition d''une fonction ayant un nom null : {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Tentative de d\u00e9finition d''une fonction inconnue \"{0}\":{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Tentative de d\u00e9finition d''une fonction ayant un nom null : {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Tentative d''extraction d''une fonction inconnue \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Tentative de d\u00e9finition d''un \u00e9l\u00e9ment XPathFunctionResolver null : {0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Tentative de d\u00e9finition d''un \u00e9l\u00e9ment XPathVariableResolver null : {0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "Le nom d'environnement local de la fonction format-number n'est pas encore pris en charge."},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "Propri\u00e9t\u00e9 XSL non prise en charge : {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "Espace de noms {0} inexploitable dans la propri\u00e9t\u00e9 : {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "Une exception de s\u00e9curit\u00e9 s''est produite lors de l''acc\u00e8s \u00e0 la propri\u00e9t\u00e9 : {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "L'ancienne syntaxe : quo(...) n'est plus d\u00e9finie dans XPath."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath requiert un objet d\u00e9riv\u00e9 pour impl\u00e9menter nodeTest !"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "jeton de fonction introuvable."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "Impossible de trouver la fonction : {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "Impossible de cr\u00e9er l''URL \u00e0 partir de : {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "L'option -E n'est pas prise en charge pour l'analyseur DTM"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "R\u00e9f\u00e9rence de la variable hors contexte ou sans d\u00e9finition !  Nom = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Codage non pris en charge : {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "en"},
-  { "help_language", "en"},
-  { "language", "en"},
-  { "BAD_CODE", "Le param\u00e8tre de createMessage se trouve hors limites"},
-  { "FORMAT_FAILED", "Exception soulev\u00e9e lors de l'appel de messageFormat"},
-  { "version", ">>>>>>> Version de Xalan "},
-  { "version2", "<<<<<<<"},
-  { "yes", "oui"},
-  { "line", "Ligne #"},
-  { "column", "Colonne #"},
-  { "xsldone", "XSLProcessor : termin\u00e9"},
-  { "xpath_option", "options xpath : "},
-  { "optionIN", "   [-in URLXMLentr\u00e9e]"},
-  { "optionSelect", "   [-select expression xpath]"},
-  { "optionMatch", "   [-match motif de correspondance (diagnostics)]"},
-  { "optionAnyExpr", "Une expression xpath effectuera un vidage de diagnostics"},
-  { "noParsermsg1", "Echec du processus XSL."},
-  { "noParsermsg2", "** Analyseur introuvable **"},
-  { "noParsermsg3", "V\u00e9rifiez le chemin d'acc\u00e8s des classes."},
-  { "noParsermsg4", "XML Parser for Java disponible en t\u00e9l\u00e9chargement sur le site"},
-  { "noParsermsg5", "AlphaWorks de IBM : http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#error";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Erreur : ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Avertissement : ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_hu.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_hu.java
deleted file mode 100644
index 0b7c883..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_hu.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_hu.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_hu extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "A current() f\u00fcggv\u00e9ny nem megengedett az illeszt\u00e9si mint\u00e1ban!" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "A current() f\u00fcggv\u00e9ny nem fogad el argumentumokat!" },
-
-  { ER_DOCUMENT_REPLACED,
-      "A document() f\u00fcggv\u00e9ny megval\u00f3s\u00edt\u00e1s\u00e1t lecser\u00e9lte az org.apache.xalan.xslt.FuncDocument!"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "A k\u00f6rnyezetnek nincs tulajdonos dokumentuma!"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "A local-name()-nek t\u00fal sok argumentuma van."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "A namespace-uri()-nek t\u00fal sok argumentuma van."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "A normalize-space()-nek t\u00fal sok argumentuma van."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "A number()-nek t\u00fal sok argumentuma van."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "A name()-nek t\u00fal sok argumentuma van."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "A string()-nek t\u00fal sok argumentuma van."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "A string-length()-nek t\u00fal sok argumentuma van."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "A translate() f\u00fcggv\u00e9ny h\u00e1rom argumentumot k\u00e9r!"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "Az unparsed-entity-uri f\u00fcggv\u00e9nyhez egy argumentum sz\u00fcks\u00e9ges!"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "A n\u00e9vt\u00e9r tengely m\u00e9g nincs magval\u00f3s\u00edtva!"},
-
-  { ER_UNKNOWN_AXIS,
-     "Ismeretlen tengely: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "ismeretlen illeszt\u00e9si m\u0171velet!"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "A processing-instruction() csom\u00f3pont teszt argumentum\u00e1nak hossza helytelen!"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "A(z) {0} nem konvert\u00e1lhat\u00f3 sz\u00e1mm\u00e1"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "A(z) {0} nem konvert\u00e1lhat\u00f3 NodeList-t\u00e9!"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "A(z) {0} nem konvert\u00e1lhat\u00f3 NodeSetDTM-m\u00e9!"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "{0} nem konvert\u00e1lhat\u00f3 type#{1} t\u00edpuss\u00e1"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "Illeszt\u00e9si mint\u00e1t v\u00e1rtunk a getMatchScore-ban!"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "Nem lehet lek\u00e9rni a(z) {0} nev\u0171 v\u00e1ltoz\u00f3t"},
-
-  { ER_UNKNOWN_OPCODE,
-     "HIBA! Ismeretlen opk\u00f3d: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Extra tiltott tokenek: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "rosszul id\u00e9zett liter\u00e1l... dupla id\u00e9z\u0151jelet v\u00e1rtunk!"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "rosszul id\u00e9zett liter\u00e1l... szimpla id\u00e9z\u0151jelet v\u00e1rtunk!"},
-
-  { ER_EMPTY_EXPRESSION,
-     "\u00dcres kifejez\u00e9s!"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "{0}-t v\u00e1rtunk, de ezt tal\u00e1ltuk: {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "A programoz\u00f3 feltev\u00e9se hib\u00e1s! - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "A boolean(...) argumentuma t\u00f6bb\u00e9 nem opcion\u00e1lis az 19990709 XPath v\u00e1zlat szerint."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "','-t tal\u00e1ltunk, de nincs el\u0151tte argumentum!"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "','-t tal\u00e1ltunk, de nincs ut\u00e1na argumentum!"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "A '..[felt\u00e9tel]' vagy '.[felt\u00e9tel]' szintaktika tiltott.  Haszn\u00e1lja ink\u00e1bb a 'self::node()[predicate]' defin\u00edci\u00f3t."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "Tiltott tengelyn\u00e9v: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "Ismeretlen node-t\u00edpus: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "A minta-liter\u00e1lt ({0}) id\u00e9z\u0151jelek k\u00f6z\u00e9 kell tenni!"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "A(z) {0} nem form\u00e1zhat\u00f3 sz\u00e1mm\u00e1!"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "Nem lehet XML TransformerFactory Liaison-t l\u00e9trehozni: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Hiba! Az xpath kiv\u00e1laszt\u00e1si kifejez\u00e9s nem tal\u00e1lhat\u00f3 (-select)."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "HIBA! Nem tal\u00e1lhat\u00f3 ENDOP az OP_LOCATIONPATH ut\u00e1n"},
-
-  { ER_ERROR_OCCURED,
-     "Hiba t\u00f6rt\u00e9nt!"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "A v\u00e1ltoz\u00f3ra adott VariableReference (v\u00e1ltoz\u00f3hivatkoz\u00e1s) k\u00edv\u00fcl van a k\u00f6rnyezeten vagy nincs defin\u00edci\u00f3ja!  N\u00e9v = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "Csak a child:: \u00e9s az attribute:: tengelyek illeszkedhetnek mint\u00e1kra.  Zavar\u00f3 tengelyek = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "A key()-nek nem megfelel\u0151 sz\u00e1m\u00fa argumentuma van."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "A count f\u00fcggv\u00e9nyhez csak egy argumentumot lehet megadni!"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "Nem tal\u00e1lhat\u00f3 a f\u00fcggv\u00e9ny: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Nem t\u00e1mogatott k\u00f3dol\u00e1s: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "Probl\u00e9ma mer\u00fclt fel a DTM-ben a getNextSibling-ben... megpr\u00f3b\u00e1ljuk helyrehozni"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Programoz\u00f3i hiba: az EmptyNodeList-be (\u00fcres csom\u00f3pontlist\u00e1ba) nem lehet \u00edrni."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "A setDOMFactory-t nem t\u00e1mogatja az XPathContext!"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "Az el\u0151tagnak egy n\u00e9vt\u00e9rre kell felold\u00f3dnia: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "Az elem\u00e9s (InputSource forr\u00e1s) nem t\u00e1mogatott az XPathContext-ben! Nem lehet megnyitni a(z) {0}-t"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX API characters(char ch[]... f\u00fcggv\u00e9nyt nem kezeli a DTM!"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "Az ignorableWhitespace(char ch[]... f\u00fcggv\u00e9nyt nem kezeli a DTM!"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "A DTMLiaison nem tud {0} t\u00edpus\u00fa csom\u00f3pontokat kezelni"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "A DOM2Helper nem tud {0} t\u00edpus\u00fa csom\u00f3pontokat kezelni"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "DOM2Helper.parse hiba: SystemID - {0} sor - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "DOM2Helper.parse hiba"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "\u00c9rv\u00e9nytelen UTF-16 helyettes\u00edt\u00e9s: {0} ?"},
-
-  { ER_OIERROR,
-     "IO hiba"},
-
-  { ER_CANNOT_CREATE_URL,
-     "Nem lehet URL-t l\u00e9trehozni ehhez: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "A XPath.readObject met\u00f3dusban: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "A f\u00fcggv\u00e9ny jelsor nem tal\u00e1lhat\u00f3."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "Nem lehet megbirk\u00f3zni az XPath t\u00edpussal: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Ez a NodeSet nem illeszthet\u0151 be"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Ez a NodeSetDTM nem illeszthet\u0151 be"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "A v\u00e1ltoz\u00f3 nem oldhat\u00f3 fel: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Null hibakezel\u0151"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Programoz\u00f3i \u00e9rtes\u00edt\u00e9s: ismeretlen m\u0171veletk\u00f3d: {0} "},
-
-  { ER_ZERO_OR_ONE,
-       "0 vagy 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "Az rtf()-et nem t\u00e1mogatja az XRTreeFragSelectWrapper"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "Az asNodeIterator()-t nem t\u00e1mogatja az XRTreeFragSelectWrapper"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "A detach() f\u00fcggv\u00e9nyt nem t\u00e1mogatja az XRTreeFragSelectWrapper"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "A num() f\u00fcggv\u00e9nyt nem t\u00e1mogatja az XRTreeFragSelectWrapper"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "A xstr() f\u00fcggv\u00e9nyt nem t\u00e1mogatja az XRTreeFragSelectWrapper"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "A str() f\u00fcggv\u00e9nyt nem t\u00e1mogatja az XRTreeFragSelectWrapper"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "Az fsb() nem t\u00e1mogatott az XStringForChars-n\u00e1l"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "Nem tal\u00e1lhat\u00f3 {0} nev\u0171 v\u00e1ltoz\u00f3"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "Az XStringForChars-nak nem adhat meg karakterl\u00e1nc argumentumot"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "A FastStringBuffer argumentum nem lehet null"},
-
-  { ER_TWO_OR_THREE,
-       "2 vagy 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "V\u00e1ltoz\u00f3el\u00e9r\u00e9s \u00e9rt\u00e9kad\u00e1s el\u0151tt!"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB nem kaphat sztring argumentumot!"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! Hiba! A bej\u00e1r\u00f3 gy\u00f6ker\u00e9t null-ra \u00e1ll\u00edtotta!!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Ez a NodeSetDTM nem iter\u00e1lhat egy kor\u00e1bbi node-ra!"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Ez a NodeSet nem iter\u00e1lhat egy kor\u00e1bbi node-ra!"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Ez a NodeSetDTM nem indexelhet \u00e9s nem sz\u00e1ml\u00e1lhatja a funkci\u00f3kat!"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Ez a NodeSet nem indexelhet \u00e9s nem sz\u00e1ml\u00e1lhatja a funkci\u00f3kat!"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "Nem h\u00edvhat\u00f3 setShouldCacheNodes nextNode h\u00edv\u00e1sa ut\u00e1n!"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} csak {1} argumentumot enged\u00e9lyez"},
-
-  { ER_UNKNOWN_STEP,
-       "Programoz\u00f3i \u00e9rtes\u00edt\u00e9s getNextStepPos h\u00edv\u00e1sban: ismeretlen stepType: {0} "},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "Egy relat\u00edv elhelyez\u00e9si \u00fatvonalat v\u00e1rtunk a '/' vagy '//' token ut\u00e1n."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "Egy hely \u00fatvonalat v\u00e1rtam, de a k\u00f6vetkez\u0151 tokent tal\u00e1ltam\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "A rendszer hely \u00fatvonalat v\u00e1rt, de helyette az XPath kifejez\u00e9s v\u00e9g\u00e9be \u00fctk\u00f6z\u00f6tt."},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "Egy elhelyez\u00e9si l\u00e9p\u00e9st v\u00e1rtunk a '/' vagy '//' token ut\u00e1n."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "Egy olyan node-tesztet v\u00e1rtunk, ami vagy az NCName:*-ra vagy a QName-re illeszkedik."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "Egy l\u00e9p\u00e9smint\u00e1t v\u00e1rtunk, de '/' szerepelt."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "Relat\u00edv \u00fatvonalat v\u00e1rtunk."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "A(z) ''{0}'' XPath kifejez\u00e9s XPathResult elem\u00e9nek XPathResultType \u00e9rt\u00e9ke {1}, ami nem alak\u00edthat\u00f3 \u00e1t logikai t\u00edpuss\u00e1."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "A(z) ''{0}'' XPath kifejez\u00e9s XPathResult elem\u00e9nek XPathResultType \u00e9rt\u00e9ke {1}, ami nem alak\u00edthat\u00f3 \u00e1t egyetlen csom\u00f3pontt\u00e1. A getSingleNodeValue met\u00f3dus csak az ANY_UNORDERED_NODE_TYPE \u00e9s a FIRST_ORDERED_NODE_TYPE t\u00edpusra alkalmazhat\u00f3. "},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "A getSnapshotLength met\u00f3dus nem h\u00edvhat\u00f3 meg a(z) ''{0}'' XPath kifejez\u00e9s XPathResult \u00e9rt\u00e9k\u00e9re, mert az XPathResultType \u00e9rt\u00e9ke {1}. Ez a met\u00f3dus csak UNORDERED_NODE_SNAPSHOT_TYPE \u00e9s ORDERED_NODE_SNAPSHOT_TYPE t\u00edpusokra alkalmazhat\u00f3."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "Az iterateNext met\u00f3dus nem h\u00edvhat\u00f3 meg a(z) ''{0}'' XPath kifejez\u00e9s XPathResult \u00e9rt\u00e9k\u00e9re, mert az XPathResultType \u00e9rt\u00e9ke {1}. Ez a met\u00f3dus csak UNORDERED_NODE_ITERATOR_TYPE \u00e9s ORDERED_NODE_ITERATOR_TYPE t\u00edpusokra alkalmazhat\u00f3."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "A dokumentum megv\u00e1ltozott, mi\u00f3ta az eredm\u00e9ny visszat\u00e9rt. Az iter\u00e1tor \u00e9rv\u00e9nytelen."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "\u00c9rv\u00e9nytelen XPath t\u00edpus-argumentum: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "\u00dcres XPath eredm\u00e9nyobjektum"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "A(z) ''{0}'' XPath kifejez\u00e9s XPathResult elem\u00e9nek XPathResultType \u00e9rt\u00e9ke {1}, ami nem helyezhet\u0151 el a megadott {2} XPathResultType t\u00edpusban. "},
-
-  { ER_NULL_RESOLVER,
-       "Nem lehet feloldani a prefixet null prefix-felold\u00f3val."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "A(z) ''{0}'' XPath kifejez\u00e9s XPathResult elem\u00e9nek XPathResultType \u00e9rt\u00e9ke {1}, ami nem alak\u00edthat\u00f3 \u00e1t karaktersorozatt\u00e1. "},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "A snapshotItem met\u00f3dus nem h\u00edvhat\u00f3 meg a(z) ''{0}'' XPath kifejez\u00e9s XPathResult \u00e9rt\u00e9k\u00e9re, mert az XPathResultType \u00e9rt\u00e9ke {1}. Ez a met\u00f3dus csak UNORDERED_NODE_SNAPSHOT_TYPE \u00e9s ORDERED_NODE_SNAPSHOT_TYPE t\u00edpusokra alkalmazhat\u00f3."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "A k\u00f6rnyezeti node nem az XPathEvaluator-hoz tartoz\u00f3 dokumentumhoz tartozik."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "A k\u00f6rnyezeti node t\u00edpusa nem t\u00e1mogatott."},
-
-  { ER_XPATH_ERROR,
-       "Ismeretlen hiba az XPath-ban."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "A(z) ''{0}'' XPath kifejez\u00e9s XPathResult elem\u00e9nek XPathResultType \u00e9rt\u00e9ke {1}, ami nem alak\u00edthat\u00f3 \u00e1t sz\u00e1mm\u00e1. "},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "A(z) ''{0}'' b\u0151v\u00edt\u0151 f\u00fcggv\u00e9ny nem h\u00edvhat\u00f3 meg, amikor az XMLConstants.FEATURE_SECURE_PROCESSING szolg\u00e1ltat\u00e1s igazra van \u00e1ll\u00edtva. "},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "A resolveVariable null\u00e9rt\u00e9ket adott vissza a(z) {0} v\u00e1ltoz\u00f3ra"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Nem t\u00e1mogatott visszat\u00e9r\u00e9si t\u00edpus: {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "A forr\u00e1s \u00e9s/vagy a visszat\u00e9r\u00e9si t\u00edpus nem lehet null. "},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "A(z) {0} argumentum nem lehet null"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "{0}#isObjectModelSupported( String objectModel ) nem h\u00edvhat\u00f3 meg objectModel == null \u00e9rt\u00e9kkel "},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "{0}#isObjectModelSupported( String objectModel ) nem h\u00edvhat\u00f3 meg  objectModel == \"\" \u00e9rt\u00e9kkel "},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Pr\u00f3b\u00e1lkoz\u00e1s egy szolg\u00e1ltat\u00e1s be\u00e1ll\u00edt\u00e1s\u00e1ra null n\u00e9vvel: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Pr\u00f3b\u00e1lkoz\u00e1s az ismeretlen \"{0}\" szolg\u00e1ltat\u00e1s be\u00e1ll\u00edt\u00e1s\u00e1ra:{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Null nev\u0171 szolg\u00e1ltat\u00e1st pr\u00f3b\u00e1lt meg beolvasni: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Pr\u00f3b\u00e1lkoz\u00e1s az ismeretlen \"{0}\" szolg\u00e1ltat\u00e1s beolvas\u00e1s\u00e1ra:{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Null XPathFunctionResolver \u00e9rt\u00e9ket pr\u00f3b\u00e1lt meg be\u00e1ll\u00edtani:{0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Null XPathVariableResolver \u00e9rt\u00e9ket pr\u00f3b\u00e1lt meg be\u00e1ll\u00edtani:{0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "A locale-n\u00e9v a format-number f\u00fcggv\u00e9nyben m\u00e9g nincs kezelve!"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "Az XSL tulajdons\u00e1g nem t\u00e1mogatott: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "Jelenleg ne tegyen semmit a(z) {0} n\u00e9vt\u00e9rrel a tulajdons\u00e1gban: {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "SecurityException az XSL rendszertulajdons\u00e1g el\u00e9r\u00e9s\u00e9n\u00e9l: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "A r\u00e9gi szintaktika: quo(...) t\u00f6bb\u00e9 nincs defini\u00e1lva az XPath-ban."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "Az XPath-nak kell egy sz\u00e1rmaztatott objektum a nodeTest-hez!"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "A f\u00fcggv\u00e9ny jelsor nem tal\u00e1lhat\u00f3."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "Nem tal\u00e1lhat\u00f3 a f\u00fcggv\u00e9ny: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "Nem k\u00e9sz\u00edthet\u0151 URL ebb\u0151l: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "A -E opci\u00f3 nem t\u00e1mogatott a DTM \u00e9rtelmez\u0151h\u00f6z"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "A v\u00e1ltoz\u00f3ra adott VariableReference (v\u00e1ltoz\u00f3hivatkoz\u00e1s) k\u00edv\u00fcl van a k\u00f6rnyezeten vagy nincs defin\u00edci\u00f3ja!  N\u00e9v = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Nem t\u00e1mogatott k\u00f3dol\u00e1s: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "hu"},
-  { "help_language", "hu"},
-  { "language", "hu"},
-  { "BAD_CODE", "A createMessage param\u00e9tere nincs a megfelel\u0151 tartom\u00e1nyban"},
-  { "FORMAT_FAILED", "Kiv\u00e9tel t\u00f6rt\u00e9nt a messageFormat h\u00edv\u00e1s alatt"},
-  { "version", ">>>>>>> Xalan verzi\u00f3 "},
-  { "version2", "<<<<<<<"},
-  { "yes", "igen"},
-  { "line", "Sor #"},
-  { "column", "Oszlop #"},
-  { "xsldone", "XSLProcessor: k\u00e9sz"},
-  { "xpath_option", "xpath opci\u00f3i: "},
-  { "optionIN", "   [-in bemenetiXMLURL]"},
-  { "optionSelect", "   [-select xpath kifejez\u00e9s]"},
-  { "optionMatch", "   [-match illeszt\u00e9si minta (az illeszt\u00e9si diagnosztik\u00e1hoz)]"},
-  { "optionAnyExpr", "Vagy csak egy xpath kifejez\u00e9s megcsin\u00e1l egy diagnosztikai dump-ot"},
-  { "noParsermsg1", "Az XSL folyamat sikertelen volt."},
-  { "noParsermsg2", "** Az \u00e9rtelmez\u0151 nem tal\u00e1lhat\u00f3 **"},
-  { "noParsermsg3", "K\u00e9rem, ellen\u0151rizze az oszt\u00e1ly el\u00e9r\u00e9si utat."},
-  { "noParsermsg4", "Ha \u00f6nnek nincs meg az IBM Java XML \u00e9rtelmez\u0151je, akkor let\u00f6ltheti az"},
-  { "noParsermsg5", "IBM AlphaWorks weblapr\u00f3l: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#error";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Hiba: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Figyelmeztet\u00e9s: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "MINTA ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("hu", "HU"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_it.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_it.java
deleted file mode 100644
index 45ee244..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_it.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_it.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_it extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "La funzione corrente () non \u00e8 consentita in un modello di corrispondenza." },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "La funzione corrente () non accetta argomenti." },
-
-  { ER_DOCUMENT_REPLACED,
-      "L'implementazione della funzione documento () \u00e8 stata sostituita da org.apache.xalan.xslt.FuncDocument."},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "il contesto non ha un documento proprietario."},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() ha troppi argomenti."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() ha troppi argomenti."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() ha troppi argomenti."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() ha troppi argomenti."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() ha troppi argomenti."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() ha troppi argomenti."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() ha troppi argomenti."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "La funzione translate() richiede tre argomenti."},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "La funzione unparsed-entity-uri richiede un argomento."},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "namespace axis non ancora implementato."},
-
-  { ER_UNKNOWN_AXIS,
-     "asse sconosciuto: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "operazione di corrispondenza sconosciuta."},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "Lunghezza argomento nella prova nodo processing-instruction() non corretta."},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "Impossibile convertire {0} in un numero"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "Impossibile convertire {0} in un NodeList."},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "Impossibile convertire {0} in un NodeSetDTM."},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "Impossibile convertire {0} in un type#{1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "Modello corrispondenza previsto in getMatchScore!"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "Impossibile richiamare la variabile denominata {0}"},
-
-  { ER_UNKNOWN_OPCODE,
-     "ERRORE! Codice operativo sconosciuto: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Token aggiuntivi non validi: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "letterale con numero di apici errato... previsti i doppi apici."},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "letterale con numero di apici errato... previsto un solo apice."},
-
-  { ER_EMPTY_EXPRESSION,
-     "Espressione vuota."},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "Era previsto {0}, ma \u00e8 stato trovato: {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "Asserzione programmatore errata. - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "Argomento boolean(...) non pi\u00f9 facoltativo con la versione 19990709 XPath."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "Trovata ',' senza argomento che la precede."},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "Trovata ',' senza argomento che la segue."},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predicato]' o '.[predicato]' \u00e8 una sintassi non valida.  Utilizzare 'self::node()[predicato]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "nome asse non valido: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "Nodetype sconosciuto: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "Il letterale modello ({0}) deve essere racchiuso fra virgolette."},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} non pu\u00f2 essere formattato in un numero."},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "Impossibile creare XML TransformerFactory Liaison: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Errore! Impossibile trovare espressione selezione xpath (-select)."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "ERRORE! Impossibile trovare ENDOP dopo OP_LOCATIONPATH"},
-
-  { ER_ERROR_OCCURED,
-     "Si \u00e8 verificato un errore."},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference fornito per la variabile \u00e8 fuori contesto o senza definizione.  Nome = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "Sono consentiti solo gli assi child:: e attribute:: nei modelli di corrispondenza.  Violazione asse = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() con numero di argomenti scorretto."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "La funzione count richiede un argomento."},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "Impossibile trovare la funzione: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Codifica non supportata: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "Si \u00e8 verificato un problema in DTM durante l'esecuzione di getNextSibling... tentativo di recupero in corso"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Errore di programmazione: Impossibile scrivere su EmptyNodeList."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory non supportato da XPathContext!"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "Il prefisso deve risolvere in uno namespace: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "parse (InputSource source) non supportato in XPathContext! Impossibile aprire {0}"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "Caratteri SAX API (char ch[]... non gestiti da DTM!"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... non gestiti da DTM!"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison non pu\u00f2 gestire i nodi di tipo {0}"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper non pu\u00f2 gestire i nodi di tipo {0}"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "Errore DOM2Helper.parse: SystemID - {0} riga - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "Errore DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "Rilevato surrogato UTF-16 non valido: {0} ?"},
-
-  { ER_OIERROR,
-     "Errore IO"},
-
-  { ER_CANNOT_CREATE_URL,
-     "Impossibile creare url per: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "In XPath.readObject: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "token funzione non trovato."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "Impossibile gestire il tipo XPath: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Questo NodeSet non \u00e8 trasformabile"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Questo NodeSetDTM non \u00e8 trasformabile"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "Variabile non risolvibile: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Handler errori nullo"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Asserzione di programmatore: codice operativo sconosciuto: {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 oppure 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() non supportato da XRTreeFragSelectWrapper"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() non supportato da XRTreeFragSelectWrapper"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() non supportato da XRTreeFragSelectWrapper"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() non supportato da XRTreeFragSelectWrapper"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() non supportato da XRTreeFragSelectWrapper"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() non supportato da XRTreeFragSelectWrapper"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() non supportato per XStringForChars"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "Impossibile trovare la variabile con il nome {0}"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars non pu\u00f2 accettare una stringa come argomento"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "L'argomento FastStringBuffer non pu\u00f2 essere nullo"},
-
-  { ER_TWO_OR_THREE,
-       "2 o 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "Variabile acceduta prima che fosse delimitata."},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB non pu\u00f2 accettare una stringa come argomento."},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! Errore! Si sta impostando il nodo di partenza su null"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "NodeSetDTM non pu\u00f2 collegarsi al nodo precedente"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "NodeSet non pu\u00f2 collegarsi al nodo precedente"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "NodeSetDTM non pu\u00f2 eseguire l'indicizzazione o il conteggio delle funzioni."},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "NodeSet non pu\u00f2 eseguire l'indicizzazione o il conteggio delle funzioni."},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "Impossibile chiamare setShouldCacheNodes dopo aver chiamato nextNode."},
-
-  { ER_ONLY_ALLOWS,
-       "{0} consente solo {1} argomenti"},
-
-  { ER_UNKNOWN_STEP,
-       "Asserzione di programmatore in getNextStepPos: stepType sconosciuto: {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "Era previsto un percorso relativo dopo il token '/' oppure '//'."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "Era previsto un percorso, ma \u00e8 stato rilevato il seguente token\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "Era previsto un percorso, ma invece \u00e8 stata trovata la fine dell'espressione XPath."},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "Era previsto un passo di posizione dopo il token '/' oppure '//'."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "Era prevista una prova nodo che corrisponde a NCName:* oppure a QName."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "Era previsto un modello passo, ma \u00e8 stato rilevato '/'."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "Era previsto un modello percorso relativo."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "XPathResult dell''''espressione XPath ''{0}'' ha un XPathResultType di {1} che non pu\u00f2 essere convertito in valore booleano."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "XPathResult dell''''espressione XPath ''{0}'' ha un XPathResultType di {1} che non pu\u00f2 essere convertito in un nodo singolo. Il metodo getSingleNodeValue si applica solo ai tipi ANY_UNORDERED_NODE_TYPE eFIRST_ORDERED_NODE_TYPE."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "Il metodo getSnapshotLength non pu\u00f2 essere chiamato al XPathResult dell''''espressione XPath ''{0}'' poich\u00e9 il XPathResultType \u00e8 {1}. Questo metodo si applica solo ai tipi UNORDERED_NODE_SNAPSHOT_TYPE e ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "Il metodo iterateNext non pu\u00f2 essere chiamato in XPathResult dell''''espressione XPath ''{0}'' poich\u00e9 XPathResultType \u00e8 {1}. Questo metodo si applica solo ai tipi UNORDERED_NODE_ITERATOR_TYPE e ORDERED_NODE_ITERATOR_TYPE."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "Documento modificato da quando \u00e8 stato restituito il risultato. Iteratore non valido."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "Argomento di tipo XPath non valido: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "Oggetto risultato XPath vuoto"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "XPathResult dell''''espressione XPath ''{0}'' ha un XPathResultType di {1} che non pu\u00f2 essere convertito nel XPathResultType specificato di {2}."},
-
-  { ER_NULL_RESOLVER,
-       "Impossibile risolvere il prefisso con resolver di prefisso nullo."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "XPathResult dell''''espressione XPath ''{0}'' ha un XPathResultType di {1} che non pu\u00f2 essere convertito in una stringa."},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "Il metodo snapshotItem non pu\u00f2 essere chiamato al XPathResult dell''''espressione XPath ''{0}''  poich\u00e9 XPathResultType \u00e8 {1}. Questo metodo si applica solo ai tipi UNORDERED_NODE_SNAPSHOT_TYPE eORDERED_NODE_SNAPSHOT_TYPE."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "Il nodo di contesto non appartiene al documento collegato a questo XPathEvaluator."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "Il tipo di nodo di contesto non \u00e8 supportato."},
-
-  { ER_XPATH_ERROR,
-       "Errore sconosciuto in XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "XPathResult dell''''espressione XPath ''{0}'' ha un XPathResultType di {1} che non pu\u00f2 essere convertito in un numero"},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "Funzione di estensione: Impossibile richiamare ''{0}'' quando la funzione XMLConstants.FEATURE_SECURE_PROCESSING \u00e8 impostata su true."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "resolveVariable per la variabile {0} che restituisce null"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Tipo di ritorno non supportato : {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "Il tipo origine e/o ritorno non pu\u00f2 essere nullo"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "L''''argomento {0} non pu\u00f2 essere nullo"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "{0}#isObjectModelSupported( String objectModel ) non pu\u00f2 essere chiamato con objectModel == null"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "{0}#isObjectModelSupported( String objectModel ) non pu\u00f2 essere chiamato con objectModel == \"\""},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Tentativo di impostare una funzione con un nome nullo: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Tentativo di impostare una funzione sconosciuta \"{0}\":{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Tentativo di ottenere una funzione con un nome nullo: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Tentativo di ottenere una funzione sconosciuta \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Tentativo di impostare un XPathFunctionResolver:{0}#setXPathFunctionResolver(null) nullo"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Tentativo di impostare una XPathVariableResolver:{0}#setXPathVariableResolver(null) nulla"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "nome locale nella funzione format-number non ancora gestito."},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "Propriet\u00e0 XSL non supportata: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "Non eseguire alcune azione per lo namespace {0} nella propriet\u00e0: {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "SecurityException durante il tentativo di accesso alla propriet\u00e0 di sistema XSL: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "Sintassi obsoleta: quo(...) non \u00e8 pi\u00f9 definito in XPath."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath richiede un oggetto derivato per implementare nodeTest!"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "token funzione non trovato."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "Impossibile trovare la funzione: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "Impossibile ricavare l''''URL da: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "Opzione -E non supportata per il parser DTM"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference fornito per la variabile \u00e8 fuori contesto o senza definizione.  Nome = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Codifica non supportata: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "it"},
-  { "help_language", "it"},
-  { "language", "it"},
-  { "BAD_CODE", "Il parametro per createMessage fuori limite"},
-  { "FORMAT_FAILED", "Rilevata eccezione durante la chiamata messageFormat"},
-  { "version", ">>>>>>> Versione Xalan "},
-  { "version2", "<<<<<<<"},
-  { "yes", "s\u00ec"},
-  { "line", "Riga #"},
-  { "column", "Colonna #"},
-  { "xsldone", "XSLProcessor: eseguito"},
-  { "xpath_option", "opzioni xpath: "},
-  { "optionIN", "   [-in inputXMLURL]"},
-  { "optionSelect", "   [-select espressione xpath]"},
-  { "optionMatch", "   [-match associa il modello (per le diagnostiche di corrispondenza)]"},
-  { "optionAnyExpr", "Oppure per un'espressione xpath eseguir\u00e0 un dump diagnostico"},
-  { "noParsermsg1", "Elaborazione XSL non riuscita."},
-  { "noParsermsg2", "** Impossibile trovare il parser **"},
-  { "noParsermsg3", "Controllare il classpath."},
-  { "noParsermsg4", "Se non si possiede IBM XML Parser per Java, \u00e8 possibile scaricarlo da"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#errore";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Errore: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Avvertenza: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "MODELLO ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("it", "IT"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ja.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ja.java
deleted file mode 100644
index 3f30ef7..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ja.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_ja.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_ja extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "current() \u95a2\u6570\u306f\u30d1\u30bf\u30fc\u30f3\u306e\u30de\u30c3\u30c1\u30f3\u30b0\u3067\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "current() \u95a2\u6570\u306f\u5f15\u6570\u3092\u53d7\u3051\u5165\u308c\u307e\u305b\u3093\u3002" },
-
-  { ER_DOCUMENT_REPLACED,
-      "document() \u95a2\u6570\u306e\u5b9f\u88c5\u304c org.apache.xalan.xslt.FuncDocument \u306b\u3088\u308a\u7f6e\u304d\u63db\u3048\u3089\u308c\u307e\u3057\u305f\u3002"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u6240\u6709\u8005\u6587\u66f8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() \u306e\u5f15\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002"},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() \u306e\u5f15\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002"},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() \u306e\u5f15\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002"},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() \u306e\u5f15\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002"},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() \u306e\u5f15\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002"},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() \u306e\u5f15\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002"},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() \u306e\u5f15\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002"},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "translate() \u95a2\u6570\u306f 3 \u500b\u306e\u5f15\u6570\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "unparsed-entity-uri \u95a2\u6570\u306f\u5f15\u6570\u3092 1 \u500b\u4f7f\u7528\u3057\u307e\u3059\u3002"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "namespace axis \u304c\u307e\u3060\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-  { ER_UNKNOWN_AXIS,
-     "\u4e0d\u660e\u306a\u8ef8: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "\u4e0d\u660e\u306e\u30de\u30c3\u30c1\u30f3\u30b0\u64cd\u4f5c\u3002"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "processing-instruction() \u306e\u30ce\u30fc\u30c9\u30fb\u30c6\u30b9\u30c8\u306e\u5f15\u6570\u306e\u9577\u3055\u304c\u8aa4\u3063\u3066\u3044\u307e\u3059\u3002"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "{0} \u3092\u6570\u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "{0} \u3092 NodeList \u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "{0} \u3092 NodeSetDTM \u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "{0} \u3092 type#{1} \u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "getMatchScore \u3067\u5fc5\u8981\u306a\u4e00\u81f4\u30d1\u30bf\u30fc\u30f3\u3067\u3059\u3002"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "{0} \u3068\u3044\u3046\u540d\u524d\u306e\u5909\u6570\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f"},
-
-  { ER_UNKNOWN_OPCODE,
-     "\u30a8\u30e9\u30fc:  \u4e0d\u660e\u306a\u547d\u4ee4\u30b3\u30fc\u30c9: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "\u4f59\u5206\u306e\u6b63\u3057\u304f\u306a\u3044\u30c8\u30fc\u30af\u30f3: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "\u5f15\u7528\u7b26\u304c\u8aa4\u3063\u3066\u3044\u308b\u30ea\u30c6\u30e9\u30eb... \u4e8c\u91cd\u5f15\u7528\u7b26\u304c\u5fc5\u8981\u3067\u3057\u305f\u3002"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "\u5f15\u7528\u7b26\u304c\u8aa4\u3063\u3066\u3044\u308b\u30ea\u30c6\u30e9\u30eb... \u5358\u4e00\u5f15\u7528\u7b26\u304c\u5fc5\u8981\u3067\u3057\u305f\u3002"},
-
-  { ER_EMPTY_EXPRESSION,
-     "\u7a7a\u306e\u5f0f\u3067\u3059\u3002"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "{0} \u304c\u5fc5\u8981\u3067\u3057\u305f\u304c\u3001{1} \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306e\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3\u304c\u8aa4\u3063\u3066\u3044\u307e\u3059\u3002 - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "\u30d6\u30fc\u30eb(...) \u5f15\u6570\u306f 19990709 XPath \u30c9\u30e9\u30d5\u30c8\u3067\u306f\u3082\u3046\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "',' \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u304c\u3001\u5148\u7acb\u3064\u5f15\u6570\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "',' \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u304c\u3001\u5f8c\u7d9a\u306e\u5f15\u6570\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predicate]' \u307e\u305f\u306f '.[predicate]' \u306f\u6b63\u3057\u304f\u306a\u3044\u69cb\u6587\u3067\u3059\u3002\u4ee3\u308a\u306b  'self::node()[predicate]' \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "\u6b63\u3057\u304f\u306a\u3044\u8ef8\u306e\u540d\u524d: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "\u4e0d\u660e\u306a\u30ce\u30fc\u30c9\u578b: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "\u30d1\u30bf\u30fc\u30f3\u30fb\u30ea\u30c6\u30e9\u30eb ({0}) \u306b\u306f\u5f15\u7528\u7b26\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} \u3092\u6570\u306b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "XML TransformerFactory Liaison \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "\u30a8\u30e9\u30fc:  xpath select \u5f0f (-select) \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "\u30a8\u30e9\u30fc:  OP_LOCATIONPATH \u306e\u5f8c\u306b ENDOP \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f"},
-
-  { ER_ERROR_OCCURED,
-     "\u30a8\u30e9\u30fc\u304c\u8d77\u3053\u308a\u307e\u3057\u305f\u3002"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "\u5909\u6570\u306b\u6307\u5b9a\u3055\u308c\u305f VariableReference \u304c\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u5916\u304b\u3001\u5b9a\u7fa9\u304c\u3042\u308a\u307e\u305b\u3093 \u540d\u524d = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "\u30de\u30c3\u30c1\u30f3\u30b0\u30fb\u30d1\u30bf\u30fc\u30f3\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u306e\u306f child:: \u8ef8\u304a\u3088\u3073 attribute:: \u8ef8\u306e\u307f\u3067\u3059\u3002 \u554f\u984c\u306e\u8ef8 = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() \u306e\u5f15\u6570\u306e\u6570\u304c\u8aa4\u3063\u3066\u3044\u307e\u3059\u3002"},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "count \u95a2\u6570\u306f\u5f15\u6570\u3092 1 \u500b\u4f7f\u7528\u3057\u307e\u3059\u3002"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "\u95a2\u6570: {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c9: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "\u554f\u984c\u304c getNextSibling \u5185\u306e DTM \u3067\u8d77\u3053\u308a\u307e\u3057\u305f... \u30ea\u30ab\u30d0\u30ea\u30fc\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u30fb\u30a8\u30e9\u30fc: EmptyNodeList \u3092\u66f8\u304d\u8fbc\u307f\u5148\u306b\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory \u306f XPathContext \u306b\u3088\u308a\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "\u63a5\u982d\u90e8\u306f\u540d\u524d\u7a7a\u9593\u306b\u89e3\u6c7a\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "parse (InputSource \u30bd\u30fc\u30b9) \u306f XPathContext \u5185\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002 {0} \u3092\u30aa\u30fc\u30d7\u30f3\u3067\u304d\u307e\u305b\u3093"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX API characters(char ch[]... \u306f DTM \u306b\u3088\u308a\u51e6\u7406\u3055\u308c\u307e\u305b\u3093\u3002"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... \u306f DTM \u306b\u3088\u308a\u51e6\u7406\u3055\u308c\u307e\u305b\u3093\u3002"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison \u306f\u578b {0} \u306e\u30ce\u30fc\u30c9\u3092\u51e6\u7406\u3067\u304d\u307e\u305b\u3093"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper \u306f\u578b {0} \u306e\u30ce\u30fc\u30c9\u3092\u51e6\u7406\u3067\u304d\u307e\u305b\u3093"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "DOM2Helper.parse \u30a8\u30e9\u30fc: SystemID - {0} \u884c - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "DOM2Helper.parse \u30a8\u30e9\u30fc"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "\u7121\u52b9\u306a UTF-16 \u30b5\u30ed\u30b2\u30fc\u30c8\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f: {0} ?"},
-
-  { ER_OIERROR,
-     "\u5165\u51fa\u529b\u30a8\u30e9\u30fc"},
-
-  { ER_CANNOT_CREATE_URL,
-     "{0} \u306e URL \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_XPATH_READOBJECT,
-     "XPath.readObject \u5185: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "\u95a2\u6570\u30c8\u30fc\u30af\u30f3\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "XPath \u578b: {0} \u3092\u51e6\u7406\u3067\u304d\u307e\u305b\u3093"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "\u3053\u306e NodeSet \u306f\u53ef\u5909\u3067\u3042\u308a\u307e\u305b\u3093"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "\u3053\u306e NodeSetDTM \u306f\u53ef\u5909\u3067\u3042\u308a\u307e\u305b\u3093"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "\u5909\u6570\u306f\u89e3\u6c7a\u53ef\u80fd\u3067\u3042\u308a\u307e\u305b\u3093: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "\u30cc\u30eb\u306e\u30a8\u30e9\u30fc\u30fb\u30cf\u30f3\u30c9\u30e9\u30fc"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306e\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3: \u4e0d\u660e\u306a\u547d\u4ee4\u30b3\u30fc\u30c9: {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 \u307e\u305f\u306f 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() \u306f XRTreeFragSelectWrapper \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() \u306f XRTreeFragSelectWrapper \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() \u306f XRTreeFragSelectWrapper \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() \u306f XRTreeFragSelectWrapper \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() \u306f XRTreeFragSelectWrapper \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() \u306f XRTreeFragSelectWrapper \u3067\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() \u306f XStringForChars \u306e\u5834\u5408\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "\u540d\u524d\u304c {0} \u306e\u5909\u6570\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars \u306f\u5f15\u6570\u306b\u30b9\u30c8\u30ea\u30f3\u30b0\u3092\u4f7f\u7528\u3057\u307e\u305b\u3093"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "FastStringBuffer \u5f15\u6570\u306f\u30cc\u30eb\u306b\u3067\u304d\u307e\u305b\u3093"},
-
-  { ER_TWO_OR_THREE,
-       "2 \u307e\u305f\u306f 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "\u5909\u6570\u304c\u30d0\u30a4\u30f3\u30c9\u3055\u308c\u308b\u524d\u306b\u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB \u306f\u5f15\u6570\u306b\u30b9\u30c8\u30ea\u30f3\u30b0\u3092\u4f7f\u7528\u3057\u307e\u305b\u3093\u3002"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n \u30a8\u30e9\u30fc: \u30a6\u30a9\u30fc\u30ab\u30fc\u306e\u30eb\u30fc\u30c8\u3092\u30cc\u30eb\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "\u3053\u306e NodeSetDTM \u306f\u76f4\u524d\u306e\u30ce\u30fc\u30c9\u3092\u7e70\u308a\u8fd4\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "\u3053\u306e NodeSet \u306f\u76f4\u524d\u306e\u30ce\u30fc\u30c9\u3092\u7e70\u308a\u8fd4\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "\u3053\u306e NodeSetDTM \u306f\u7d22\u5f15\u4ed8\u3051\u3084\u30ab\u30a6\u30f3\u30c8\u306e\u6a5f\u80fd\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "\u3053\u306e NodeSet \u306f\u7d22\u5f15\u4ed8\u3051\u3084\u30ab\u30a6\u30f3\u30c8\u306e\u6a5f\u80fd\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "nextNode \u3092\u547c\u3073\u51fa\u3057\u305f\u5f8c\u306b setShouldCacheNodes \u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} \u306b\u8a31\u53ef\u3055\u308c\u308b\u5f15\u6570\u306f {1} \u500b\u306e\u307f\u3067\u3059"},
-
-  { ER_UNKNOWN_STEP,
-       "getNextStepPos \u5185\u306e\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306e\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3: \u4e0d\u660e\u306a stepType: {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "\u76f8\u5bfe\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30d1\u30b9\u306f '/' \u307e\u305f\u306f '//' \u30c8\u30fc\u30af\u30f3\u306e\u6b21\u306b\u5fc5\u8981\u3067\u3057\u305f\u3002"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30d1\u30b9\u304c\u5fc5\u8981\u3067\u3057\u305f\u304c\u3001\u6b21\u306e\u30c8\u30fc\u30af\u30f3\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30d1\u30b9\u304c\u5fc5\u8981\u3067\u3057\u305f\u304c\u3001\u4ee3\u308f\u308a\u306b XPath \u5f0f\u306e\u7d42\u308f\u308a\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30b9\u30c6\u30c3\u30d7\u306f '/' \u307e\u305f\u306f '//' \u30c8\u30fc\u30af\u30f3\u306e\u6b21\u306b\u5fc5\u8981\u3067\u3057\u305f\u3002"},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "NCName:* \u307e\u305f\u306f QName \u306e\u3044\u305a\u308c\u304b\u3068\u4e00\u81f4\u3059\u308b\u30ce\u30fc\u30c9\u30fb\u30c6\u30b9\u30c8\u304c\u5fc5\u8981\u3067\u3057\u305f\u3002"},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "\u30b9\u30c6\u30c3\u30d7\u30fb\u30d1\u30bf\u30fc\u30f3\u304c\u5fc5\u8981\u3067\u3057\u305f\u304c\u3001'/' \u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "\u76f8\u5bfe\u30d1\u30b9\u30fb\u30d1\u30bf\u30fc\u30f3\u304c\u5fc5\u8981\u3067\u3057\u305f\u3002"},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "XPath \u5f0f ''{0}'' \u306e XPathResult \u306e XPathResultType \u306f {1} \u3067\u3001\u3053\u308c\u3092\u30d6\u30fc\u30eb\u306b\u5909\u63db\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "XPath \u5f0f ''{0}'' \u306e XPathResult \u306e XPathResultType \u306f {1} \u3067\u3001\u3053\u308c\u3092\u5358\u4e00\u30ce\u30fc\u30c9\u306b\u5909\u63db\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u30e1\u30bd\u30c3\u30c9 getSingleNodeValue \u304c\u9069\u7528\u3055\u308c\u308b\u306e\u306f\u3001\u578b ANY_UNORDERED_NODE_TYPE \u304a\u3088\u3073 FIRST_ORDERED_NODE_TYPE \u306e\u307f\u3067\u3059\u3002"},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "XPathResultType \u304c {1} \u3067\u3042\u308b\u305f\u3081\u3001\u30e1\u30bd\u30c3\u30c9 getSnapshotLength \u3092 XPath \u5f0f ''{0}'' \u306e XPathResult \u3092\u5bfe\u8c61\u306b\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u9069\u7528\u3055\u308c\u308b\u306e\u306f\u3001\u578b UNORDERED_NODE_SNAPSHOT_TYPE \u304a\u3088\u3073 ORDERED_NODE_SNAPSHOT_TYPE \u306e\u307f\u3067\u3059\u3002"},
-
-  { ER_NON_ITERATOR_TYPE,
-       "XPathResultType \u304c {1} \u3067\u3042\u308b\u305f\u3081\u3001\u30e1\u30bd\u30c3\u30c9 iterateNext \u3092 XPath \u5f0f ''{0}'' \u306e XPathResult \u3092\u5bfe\u8c61\u306b\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u9069\u7528\u3055\u308c\u308b\u306e\u306f\u3001\u578b UNORDERED_NODE_ITERATOR_TYPE \u304a\u3088\u3073 ORDERED_NODE_ITERATOR_TYPE \u306e\u307f\u3067\u3059\u3002"},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "\u7d50\u679c\u304c\u623b\u3055\u308c\u305f\u4ee5\u5f8c\u306b\u6587\u66f8\u304c\u5909\u66f4\u3055\u308c\u307e\u3057\u305f\u3002\u30a4\u30c6\u30ec\u30fc\u30bf\u30fc\u304c\u7121\u52b9\u3067\u3059\u3002"},
-
-  { ER_INVALID_XPATH_TYPE,
-       "\u7121\u52b9\u306a XPath \u578b\u5f15\u6570: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "\u7a7a\u306e XPath \u7d50\u679c\u30aa\u30d6\u30b8\u30a7\u30af\u30c8"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "XPath \u5f0f ''{0}'' \u306e XPathResult \u306e XPathResultType \u306f {1} \u3067\u3001\u3053\u308c\u3092\u6307\u5b9a\u3055\u308c\u305f XPathResultType {2} \u306b\u5f37\u5236\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { ER_NULL_RESOLVER,
-       "\u63a5\u982d\u90e8\u3092\u30cc\u30eb\u63a5\u982d\u90e8\u30ea\u30be\u30eb\u30d0\u30fc\u306b\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "XPath \u5f0f ''{0}'' \u306e XPathResult \u306e XPathResultType \u306f {1} \u3067\u3001\u3053\u308c\u3092\u30b9\u30c8\u30ea\u30f3\u30b0\u306b\u5909\u63db\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "XPathResultType \u304c {1} \u3067\u3042\u308b\u305f\u3081\u3001\u30e1\u30bd\u30c3\u30c9 snapshotItem \u3092 XPath \u5f0f ''{0}'' \u306e XPathResult \u3092\u5bfe\u8c61\u306b\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u9069\u7528\u3055\u308c\u308b\u306e\u306f\u3001\u578b UNORDERED_NODE_SNAPSHOT_TYPE \u304a\u3088\u3073 ORDERED_NODE_SNAPSHOT_TYPE \u306e\u307f\u3067\u3059\u3002"},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30fb\u30ce\u30fc\u30c9\u306f\u3053\u306e XPathEvaluator \u306b\u30d0\u30a4\u30f3\u30c9\u3055\u308c\u3066\u3044\u308b\u6587\u66f8\u306b\u5c5e\u3057\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30fb\u30ce\u30fc\u30c9\u578b\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-  { ER_XPATH_ERROR,
-       "XPath \u306b\u4e0d\u660e\u306a\u30a8\u30e9\u30fc\u304c\u3042\u308a\u307e\u3059\u3002"},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "XPath \u5f0f ''{0}'' \u306e XPathResult \u306e XPathResultType \u306f {1} \u3067\u3001\u3053\u308c\u3092\u6570\u5024\u306b\u5909\u63db\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
- //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "XMLConstants.FEATURE_SECURE_PROCESSING \u6a5f\u80fd\u306e\u8a2d\u5b9a\u304c true \u306e\u3068\u304d\u306b\u3001\u62e1\u5f35\u95a2\u6570 ''{0}'' \u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "\u5909\u6570 {0} \u306e resolveVariable \u304c NULL \u3092\u623b\u3057\u3066\u3044\u307e\u3059\u3002"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044\u623b\u308a\u5024\u306e\u578b: {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "Source \u307e\u305f\u306f Return Type\u3001\u3042\u308b\u3044\u306f\u305d\u306e\u4e21\u65b9\u3092\u30cc\u30eb\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "{0} \u5f15\u6570\u306f\u30cc\u30eb\u306b\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "objectModel == null \u3067 {0}#isObjectModelSupported( String objectModel ) \u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "objectModel == \"\" \u3067 {0}#isObjectModelSupported( String objectModel ) \u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "\u6a5f\u80fd\u3092\u30cc\u30eb\u540d\u3067\u8a2d\u5b9a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "\u4e0d\u660e\u306a\u6a5f\u80fd \"{0}\" \u3092\u8a2d\u5b9a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059: {1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "\u6a5f\u80fd\u3092\u30cc\u30eb\u540d\u3067\u691c\u7d22\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "\u4e0d\u660e\u306a\u6a5f\u80fd \"{0}\" \u3092\u691c\u7d22\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059: {1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "XPathFunctionResolver \u3092\u30cc\u30eb\u3067\u8a2d\u5b9a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059: {0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "XPathVariableResolver \u3092\u30cc\u30eb\u3067\u8a2d\u5b9a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059: {0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u756a\u53f7\u95a2\u6570\u5185\u306e\u30ed\u30b1\u30fc\u30eb\u540d\u306f\u307e\u3060\u51e6\u7406\u3055\u308c\u307e\u305b\u3093\u3002"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "XSL \u30d7\u30ed\u30d1\u30c6\u30a3\u30fc: {0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "\u73fe\u5728\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc {1} \u306e\u540d\u524d\u7a7a\u9593 {0} \u3067\u4f55\u3082\u5b9f\u884c\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
-
-  { WG_SECURITY_EXCEPTION,
-      "XSL \u30b7\u30b9\u30c6\u30e0\u30fb\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc: {0} \u306b\u30a2\u30af\u30bb\u30b9\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308b\u3068\u304d\u306b SecurityException"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "\u65e7\u69cb\u6587: quo(...) \u306f XPath \u5185\u306b\u3082\u3046\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "nodeTest \u3092\u5b9f\u88c5\u3059\u308b\u306b\u306f XPath \u306b\u6d3e\u751f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u5fc5\u8981\u3067\u3059\u3002"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "\u95a2\u6570\u30c8\u30fc\u30af\u30f3\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "\u95a2\u6570: {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "URL \u3092 {0} \u304b\u3089\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "-E \u30aa\u30d7\u30b7\u30e7\u30f3\u306f DTM \u30d1\u30fc\u30b5\u30fc\u306e\u5834\u5408\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "\u5909\u6570\u306b\u6307\u5b9a\u3055\u308c\u305f VariableReference \u304c\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u5916\u304b\u3001\u5b9a\u7fa9\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u540d\u524d = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c9: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "en"},
-  { "help_language", "en"},
-  { "language", "en"},
-  { "BAD_CODE", "createMessage \u3078\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u304c\u7bc4\u56f2\u5916\u3067\u3057\u305f\u3002"},
-  { "FORMAT_FAILED", "messageFormat \u547c\u3073\u51fa\u3057\u4e2d\u306b\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f\u3002"},
-  { "version", ">>>>>>> Xalan \u30d0\u30fc\u30b8\u30e7\u30f3 "},
-  { "version2", "<<<<<<<"},
-  { "yes", "\u306f\u3044 (y)"},
-  { "line", "\u884c #"},
-  { "column", "\u6841 #"},
-  { "xsldone", "XSLProcessor: \u5b8c\u4e86"},
-  { "xpath_option", "xpath \u30aa\u30d7\u30b7\u30e7\u30f3: "},
-  { "optionIN", "   [-in inputXMLURL]"},
-  { "optionSelect", "   [-select xpath \u5f0f]"},
-  { "optionMatch", "   [-match \u30de\u30c3\u30c1\u30f3\u30b0\u30fb\u30d1\u30bf\u30fc\u30f3 (\u30de\u30c3\u30c1\u30f3\u30b0\u8a3a\u65ad\u7528)]"},
-  { "optionAnyExpr", "\u3042\u308b\u3044\u306f\u8a3a\u65ad\u30c0\u30f3\u30d7\u3092\u5b9f\u884c\u3059\u308b\u306e\u306f xpath \u5f0f\u3060\u3051\u3067\u3059"},
-  { "noParsermsg1", "XSL \u51e6\u7406\u306f\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002"},
-  { "noParsermsg2", "** \u30d1\u30fc\u30b5\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f **"},
-  { "noParsermsg3", "\u30af\u30e9\u30b9\u30d1\u30b9\u3092\u8abf\u3079\u3066\u304f\u3060\u3055\u3044\u3002"},
-  { "noParsermsg4", "IBM \u306e XML Parser for Java \u304c\u306a\u3044\u5834\u5408\u306f\u3001\u6b21\u306e\u30b5\u30a4\u30c8\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u3059:"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#\u30a8\u30e9\u30fc";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "\u30a8\u30e9\u30fc: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "\u8b66\u544a: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "\u30d1\u30bf\u30fc\u30f3 ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ko.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ko.java
deleted file mode 100644
index 7eb5b1c..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ko.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_ko.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_ko extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "\uc77c\uce58 \ud328\ud134\uc5d0\uc11c current() \ud568\uc218\uac00 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4." },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "current() \ud568\uc218\uac00 \uc778\uc218\ub97c \uc2b9\uc778\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4." },
-
-  { ER_DOCUMENT_REPLACED,
-      "document() \ud568\uc218 \uad6c\ud604\uc774 org.apache.xalan.xslt.FuncDocument\ub85c \ubc14\ub00c\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "\ubb38\ub9e5\uc5d0 \uc18c\uc720\uc790 \ubb38\uc11c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name()\uc5d0 \ub9ce\uc740 \uc778\uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri()\uc5d0 \ub9ce\uc740 \uc778\uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space()\uc5d0 \ub9ce\uc740 \uc778\uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number()\uc5d0 \ub9ce\uc740 \uc778\uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name()\uc5d0 \ub9ce\uc740 \uc778\uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string()\uc5d0 \ub9ce\uc740 \uc778\uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length()\uc5d0 \ub9ce\uc740 \uc778\uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "translate() \ud568\uc218\uac00 \uc138 \uac1c\uc758 \uc778\uc218\ub97c \ucde8\ud569\ub2c8\ub2e4."},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "unparsed-entity-uri \ud568\uc218\ub294 \ud558\ub098\uc758 \uc778\uc218\ub97c \ucde8\ud574\uc57c \ud569\ub2c8\ub2e4."},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "\uc774\ub984 \uacf5\uac04 \ucd95\uc774 \uc544\uc9c1 \uad6c\ud604\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-  { ER_UNKNOWN_AXIS,
-     "\uc54c \uc218 \uc5c6\ub294 \ucd95: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "\uc54c \uc218 \uc5c6\ub294 \uc77c\uce58 \uc870\uc791\uc785\ub2c8\ub2e4."},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "processing-instruction() node \ud14c\uc2a4\ud2b8\uc758 \uc778\uc218 \uae38\uc774\uac00 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "{0}\uc744(\ub97c) \uc22b\uc790\ub85c \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "{0}\uc744(\ub97c) NodeList\ub85c \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "{0}\uc744(\ub97c) NodeSetDTM\uc73c\ub85c \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "{0}\uc744(\ub97c) \uc720\ud615 \ubc88\ud638 {1}(\uc73c)\ub85c \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "\uc608\uc0c1\ub41c getMatchScore\uc758 \ud328\ud134 \uc77c\uce58\uc785\ub2c8\ub2e4."},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "\uc774\ub984\uc774 {0}\uc778 \ubcc0\uc218\ub97c \uac00\uc838\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_UNKNOWN_OPCODE,
-     "\uc624\ub958. \uc54c \uc218 \uc5c6\ub294 op \ucf54\ub4dc: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \ucd94\uac00 \ud1a0\ud070: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "\ub530\uc634\ud45c\uac00 \ud2c0\ub9b0 \ub9ac\ud130\ub7f4\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ud070\ub530\uc634\ud45c\uac00 \uc608\uc0c1\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "\ub530\uc634\ud45c\uac00 \ud2c0\ub9b0 \ub9ac\ud130\ub7f4\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc791\uc740\ub530\uc634\ud45c\uac00 \uc608\uc0c1\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  { ER_EMPTY_EXPRESSION,
-     "\ube48 \ud45c\ud604\uc2dd\uc785\ub2c8\ub2e4."},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "{0}\uc744(\ub97c) \uc608\uc0c1\ud588\uc73c\ub098 {1}\uc774(\uac00) \ubc1c\uacac\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "\ud504\ub85c\uadf8\ub798\uba38 \ub2e8\uc5b8\ubb38\uc774 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "19990709 XPath \ucd08\uc548\uc5d0\uc11c\ub294 \ubd80\uc6b8(...) \uc778\uc218\uac00 \ub354 \uc774\uc0c1 \uc120\ud0dd\uc801\uc774\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "','\ub97c \ubc1c\uacac\ud588\uc73c\ub098 \uadf8 \uc55e\uc5d0 \uc5b4\ub5a0\ud55c \uc778\uc218\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "','\ub97c \ubc1c\uacac\ud588\uc73c\ub098 \ub4a4\uc5d0 \uc5b4\ub5a0\ud55c \uc778\uc218\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predicate]' \ub610\ub294 '.[predicate]'\ub294 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uad6c\ubb38\uc785\ub2c8\ub2e4. \ub300\uc2e0 'self::node()[predicate]'\ub97c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \ucd95 \uc774\ub984: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "\uc54c \uc218 \uc5c6\ub294 \ub178\ub4dc \uc720\ud615: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "\ud328\ud134 \ub9ac\ud130\ub7f4({0})\uc5d0\ub294 \ub530\uc634\ud45c\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0}\uc740(\ub294) \uc22b\uc790\ub85c \ud3ec\ub9f7\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "XML TransformerFactory Liaison\uc744 \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "\uc624\ub958. xpath \uc120\ud0dd \ud45c\ud604\uc2dd(-select)\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "\uc624\ub958. OP_LOCATIONPATH \ub4a4\uc5d0 ENDOP\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_ERROR_OCCURED,
-     "\uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4."},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "\ubcc0\uc218\uc5d0 \ub300\ud574 \uc8fc\uc5b4\uc9c4 VariableReference\uac00 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uac70\ub098 \uc815\uc758\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\ub984 = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "\ud558\uc704:: \ubc0f \uc18d\uc131:: \ucd95\ub9cc \ud328\ud134\uc5d0 \uc77c\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc704\ubc18 \ucd95 = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key()\uc758 \uc778\uc218 \uc218\uac00 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "count \ud568\uc218\ub294 \ud558\ub098\uc758 \uc778\uc218\ub97c \ucde8\ud574\uc57c \ud569\ub2c8\ub2e4."},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "\ud568\uc218\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "\uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294 \uc778\ucf54\ub529: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "getNextSibling\uc758 DTM\uc5d0 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \ubcf5\uad6c \uc2dc\ub3c4 \uc911\uc785\ub2c8\ub2e4."},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "\ud504\ub85c\uadf8\ub798\uba38 \uc624\ub958: EmptyNodeList\ub97c \uc4f8 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "XPathContext\uc5d0\uc11c setDOMFactory\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "\uc811\ub450\ubd80\ub294 \uc774\ub984 \uacf5\uac04\uc73c\ub85c \ubd84\uc11d\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "XPathContext\uc5d0\uc11c \uad6c\ubb38 \ubd84\uc11d(InputSource \uc18c\uc2a4)\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. {0}\uc744(\ub97c) \uc5f4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX API \ubb38\uc790(char ch[]... \uac00 DTM\uc5d0 \uc758\ud574 \ucc98\ub9ac\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... \uac00 DTM\uc5d0 \uc758\ud574 \ucc98\ub9ac\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison\uc774 {0} \uc720\ud615\uc758 \ub178\ub4dc\ub97c \ucc98\ub9ac\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper\uac00 {0} \uc720\ud615\uc758 \ub178\ub4dc\ub97c \ucc98\ub9ac\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "DOM2Helper.parse \uc624\ub958: \uc2dc\uc2a4\ud15c ID - {0} \ud68c\uc120 - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "DOM2Helper.parse \uc624\ub958"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "\uc798\ubabb\ub41c UTF-16 \ub300\ub9ac\uc790(surrogate)\uac00 \ubc1c\uacac\ub418\uc5c8\uc2b5\ub2c8\ub2e4: {0} ?"},
-
-  { ER_OIERROR,
-     "IO \uc624\ub958"},
-
-  { ER_CANNOT_CREATE_URL,
-     "url\uc744 \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "XPath.readObject\uc758 {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "\ud568\uc218 \ud1a0\ud070\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "XPath \uc720\ud615\uc744 \ucc98\ub9ac\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "\uc774 NodeSet\uac00 \uac00\ubcc0\uc801\uc774\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "\uc774 NodeSetDTM\uc774 \uac00\ubcc0\uc801\uc774\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "\ubcc0\uc218\ub97c \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "\ub110(null) \uc624\ub958 \ud578\ub4e4\ub7ec"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "\ud504\ub85c\uadf8\ub798\uba38\uc758 \ub2e8\uc5b8\ubb38: \uc54c \uc218 \uc5c6\ub294 op \ucf54\ub4dc: {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 \ub610\ub294 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "XRTreeFragSelectWrapper\uc5d0\uc11c rtf()\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "XRTreeFragSelectWrapper\uc5d0\uc11c asNodeIterator()\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "XRTreeFragSelectWrapper\uc5d0\uc11c detach()\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "XRTreeFragSelectWrapper\uc5d0\uc11c num()\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "XRTreeFragSelectWrapper\uc5d0\uc11c xstr()\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "XRTreeFragSelectWrapper\uc5d0\uc11c str()\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "XStringForChars\uc5d0 \ub300\ud574 fsb()\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "\uc774\ub984\uc774 {0}\uc778 \ubcc0\uc218\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars\ub294 \uc778\uc218\ub85c \ubb38\uc790\uc5f4\uc744 \uac00\uc838\uc62c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "FastStringBuffer \uc778\uc218\ub294 \ub110(null)\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_TWO_OR_THREE,
-       "2 \ub610\ub294 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "\ubcc0\uc218\uac00 \ubc14\uc778\ub4dc\ub418\uae30 \uc804\uc5d0 \ubcc0\uc218\uc5d0 \uc561\uc138\uc2a4\ud588\uc2b5\ub2c8\ub2e4."},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB\ub294 \uc778\uc218\ub85c \ubb38\uc790\uc5f4\uc744 \ucde8\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! \uc624\ub958. \uc6cc\ucee4\uc758 \ub8e8\ud2b8\ub85c \ub110(null)\uc774 \uc124\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "\uc774 NodeSetDTM\uc740 \uc774\uc804 \ub178\ub4dc\uc5d0 \ubc18\ubcf5 \uc801\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "\uc774 NodeSet\ub294 \uc774\uc804 \ub178\ub4dc\uc5d0 \ubc18\ubcf5 \uc801\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "\uc774 NodeSetDTM\uc740 \uc0c9\uc778 \ub610\ub294 \uce74\uc6b4\ud305 \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "\uc774 NodeSet\ub294 \uc0c9\uc778 \ub610\ub294 \uce74\uc6b4\ud305 \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "nextNode\uac00 \ud638\ucd9c\ub41c \ud6c4\uc5d0 setShouldCacheNodes\ub97c \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { ER_ONLY_ALLOWS,
-       "{0}\uc740(\ub294) {1} \uc778\uc218\ub9cc\uc744 \ud5c8\uc6a9\ud569\ub2c8\ub2e4."},
-
-  { ER_UNKNOWN_STEP,
-       "getNextStepPos\uc5d0 \ud504\ub85c\uadf8\ub798\uba38\uc758 \ub2e8\uc5b8\ubb38\uc774 \uc788\uc74c: \uc54c \uc218 \uc5c6\ub294 stepType: {0} "},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "'/' \ub610\ub294 '//' \ud1a0\ud070 \ub2e4\uc74c\uc5d0 \uad00\ub828 \uc704\uce58 \uacbd\ub85c\uac00 \uc608\uc0c1\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "\uc704\uce58 \uacbd\ub85c\uac00 \uc608\uc0c1\ub418\uc5c8\uc9c0\ub9cc \ub2e4\uc74c \ud1a0\ud070\uc774 \ubc1c\uacac\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "\uc704\uce58 \uacbd\ub85c\uac00 \uc608\uc0c1\ub418\uc5c8\uc9c0\ub9cc XPath \ud45c\ud604\uc2dd\uc758 \ub05d\uc774 \ubc1c\uacac\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "'/' \ub610\ub294 '//' \ud1a0\ud070 \ub2e4\uc74c\uc5d0 \uc704\uce58 \ub2e8\uacc4\uac00 \uc608\uc0c1\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "NCName:* \ub610\ub294 QName\uacfc \uc77c\uce58\ud558\ub294 \ub178\ub4dc \ud14c\uc2a4\ud2b8\uac00 \uc608\uc0c1\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "\ub2e8\uacc4 \ud328\ud134\uc774 \uc608\uc0c1\ub418\uc5c8\uc9c0\ub9cc '/'\uac00 \ubc1c\uacac\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "\uad00\ub828 \uacbd\ub85c \ud328\ud134\uc774 \uc608\uc0c1\ub418\uc5c8\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "XPath \ud45c\ud604\uc2dd ''{0}''\uc758 XPathResult\uc5d0 \ubd80\uc6b8\ub85c \ubcc0\ud658\ub420 \uc218 \uc5c6\ub294 XPathResultType {1}\uc774(\uac00) \uc788\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "XPath \ud45c\ud604\uc2dd ''{0}''\uc758 XPathResult\uc5d0 \ub2e8\uc77c \ub178\ub4dc\ub85c \ubcc0\ud658\ub420 \uc218 \uc5c6\ub294 XPathResultType {1}\uc774(\uac00) \uc788\uc2b5\ub2c8\ub2e4. \uba54\uc18c\ub4dc getSingleNodeValue\ub294 ANY_UNORDERED_NODE_TYPE \ubc0f FIRST_ORDERED_NODE_TYPE \uc720\ud615\uc5d0\ub9cc \uc801\uc6a9\ub429\ub2c8\ub2e4."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "XPathResultType\uc774 {1}\uc774\uae30 \ub54c\ubb38\uc5d0 XPath \ud45c\ud604\uc2dd ''{0}''\uc758 XPathResult\uc5d0\uc11c getSnapshotLength \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \uba54\uc18c\ub4dc\ub294 UNORDERED_NODE_SNAPSHOT_TYPE \ubc0f ORDERED_NODE_SNAPSHOT_TYPE \uc720\ud615\uc5d0\ub9cc \uc801\uc6a9\ub429\ub2c8\ub2e4."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "XPathResultType\uc774 {1}\uc774\uae30 \ub54c\ubb38\uc5d0 XPath \ud45c\ud604\uc2dd ''{0}''\uc758 XPathResult\uc5d0\uc11c iterateNext \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \uba54\uc18c\ub4dc\ub294 UNORDERED_NODE_ITERATOR_TYPE \ubc0f ORDERED_NODE_ITERATOR_TYPE \uc720\ud615\uc5d0\ub9cc \uc801\uc6a9\ub429\ub2c8\ub2e4."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "\uacb0\uacfc\uac00 \ub9ac\ud134\ub418\uc5c8\uc73c\ubbc0\ub85c \ubb38\uc11c\uac00 \ubcc0\uacbd\ub429\ub2c8\ub2e4. \ubc18\ubcf5\uae30\uac00 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "\uc798\ubabb\ub41c XPath \uc720\ud615 \uc778\uc218: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "\ube44\uc5b4 \uc788\ub294 XPath \uacb0\uacfc \uc624\ube0c\uc81d\ud2b8\uc785\ub2c8\ub2e4."},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "XPath \ud45c\ud604\uc2dd ''{0}''\uc758 XPathResult\uc5d0 \uc9c0\uc815\ub41c XPathResultType {2}(\uc73c)\ub85c \uac15\uc81c \uc2dc\ud589\ud560 \uc218 \uc5c6\ub294 XPathReultType {1}\uc774(\uac00) \uc788\uc2b5\ub2c8\ub2e4."},
-
-  { ER_NULL_RESOLVER,
-       "\ub110(null) \uc811\ub450\ubd80 \ubd84\uc11d\uae30\ub85c \uc811\ub450\ubd80\ub97c \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "XPath \ud45c\ud604\uc2dd ''{0}''\uc758 XPathResult\uc5d0 \ubb38\uc790\uc5f4\ub85c \ubcc0\ud658\ud560 \uc218 \uc5c6\ub294 XPathResultType {1}\uc774(\uac00) \uc788\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "XPathResultType\uc774 {1}\uc774\uae30 \ub54c\ubb38\uc5d0 XPath \ud45c\ud604\uc2dd ''{0}''\uc758 XPathResult\uc5d0\uc11c snapshotItem \uba54\uc18c\ub4dc\ub97c \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \uba54\uc18c\ub4dc\ub294 UNORDERED_NODE_SNAPSHOT_TYPE \ubc0f ORDERED_NODE_SNAPSHOT_TYPE \uc720\ud615\uc5d0\ub9cc \uc801\uc6a9\ub429\ub2c8\ub2e4."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "\ucee8\ud14d\uc2a4\ud2b8 \ub178\ub4dc\ub294 \uc774 XPathEvaluator\ub85c \ubc14\uc778\ub4dc\ub418\ub294 \ubb38\uc11c\uc5d0 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "\ucee8\ud14d\uc2a4\ud2b8 \ub178\ub4dc \uc720\ud615\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { ER_XPATH_ERROR,
-       "XPath\uc5d0 \uc54c \uc218 \uc5c6\ub294 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "XPath \ud45c\ud604\uc2dd ''{0}''\uc758 XPathResult\uc5d0 \uc22b\uc790\ub85c \ubcc0\ud658\ud560 \uc218 \uc5c6\ub294 XPathResultType {1}\uc774(\uac00) \uc788\uc2b5\ub2c8\ub2e4."},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "\ud655\uc7a5 \ud568\uc218: XMLConstants.FEATURE_SECURE_PROCESSING \uae30\ub2a5\uc774 true\ub85c \uc124\uc815\ub41c \uacbd\uc6b0 ''{0}''\uc744(\ub97c) \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "{0} \ubcc0\uc218\uc5d0 \ub300\ud55c resolveVariable\uc774 \ub110(null)\uc744 \ub9ac\ud134\ud569\ub2c8\ub2e4."},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "\uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294 \ub9ac\ud134 \uc720\ud615: {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "\uc18c\uc2a4 \ubc0f/\ub610\ub294 \ub9ac\ud134 \uc720\ud615\uc774 \ub110(null)\uc774\uba74 \uc548\ub429\ub2c8\ub2e4."},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "{0} \uc778\uc218\uac00 \ub110(null)\uc774\uba74 \uc548\ub429\ub2c8\ub2e4."},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "{0}#isObjectModelSupported( String objectModel )\uc740 objectModel == null\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "{0}#isObjectModelSupported( String objectModel )\uc740 objectModel == \"\"\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud638\ucd9c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "\ub110(null) \uc774\ub984\uc744 \uc0ac\uc6a9\ud558\uc5ec \uae30\ub2a5\uc744 \uc124\uc815\ud558\ub824\uace0 \ud569\ub2c8\ub2e4: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "\uc54c \uc218 \uc5c6\ub294 \uae30\ub2a5 \"{0}\":{1}#setFeature({0},{2})\ub97c \uc124\uc815\ud558\ub824\uace0 \ud569\ub2c8\ub2e4."},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "\ub110(null) \uc774\ub984\uc744 \uc0ac\uc6a9\ud558\uc5ec \uae30\ub2a5\uc744 \uc124\uc815\ud558\ub824\uace0 \ud569\ub2c8\ub2e4: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "\uc54c \uc218 \uc5c6\ub294 \uae30\ub2a5 \"{0}\"\uc744 \uac00\uc838\uc624\ub824\uace0 \ud569\ub2c8\ub2e4: {1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "\ub110(null)\uc778 XPathFunctionResolver\ub97c \uc124\uc815\ud558\ub824\uace0 \ud569\ub2c8\ub2e4: {0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "\ub110(null)\uc778 XPathVariableResolver\ub97c \uc124\uc815\ud558\ub824\uace0 \ud569\ub2c8\ub2e4: {0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "format-number \ud568\uc218\uc5d0 \uc788\ub294 \ub85c\ucf00\uc77c \uc774\ub984\uc774 \uc544\uc9c1 \ucc98\ub9ac\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4."},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "XSL \ud2b9\uc131\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "\ud2b9\uc131\uc5d0\uc11c {0} \uc774\ub984 \uacf5\uac04\uacfc \uad00\ub828\ud558\uc5ec \ud604\uc7ac \uc544\ubb34\ub7f0 \uc791\uc5c5\ub3c4 \uc218\ud589\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4: {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "XSL \uc2dc\uc2a4\ud15c \ud2b9\uc131\uc5d0 \uc561\uc138\uc2a4\ud558\ub294 \uc911 SecurityException\uc774 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "\uc774\uc804 \uad6c\ubb38: quo(...)\uac00 \ub354 \uc774\uc0c1 XPath\uc5d0 \uc815\uc758\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "nodeTest\ub97c \uad6c\ud604\ud558\ub824\uba74 XPath\uc5d0 \ud30c\uc0dd\ub41c \uc624\ube0c\uc81d\ud2b8\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4."},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "\ud568\uc218 \ud1a0\ud070\uc774 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "\ud568\uc218\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "{0}\uc5d0\uc11c URL\uc744 \uc791\uc131\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "DTM \uad6c\ubb38 \ubd84\uc11d\uae30\uc5d0 \ub300\ud574 -E \uc635\uc158\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "\ubcc0\uc218\uc5d0 \ub300\ud574 \uc8fc\uc5b4\uc9c4 VariableReference\uac00 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uac70\ub098 \uc815\uc758\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774\ub984 = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "\uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294 \uc778\ucf54\ub529: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "ko"},
-  { "help_language", "ko"},
-  { "language", "ko"},
-  { "BAD_CODE", "createMessage\uc5d0 \ub300\ud55c \ub9e4\uac1c\ubcc0\uc218\uac00 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4."},
-  { "FORMAT_FAILED", "messageFormat \ud638\ucd9c \uc911 \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4."},
-  { "version", ">>>>>>> Xalan \ubc84\uc804 "},
-  { "version2", "<<<<<<<"},
-  { "yes", "\uc608"},
-  { "line", "\ud589 #"},
-  { "column", "\uc5f4 #"},
-  { "xsldone", "XSLProcessor: \uc644\ub8cc"},
-  { "xpath_option", "xpath \uc635\uc158: "},
-  { "optionIN", "[-in inputXMLURL]"},
-  { "optionSelect", "[-select xpath expression]"},
-  { "optionMatch", "[-match match pattern(\uc77c\uce58 \uc9c4\ub2e8\uc6a9)]"},
-  { "optionAnyExpr", "\ub610\ub294 xpath \ud45c\ud604\uc2dd\ub9cc\uc73c\ub85c \uc9c4\ub2e8 \ub364\ud504\uac00 \uc218\ud589\ub420 \uac83\uc785\ub2c8\ub2e4."},
-  { "noParsermsg1", "XSL \ud504\ub85c\uc138\uc2a4\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4."},
-  { "noParsermsg2", "** \uad6c\ubb38 \ubd84\uc11d\uae30\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. **"},
-  { "noParsermsg3", "\ud074\ub798\uc2a4 \uacbd\ub85c\ub97c \uc810\uac80\ud558\uc2ed\uc2dc\uc624."},
-  { "noParsermsg4", "Java\uc6a9 IBM XML \uad6c\ubb38 \ubd84\uc11d\uae30\uac00 \uc5c6\uc73c\uba74"},
-  { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml\uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#error";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "\uc624\ub958: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "\uacbd\uace0: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("ko", "KR"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_pl.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_pl.java
deleted file mode 100644
index c41d19c..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_pl.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_pl.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_pl extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "Funkcja current() jest niedozwolona we wzorcu!" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "Funkcja current() nie akceptuje argument\u00f3w!" },
-
-  { ER_DOCUMENT_REPLACED,
-      "Implementacja funkcji document() zosta\u0142a zast\u0105piona przez org.apache.xalan.xslt.FuncDocument!"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "Kontekst nie ma dokumentu w\u0142a\u015bciciela!"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "Funkcja local-name() ma zbyt wiele argument\u00f3w."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "Funkcja namespace-uri() ma zbyt wiele argument\u00f3w."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "Funkcja normalize-space() ma zbyt wiele argument\u00f3w."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "Funkcja number() ma zbyt wiele argument\u00f3w."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "Funkcja name() ma zbyt wiele argument\u00f3w."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "Funkcja string() ma zbyt wiele argument\u00f3w."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "Funkcja string-length() ma zbyt wiele argument\u00f3w."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "Funkcja translate() akceptuje trzy argumenty!"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "Funkcja unparsed-entity-uri() akceptuje tylko jeden argument!"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "O\u015b przestrzeni nazw nie zosta\u0142a jeszcze zaimplementowana!"},
-
-  { ER_UNKNOWN_AXIS,
-     "nieznana o\u015b: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "Nieznana operacja uzgadniania!"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "D\u0142ugo\u015b\u0107 argumentu testu w\u0119z\u0142a processing-instruction() jest niepoprawna!"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "Nie mo\u017cna przekszta\u0142ci\u0107 {0} w liczb\u0119"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "Nie mo\u017cna przekszta\u0142ci\u0107 {0} w NodeList!"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "Nie mo\u017cna przekszta\u0142ci\u0107 {0} w NodeSetDTM!"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "Nie mo\u017cna przekszta\u0142ci\u0107 {0} w type#{1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "Oczekiwano wzorca uzgadniania w getMatchScore!"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "Nie mo\u017cna pobra\u0107 zmiennej o nazwie {0}"},
-
-  { ER_UNKNOWN_OPCODE,
-     "B\u0141\u0104D! Nieznany kod operacji: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Nadmiarowe niedozwolone leksemy: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "Litera\u0142 bez cudzys\u0142owu... oczekiwano podw\u00f3jnego cudzys\u0142owu!"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "Litera\u0142 bez cudzys\u0142owu... oczekiwano pojedynczego cudzys\u0142owu!"},
-
-  { ER_EMPTY_EXPRESSION,
-     "Puste wyra\u017cenie!"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "Oczekiwano {0}, ale znaleziono: {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "Asercja programisty jest niepoprawna! - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "argument boolean(...) nie jest ju\u017c opcjonalny wg projektu 19990709 XPath draft."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "Znaleziono znak ',', ale nie ma poprzedzaj\u0105cego argumentu!"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "Znaleziono znak ',', ale nie ma nast\u0119puj\u0105cego argumentu!"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predykat]' lub '.[predykat]' to niedozwolona sk\u0142adnia. U\u017cyj zamiast tego 'self::node()[predykat]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "Niedozwolona nazwa osi: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "Nieznany typ w\u0119z\u0142a: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "Litera\u0142 wzorca ({0}) musi by\u0107 w cudzys\u0142owie!"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "Nie mo\u017cna sformatowa\u0107 {0} do postaci liczbowej!"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "Nie mo\u017cna utworzy\u0107 po\u0142\u0105czenia XML TransformerFactory: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "B\u0142\u0105d! Nie znaleziono wyra\u017cenia wyboru xpath (-select)."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "B\u0141\u0104D! Nie mo\u017cna znale\u017a\u0107 ENDOP po OP_LOCATIONPATH"},
-
-  { ER_ERROR_OCCURED,
-     "Wyst\u0105pi\u0142 b\u0142\u0105d!"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference nadana zmiennej nie nale\u017cy do kontekstu lub nie ma definicji!  Nazwa = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "We wzorcach zgodno\u015bci dozwolone s\u0105 tylko osie child:: oraz attribute::!  Niew\u0142a\u015bciwe osie = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "Funkcja key() ma niepoprawn\u0105 liczb\u0119 argument\u00f3w."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "Funkcja count() akceptuje tylko jeden argument!"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "Nie mo\u017cna znale\u017a\u0107 funkcji: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Nieobs\u0142ugiwane kodowanie: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "Wyst\u0105pi\u0142 problem w DTM w getNextSibling... pr\u00f3ba wyj\u015bcia z b\u0142\u0119du"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "B\u0142\u0105d programisty: Nie mo\u017cna zapisywa\u0107 do EmptyNodeList."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory nie jest obs\u0142ugiwane przez XPathContext!"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "Przedrostek musi da\u0107 si\u0119 przet\u0142umaczy\u0107 na przestrze\u0144 nazw: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "parse (InputSource \u017ar\u00f3d\u0142o) nie jest obs\u0142ugiwane w XPathContext! Nie mo\u017cna otworzy\u0107 {0}"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX API characters(char ch[]... nie jest obs\u0142ugiwane przez DTM!"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... nie jest obs\u0142ugiwane przez DTM!"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison nie mo\u017ce obs\u0142u\u017cy\u0107 w\u0119z\u0142\u00f3w typu {0}"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper nie mo\u017ce obs\u0142u\u017cy\u0107 w\u0119z\u0142\u00f3w typu {0}"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "B\u0142\u0105d DOM2Helper.parse : ID systemu - {0} wiersz - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "B\u0142\u0105d DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "Wykryto niepoprawny odpowiednik UTF-16: {0} ?"},
-
-  { ER_OIERROR,
-     "B\u0142\u0105d we/wy"},
-
-  { ER_CANNOT_CREATE_URL,
-     "Nie mo\u017cna utworzy\u0107 adresu url dla {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "W XPath.readObject: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "Nie znaleziono leksemu funkcji."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "Nie mo\u017cna upora\u0107 si\u0119 z typem XPath {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Ten NodeSet nie jest zmienny"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Ten NodeSetDTM nie jest zmienny"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "Nie mo\u017cna rozstrzygn\u0105\u0107 zmiennej {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Pusta procedura obs\u0142ugi b\u0142\u0119du"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Asercja programisty: nieznany kod opcode: {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 lub 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "Funkcja rtf() nie jest obs\u0142ugiwana przez XRTreeFragSelectWrapper"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "Funkcja asNodeIterator() nie jest obs\u0142ugiwana przez XRTreeFragSelectWrapper"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "Funkcja detach() nie jest obs\u0142ugiwana przez XRTreeFragSelectWrapper"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "Funkcja num() nie jest obs\u0142ugiwana przez XRTreeFragSelectWrapper"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "Funkcja xstr() nie jest obs\u0142ugiwana przez XRTreeFragSelectWrapper"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "Funkcja str() nie jest obs\u0142ugiwana przez XRTreeFragSelectWrapper"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "Funkcja fsb() nie jest obs\u0142ugiwana dla XStringForChars"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "Nie mo\u017cna znale\u017a\u0107 zmiennej o nazwie {0}"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars nie mo\u017ce pobra\u0107 ci\u0105gu znak\u00f3w jako argumentu"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "Argument FastStringBuffer nie mo\u017ce by\u0107 pusty"},
-
-  { ER_TWO_OR_THREE,
-       "2 lub 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "Nast\u0105pi\u0142o odwo\u0142anie do zmiennej, zanim zosta\u0142a ona zwi\u0105zana!"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB nie mo\u017ce pobra\u0107 ci\u0105gu znak\u00f3w jako argumentu!"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! B\u0142\u0105d! Ustawienie root w\u0119drownika na null!!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Ten NodeSetDTM nie mo\u017ce iterowa\u0107 do poprzedniego w\u0119z\u0142a!"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Ten NodeSet nie mo\u017ce iterowa\u0107 do poprzedniego w\u0119z\u0142a!"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Ten NodeSetDTM nie mo\u017ce wykona\u0107 funkcji indeksowania lub zliczania!"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Ten NodeSet nie mo\u017ce wykona\u0107 funkcji indeksowania lub zliczania!"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "Nie mo\u017cna wywo\u0142a\u0107 setShouldCacheNodes po wywo\u0142aniu nextNode!"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} zezwala tylko na {1} argument\u00f3w"},
-
-  { ER_UNKNOWN_STEP,
-       "Asercja programisty w getNextStepPos: nieznany stepType: {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "Po leksemie '/' oraz '//' oczekiwana by\u0142a \u015bcie\u017cka wzgl\u0119dna po\u0142o\u017cenia."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "Oczekiwano \u015bcie\u017cki po\u0142o\u017cenia, ale napotkano nast\u0119puj\u0105cy leksem\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "Oczekiwano \u015bcie\u017cki po\u0142o\u017cenia, ale zamiast niej znaleziono koniec wyra\u017cenia XPath."},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "Po leksemie '/' oraz '//' oczekiwany by\u0142 krok po\u0142o\u017cenia."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "Oczekiwano testu w\u0119z\u0142a zgodnego albo z NCName:*, albo z QName."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "Oczekiwano wzorca kroku, ale napotkano '/'."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "Oczekiwano wzorca \u015bcie\u017cki wzgl\u0119dnej."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "Rezultat (XPathResult) wyra\u017cenia XPath ''{0}'' ma typ (XPathResultType) {1}, kt\u00f3rego nie mo\u017cna przekszta\u0142ci\u0107 w typ boolowski."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "Rezultat (XPathResult) wyra\u017cenia XPath ''{0}'' ma typ (XPathResultType) {1}, kt\u00f3rego nie mo\u017cna przekszta\u0142ci\u0107 w pojedynczy w\u0119ze\u0142. Metod\u0119 getSingleNodeValue mo\u017cna stosowa\u0107 tylko do typ\u00f3w ANY_UNORDERED_NODE_TYPE oraz FIRST_ORDERED_NODE_TYPE."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "Metody getSnapshotLength nie mo\u017cna wywo\u0142a\u0107 na rezultacie (XPathResult) wyra\u017cenia XPath ''{0}'', poniewa\u017c jego typem (XPathResultType) jest {1}. Metod\u0119 t\u0119 mo\u017cna stosowa\u0107 tylko do typ\u00f3w UNORDERED_NODE_SNAPSHOT_TYPE oraz ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "Metody iterateNext nie mo\u017cna wywo\u0142a\u0107 na rezultacie (XPathResult) wyra\u017cenia XPath ''{0}'', poniewa\u017c jego typem (XPathResultType) jest {1}. Metod\u0119 t\u0119 mo\u017cna stosowa\u0107 tylko do typ\u00f3w UNORDERED_NODE_ITERATOR_TYPE oraz ORDERED_NODE_ITERATOR_TYPE."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "Dokument uleg\u0142 zmianie od czasu zwr\u00f3cenia rezultatu. Iterator jest niepoprawny."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "Niepoprawny argument typu XPath: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "Pusty obiekt rezultatu XPath"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "Rezultat (XPathResult) wyra\u017cenia XPath ''{0}'' ma typ (XPathResultType) {1}, na kt\u00f3rym nie mo\u017cna wymusi\u0107 dzia\u0142ania jak na okre\u015blonym typie (XPathResultType) {2}."},
-
-  { ER_NULL_RESOLVER,
-       "Nie mo\u017cna przet\u0142umaczy\u0107 przedrostka za pomoc\u0105 procedury t\u0142umacz\u0105cej o pustym przedrostku."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "Rezultat (XPathResult) wyra\u017cenia XPath ''{0}'' ma typ (XPathResultType) {1}, kt\u00f3rego nie mo\u017cna przekszta\u0142ci\u0107 w typ \u0142a\u0144cuchowy."},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "Metody snapshotItem nie mo\u017cna wywo\u0142a\u0107 na rezultacie (XPathResult) wyra\u017cenia XPath ''{0}'', poniewa\u017c jego typem (XPathResultType) jest {1}. Metod\u0119 t\u0119 mo\u017cna stosowa\u0107 tylko do typ\u00f3w UNORDERED_NODE_SNAPSHOT_TYPE oraz ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "W\u0119ze\u0142 kontekstu nie nale\u017cy do dokumentu, kt\u00f3ry jest zwi\u0105zany z tym interfejsem XPathEvaluator."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "Nieobs\u0142ugiwany typ w\u0119z\u0142a kontekstu."},
-
-  { ER_XPATH_ERROR,
-       "Nieznany b\u0142\u0105d w XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "Rezultat (XPathResult) wyra\u017cenia XPath ''{0}'' ma typ (XPathResultType) {1}, kt\u00f3rego nie mo\u017cna przekszta\u0142ci\u0107 w typ liczbowy."},
-
- //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "Nie mo\u017cna wywo\u0142a\u0107 funkcji rozszerzenia ''{0}'', kiedy opcja XMLConstants.FEATURE_SECURE_PROCESSING ma warto\u015b\u0107 true."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "resolveVariable zwraca warto\u015b\u0107 null dla zmiennej {0}"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Nieobs\u0142ugiwany typ zwracany : {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "Typ \u017ar\u00f3d\u0142owy i/lub zwracany nie mo\u017ce mie\u0107 warto\u015bci null"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "Argument {0} nie mo\u017ce mie\u0107 warto\u015bci null"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "Nie mo\u017cna wywo\u0142a\u0107 {0}#isObjectModelSupported( String objectModel ) ze zmienn\u0105 objectModel o warto\u015bci null"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "Nie mo\u017cna wywo\u0142a\u0107 {0}#isObjectModelSupported( String objectModel ) ze zmienn\u0105 objectModel o warto\u015bci \"\""},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Pr\u00f3ba ustawienia opcji o nazwie r\u00f3wnej null: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Pr\u00f3ba ustawienia nieznanej opcji \"{0}\":{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Pr\u00f3ba pobrania opcji o nazwie r\u00f3wnej null: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Pr\u00f3ba pobrania nieznanej opcji \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Pr\u00f3ba ustawienia XPathFunctionResolver o warto\u015bci null:{0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Pr\u00f3ba ustawienia XPathVariableResolver o warto\u015bci null:{0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "Nazwa ustawie\u0144 narodowych w funkcji format-number nie jest jeszcze obs\u0142ugiwana!"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "Nieobs\u0142ugiwana w\u0142a\u015bciwo\u015b\u0107 XSL {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "Nie r\u00f3b teraz niczego z przestrzeni\u0105 nazw {0} we w\u0142a\u015bciwo\u015bci {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "Wyj\u0105tek SecurityException podczas pr\u00f3by dost\u0119pu do w\u0142a\u015bciwo\u015bci systemowej XSL {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "Stara sk\u0142adnia: quo(...) nie jest ju\u017c zdefiniowana w XPath."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath potrzebuje obiektu pochodnego, aby zaimplementowa\u0107 nodeTest!"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "Nie znaleziono leksemu funkcji."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "Nie mo\u017cna znale\u017a\u0107 funkcji: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "Nie mo\u017cna utworzy\u0107 adresu URL z {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "Opcja -E nie jest obs\u0142ugiwana przez analizator DTM"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference nadana zmiennej nie nale\u017cy do kontekstu lub nie ma definicji!  Nazwa = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Nieobs\u0142ugiwane kodowanie: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "pl"},
-  { "help_language", "pl"},
-  { "language", "pl"},
-  { "BAD_CODE", "Parametr createMessage by\u0142 spoza zakresu"},
-  { "FORMAT_FAILED", "Podczas wywo\u0142ania messageFormat zg\u0142oszony zosta\u0142 wyj\u0105tek"},
-  { "version", ">>>>>>> Wersja Xalan "},
-  { "version2", "<<<<<<<"},
-  { "yes", "tak"},
-  { "line", "Nr wiersza: "},
-  { "column", "Nr kolumny: "},
-  { "xsldone", "XSLProcessor: gotowe"},
-  { "xpath_option", "opcje xpath: "},
-  { "optionIN", "[-in wej\u015bciowyXMLURL]"},
-  { "optionSelect", "[-select wyra\u017cenie xpath]"},
-  { "optionMatch", "[-match wzorzec (do diagnostyki odnajdywania zgodno\u015bci ze wzorcem)]"},
-  { "optionAnyExpr", "Lub po prostu wyra\u017cenie xpath dokona zrzutu diagnostycznego"},
-  { "noParsermsg1", "Proces XSL nie wykona\u0142 si\u0119 pomy\u015blnie."},
-  { "noParsermsg2", "** Nie mo\u017cna znale\u017a\u0107 analizatora **"},
-  { "noParsermsg3", "Sprawd\u017a classpath."},
-  { "noParsermsg4", "Je\u015bli nie masz analizatora XML dla j\u0119zyka Java firmy IBM, mo\u017cesz go pobra\u0107 "},
-  { "noParsermsg5", "z serwisu AlphaWorks firmy IBM: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "nr b\u0142\u0119du";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "B\u0142\u0105d: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Ostrze\u017cenie: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "WZORZEC ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("pl", "PL"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_pt_BR.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_pt_BR.java
deleted file mode 100644
index 19830c2..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_pt_BR.java
+++ /dev/null
@@ -1,992 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_pt_BR.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_pt_BR extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "A fun\u00e7\u00e3o current() n\u00e3o \u00e9 permitida em um padr\u00e3o de correspond\u00eancia!" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "A fun\u00e7\u00e3o current() n\u00e3o aceita argumentos!" },
-
-  { ER_DOCUMENT_REPLACED,
-      "A implementa\u00e7\u00e3o da fun\u00e7\u00e3o document() foi substitu\u00edda por org.apache.xalan.xslt.FuncDocument!"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "context n\u00e3o possui um documento do propriet\u00e1rio!"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() possui argumentos em excesso."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() possui argumentos em excesso."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() possui argumentos em excesso."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() possui argumentos em excesso."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() possui argumentos em excesso."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() possui argumentos em excesso."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() possui argumentos em excesso."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "A fun\u00e7\u00e3o translate() tem tr\u00eas argumentos!"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "A fun\u00e7\u00e3o unparsed-entity-uri deve ter um argumento!"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "eixo do espa\u00e7o de nomes ainda n\u00e3o implementado!"},
-
-  { ER_UNKNOWN_AXIS,
-     "eixo desconhecido: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "opera\u00e7\u00e3o de correspond\u00eancia desconhecida!"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "O comprimento de arg do teste de n\u00f3 de processing-instruction() est\u00e1 incorreto! "},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "Imposs\u00edvel converter {0} em um n\u00famero"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "Imposs\u00edvel converter {0} em um NodeList!"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "Imposs\u00edvel converter {0} em um NodeSetDTM!"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "Imposs\u00edvel converter {0} em um tipo {1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "Padr\u00e3o de correspond\u00eancia esperado em getMatchScore!"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "N\u00e3o foi poss\u00edvel obter a vari\u00e1vel {0}"},
-
-  { ER_UNKNOWN_OPCODE,
-     "ERRO! C\u00f3digo op desconhecido: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Tokens inv\u00e1lidos extras: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "literal com aspa incorreta... era esperada aspa dupla!"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "literal com aspa incorreta... era esperada aspa simples!"},
-
-  { ER_EMPTY_EXPRESSION,
-     "Express\u00e3o vazia!"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "Esperado {0}, mas encontrado: {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "A declara\u00e7\u00e3o do programador est\u00e1 incorreta! - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "O argumento boolean(...) n\u00e3o \u00e9 mais opcional com o rascunho 19990709 XPath."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "Encontrado ',' mas sem argumento precedente!"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "Encontrado ',' mas sem argumento seguinte!"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predicate]' ou '.[predicate]' \u00e9 sintaxe inv\u00e1lida. Utilize ent\u00e3o 'self::node()[predicate]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "nome de eixo inv\u00e1lido: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "Tipo de n\u00f3 desconhecido: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "O literal de padr\u00e3o ({0}) precisa ser colocado entre aspas!"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} n\u00e3o p\u00f4de ser formatado para um n\u00famero!"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "N\u00e3o foi poss\u00edvel criar XML TransformerFactory Liaison: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Erro! N\u00e3o encontrada a express\u00e3o xpath select (-select)."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "ERRO! N\u00e3o foi poss\u00edvel encontrar ENDOP ap\u00f3s OP_LOCATIONPATH"},
-
-  { ER_ERROR_OCCURED,
-     "Ocorreu um erro!"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference fornecido para a vari\u00e1vel fora de contexto ou sem defini\u00e7\u00e3o!  Nome = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "Apenas os eixos child:: e attribute:: s\u00e3o permitidos em padr\u00f5es de correspond\u00eancia! Eixos transgredidos = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() possui um n\u00famero incorreto de argumentos."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "A fun\u00e7\u00e3o count deve ter um argumento!"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "N\u00e3o foi poss\u00edvel localizar a fun\u00e7\u00e3o: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Codifica\u00e7\u00e3o n\u00e3o suportada: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "Ocorreu um problema no DTM em getNextSibling... tentando recuperar"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Erro do programador: EmptyNodeList n\u00e3o pode ser gravado."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory n\u00e3o \u00e9 suportado por XPathContext!"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "O prefixo deve ser resolvido para um espa\u00e7o de nomes: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "parse (origem InputSource) n\u00e3o suportada no XPathContext! Imposs\u00edvel abrir {0}"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX API characters(char ch[]... n\u00e3o tratado pelo DTM!"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... n\u00e3o tratado pelo DTM!"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison n\u00e3o pode tratar n\u00f3s do tipo {0}"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper n\u00e3o pode tratar n\u00f3s do tipo {0}"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "DOM2Helper.parse error: SystemID - {0} linha - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "Erro de DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "Detectado substituto UTF-16 inv\u00e1lido: {0} ?"},
-
-  { ER_OIERROR,
-     "Erro de E/S"},
-
-  { ER_CANNOT_CREATE_URL,
-     "Imposs\u00edvel criar url para: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "Em XPath.readObject: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "Token function n\u00e3o encontrado."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "Imposs\u00edvel lidar com o tipo XPath: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Este NodeSet n\u00e3o \u00e9 mut\u00e1vel"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Este NodeSetDTM n\u00e3o \u00e9 mut\u00e1vel"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "A vari\u00e1vel n\u00e3o pode ser resolvida: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Rotina de tratamento de erros nula"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Declara\u00e7\u00e3o do programador: opcode desconhecido: {0} "},
-
-  { ER_ZERO_OR_ONE,
-       "0 ou 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() n\u00e3o suportado por XRTreeFragSelectWrapper"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() n\u00e3o suportado por XRTreeFragSelectWrapper"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() n\u00e3o suportado por XRTreeFragSelectWrapper "},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() n\u00e3o suportado por XRTreeFragSelectWrapper"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() n\u00e3o suportado por XRTreeFragSelectWrapper "},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() n\u00e3o suportado por XRTreeFragSelectWrapper"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() n\u00e3o suportado para XStringForChars"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "N\u00e3o foi poss\u00edvel encontrar a vari\u00e1vel com o nome {0}"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars n\u00e3o pode obter uma cadeia para um argumento"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "O argumento FastStringBuffer n\u00e3o pode ser nulo"},
-
-  { ER_TWO_OR_THREE,
-       "2 ou 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "Vari\u00e1vel acessada antes de ser ligada!"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB n\u00e3o pode obter uma cadeia para um argumento!"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! Erro! Definindo a raiz de um transmissor como nula!!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Este NodeSetDTM n\u00e3o pode iterar em um n\u00f3 anterior!"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Este NodeSet n\u00e3o pode iterar em um n\u00f3 anterior!"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Este NodeSetDTM n\u00e3o pode executar fun\u00e7\u00f5es de indexa\u00e7\u00e3o ou de contagem!"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Este NodeSet n\u00e3o pode executar fun\u00e7\u00f5es de indexa\u00e7\u00e3o ou de contagem!"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "Imposs\u00edvel chamar setShouldCacheNodes depois de nextNode ter sido chamado!"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} permite apenas {1} argumento(s)"},
-
-  { ER_UNKNOWN_STEP,
-       "Declara\u00e7\u00e3o do programador em getNextStepPos: stepType desconhecido: {0} "},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "Era esperado um caminho de localiza\u00e7\u00e3o relativo ap\u00f3s o token '/' ou '//'."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "Era esperado um caminho de localiza\u00e7\u00e3o, mas o seguinte token foi encontrado\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "Era esperado um caminho de local, mas foi encontrado o final da express\u00e3o XPath: "},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "Era esperada uma etapa de localiza\u00e7\u00e3o ap\u00f3s o token '/' ou '//'."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "Era esperado um n\u00f3 correspondente a NCName:* ou QName."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "Era esperado um padr\u00e3o de etapa, mas foi encontrado '/'."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "Era esperado um padr\u00e3o de caminho relativo."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "O XPathResult da express\u00e3o XPath ''{0}'' tem um XPathResultType de {1} que n\u00e3o pode ser convertido em um booleano."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "O XPathResult da express\u00e3o XPath ''{0}'' tem um XPathResultType de {1} que n\u00e3o pode ser convertido em um \u00fanico n\u00f3. O m\u00e9todo getSingleNodeValue aplica-se apenas aos tipos ANY_UNORDERED_NODE_TYPE e FIRST_ORDERED_NODE_TYPE."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "O m\u00e9todo getSnapshotLength n\u00e3o pode ser chamado no XPathResult da express\u00e3o XPath ''{0}'' porque seu XPathResultType \u00e9 {1}. Este m\u00e9todo aplica-se apenas aos tipos UNORDERED_NODE_SNAPSHOT_TYPE e ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "O m\u00e9todo iterateNext n\u00e3o pode ser chamado no XPathResult da express\u00e3o XPath ''{0}'' porque seu XPathResultType \u00e9 {1}. Este m\u00e9todo aplica-se apenas aos tipos UNORDERED_NODE_ITERATOR_TYPE e ORDERED_NODE_ITERATOR_TYPE."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "Documento alterado desde o retorno do resultado. O iterador \u00e9 inv\u00e1lido."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "Argumento de tipo XPath inv\u00e1lido: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "Objeto de resultado XPath vazio"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "O XPathResult da express\u00e3o XPath ''{0}'' tem um XPathResultType de {1} que n\u00e3o pode ser for\u00e7ado no XPathResultType especificado de {2}."},
-
-  { ER_NULL_RESOLVER,
-       "N\u00e3o foi poss\u00edvel resolver o prefixo com um resolvedor de prefixo nulo."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "O XPathResult da express\u00e3o XPath ''{0}'' tem um XPathResultType de {1} que n\u00e3o pode ser convertido em uma cadeia."},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "O m\u00e9todo snapshotItem n\u00e3o pode ser chamado no XPathResult da express\u00e3o XPath ''{0}'' porque seu XPathResultType \u00e9 {1}. Este m\u00e9todo aplica-se apenas aos tipos UNORDERED_NODE_SNAPSHOT_TYPE e ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "O n\u00f3 do contexto n\u00e3o pertence ao documento que est\u00e1 ligado a este XPathEvaluator."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "O tipo de n\u00f3 de contexto n\u00e3o \u00e9 suportado."},
-
-  { ER_XPATH_ERROR,
-       "Erro desconhecido em XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "O XPathResult da express\u00e3o XPath ''{0}'' tem um XPathResultType de {1} que n\u00e3o pode ser convertido em um n\u00famero."},
-
- //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "Fun\u00e7\u00e3o de extens\u00e3o: ''{0}'' n\u00e3o pode ser chamado quando o recurso XMLConstants.FEATURE_SECURE_PROCESSING est\u00e1 definido como true."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "resolveVariable para a vari\u00e1vel {0} retornando nulo"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Tipo de Retorno N\u00e3o Suportado : {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "O Tipo de Origem e/ou Retorno n\u00e3o pode ser nulo"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "O argumento {0} n\u00e3o pode ser nulo"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "{0}#isObjectModelSupported( String objectModel ) n\u00e3o pode ser chamado com objectModel == null"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "{0}#isObjectModelSupported( String objectModel ) n\u00e3o pode ser chamado com objectModel == \"\""},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Tentando definir um recurso com um nome nulo: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Tentando definir o recurso desconhecido \"{0}\":{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Tentando obter um recurso com um nome nulo: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Tentando obter o recurso desconhecido \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Tentando definir um nulo XPathFunctionResolver:{0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Tentando definir um nulo XPathVariableResolver:{0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "nome de locale na fun\u00e7\u00e3o format-number ainda n\u00e3o tratado!"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "Propriedade XSL n\u00e3o suportada: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "N\u00e3o fazer nada no momento com o espa\u00e7o de nomes {0} na propriedade {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "SecurityException ao tentar acessar a propriedade do sistema XSL: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "Sintaxe antiga: quo(...) n\u00e3o est\u00e1 mais definida no XPath."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath precisa de um objeto derivado para implementar nodeTest!"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "Token function n\u00e3o encontrado."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "N\u00e3o foi poss\u00edvel localizar a fun\u00e7\u00e3o: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "Imposs\u00edvel criar URL a partir de: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "A op\u00e7\u00e3o -E n\u00e3o \u00e9 suportada pelo analisador do DTM"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference fornecido para a vari\u00e1vel fora de contexto ou sem defini\u00e7\u00e3o!  Nome = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Codifica\u00e7\u00e3o n\u00e3o suportada: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "pt"},
-  { "help_language", "pt"},
-  { "language", "pt"},
-  { "BAD_CODE", "O par\u00e2metro para createMessage estava fora dos limites"},
-  { "FORMAT_FAILED", "Exce\u00e7\u00e3o emitida durante chamada messageFormat"},
-  { "version", ">>>>>>> Vers\u00e3o Xalan"},
-  { "version2", "<<<<<<<"},
-  { "yes", "sim"},
-  { "line", "Linha n\u00b0"},
-  { "column", "Coluna n\u00b0"},
-  { "xsldone", "XSLProcessor: conclu\u00eddo"},
-  { "xpath_option", "op\u00e7\u00f5es xpath:"},
-  { "optionIN", "   [-in inputXMLURL]"},
-  { "optionSelect", "   [-select xpath expression]"},
-  { "optionMatch", "[-match match pattern (para corresponder diagn\u00f3sticos)]"},
-  { "optionAnyExpr", "Ou apenas uma express\u00e3o xpath executar\u00e1 um dump de diagn\u00f3stico"},
-  { "noParsermsg1", "O Processo XSL n\u00e3o obteve \u00eaxito."},
-  { "noParsermsg2", "** N\u00e3o foi poss\u00edvel encontrar o analisador **"},
-  { "noParsermsg3", "Verifique seu classpath."},
-  { "noParsermsg4", "Se voc\u00ea n\u00e3o tiver o XML Parser para Java da IBM, poder\u00e1 fazer o download dele a partir de"},
-  { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#error";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Erro: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Aviso: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "PADR\u00c3O ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("pt", "BR"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ru.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ru.java
deleted file mode 100644
index f6cc12f..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_ru.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_ru.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_ru extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "\u0424\u0443\u043d\u043a\u0446\u0438\u044f current() \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430 \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0435 \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f!" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 current() \u043d\u0435\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432!" },
-
-  { ER_DOCUMENT_REPLACED,
-      "\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 document() \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u0430 \u043d\u0430 org.apache.xalan.xslt.FuncDocument!"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "\u0412 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442-\u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446!"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 local-name() \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 namespace-uri() \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 normalize-space() \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 number() \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 name() \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 string() \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 string-length() \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 translate() \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0442\u0440\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430!"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 unparsed-entity-uri \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0434\u0438\u043d \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442!"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "\u041e\u0441\u044c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d \u0435\u0449\u0435 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430!"},
-
-  { ER_UNKNOWN_AXIS,
-     "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0441\u044c: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f!"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u0443\u0437\u043b\u0430 processing-instruction()!"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c {0} \u0432 \u0447\u0438\u0441\u043b\u043e"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c {0} \u0432 NodeList!"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c {0} \u0432 NodeSetDTM!"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c {0} \u0432 \u0442\u0438\u043f#{1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "\u0412 getMatchScore \u043e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f!"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e {0}"},
-
-  { ER_UNKNOWN_OPCODE,
-     "\u041e\u0448\u0438\u0431\u043a\u0430! \u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u043c\u0430\u0440\u043a\u0435\u0440\u044b: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "\u041b\u0438\u0442\u0435\u0440\u0430\u043b \u043d\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d \u0432 \u043a\u0430\u0432\u044b\u0447\u043a\u0438... \u041e\u0436\u0438\u0434\u0430\u043b\u0438\u0441\u044c \u0434\u0432\u043e\u0439\u043d\u044b\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0438!"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "\u041b\u0438\u0442\u0435\u0440\u0430\u043b \u043d\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d \u0432 \u043a\u0430\u0432\u044b\u0447\u043a\u0438... \u041e\u0436\u0438\u0434\u0430\u043b\u0438\u0441\u044c \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0438!"},
-
-  { ER_EMPTY_EXPRESSION,
-     "\u041f\u0443\u0441\u0442\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435!"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "\u041e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c {0}, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043e: {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435! - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "\u0412 19990709 XPath \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 boolean(...) \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430 \u0437\u0430\u043f\u044f\u0442\u0430\u044f ',' \u043d\u043e \u043f\u0435\u0440\u0435\u0434 \u043d\u0435\u0439 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442!"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430 \u0437\u0430\u043f\u044f\u0442\u0430\u044f ',' \u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442!"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 '..[\u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442]' \u0438\u043b\u0438 '.[\u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442]' \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c.  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 'self::node()[\u043f\u0440\u0435\u0434\u0438\u043a\u0430\u0442]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0438\u043c\u044f \u043e\u0441\u0438: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u0443\u0437\u043b\u0430: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "\u0412 \u0448\u0430\u0431\u043b\u043e\u043d\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b ({0}) \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d \u0432 \u043a\u0430\u0432\u044b\u0447\u043a\u0438!"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0447\u0438\u0441\u043b\u043e!"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c XML TransformerFactory Liaison: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "\u041e\u0448\u0438\u0431\u043a\u0430! \u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 xpath (-select)."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "\u041e\u0448\u0438\u0431\u043a\u0430! \u041f\u043e\u0441\u043b\u0435 OP_LOCATIONPATH \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 ENDOP"},
-
-  { ER_ERROR_OCCURED,
-     "\u041e\u0448\u0438\u0431\u043a\u0430!"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u043d \u0432\u043d\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0438\u043b\u0438 \u0431\u0435\u0437 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f!  \u0418\u043c\u044f = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "\u0412 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u0445 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0441\u0438 child:: \u0438 attribute::!  \u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u043e\u0441\u0438 = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "\u0412 key() \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "\u0423 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 count \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0434\u0438\u043d \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442!"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0430\u044f \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432 DTM \u0432 getNextSibling... \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430: \u0437\u0430\u043f\u0438\u0441\u044c \u0432 EmptyNodeList \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f XPathContext!"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "\u0410\u043d\u0430\u043b\u0438\u0437 \u0441 (InputSource \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a) \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 XPathContext! \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043a\u0440\u044b\u0442\u044c {0}"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX API characters(char ch[]... \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d DTM!"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d DTM!"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0443\u0437\u043b\u044b \u0442\u0438\u043f\u0430 {0}"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0443\u0437\u043b\u044b \u0442\u0438\u043f\u0430 {0}"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "\u041e\u0448\u0438\u0431\u043a\u0430 DOM2Helper.parse: SystemID - {0} \u0441\u0442\u0440\u043e\u043a\u0430 - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "\u041e\u0448\u0438\u0431\u043a\u0430 DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 UTF-16: {0} ?"},
-
-  { ER_OIERROR,
-     "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430"},
-
-  { ER_CANNOT_CREATE_URL,
-     "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c URL \u0434\u043b\u044f {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "\u0412 XPath.readObject: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "\u041c\u0430\u0440\u043a\u0435\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0442\u0438\u043f\u043e\u043c XPath \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "\u0414\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 NodeSet \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0432\u0443\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "\u0414\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 NodeSetDTM \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0432\u0443\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "\u041f\u0443\u0441\u0442\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043e\u0448\u0438\u0431\u043a\u0438"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "\u0417\u0430\u043f\u0438\u0441\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430: \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u043f\u0446\u0438\u0438: {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 \u0438\u043b\u0438 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f XRTreeFragSelectWrapper"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f XRTreeFragSelectWrapper"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 XRTreeFragSelectWrapper"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 XRTreeFragSelectWrapper"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 XRTreeFragSelectWrapper"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 XRTreeFragSelectWrapper"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f XStringForChars"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f {0} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 XStringForChars \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u043e\u0439"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 FastStringBuffer \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"},
-
-  { ER_TWO_OR_THREE,
-       "2 \u0438\u043b\u0438 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "\u041e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043e \u0435\u0435 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043d\u0438\u044f!"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 XStringForFSB \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u043e\u0439!"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! \u041e\u0448\u0438\u0431\u043a\u0430! \u041a\u043e\u0440\u043d\u0435\u0432\u043e\u043c\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0443 walker \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043e \u043f\u0443\u0441\u0442\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435!!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "\u0414\u0430\u043d\u043d\u044b\u0439 NodeSetDTM \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u0443\u0437\u043b\u043e\u043c!"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "\u0414\u0430\u043d\u043d\u044b\u0439 NodeSet \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u0443\u0437\u043b\u043e\u043c!"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "\u0414\u0430\u043d\u043d\u044b\u0439 NodeSetDTM \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430!"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "\u0414\u0430\u043d\u043d\u044b\u0439 NodeSet \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430!"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "\u041d\u0435\u043b\u044c\u0437\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c setShouldCacheNodes \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 nextNode!"},
-
-  { ER_ONLY_ALLOWS,
-       "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 {0} \u0440\u0430\u0432\u043d\u043e {1}"},
-
-  { ER_UNKNOWN_STEP,
-       "\u0417\u0430\u043f\u0438\u0441\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \u0432 getNextStepPos: \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 stepType: {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u043b \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0440\u043a\u0435\u0440 '/' \u0438\u043b\u0438 '//'."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u043f\u0443\u0442\u044c, \u043e\u0434\u043d\u0430\u043a\u043e \u0431\u044b\u043b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043c\u0430\u0440\u043a\u0435\u0440\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u043f\u0443\u0442\u044c \u043a \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044e, \u043d\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0431\u044b\u043b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u043a\u043e\u043d\u0435\u0446 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f XPath. "},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u0448\u0430\u0433 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u043b \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0440\u043a\u0435\u0440 '/' \u0438\u043b\u0438 '//'."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u0442\u0435\u0441\u0442 \u0443\u0437\u043b\u0430, \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0441 NCName:* \u0438\u043b\u0438 QName. "},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u0448\u0430\u0431\u043b\u043e\u043d \u0448\u0430\u0433\u0430, \u043e\u0434\u043d\u0430\u043a\u043e \u0431\u044b\u043b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d '/'."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "\u041e\u0436\u0438\u0434\u0430\u043b\u0441\u044f \u0448\u0430\u0431\u043b\u043e\u043d \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0443\u0442\u0438."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "\u0412 XPathResult \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f XPath ''{0}'' \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 XPathResultType \u0440\u0430\u0432\u043d\u043e {1}, \u0447\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u0443\u043b\u0435\u0432\u0441\u043a\u043e\u0435  \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. "},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "\u0412 XPathResult \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f XPath ''{0}'' \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 XPathResultType \u0440\u0430\u0432\u043d\u043e {1}, \u0447\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0443\u0437\u0435\u043b. \u041c\u0435\u0442\u043e\u0434 getSingleNodeValue \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0442\u0438\u043f\u0430\u043c ANY_UNORDERED_NODE_TYPE \u0438 FIRST_ORDERED_NODE_TYPE. "},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "\u041c\u0435\u0442\u043e\u0434 getSnapshotLength \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0434\u043b\u044f XPathResult \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f XPath ''{0}'', \u0442\u0430\u043a \u043a\u0430\u043a \u0435\u0433\u043e XPathResultType \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f {1}. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0442\u0438\u043f\u0430\u043c UNORDERED_NODE_SNAPSHOT_TYPE \u0438 ORDERED_NODE_SNAPSHOT_TYPE. "},
-
-  { ER_NON_ITERATOR_TYPE,
-       "\u041c\u0435\u0442\u043e\u0434 iterateNext \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0434\u043b\u044f XPathResult \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f XPath ''{0}'', \u0442\u0430\u043a \u043a\u0430\u043a \u0435\u0433\u043e XPathResultType \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f {1}. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0442\u0438\u043f\u0430\u043c UNORDERED_NODE_ITERATOR_TYPE \u0438 ORDERED_NODE_ITERATOR_TYPE. "},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "\u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d. \u0418\u0442\u0435\u0440\u0430\u0442\u043e\u0440 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0442\u0438\u043f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 XPath: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "\u041f\u0443\u0441\u0442\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 XPath"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "XPathResult \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f XPath ''{0}'' \u0438\u043c\u0435\u0435\u0442 XPathResultType {1}, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 XPathResultType {2}. "},
-
-  { ER_NULL_RESOLVER,
-       "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "\u0412 XPathResult \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f XPath ''{0}'' \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 XPathResultType \u0440\u0430\u0432\u043d\u043e {1}, \u0447\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. "},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "\u041c\u0435\u0442\u043e\u0434 snapshotItem \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0434\u043b\u044f XPathResult \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f XPath ''{0}'', \u0442\u0430\u043a \u043a\u0430\u043a \u0435\u0433\u043e XPathResultType \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f {1}. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0442\u0438\u043f\u0430\u043c UNORDERED_NODE_SNAPSHOT_TYPE \u0438 ORDERED_NODE_SNAPSHOT_TYPE. "},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "\u0423\u0437\u0435\u043b \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043d\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0443, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c XPathEvaluator."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "\u0422\u0438\u043f \u0443\u0437\u043b\u0430 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f."},
-
-  { ER_XPATH_ERROR,
-       "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "\u0412 XPathResult \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f XPath ''{0}'' \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 XPathResultType \u0440\u0430\u0432\u043d\u043e {1}, \u0447\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. "},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c ''{0}'', \u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 XMLConstants.FEATURE_SECURE_PROCESSING \u0437\u0430\u0434\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 true. "},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "resolveVariable \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 {0} \u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043f\u0443\u0441\u0442\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. "},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0442\u0438\u043f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430: {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438/\u0438\u043b\u0438 \u0442\u0438\u043f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 {0} \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c {0}#isObjectModelSupported( \u0441\u0442\u0440\u043e\u043a\u0430 objectModel ) \u043f\u0440\u0438 objectModel == null"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c {0}#isObjectModelSupported( \u0441\u0442\u0440\u043e\u043a\u0430 objectModel ) \u043f\u0440\u0438 objectModel == \"\""},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0437\u0430\u0434\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 \u043f\u0443\u0441\u0442\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0437\u0430\u0434\u0430\u0442\u044c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \"{0}\":{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0437\u0430\u0434\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 \u043f\u0443\u0441\u0442\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 XPathFunctionResolver:{0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 XPathVariableResolver:{0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 format-number \u0435\u0449\u0435 \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e!"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e XSL \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "\u041d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0439\u0442\u0435 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d {0} \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0435: {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "SecurityException \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c\u0443 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 XSL: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "\u0421\u0442\u0430\u0440\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441: quo(...) \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u0432 XPath."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "\u0414\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 nodeTest \u0432 XPath \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442!"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "\u041c\u0430\u0440\u043a\u0435\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c URL \u0438\u0437: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "\u041e\u043f\u0446\u0438\u044f -E \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c DTM"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u043d \u0432\u043d\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0438\u043b\u0438 \u0431\u0435\u0437 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f!  \u0418\u043c\u044f = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0430\u044f \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "en"},
-  { "help_language", "en"},
-  { "language", "en"},
-  { "BAD_CODE", "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 createMessage \u043b\u0435\u0436\u0438\u0442 \u0432\u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430"},
-  { "FORMAT_FAILED", "\u0418\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 messageFormat"},
-  { "version", ">>>>>>> \u0412\u0435\u0440\u0441\u0438\u044f Xalan "},
-  { "version2", "<<<<<<<"},
-  { "yes", "\u0434\u0430"},
-  { "line", "\u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 "},
-  { "column", "\u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 "},
-  { "xsldone", "XSLProcessor: \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e"},
-  { "xpath_option", "\u041e\u043f\u0446\u0438\u0438 xpath: "},
-  { "optionIN", "   [-in inputXMLURL]"},
-  { "optionSelect", "   [-select \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 xpath]"},
-  { "optionMatch", "   [-match \u0448\u0430\u0431\u043b\u043e\u043d \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f (\u0434\u043b\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438)]"},
-  { "optionAnyExpr", "\u0418\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 xpath \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u0430\u043c\u043f\u0430"},
-  { "noParsermsg1", "\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 XSL \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b \u043e\u0448\u0438\u0431\u043a\u0438."},
-  { "noParsermsg2", "** \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d **"},
-  { "noParsermsg3", "\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 classpath."},
-  { "noParsermsg4", "\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 XML Parser for Java \u0444\u0438\u0440\u043c\u044b IBM, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u0441\u0430\u0439\u0442\u0430"},
-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "\u041e\u0448\u0438\u0431\u043a\u0430";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "\u041e\u0448\u0438\u0431\u043a\u0430: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_sk.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_sk.java
deleted file mode 100644
index 2a27117..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_sk.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_sk.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_sk extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "Funkcia current () nie je povolen\u00e1 v porovn\u00e1vacom vzore!" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "Funkcia current () nepr\u00edma argumenty!" },
-
-  { ER_DOCUMENT_REPLACED,
-      "Implement\u00e1cia funkcie document() bola nahraden\u00e1 org.apache.xalan.xslt.FuncDocument!"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "kontext nem\u00e1 dokument vlastn\u00edka!"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() m\u00e1 prive\u013ea argumentov."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() m\u00e1 prive\u013ea argumentov."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() m\u00e1 prive\u013ea argumentov."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() m\u00e1 prive\u013ea argumentov."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() m\u00e1 prive\u013ea argumentov."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() m\u00e1 prive\u013ea argumentov"},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() m\u00e1 prive\u013ea argumentov"},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "Funkcia translate() pr\u00edma tri argumenty!"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "Funkcia unparsed-entity-uri by mala prija\u0165 jeden argument!"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "osi n\u00e1zvov\u00fdch priestorov e\u0161te nie s\u00fa implementovan\u00e9!"},
-
-  { ER_UNKNOWN_AXIS,
-     "nezn\u00e1ma os: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "nezn\u00e1ma porovn\u00e1vacia oper\u00e1cia!"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "Testovanie uzla arg length of processing-instruction() je nespr\u00e1vne!"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "Nie je mo\u017en\u00e9 konvertova\u0165 {0} na \u010d\u00edslo"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "Nie je mo\u017en\u00e9 konvertova\u0165 {0} na NodeList!"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "Nie je mo\u017en\u00e9 konvertova\u0165 {0} na NodeSetDTM!"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "Nie je mo\u017en\u00e1 konverzia {0} na typ#{1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "O\u010dak\u00e1van\u00fd porovn\u00e1vac\u00ed vzor v getMatchScore!"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "Nie je mo\u017en\u00e9 dosiahnu\u0165 premenn\u00fa s n\u00e1zvom {0}"},
-
-  { ER_UNKNOWN_OPCODE,
-     "CHYBA! Nezn\u00e1my k\u00f3d op: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Nadbyto\u010dn\u00e9 neplatn\u00e9 symboly: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "Nespr\u00e1vny liter\u00e1l... o\u010dak\u00e1van\u00e1 dvojit\u00e1 cit\u00e1cia!"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "Nespr\u00e1vny liter\u00e1l... o\u010dak\u00e1van\u00e1 jedin\u00e1 cit\u00e1cia!"},
-
-  { ER_EMPTY_EXPRESSION,
-     "Pr\u00e1zdny v\u00fdraz!"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "O\u010dak\u00e1vala sa {0}, ale bola n\u00e1jden\u00e1: {1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "Program\u00e1torsk\u00e9 vyjadrenie je nespr\u00e1vne! - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "argument boolean(...) u\u017e nie je volite\u013en\u00fd s konceptom 19990709 XPath."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "N\u00e1jdene ',' ale \u017eiaden predch\u00e1dzaj\u00faci argument!"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "N\u00e1jden\u00e9 ',' ale \u017eiaden nasleduj\u00faci argument!"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predicate]' alebo '.[predicate]' je nespr\u00e1vna syntax.  Pou\u017eite namiesto toho 'self::node()[predicate]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "Neplatn\u00fd n\u00e1zov osi: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "Nezn\u00e1my typ uzla: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "Vzorov\u00fd liter\u00e1l ({0}) potrebuje by\u0165 citovan\u00fd!"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} nem\u00f4\u017ee by\u0165 form\u00e1tovan\u00e9 na \u010d\u00edslo!"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "Nebolo mo\u017en\u00e9 vytvori\u0165 vz\u0165ah XML TransformerFactory: {0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Chyba! Nena\u0161lo sa vyjadrenie v\u00fdberu xpath (-select)."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "CHYBA! Nebolo mo\u017en\u00e9 n\u00e1js\u0165 ENDOP po OP_LOCATIONPATH"},
-
-  { ER_ERROR_OCCURED,
-     "Vyskytla sa chyba!"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference bol dan\u00fd pre premenn\u00fa mimo kontext, alebo bez defin\u00edcie!  N\u00e1zov = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "Len potomok:: atrib\u00fat:: osi s\u00fa povolen\u00e9 v zhodn\u00fdch vzoroch!  Chybn\u00e9 osi = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() m\u00e1 nespr\u00e1vny po\u010det argumentov."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "Funkcia count by mala prija\u0165 jeden argument!"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "Nebolo mo\u017en\u00e9 n\u00e1js\u0165 funkciu: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Nepodporovan\u00e9 k\u00f3dovanie: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "Vyskytol sa probl\u00e9m v DTM v getNextSibling... pokus o obnovu"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Chyba program\u00e1tora: EmptyNodeList nebolo mo\u017en\u00e9 zap\u00edsa\u0165."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory nie je podporovan\u00e9 XPathContext!"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "Predpona sa mus\u00ed rozl\u00ed\u0161i\u0165 do n\u00e1zvov\u00e9ho priestoru: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "anal\u00fdza (InputSource source) nie je podporovan\u00e1 XPathContext! Nie je mo\u017en\u00e9 otvori\u0165 {0}"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX API znaky(char ch[]... nie s\u00fa spracovan\u00e9 DTM!"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... nie s\u00fa spracovan\u00e9 DTM!"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison nem\u00f4\u017ee spracova\u0165 uzly typu {0}"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper nem\u00f4\u017ee spracova\u0165 uzly typu {0}"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "Chyba DOM2Helper.parse: SystemID - {0} riadok - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "chyba DOM2Helper.parse"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "Bolo zisten\u00e9 neplatn\u00e9 nahradenie UTF-16: {0} ?"},
-
-  { ER_OIERROR,
-     "chyba IO"},
-
-  { ER_CANNOT_CREATE_URL,
-     "Nie je mo\u017en\u00e9 vytvori\u0165 url pre: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "V XPath.readObject: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "nebol n\u00e1jden\u00fd symbol funkcie."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "Nie je mo\u017en\u00e9 pracova\u0165 s typom XPath: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Tento NodeSet je nest\u00e1ly"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Tento NodeSetDTM nie je nest\u00e1ly"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "Premenn\u00fa nie je mo\u017en\u00e9 rozl\u00ed\u0161i\u0165: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Nulov\u00fd chybov\u00fd manipula\u010dn\u00fd program"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Tvrdenie program\u00e1tora: nezn\u00e1my opcode: {0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0, alebo 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() nie je podporovan\u00fd XRTreeFragSelectWrapper"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() nie je podporovan\u00fd XRTreeFragSelectWrapper"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "XRTreeFragSelectWrapper nepodporuje detach()"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "XRTreeFragSelectWrapper nepodporuje num()"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "XRTreeFragSelectWrapper nepodporuje xstr()"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "XRTreeFragSelectWrapper nepodporuje str()"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() nie je podporovan\u00fd pre XStringForChars"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "Nebolo mo\u017en\u00e9 n\u00e1js\u0165 premenn\u00fa s n\u00e1zvom {0}"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars nem\u00f4\u017ee ako argument prija\u0165 re\u0165azec"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "Argument FastStringBuffer nem\u00f4\u017ee by\u0165 nulov\u00fd"},
-
-  { ER_TWO_OR_THREE,
-       "2, alebo 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "Premenn\u00e1 bola z\u00edskan\u00e1 sk\u00f4r, ne\u017e bola viazan\u00e1!"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB nem\u00f4\u017ee pova\u017eova\u0165 re\u0165azec za argument!"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! Chyba! Nastavenie root of a walker na null!!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Tento NodeSetDTM sa nem\u00f4\u017ee iterova\u0165 na predch\u00e1dzaj\u00faci uzol!"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Tento NodeSet sa nem\u00f4\u017ee iterova\u0165 na predch\u00e1dzaj\u00faci uzol!"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Tento NodeSetDTM nem\u00f4\u017ee vykon\u00e1va\u0165 funkcie indexovania alebo po\u010d\u00edtania!"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Tento NodeSet nem\u00f4\u017ee vykon\u00e1va\u0165 funkcie indexovania alebo po\u010d\u00edtania!"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "Nie je mo\u017en\u00e9 vola\u0165 setShouldCacheNodes po volan\u00ed nextNode!"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} povo\u013eulje iba {1} argumentov"},
-
-  { ER_UNKNOWN_STEP,
-       "Tvrdenie program\u00e1tora v getNextStepPos: nezn\u00e1my stepType: {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "Po symbole '/' alebo '//' sa o\u010dak\u00e1vala cesta relat\u00edvneho umiestnenia."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "O\u010dak\u00e1vala sa cesta umiestnenia, ale na\u0161iel sa tento symbol \u003a {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "Bola o\u010dak\u00e1van\u00e1 cesta umiestnenia, ale namiesto nej bol n\u00e1jden\u00fd koniec v\u00fdrazu XPath."},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "Po symbole '/' alebo '//' sa o\u010dak\u00e1val krok umiestnenia."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "O\u010dak\u00e1val sa test uzlov, ktor\u00fd sa zhoduje bu\u010f s NCName:* alebo s QName."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "O\u010dak\u00e1val sa vzor kroku, ale bol zaznamenan\u00fd '/'."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "O\u010dak\u00e1val sa vzor relat\u00edvnej cesty."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "XPathResult z XPath v\u00fdrazu ''{0}'' m\u00e1 XPathResultType {1}, ktor\u00fd sa ned\u00e1 skonvertova\u0165 do boolovsk\u00e9ho v\u00fdrazu."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "XPathResult z XPath v\u00fdrazu ''{0}'' m\u00e1 XPathResultType {1}, ktor\u00fd sa ned\u00e1 skonvertova\u0165 do jedn\u00e9ho uzla. Met\u00f3da getSingleNodeValue sa pou\u017e\u00edva iba pre typy ANY_UNORDERED_NODE_TYPE a FIRST_ORDERED_NODE_TYPE."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "Met\u00f3da getSnapshotLength sa nem\u00f4\u017ee vola\u0165 na XPathResult z XPath v\u00fdrazu ''{0}'', preto\u017ee jeho XPathResultType je {1}. T\u00e1to met\u00f3da sa pou\u017eije iba pre typy UNORDERED_NODE_SNAPSHOT_TYPE a ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "Met\u00f3da iterateNext sa nem\u00f4\u017ee vola\u0165 na XPathResult z XPath v\u00fdrazu ''{0}'', preto\u017ee jej XPathResultType je {1}. T\u00e1to met\u00f3da sa pou\u017eije iba pre typy UNORDERED_NODE_ITERATOR_TYPE a ORDERED_NODE_ITERATOR_TYPE."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "Dokument sa od vr\u00e1tenia v\u00fdsledku zmenil. Iter\u00e1tor je neplatn\u00fd."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "Neplatn\u00fd argument typu XPath: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "Pr\u00e1zdny objekt v\u00fdsledku XPath"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "XPathResult z XPath v\u00fdrazu ''{0}'' m\u00e1 XPathResultType {1}, ktor\u00fd sa ned\u00e1 stla\u010di\u0165 do \u0161pecifikovan\u00e9ho XPathResultType {2}."},
-
-  { ER_NULL_RESOLVER,
-       "Nie je mo\u017en\u00e9 rozl\u00ed\u0161i\u0165 predponu s rozli\u0161ova\u010dom nulovej predpony."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "XPathResult z XPath v\u00fdrazu ''{0}'' m\u00e1 XPathResultType {1}, ktor\u00fd sa ned\u00e1 skonvertova\u0165 na re\u0165azec."},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "Met\u00f3da snapshotItem sa nem\u00f4\u017ee vola\u0165 na XPathResult z XPath v\u00fdrazu ''{0}'', preto\u017ee jej XPathResultType je {1}. T\u00e1to met\u00f3da sa pou\u017eije iba pre typy UNORDERED_NODE_SNAPSHOT_TYPE a ORDERED_NODE_SNAPSHOT_TYPE."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "Uzol kontextu nepatr\u00ed k dokumentu, ktor\u00fd je viazan\u00fd na tento XPathEvaluator."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "Typ uzla kontextu nie je podporovan\u00fd."},
-
-  { ER_XPATH_ERROR,
-       "Nezn\u00e1ma chyba v XPath."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "XPathResult z XPath v\u00fdrazu ''{0}'' m\u00e1 XPathResultType {1}, ktor\u00fd sa ned\u00e1 skonvertova\u0165 na \u010d\u00edslo"},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "Funkcia roz\u0161\u00edrenia: ''{0}'' sa ned\u00e1 vyvola\u0165, ke\u010f je funkcia XMLConstants.FEATURE_SECURE_PROCESSING nastaven\u00e1 na hodnotu true."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "resolveVariable pre premenn\u00fa {0} vracia hodnotu null"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Nepodporovan\u00fd typ n\u00e1vratu : {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "Zdroj a/alebo typ n\u00e1vratu nem\u00f4\u017ee ma\u0165 hodnotu null"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "Argument {0} nem\u00f4\u017ee ma\u0165 hodnotu null"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "{0}#isObjectModelSupported( Re\u0165azec objectModel ) nem\u00f4\u017ee by\u0165 volan\u00fd s objectModel == null"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "{0}#isObjectModelSupported( Re\u0165azec objectModel ) nem\u00f4\u017ee by\u0165 volan\u00fd s objectModel == \"\""},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Prebieha pokus o nastavenie funkcie s n\u00e1zvom null: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Prebieha pokus o nastavenie nezn\u00e1mej funkcie \"{0}\":{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Prebieha pokus o z\u00edskanie funkcie s n\u00e1zvom null: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Prebieha pokus o z\u00edskanie nezn\u00e1mej funkcie \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Prebieha pokus o nastavenie hodnoty null pre XPathFunctionResolver:{0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Prebieha pokus o nastavenie hodnoty null pre XPathVariableResolver:{0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "n\u00e1zov umiestnenia vo funkcii format-number e\u0161te nebol spracovan\u00fd!"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "Vlastn\u00edctvo XSL nie je podporovan\u00e9: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "Nerobte moment\u00e1lne ni\u010d s n\u00e1zvov\u00fdm priestorom {0} vo vlastn\u00edctve: {1}"},
-
-  { WG_SECURITY_EXCEPTION,
-      "SecurityException po\u010das pokusu o pr\u00edstup do syst\u00e9mov\u00e9ho vlastn\u00edctva XSL: {0}"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "Star\u00e1 syntax: quo(...) u\u017e nie je v XPath definovan\u00e9."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath potrebuje odvoden\u00fd objekt na implement\u00e1ciu nodeTest!"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "nebol n\u00e1jden\u00fd symbol funkcie."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "Nebolo mo\u017en\u00e9 n\u00e1js\u0165 funkciu: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "Nie je mo\u017en\u00e9 vytvori\u0165 URL z: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "-E vo\u013eba nie je podporovan\u00e1 syntaktick\u00fdm analyz\u00e1torom DTM"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference bol dan\u00fd pre premenn\u00fa mimo kontext, alebo bez defin\u00edcie!  N\u00e1zov = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Nepodporovan\u00e9 k\u00f3dovanie: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "en"},
-  { "help_language", "en"},
-  { "language", "en"},
-  { "BAD_CODE", "Parameter na createMessage bol mimo ohrani\u010denia"},
-  { "FORMAT_FAILED", "V\u00fdnimka po\u010das volania messageFormat"},
-  { "version", ">>>>>>> Verzia Xalan "},
-  { "version2", "<<<<<<<"},
-  { "yes", "\u00e1no"},
-  { "line", "Riadok #"},
-  { "column", "St\u013apec #"},
-  { "xsldone", "XSLProcessor: vykonan\u00e9"},
-  { "xpath_option", "vo\u013eby xpath: "},
-  { "optionIN", "   [-in inputXMLURL]"},
-  { "optionSelect", "   [-select vyjadrenie xpath]"},
-  { "optionMatch", "   [-match porovn\u00e1vac\u00ed vzor (pre diagnostiku zhody)]"},
-  { "optionAnyExpr", "Alebo len vyjadrenie xpath vykon\u00e1 v\u00fdpis pam\u00e4te diagnostiky"},
-  { "noParsermsg1", "Proces XSL nebol \u00faspe\u0161n\u00fd."},
-  { "noParsermsg2", "** Nebolo mo\u017en\u00e9 n\u00e1js\u0165 syntaktick\u00fd analyz\u00e1tor **"},
-  { "noParsermsg3", "Skontroluje, pros\u00edm, svoju classpath."},
-  { "noParsermsg4", "Ak nem\u00e1te Syntaktick\u00fd analyz\u00e1tor XML pre jazyk Java od firmy IBM, m\u00f4\u017eete si ho stiahnu\u0165 z"},
-  { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#error";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Chyba: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Upozornenie: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("en", "US"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_sl.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_sl.java
deleted file mode 100755
index 5f418f0..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_sl.java
+++ /dev/null
@@ -1,992 +0,0 @@
-/*

- * Licensed to the Apache Software Foundation (ASF) under one

- * or more contributor license agreements. See the NOTICE file

- * distributed with this work for additional information

- * regarding copyright ownership. The ASF licenses this file

- * to you under the Apache License, Version 2.0 (the  "License");

- * you may not use this file except in compliance with the License.

- * You may obtain a copy of the License at

- *

- *     http://www.apache.org/licenses/LICENSE-2.0

- *

- * Unless required by applicable law or agreed to in writing, software

- * distributed under the License is distributed on an "AS IS" BASIS,

- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

- * See the License for the specific language governing permissions and

- * limitations under the License.

- */

-/*

- * $Id: XPATHErrorResources_sl.java,v 1.29 2005/02/09 21:44:08 zongaro Exp $

- */

-

-package org.apache.xpath.res;

-

-import java.util.ListResourceBundle;

-import java.util.Locale;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-/**

- * Set up error messages.

- * We build a two dimensional array of message keys and

- * message strings. In order to add a new message here,

- * you need to first add a Static string constant for the

- * Key and update the contents array with Key, Value pair

-  * Also you need to  update the count of messages(MAX_CODE)or

- * the count of warnings(MAX_WARNING) [ Information purpose only]

- * @xsl.usage advanced

- */

-public class XPATHErrorResources_sl extends ListResourceBundle

-{

-

-/*

- * General notes to translators:

- *

- * This file contains error and warning messages related to XPath Error

- * Handling.

- *

- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of

- *     components.

- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".

- *     XSLTC is an acronym for XSLT Compiler.

- *

- *  2) A stylesheet is a description of how to transform an input XML document

- *     into a resultant XML document (or HTML document or text).  The

- *     stylesheet itself is described in the form of an XML document.

- *

- *  3) A template is a component of a stylesheet that is used to match a

- *     particular portion of an input document and specifies the form of the

- *     corresponding portion of the output document.

- *

- *  4) An element is a mark-up tag in an XML document; an attribute is a

- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>

- *     "elem" is an element name, "attr" and "attr2" are attribute names with

- *     the values "val" and "val2", respectively.

- *

- *  5) A namespace declaration is a special attribute that is used to associate

- *     a prefix with a URI (the namespace).  The meanings of element names and

- *     attribute names that use that prefix are defined with respect to that

- *     namespace.

- *

- *  6) "Translet" is an invented term that describes the class file that

- *     results from compiling an XML stylesheet into a Java class.

- *

- *  7) XPath is a specification that describes a notation for identifying

- *     nodes in a tree-structured representation of an XML document.  An

- *     instance of that notation is referred to as an XPath expression.

- *

- *  8) The context node is the node in the document with respect to which an

- *     XPath expression is being evaluated.

- *

- *  9) An iterator is an object that traverses nodes in the tree, one at a time.

- *

- *  10) NCName is an XML term used to describe a name that does not contain a

- *     colon (a "no-colon name").

- *

- *  11) QName is an XML term meaning "qualified name".

- */

-

-  /*

-   * static variables

-   */

-  public static final String ERROR0000 = "ERROR0000";

-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =

-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";

-  public static final String ER_CURRENT_TAKES_NO_ARGS =

-         "ER_CURRENT_TAKES_NO_ARGS";

-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";

-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =

-         "ER_CONTEXT_HAS_NO_OWNERDOC";

-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =

-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";

-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =

-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";

-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =

-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";

-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =

-         "ER_NUMBER_HAS_TOO_MANY_ARGS";

-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =

-         "ER_NAME_HAS_TOO_MANY_ARGS";

-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =

-         "ER_STRING_HAS_TOO_MANY_ARGS";

-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =

-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";

-  public static final String ER_TRANSLATE_TAKES_3_ARGS =

-         "ER_TRANSLATE_TAKES_3_ARGS";

-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =

-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";

-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =

-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";

-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";

-  public static final String ER_UNKNOWN_MATCH_OPERATION =

-         "ER_UNKNOWN_MATCH_OPERATION";

-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";

-  public static final String ER_CANT_CONVERT_TO_NUMBER =

-         "ER_CANT_CONVERT_TO_NUMBER";

-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =

-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";

-  public static final String ER_CANT_CONVERT_TO_NODELIST =

-         "ER_CANT_CONVERT_TO_NODELIST";

-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =

-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";

-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";

-  public static final String ER_EXPECTED_MATCH_PATTERN =

-         "ER_EXPECTED_MATCH_PATTERN";

-  public static final String ER_COULDNOT_GET_VAR_NAMED =

-         "ER_COULDNOT_GET_VAR_NAMED";

-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";

-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";

-  public static final String ER_EXPECTED_DOUBLE_QUOTE =

-         "ER_EXPECTED_DOUBLE_QUOTE";

-  public static final String ER_EXPECTED_SINGLE_QUOTE =

-         "ER_EXPECTED_SINGLE_QUOTE";

-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";

-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";

-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =

-         "ER_INCORRECT_PROGRAMMER_ASSERTION";

-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =

-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";

-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =

-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";

-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =

-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";

-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =

-         "ER_PREDICATE_ILLEGAL_SYNTAX";

-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";

-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";

-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =

-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";

-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =

-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";

-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =

-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";

-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =

-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";

-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =

-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";

-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";

-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =

-         "ER_ILLEGAL_VARIABLE_REFERENCE";

-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";

-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =

-         "ER_KEY_HAS_TOO_MANY_ARGS";

-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";

-  public static final String ER_COULDNOT_FIND_FUNCTION =

-         "ER_COULDNOT_FIND_FUNCTION";

-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";

-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =

-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";

-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =

-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";

-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =

-         "ER_SETDOMFACTORY_NOT_SUPPORTED";

-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";

-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";

-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";

-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =

-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";

-  public static final String ER_DTM_CANNOT_HANDLE_NODES =

-         "ER_DTM_CANNOT_HANDLE_NODES";

-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =

-         "ER_XERCES_CANNOT_HANDLE_NODES";

-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =

-         "ER_XERCES_PARSE_ERROR_DETAILS";

-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";

-  public static final String ER_INVALID_UTF16_SURROGATE =

-         "ER_INVALID_UTF16_SURROGATE";

-  public static final String ER_OIERROR = "ER_OIERROR";

-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";

-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";

- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =

-         "ER_FUNCTION_TOKEN_NOT_FOUND";

-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =

-         "ER_CANNOT_DEAL_XPATH_TYPE";

-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";

-  public static final String ER_NODESETDTM_NOT_MUTABLE =

-         "ER_NODESETDTM_NOT_MUTABLE";

-   /**  Variable not resolvable:   */

-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";

-   /** Null error handler  */

- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";

-   /**  Programmer's assertion: unknown opcode  */

-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =

-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";

-   /**  0 or 1   */

-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";

-   /**  rtf() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-   /**  fsb() not supported for XStringForChars   */

-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =

-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";

-   /**  Could not find variable with the name of   */

- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";

-   /**  XStringForChars can not take a string for an argument   */

- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =

-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";

-   /**  The FastStringBuffer argument can not be null   */

- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =

-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";

-   /**  2 or 3   */

-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";

-   /** Variable accessed before it is bound! */

-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =

-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";

-   /** XStringForFSB can not take a string for an argument! */

- public static final String ER_FSB_CANNOT_TAKE_STRING =

-         "ER_FSB_CANNOT_TAKE_STRING";

-   /** Error! Setting the root of a walker to null! */

-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =

-         "ER_SETTING_WALKER_ROOT_TO_NULL";

-   /** This NodeSetDTM can not iterate to a previous node! */

-  public static final String ER_NODESETDTM_CANNOT_ITERATE =

-         "ER_NODESETDTM_CANNOT_ITERATE";

-  /** This NodeSet can not iterate to a previous node! */

- public static final String ER_NODESET_CANNOT_ITERATE =

-         "ER_NODESET_CANNOT_ITERATE";

-  /** This NodeSetDTM can not do indexing or counting functions! */

-  public static final String ER_NODESETDTM_CANNOT_INDEX =

-         "ER_NODESETDTM_CANNOT_INDEX";

-  /** This NodeSet can not do indexing or counting functions! */

-  public static final String ER_NODESET_CANNOT_INDEX =

-         "ER_NODESET_CANNOT_INDEX";

-  /** Can not call setShouldCacheNodes after nextNode has been called! */

-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =

-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";

-  /** {0} only allows {1} arguments */

- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";

-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */

-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";

-  /** Problem with RelativeLocationPath */

-  public static final String ER_EXPECTED_REL_LOC_PATH =

-         "ER_EXPECTED_REL_LOC_PATH";

-  /** Problem with LocationPath */

-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";

-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =

-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";

-  /** Problem with Step */

-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";

-  /** Problem with NodeTest */

-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";

-  /** Expected step pattern */

-  public static final String ER_EXPECTED_STEP_PATTERN =

-        "ER_EXPECTED_STEP_PATTERN";

-  /** Expected relative path pattern */

-  public static final String ER_EXPECTED_REL_PATH_PATTERN =

-         "ER_EXPECTED_REL_PATH_PATTERN";

-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */

-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =

-         "ER_CANT_CONVERT_TO_BOOLEAN";

-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */

-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =

-         "ER_CANT_CONVERT_TO_SINGLENODE";

-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */

-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =

-         "ER_CANT_GET_SNAPSHOT_LENGTH";

-  /** Field ER_NON_ITERATOR_TYPE                */

-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";

-  /** Field ER_DOC_MUTATED                      */

-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";

-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";

-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";

-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";

-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";

-  public static final String ER_CANT_CONVERT_TO_STRING =

-         "ER_CANT_CONVERT_TO_STRING";

-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";

-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";

-  /* Note to translators:  The XPath expression cannot be evaluated with respect

-   * to this type of node.

-   */

-  /** Field ER_WRONG_NODETYPE                    */

-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";

-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";

-

-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation

-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";

-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";

-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";

-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";

-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";

-

-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";

-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";

-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";

-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";

-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";

-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";

-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";

-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";

-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation

-

-  public static final String WG_LOCALE_NAME_NOT_HANDLED =

-         "WG_LOCALE_NAME_NOT_HANDLED";

-  public static final String WG_PROPERTY_NOT_SUPPORTED =

-         "WG_PROPERTY_NOT_SUPPORTED";

-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =

-         "WG_DONT_DO_ANYTHING_WITH_NS";

-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";

-  public static final String WG_QUO_NO_LONGER_DEFINED =

-         "WG_QUO_NO_LONGER_DEFINED";

-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =

-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";

-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =

-         "WG_FUNCTION_TOKEN_NOT_FOUND";

-  public static final String WG_COULDNOT_FIND_FUNCTION =

-         "WG_COULDNOT_FIND_FUNCTION";

-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";

-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =

-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";

-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =

-         "WG_ILLEGAL_VARIABLE_REFERENCE";

-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";

-

-  /**  detach() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-  /**  num() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-  /**  xstr() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-  /**  str() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-

-  // Error messages...

-

-

-  /**

-   * Get the association list.

-   *

-   * @return The association list.

-   */

-  public Object[][] getContents()

-  {

-    return new Object[][]{

-

-  { "ERROR0000" , "{0}" },

-

-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "Funkcija current() v primerjalnem vzorcu ni dovoljena!" },

-

-  { ER_CURRENT_TAKES_NO_ARGS, "Funkcija current() ne sprejema argumentov!" },

-

-  { ER_DOCUMENT_REPLACED,

-      "Implementacija funkcije document() je bila nadome\u0161\u010dena z org.apache.xalan.xslt.FuncDocument!"},

-

-  { ER_CONTEXT_HAS_NO_OWNERDOC,

-      "Kontekst ne vsebuje lastni\u0161kega dokumenta!"},

-

-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,

-      "local-name() ima preve\u010d argumentov."},

-

-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,

-      "namespace-uri() ima preve\u010d argumentov."},

-

-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,

-      "normalize-space() ima preve\u010d argumentov."},

-

-  { ER_NUMBER_HAS_TOO_MANY_ARGS,

-      "number() ima preve\u010d argumentov."},

-

-  { ER_NAME_HAS_TOO_MANY_ARGS,

-     "name() ima preve\u010d argumentov."},

-

-  { ER_STRING_HAS_TOO_MANY_ARGS,

-      "string() ima preve\u010d argumentov."},

-

-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,

-      "string-length() ima preve\u010d argumentov."},

-

-  { ER_TRANSLATE_TAKES_3_ARGS,

-      "Funkcija translate() sprejme tri argumente!"},

-

-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,

-      "Funkcija unparsed-entity-uri bi morala vsebovati en argument!"},

-

-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,

-      "Os imenskega prostora \u0161e ni implementirana!"},

-

-  { ER_UNKNOWN_AXIS,

-     "neznana os: {0}"},

-

-  { ER_UNKNOWN_MATCH_OPERATION,

-     "neznana operacija ujemanja!"},

-

-  { ER_INCORRECT_ARG_LENGTH,

-      "Dol\u017eina argumenta pri preskusu vozli\u0161\u010da s processing-instruction() ni pravilna!"},

-

-  { ER_CANT_CONVERT_TO_NUMBER,

-      "{0} ni mogo\u010de pretvoriti v \u0161tevilko"},

-

-  { ER_CANT_CONVERT_TO_NODELIST,

-      "{0} ni mogo\u010de pretvoriti v seznam vozli\u0161\u010d (NodeList)"},

-

-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,

-      "{0} ni mogo\u010de pretvoriti v NodeSetDTM"},

-

-  { ER_CANT_CONVERT_TO_TYPE,

-      "{0} ni mogo\u010de pretvoriti v type#{1}"},

-

-  { ER_EXPECTED_MATCH_PATTERN,

-      "Pri\u010dakovan primerjalni vzorec v getMatchScore!"},

-

-  { ER_COULDNOT_GET_VAR_NAMED,

-      "Nisem na\u0161el predloge z imenom {0}"},

-

-  { ER_UNKNOWN_OPCODE,

-     "NAPAKA! Neznana op. koda: {0}"},

-

-  { ER_EXTRA_ILLEGAL_TOKENS,

-     "Dodatni neveljavni \u017eetoni: {0}"},

-

-

-  { ER_EXPECTED_DOUBLE_QUOTE,

-      "Napa\u010dno postavljena dobesedna navedba... pri\u010dakovani dvojni narekovaji!"},

-

-  { ER_EXPECTED_SINGLE_QUOTE,

-      "Napa\u010dno postavljena dobesedna navedba... pri\u010dakovani enojni narekovaji!"},

-

-  { ER_EMPTY_EXPRESSION,

-     "Prazen izraz!"},

-

-  { ER_EXPECTED_BUT_FOUND,

-     "Pri\u010dakovano {0}, najdeno: {1}"},

-

-  { ER_INCORRECT_PROGRAMMER_ASSERTION,

-      "Programerjeva predpostavka ni pravilna! - {0}"},

-

-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,

-      "Argument logi\u010dne vrednosti(...) ni ve\u010d izbiren z osnutkom 19990709 XPath."},

-

-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,

-      "Najdeno ',' vendar ni predhodnih argumentov!"},

-

-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,

-      "Najdeno ',' vendar ni slede\u010dih argumentov!"},

-

-  { ER_PREDICATE_ILLEGAL_SYNTAX,

-      "'..[predicate]' ali '.[predicate]' je neveljavna sintaksa.  Namesto tega uporabite 'self::node()[predicate]'."},

-

-  { ER_ILLEGAL_AXIS_NAME,

-     "Neveljavno ime osi: {0}"},

-

-  { ER_UNKNOWN_NODETYPE,

-     "Neveljavni tip vozli\u0161\u010da: {0}"},

-

-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,

-      "Navedek vzorca ({0}) mora biti v navednicah!"},

-

-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,

-      "{0} ni mogo\u010de oblikovati v \u0161tevilko!"},

-

-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,

-      "Ne morem ustvariti zveze XML TransformerFactory: {0}"},

-

-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,

-      "Napaka! Ne najdem izbirnega izraza xpath (-select)."},

-

-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,

-      "NAPAKA! Ne najdem ENDOP po OP_LOCATIONPATH"},

-

-  { ER_ERROR_OCCURED,

-     "Pri\u0161lo je do napake!"},

-

-  { ER_ILLEGAL_VARIABLE_REFERENCE,

-      "Dani VariableReference je izven konteksta ali brez definicije!  Ime = {0}"},

-

-  { ER_AXES_NOT_ALLOWED,

-      "V primerjalnih vzorcih so dovoljene samo osi podrejenega:: in atributa::!  Sporne osi = {0}"},

-

-  { ER_KEY_HAS_TOO_MANY_ARGS,

-      "key()ima nepravilno \u0161tevilo argumentov."},

-

-  { ER_COUNT_TAKES_1_ARG,

-      "\u0160tevna funkcija zahteva en argument!"},

-

-  { ER_COULDNOT_FIND_FUNCTION,

-     "Ne najdem funkcije: {0}"},

-

-  { ER_UNSUPPORTED_ENCODING,

-     "Nepodprto kodiranje: {0}"},

-

-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,

-      "Pri\u0161lo je do te\u017eave v DTM pri getNextSibling... poskus obnovitve"},

-

-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,

-      "Programerska napaka: pisanje v EmptyNodeList ni mogo\u010de."},

-

-  { ER_SETDOMFACTORY_NOT_SUPPORTED,

-      "setDOMFactory v XPathContext ni podprt!"},

-

-  { ER_PREFIX_MUST_RESOLVE,

-      "Predpona se mora razre\u0161iti v imenski prostor: {0}"},

-

-  { ER_PARSE_NOT_SUPPORTED,

-      "Raz\u010dlenitev (vir InputSource) v XPathContext ni podprta! Ne morem odpreti {0}"},

-

-  { ER_SAX_API_NOT_HANDLED,

-      "Znaki SAX API(znaka ch[]... ne obravnava DTM!"},

-

-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,

-      "ignorableWhitespace(znaka ch[]... ne obravnava DTM!"},

-

-  { ER_DTM_CANNOT_HANDLE_NODES,

-      "DTMLiaison ne more upravljati z vozli\u0161\u010di tipa {0}"},

-

-  { ER_XERCES_CANNOT_HANDLE_NODES,

-      "DOM2Helper ne more upravljati z vozli\u0161\u010di tipa {0}"},

-

-  { ER_XERCES_PARSE_ERROR_DETAILS,

-      "Napaka DOM2Helper.parse: ID sistema - {0} vrstica - {1}"},

-

-  { ER_XERCES_PARSE_ERROR,

-     "Napaka DOM2Helper.parse"},

-

-  { ER_INVALID_UTF16_SURROGATE,

-      "Zaznan neveljaven nadomestek UTF-16: {0} ?"},

-

-  { ER_OIERROR,

-     "Napaka V/I"},

-

-  { ER_CANNOT_CREATE_URL,

-     "Ne morem ustvariti naslova URL za: {0}"},

-

-  { ER_XPATH_READOBJECT,

-     "V XPath.readObject: {0}"},

-

-  { ER_FUNCTION_TOKEN_NOT_FOUND,

-      "ne najdem \u017eetona funkcije."},

-

-  { ER_CANNOT_DEAL_XPATH_TYPE,

-       "Ne morem ravnati z tipom XPath: {0}"},

-

-  { ER_NODESET_NOT_MUTABLE,

-       "Ta NodeSet ni spremenljiv"},

-

-  { ER_NODESETDTM_NOT_MUTABLE,

-       "Ta NodeSetDTM ni spremenljiv"},

-

-  { ER_VAR_NOT_RESOLVABLE,

-        "Spremenljivka ni razre\u0161ljiva: {0}"},

-

-  { ER_NULL_ERROR_HANDLER,

-        "Program za obravnavo napak NULL"},

-

-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,

-       "Programerjeva izjava: neznana opkoda: {0}"},

-

-  { ER_ZERO_OR_ONE,

-       "0 ali 1"},

-

-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-       "XRTreeFragSelectWrapper ne podpira rtf()"},

-

-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-       "XRTreeFragSelectWrapper ne podpira asNodeIterator()"},

-

-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-                "XRTreeFragSelectWrapper ne podpira detach()"},

-

-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-                "XRTreeFragSelectWrapper ne podpira num()"},

-

-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-                "XRTreeFragSelectWrapper ne podpira xstr()"},

-

-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-                "XRTreeFragSelectWrapper ne podpira str()"},

-

-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,

-       "fsb() ni podprt za XStringForChars"},

-

-  { ER_COULD_NOT_FIND_VAR,

-      "Spremenljivke z imenom {0} ni mogo\u010de najti"},

-

-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,

-      "XStringForChars ne more uporabiti niza za argument"},

-

-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,

-      "Argument FastStringBuffer ne more biti NULL"},

-

-  { ER_TWO_OR_THREE,

-       "2 ali 3"},

-

-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,

-       "Spremenljivka uporabljena \u0161e pred njeno vezavo!"},

-

-  { ER_FSB_CANNOT_TAKE_STRING,

-       "XStringForFSB ne more uporabiti niza za argument!"},

-

-  { ER_SETTING_WALKER_ROOT_TO_NULL,

-       "\n !!!! Napaka! Koren sprehajalca nastavljam na NULL!!!"},

-

-  { ER_NODESETDTM_CANNOT_ITERATE,

-       "Tega NodeSetDTM ni mogo\u010de ponavljati do prej\u0161njega vozli\u0161\u010da!"},

-

-  { ER_NODESET_CANNOT_ITERATE,

-       "Tega NodeSet ni mogo\u010de ponavljati do prej\u0161njega vozli\u0161\u010da!"},

-

-  { ER_NODESETDTM_CANNOT_INDEX,

-       "Ta NodeSetDTM ne more opravljati funkcij priprave kazala ali \u0161tetja!"},

-

-  { ER_NODESET_CANNOT_INDEX,

-       "Ta NodeSet ne more opravljati funkcij priprave kazala ali \u0161tetja!"},

-

-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,

-       "Za klicem nextNode klic setShouldCacheNodes ni mogo\u010d!"},

-

-  { ER_ONLY_ALLOWS,

-       "{0} dovoljuje samo argumente {1}"},

-

-  { ER_UNKNOWN_STEP,

-       "Programerjeva izjava v getNextStepPos: neznan stepType: {0}"},

-

-  //Note to translators:  A relative location path is a form of XPath expression.

-  // The message indicates that such an expression was expected following the

-  // characters '/' or '//', but was not found.

-  { ER_EXPECTED_REL_LOC_PATH,

-      "Za \u017eetonom '/' ali '//' je pri\u010dakovana relativna pot do mesta."},

-

-  // Note to translators:  A location path is a form of XPath expression.

-  // The message indicates that syntactically such an expression was expected,but

-  // the characters specified by the substitution text were encountered instead.

-  { ER_EXPECTED_LOC_PATH,

-       "Pri\u010dakovana pot do lokacije, na\u0161jden pa je naslednji \u017eeton\u003a  {0}"},

-

-  // Note to translators:  A location path is a form of XPath expression.

-  // The message indicates that syntactically such a subexpression was expected,

-  // but no more characters were found in the expression.

-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,

-       "Namesto pri\u010dakovane poti do lokacije je najden konec izraza XPath."},

-

-  // Note to translators:  A location step is part of an XPath expression.

-  // The message indicates that syntactically such an expression was expected

-  // following the specified characters.

-  { ER_EXPECTED_LOC_STEP,

-       "Za \u017eetonom '/' ali '//' je pri\u010dakovan korak mesta."},

-

-  // Note to translators:  A node test is part of an XPath expression that is

-  // used to test for particular kinds of nodes.  In this case, a node test that

-  // consists of an NCName followed by a colon and an asterisk or that consists

-  // of a QName was expected, but was not found.

-  { ER_EXPECTED_NODE_TEST,

-       "Pri\u010dakovan preskus vozli\u0161\u010da, ki ustreza NCImenu:* ali QImenu."},

-

-  // Note to translators:  A step pattern is part of an XPath expression.

-  // The message indicates that syntactically such an expression was expected,

-  // but the specified character was found in the expression instead.

-  { ER_EXPECTED_STEP_PATTERN,

-       "Pri\u010dakovan stopnjevalni vzorec, najden pa je '/'."},

-

-  // Note to translators: A relative path pattern is part of an XPath expression.

-  // The message indicates that syntactically such an expression was expected,

-  // but was not found.

-  { ER_EXPECTED_REL_PATH_PATTERN,

-       "Pri\u010dakovan vzorec z relativno potjo."},

-

-  // Note to translators:  The substitution text is the name of a data type.  The

-  // message indicates that a value of a particular type could not be converted

-  // to a value of type boolean.

-  { ER_CANT_CONVERT_TO_BOOLEAN,

-       "XPathResult izraza XPath ''{0}'' ima XPathResultType {1}, ki ga ni mogoe\u010de pretvoriti v boolovo vrednost."},

-

-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and

-  // FIRST_ORDERED_NODE_TYPE.

-  { ER_CANT_CONVERT_TO_SINGLENODE,

-       "XPathResult izraza XPath ''{0}'' ima XPathResultType {1}, ki ga ni mogo\u010de pretvoriti v eno vozli\u0161\u010de. Metoda getSingleNodeValue velja samo za tipa ANY_UNORDERED_NODE_TYPE in FIRST_ORDERED_NODE_TYPE."},

-

-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and

-  // ORDERED_NODE_SNAPSHOT_TYPE.

-  { ER_CANT_GET_SNAPSHOT_LENGTH,

-       "Metoda getSnapshotLength ne more biti priklicana za XPathResult izraza XPath ''{0}'', ker je tip XPathResultType {1}. Ta metoda se nana\u0161a samo na tipa UNORDERED_NODE_SNAPSHOT_TYPE in ORDERED_NODE_SNAPSHOT_TYPE."},

-

-  { ER_NON_ITERATOR_TYPE,

-       "Metoda iterateNext ne more biti priklicana za XPathResult izraza XPath ''{0}'', ker je tip XPathResultType {1}. Ta metoda se nana\u0161a samo na tipa UNORDERED_NODE_ITERATOR_TYPE in ORDERED_NODE_ITERATOR_TYPE."},

-

-  // Note to translators: This message indicates that the document being operated

-  // upon changed, so the iterator object that was being used to traverse the

-  // document has now become invalid.

-  { ER_DOC_MUTATED,

-       "Dokument se je spremenil po vrnitvi rezultatov. Iterator je neveljaven."},

-

-  { ER_INVALID_XPATH_TYPE,

-       "Neveljaven argument tipa XPath: {0}"},

-

-  { ER_EMPTY_XPATH_RESULT,

-       "Prazen objekt rezultatov XPath"},

-

-  { ER_INCOMPATIBLE_TYPES,

-       "Rezultat XPathResult izraza XPath ''{0}'' ima XPathResultType {1}, ki ga ni mogo\u010de prisiliti v dolo\u010den tip XPathResultType {2}."},

-

-  { ER_NULL_RESOLVER,

-       "Predpone ni bilo mogo\u010de razre\u0161iti z razre\u0161evalnikom predpon NULL."},

-

-  // Note to translators:  The substitution text is the name of a data type.  The

-  // message indicates that a value of a particular type could not be converted

-  // to a value of type string.

-  { ER_CANT_CONVERT_TO_STRING,

-       "Rezultat XPathResult izraza XPath''{0}'' ima XPathResultType {1}, ki ga ni mogo\u010de pretvoriti v niz."},

-

-  // Note to translators: Do not translate snapshotItem,

-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.

-  { ER_NON_SNAPSHOT_TYPE,

-       "Metoda snapshotItem ne more biti priklicana za XPathResult izraza XPath ''{0}'', ker je tip XPathResultType {1}. Ta metoda se nana\u0161a samo na tipa UNORDERED_NODE_SNAPSHOT_TYPE in ORDERED_NODE_SNAPSHOT_TYPE."},

-

-  // Note to translators:  XPathEvaluator is a Java interface name.  An

-  // XPathEvaluator is created with respect to a particular XML document, and in

-  // this case the expression represented by this object was being evaluated with

-  // respect to a context node from a different document.

-  { ER_WRONG_DOCUMENT,

-       "Kontekstno vozli\u0161\u010de ne pripada dokumentu, povezanem s tem XPathEvaluator."},

-

-  // Note to translators:  The XPath expression cannot be evaluated with respect

-  // to this type of node.

-  { ER_WRONG_NODETYPE,

-       "Tip kontekstnega vozli\u0161\u010da ni podprt."},

-

-  { ER_XPATH_ERROR,

-       "Neznana napaka v XPath."},

-

-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,

-                "XPathResult izraza XPath ''{0}'' ima XPathResultType {1}, ki ga ni mogo\u010de pretvoriti v \u0161tevilko."},

-

-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation

-

-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */

-

-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,

-       "Raz\u0161iritvene funkcije: ''{0}'' ni mogo\u010de priklicati, kadar je zna\u010dilnost XMLConstants.FEATURE_SECURE_PROCESSING nastavljena na True."},

-

-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */

-

-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,

-       "Funkcija resolveVariable za spremenljivko {0} vra\u010da rezultat ni\u010d"},

-

-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */

-

-  { ER_UNSUPPORTED_RETURN_TYPE,

-       "Nepodprt tip vrnitve : {0}"},

-

-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */

-

-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,

-       "Vir in/ali Tip vrnitve ne moreta biti ni\u010d"},

-

-  /** Field ER_ARG_CANNOT_BE_NULL                       */

-

-  { ER_ARG_CANNOT_BE_NULL,

-       "Argument {0} ne more biti ni\u010d"},

-

-  /** Field ER_OBJECT_MODEL_NULL                       */

-

-  { ER_OBJECT_MODEL_NULL,

-       "Funkcije {0}#isObjectModelSupported( String objectModel ) ni mogo\u010de priklicati, kadar je objectModel == null"},

-

-  /** Field ER_OBJECT_MODEL_EMPTY                       */

-

-  { ER_OBJECT_MODEL_EMPTY,

-       "Funkcije {0}#isObjectModelSupported( String objectModel ) ni mogo\u010de priklicati, kadar je objectModel == \"\""},

-

-  /** Field ER_OBJECT_MODEL_EMPTY                       */

-

-  { ER_FEATURE_NAME_NULL,

-       "Poskus nastavitve funkcije brez imena (null name): {0}#setFeature( null, {1})"},

-

-  /** Field ER_FEATURE_UNKNOWN                       */

-

-  { ER_FEATURE_UNKNOWN,

-       "Poskus nastavitve neznane funkcije \"{0}\":{1}#setFeature({0},{2})"},

-

-  /** Field ER_GETTING_NULL_FEATURE                       */

-

-  { ER_GETTING_NULL_FEATURE,

-       "Poskus pridobitve funkcije brez imena (null name): {0}#getFeature(null)"},

-

-  /** Field ER_GETTING_NULL_FEATURE                       */

-

-  { ER_GETTING_UNKNOWN_FEATURE,

-       "Poskus pridobitve neznane funkcije \"{0}\":{1}#getFeature({0})"},

-

-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */

-

-  { ER_NULL_XPATH_FUNCTION_RESOLVER,

-       "Poskus nastavitve XPathFunctionResolver na ni\u010d:{0}#setXPathFunctionResolver(null)"},

-

-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */

-

-  { ER_NULL_XPATH_VARIABLE_RESOLVER,

-       "Poskus nastavitve funkcije XPathVariableResolver na ni\u010d:{0}#setXPathVariableResolver(null)"},

-

-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation

-

-  // Warnings...

-

-  { WG_LOCALE_NAME_NOT_HANDLED,

-      "Podro\u010dno ime v funkciji za oblikovanje \u0161tevilk \u0161e ni podprto!"},

-

-  { WG_PROPERTY_NOT_SUPPORTED,

-      "Lastnost XSL ni podprta: {0}"},

-

-  { WG_DONT_DO_ANYTHING_WITH_NS,

-      "V tem trenutku ne po\u010dnite ni\u010desar z imenskim prostorom {0} v lastnosti: {1}"},

-

-  { WG_SECURITY_EXCEPTION,

-      "Pri\u0161lo je do SecurityException (varnostna izjema) pri poskusu dostopa do sistemske lastnosti XSL: {0}"},

-

-  { WG_QUO_NO_LONGER_DEFINED,

-      "Stara sintaksa: quo(...) v XPath ni ve\u010d definiran."},

-

-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,

-      "XPath potrebuje izpeljani objekt za implementacijo nodeTest!"},

-

-  { WG_FUNCTION_TOKEN_NOT_FOUND,

-      "ne najdem \u017eetona funkcije."},

-

-  { WG_COULDNOT_FIND_FUNCTION,

-      "Ne najdem funkcije: {0}"},

-

-  { WG_CANNOT_MAKE_URL_FROM,

-      "Ne morem narediti naslova URL iz: {0}"},

-

-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,

-      "Mo\u017enost -E za raz\u010dlenjevalnik DTM ni podprta."},

-

-  { WG_ILLEGAL_VARIABLE_REFERENCE,

-      "Dani VariableReference je izven konteksta ali brez definicije!  Ime = {0}"},

-

-  { WG_UNSUPPORTED_ENCODING,

-     "Nepodprto kodiranje: {0}"},

-

-

-

-  // Other miscellaneous text used inside the code...

-  { "ui_language", "sl"},

-  { "help_language", "sl"},

-  { "language", "sl"},

-  { "BAD_CODE", "Parameter za createMessage presega meje"},

-  { "FORMAT_FAILED", "Med klicem je messageFormat naletel na izjemo"},

-  { "version", ">>>>>>> Razli\u010dica Xalan "},

-  { "version2", "<<<<<<<"},

-  { "yes", "da"},

-  { "line", "Vrstica #"},

-  { "column", "Stolpec #"},

-  { "xsldone", "XSLProcessor: dokon\u010dano"},

-  { "xpath_option", "Mo\u017enosti xpath: "},

-  { "optionIN", "   [-in inputXMLURL]"},

-  { "optionSelect", "   [-select izraz xpath]"},

-  { "optionMatch", "   [-match primerjalni vzorec (za diagnostiko ujemanja)]"},

-  { "optionAnyExpr", "Ali pa bo samo izraz xpath izvedel diagnosti\u010dni izvoz podatkov"},

-  { "noParsermsg1", "Postopek XSL ni uspel."},

-  { "noParsermsg2", "** Nisem na\u0161el raz\u010dlenjevalnika **"},

-  { "noParsermsg3", "Preverite pot razreda."},

-  { "noParsermsg4", "\u010ce nimate IBM raz\u010dlenjevalnika za Javo, ga lahko prenesete iz"},

-  { "noParsermsg5", "IBM AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},

-  { "gtone", ">1" },

-  { "zero", "0" },

-  { "one", "1" },

-  { "two" , "2" },

-  { "three", "3" }

-

-  };

-  }

-

-

-  // ================= INFRASTRUCTURE ======================

-

-  /** Field BAD_CODE          */

-  public static final String BAD_CODE = "BAD_CODE";

-

-  /** Field FORMAT_FAILED          */

-  public static final String FORMAT_FAILED = "FORMAT_FAILED";

-

-  /** Field ERROR_RESOURCES          */

-  public static final String ERROR_RESOURCES =

-    "org.apache.xpath.res.XPATHErrorResources";

-

-  /** Field ERROR_STRING          */

-  public static final String ERROR_STRING = "#error";

-

-  /** Field ERROR_HEADER          */

-  public static final String ERROR_HEADER = "Napaka: ";

-

-  /** Field WARNING_HEADER          */

-  public static final String WARNING_HEADER = "Opozorilo: ";

-

-  /** Field XSL_HEADER          */

-  public static final String XSL_HEADER = "XSL ";

-

-  /** Field XML_HEADER          */

-  public static final String XML_HEADER = "XML ";

-

-  /** Field QUERY_HEADER          */

-  public static final String QUERY_HEADER = "VZOREC ";

-

-

-  /**

-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior

-   * of ResourceBundle.getBundle().

-   *

-   * @param className Name of local-specific subclass.

-   * @return the ResourceBundle

-   * @throws MissingResourceException

-   */

-  public static final XPATHErrorResources loadResourceBundle(String className)

-          throws MissingResourceException

-  {

-

-    Locale locale = Locale.getDefault();

-    String suffix = getResourceSuffix(locale);

-

-    try

-    {

-

-      // first try with the given locale

-      return (XPATHErrorResources) ResourceBundle.getBundle(className

-              + suffix, locale);

-    }

-    catch (MissingResourceException e)

-    {

-      try  // try to fall back to en_US if we can't load

-      {

-

-        // Since we can't find the localized property file,

-        // fall back to en_US.

-        return (XPATHErrorResources) ResourceBundle.getBundle(className,

-                new Locale("sl", "SL"));

-      }

-      catch (MissingResourceException e2)

-      {

-

-        // Now we are really in trouble.

-        // very bad, definitely very bad...not going to get very far

-        throw new MissingResourceException(

-          "Could not load any resource bundles.", className, "");

-      }

-    }

-  }

-

-  /**

-   * Return the resource file suffic for the indicated locale

-   * For most locales, this will be based the language code.  However

-   * for Chinese, we do distinguish between Taiwan and PRC

-   *

-   * @param locale the locale

-   * @return an String suffix which canbe appended to a resource name

-   */

-  private static final String getResourceSuffix(Locale locale)

-  {

-

-    String suffix = "_" + locale.getLanguage();

-    String country = locale.getCountry();

-

-    if (country.equals("TW"))

-      suffix += "_" + country;

-

-    return suffix;

-  }

-

-}

diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_sv.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_sv.java
deleted file mode 100644
index 50335a5..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_sv.java
+++ /dev/null
@@ -1,1252 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_sv.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_sv extends XPATHErrorResources
-{
-
-
-  /** Field MAX_CODE          */
-public static final int MAX_CODE = 108;  // this is needed to keep track of the number of messages
-
-  /** Field MAX_WARNING          */
-  public static final int MAX_WARNING = 11;  // this is needed to keep track of the number of warnings
-
-  /** Field MAX_OTHERS          */
-  public static final int MAX_OTHERS = 20;
-
-  /** Field MAX_MESSAGES          */
-  public static final int MAX_MESSAGES = MAX_CODE + MAX_WARNING + 1;
-
-
-  // Error messages...
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  /** Field ERROR0000          */
-  //public static final int ERROR0000 = 0;
-
-
-  {
-    "ERROR0000", "{0}"},
-
-
-  /** Field ER_CURRENT_NOT_ALLOWED_IN_MATCH          */
-  //public static final int ER_CURRENT_NOT_ALLOWED_IN_MATCH = 1;
-
-
-  {
-    ER_CURRENT_NOT_ALLOWED_IN_MATCH,
-      "Funktionen current() \u00e4r inte till\u00e5ten i ett matchningsm\u00f6nster!"},
-
-
-  /** Field ER_CURRENT_TAKES_NO_ARGS          */
-  //public static final int ER_CURRENT_TAKES_NO_ARGS = 2;
-
-
-  {
-    ER_CURRENT_TAKES_NO_ARGS,
-      "Funktionen current() tar inte emot argument!"},
-
-
-  /** Field ER_DOCUMENT_REPLACED          */
-  //public static final int ER_DOCUMENT_REPLACED = 3;
-
-
-  {
-    ER_DOCUMENT_REPLACED,
-      "Implementeringen av funktionen document() har ersatts av org.apache.xalan.xslt.FuncDocument!"},
-
-
-  /** Field ER_CONTEXT_HAS_NO_OWNERDOC          */
-  //public static final int ER_CONTEXT_HAS_NO_OWNERDOC = 4;
-
-
-  {
-    ER_CONTEXT_HAS_NO_OWNERDOC,
-      "Kontext saknar \u00e4gardokument!"},
-
-
-  /** Field ER_LOCALNAME_HAS_TOO_MANY_ARGS          */
-  //public static final int ER_LOCALNAME_HAS_TOO_MANY_ARGS = 5;
-
-
-  {
-    ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() har f\u00f6r m\u00e5nga argument."},
-
-
-  /** Field ER_NAMESPACEURI_HAS_TOO_MANY_ARGS          */
-  //public static final int ER_NAMESPACEURI_HAS_TOO_MANY_ARGS = 6;
-
-
-  {
-    ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() har f\u00f6r m\u00e5nga argument."},
-
-
-  /** Field ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS          */
-  //public static final int ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS = 7;
-
-
-  {
-    ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() har f\u00f6r m\u00e5nga argument."},
-
-
-  /** Field ER_NUMBER_HAS_TOO_MANY_ARGS          */
-  //public static final int ER_NUMBER_HAS_TOO_MANY_ARGS = 8;
-
-
-  {
-    ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() har f\u00f6r m\u00e5nga argument."},
-
-
-  /** Field ER_NAME_HAS_TOO_MANY_ARGS          */
-  //public static final int ER_NAME_HAS_TOO_MANY_ARGS = 9;
-
-
-  {
-    ER_NAME_HAS_TOO_MANY_ARGS, "name() har f\u00f6r m\u00e5nga argument."},
-
-
-  /** Field ER_STRING_HAS_TOO_MANY_ARGS          */
-  //public static final int ER_STRING_HAS_TOO_MANY_ARGS = 10;
-
-
-  {
-    ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() har f\u00f6r m\u00e5nga argument."},
-
-
-  /** Field ER_STRINGLENGTH_HAS_TOO_MANY_ARGS          */
-  //public static final int ER_STRINGLENGTH_HAS_TOO_MANY_ARGS = 11;
-
-
-  {
-    ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string.length() har f\u00f6r m\u00e5nga argument."},
-
-
-  /** Field ER_TRANSLATE_TAKES_3_ARGS          */
-  //public static final int ER_TRANSLATE_TAKES_3_ARGS = 12;
-
-
-  {
-    ER_TRANSLATE_TAKES_3_ARGS,
-      "Funktionen translate() tar emot tre argument!"},
-
-
-  /** Field ER_UNPARSEDENTITYURI_TAKES_1_ARG          */
-  //public static final int ER_UNPARSEDENTITYURI_TAKES_1_ARG = 13;
-
-
-  {
-    ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "Funktionen unparsed-entity-uri borde ta emot ett argument!"},
-
-
-  /** Field ER_NAMESPACEAXIS_NOT_IMPLEMENTED          */
-  //public static final int ER_NAMESPACEAXIS_NOT_IMPLEMENTED = 14;
-
-
-  {
-    ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "Namespace-axel inte implementerad \u00e4n!"},
-
-
-  /** Field ER_UNKNOWN_AXIS          */
-  //public static final int ER_UNKNOWN_AXIS = 15;
-
-
-  {
-    ER_UNKNOWN_AXIS, "ok\u00e4nd axel: {0}"},
-
-
-  /** Field ER_UNKNOWN_MATCH_OPERATION          */
-  //public static final int ER_UNKNOWN_MATCH_OPERATION = 16;
-
-
-  {
-    ER_UNKNOWN_MATCH_OPERATION, "ok\u00e4nd matchningshandling!"},
-
-
-  /** Field ER_INCORRECT_ARG_LENGTH          */
-  //public static final int ER_INCORRECT_ARG_LENGTH = 17;
-
-
-  {
-    ER_INCORRECT_ARG_LENGTH,
-      "Nodtests argumentl\u00e4ngd i processing-instruction() \u00e4r inte korrekt!"},
-
-
-  /** Field ER_CANT_CONVERT_TO_NUMBER          */
-  //public static final int ER_CANT_CONVERT_TO_NUMBER = 18;
-
-
-  {
-    ER_CANT_CONVERT_TO_NUMBER,
-      "Kan inte konvertera {0} till ett nummer"},
-
-
-  /** Field ER_CANT_CONVERT_TO_NODELIST          */
-  //public static final int ER_CANT_CONVERT_TO_NODELIST = 19;
-
-
-  {
-    ER_CANT_CONVERT_TO_NODELIST,
-      "Kan inte konvertera {0} till en NodeList!"},
-
-
-  /** Field ER_CANT_CONVERT_TO_MUTABLENODELIST          */
-  //public static final int ER_CANT_CONVERT_TO_MUTABLENODELIST = 20;
-
-
-  {
-    ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "Kan inte konvertera {0} till en NodeSetDTM!"},
-
-
-  /** Field ER_CANT_CONVERT_TO_TYPE          */
-  //public static final int ER_CANT_CONVERT_TO_TYPE = 21;
-
-
-  {
-    ER_CANT_CONVERT_TO_TYPE,
-      "Kan inte konvertera {0} till en type//{1}"},
-
-
-  /** Field ER_EXPECTED_MATCH_PATTERN          */
-  //public static final int ER_EXPECTED_MATCH_PATTERN = 22;
-
-
-  {
-    ER_EXPECTED_MATCH_PATTERN,
-      "Matchningsm\u00f6nster i getMatchScore f\u00f6rv\u00e4ntat!"},
-
-
-  /** Field ER_COULDNOT_GET_VAR_NAMED          */
-  //public static final int ER_COULDNOT_GET_VAR_NAMED = 23;
-
-
-  {
-    ER_COULDNOT_GET_VAR_NAMED,
-      "Kunde inte h\u00e4mta variabeln {0}"},
-
-
-  /** Field ER_UNKNOWN_OPCODE          */
-  //public static final int ER_UNKNOWN_OPCODE = 24;
-
-
-  {
-    ER_UNKNOWN_OPCODE, "FEL! Ok\u00e4nd op-kod: {0}"},
-
-
-  /** Field ER_EXTRA_ILLEGAL_TOKENS          */
-  //public static final int ER_EXTRA_ILLEGAL_TOKENS = 25;
-
-
-  {
-    ER_EXTRA_ILLEGAL_TOKENS, "Ytterligare otill\u00e5tna tecken: {0}"},
-
-
-  /** Field ER_EXPECTED_DOUBLE_QUOTE          */
-  //public static final int ER_EXPECTED_DOUBLE_QUOTE = 26;
-
-
-  {
-    ER_EXPECTED_DOUBLE_QUOTE,
-      "Litteral omges av fel sorts citationstecken... dubbla citationstecken f\u00f6rv\u00e4ntade!"},
-
-
-  /** Field ER_EXPECTED_SINGLE_QUOTE          */
-  //public static final int ER_EXPECTED_SINGLE_QUOTE = 27;
-
-
-  {
-    ER_EXPECTED_SINGLE_QUOTE,
-      "Litteral omges av fel sorts citationstecken... enkla citationstecken f\u00f6rv\u00e4ntade!"},
-
-
-  /** Field ER_EMPTY_EXPRESSION          */
-  //public static final int ER_EMPTY_EXPRESSION = 28;
-
-
-  {
-    ER_EMPTY_EXPRESSION, "Tomt uttryck!"},
-
-
-  /** Field ER_EXPECTED_BUT_FOUND          */
-  //public static final int ER_EXPECTED_BUT_FOUND = 29;
-
-
-  {
-    ER_EXPECTED_BUT_FOUND, "{0} f\u00f6rv\u00e4ntat, men hittade: {1}"},
-
-
-  /** Field ER_INCORRECT_PROGRAMMER_ASSERTION          */
-  //public static final int ER_INCORRECT_PROGRAMMER_ASSERTION = 30;
-
-
-  {
-    ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "Programmerares f\u00f6rs\u00e4kran \u00e4r inte korrekt! - {0}"},
-
-
-  /** Field ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL          */
-  //public static final int ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL = 31;
-
-
-  {
-    ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "boolean(...)-argument \u00e4r inte l\u00e4ngre valfri med 19990709 XPath-utkast."},
-
-
-  /** Field ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG          */
-  //public static final int ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG = 32;
-
-
-  {
-    ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "Hittade ',' men inget f\u00f6reg\u00e5ende argument!"},
-
-
-  /** Field ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG          */
-  //public static final int ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG = 33;
-
-
-  {
-    ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "Hittade ',' men inget efterf\u00f6ljande argument!"},
-
-
-  /** Field ER_PREDICATE_ILLEGAL_SYNTAX          */
-  //public static final int ER_PREDICATE_ILLEGAL_SYNTAX = 34;
-
-
-  {
-    ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predikat]' or '.[predikat]' \u00e4r otill\u00e5ten syntax.  Anv\u00e4nd 'self::node()[predikat]' ist\u00e4llet."},
-
-
-  /** Field ER_ILLEGAL_AXIS_NAME          */
-  //public static final int ER_ILLEGAL_AXIS_NAME = 35;
-
-
-  {
-    ER_ILLEGAL_AXIS_NAME, "otill\u00e5tet axel-namn: {0}"},
-
-
-  /** Field ER_UNKNOWN_NODETYPE          */
-  //public static final int ER_UNKNOWN_NODETYPE = 36;
-
-
-  {
-    ER_UNKNOWN_NODETYPE, "ok\u00e4nd nodtyp: {0}"},
-
-
-  /** Field ER_PATTERN_LITERAL_NEEDS_BE_QUOTED          */
-  //public static final int ER_PATTERN_LITERAL_NEEDS_BE_QUOTED = 37;
-
-
-  {
-    ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "M\u00f6nsterlitteral {0} m\u00e5ste s\u00e4ttas inom citationstecken!"},
-
-
-  /** Field ER_COULDNOT_BE_FORMATTED_TO_NUMBER          */
-  //public static final int ER_COULDNOT_BE_FORMATTED_TO_NUMBER = 38;
-
-
-  {
-    ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} kunde inte formateras till ett nummer"},
-
-
-  /** Field ER_COULDNOT_CREATE_XMLPROCESSORLIAISON          */
-  //public static final int ER_COULDNOT_CREATE_XMLPROCESSORLIAISON = 39;
-
-
-  {
-    ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "Kunde inte skapa XML TransformerFactory Liaison: {0}"},
-
-
-  /** Field ER_DIDNOT_FIND_XPATH_SELECT_EXP          */
-  //public static final int ER_DIDNOT_FIND_XPATH_SELECT_EXP = 40;
-
-
-  {
-    ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Fel! Hittade inte xpath select-uttryck (-select)."},
-
-
-  /** Field ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH          */
-  //public static final int ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH = 41;
-
-
-  {
-    ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "FEL! Hittade inte ENDOP efter OP_LOCATIONPATH"},
-
-
-  /** Field ER_ERROR_OCCURED          */
-  //public static final int ER_ERROR_OCCURED = 42;
-
-
-  {
-    ER_ERROR_OCCURED, "Fel intr\u00e4ffade!"},
-
-
-  /** Field ER_ILLEGAL_VARIABLE_REFERENCE          */
-  //public static final int ER_ILLEGAL_VARIABLE_REFERENCE = 43;
-
-
-  {
-    ER_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference angiven f\u00f6r variabel som \u00e4r utanf\u00f6r sammanhanget eller som saknar definition!  Namn = {0}"},
-
-
-  /** Field ER_AXES_NOT_ALLOWED          */
-  //public static final int ER_AXES_NOT_ALLOWED = 44;
-
-
-  {
-    ER_AXES_NOT_ALLOWED,
-      "Enbart barn::- och attribut::- axlar \u00e4r till\u00e5tna i matchningsm\u00f6nster!  Regelvidriga axlar = {0}"},
-
-
-  /** Field ER_KEY_HAS_TOO_MANY_ARGS          */
-  //public static final int ER_KEY_HAS_TOO_MANY_ARGS = 45;
-
-
-  {
-    ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() har ett felaktigt antal argument."},
-
-
-  /** Field ER_COUNT_TAKES_1_ARG          */
-  //public static final int ER_COUNT_TAKES_1_ARG = 46;
-
-
-  {
-    ER_COUNT_TAKES_1_ARG,
-      "Funktionen count borde ta emot ett argument!"},
-
-
-  /** Field ER_COULDNOT_FIND_FUNCTION          */
-  //public static final int ER_COULDNOT_FIND_FUNCTION = 47;
-
-
-  {
-    ER_COULDNOT_FIND_FUNCTION, "Hittade inte funktionen: {0}"},
-
-
-  /** Field ER_UNSUPPORTED_ENCODING          */
-  //public static final int ER_UNSUPPORTED_ENCODING = 48;
-
-
-  {
-    ER_UNSUPPORTED_ENCODING, "Ej underst\u00f6dd kodning: {0}"},
-
-
-  /** Field ER_PROBLEM_IN_DTM_NEXTSIBLING          */
-  //public static final int ER_PROBLEM_IN_DTM_NEXTSIBLING = 49;
-
-
-  {
-    ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "Problem intr\u00e4ffade i DTM i getNextSibling... f\u00f6rs\u00f6ker \u00e5terh\u00e4mta"},
-
-
-  /** Field ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL          */
-  //public static final int ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL = 50;
-
-
-  {
-    ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Programmerarfel: EmptyNodeList kan inte skrivas till."},
-
-
-  /** Field ER_SETDOMFACTORY_NOT_SUPPORTED          */
-  //public static final int ER_SETDOMFACTORY_NOT_SUPPORTED = 51;
-
-
-  {
-    ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory underst\u00f6ds inte av XPathContext!"},
-
-
-  /** Field ER_PREFIX_MUST_RESOLVE          */
-  //public static final int ER_PREFIX_MUST_RESOLVE = 52;
-
-
-  {
-    ER_PREFIX_MUST_RESOLVE,
-      "Prefix must resolve to a namespace: {0}"},
-
-
-  /** Field ER_PARSE_NOT_SUPPORTED          */
-  //public static final int ER_PARSE_NOT_SUPPORTED = 53;
-
-
-  {
-    ER_PARSE_NOT_SUPPORTED,
-      "parse (InputSource source) underst\u00f6ds inte av XPathContext! Kan inte \u00f6ppna {0}"},
-
-
-  /** Field ER_SAX_API_NOT_HANDLED          */
-  //public static final int ER_SAX_API_NOT_HANDLED = 57;
-
-
-  {
-    ER_SAX_API_NOT_HANDLED,
-      "SAX API-tecken(char ch[]... hanteras inte av DTM!"},
-
-
-  /** Field ER_IGNORABLE_WHITESPACE_NOT_HANDLED          */
-  //public static final int ER_IGNORABLE_WHITESPACE_NOT_HANDLED = 58;
-
-
-  {
-    ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... hanteras inte av DTM!"},
-
-
-  /** Field ER_DTM_CANNOT_HANDLE_NODES          */
-  //public static final int ER_DTM_CANNOT_HANDLE_NODES = 59;
-
-
-  {
-    ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison kan inte hantera noder av typen {0}"},
-
-
-  /** Field ER_XERCES_CANNOT_HANDLE_NODES          */
-  //public static final int ER_XERCES_CANNOT_HANDLE_NODES = 60;
-
-
-  {
-    ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper kan inte hantera noder av typen {0}"},
-
-
-  /** Field ER_XERCES_PARSE_ERROR_DETAILS          */
-  //public static final int ER_XERCES_PARSE_ERROR_DETAILS = 61;
-
-
-  {
-    ER_XERCES_PARSE_ERROR_DETAILS,
-      "DOM2Helper.parse-fel: SystemID - {0} rad - {1}"},
-
-
-  /** Field ER_XERCES_PARSE_ERROR          */
-  //public static final int ER_XERCES_PARSE_ERROR = 62;
-
-
-  {
-    ER_XERCES_PARSE_ERROR, "DOM2Helper.parse-fel"},
-
-
-  /** Field ER_INVALID_UTF16_SURROGATE          */
-  //public static final int ER_INVALID_UTF16_SURROGATE = 65;
-
-
-  {
-    ER_INVALID_UTF16_SURROGATE,
-      "Ogiltigt UTF-16-surrogat uppt\u00e4ckt: {0} ?"},
-
-
-  /** Field ER_OIERROR          */
-  //public static final int ER_OIERROR = 66;
-
-
-  {
-    ER_OIERROR, "IO-fel"},
-
-
-  /** Field ER_CANNOT_CREATE_URL          */
-  //public static final int ER_CANNOT_CREATE_URL = 67;
-
-
-  {
-    ER_CANNOT_CREATE_URL, "Kan inte skapa url f\u00f6r: {0}"},
-
-
-  /** Field ER_XPATH_READOBJECT          */
-  //public static final int ER_XPATH_READOBJECT = 68;
-
-
-  {
-    ER_XPATH_READOBJECT, "I XPath.readObject: {0}"},
-
-  
-  /** Field ER_XPATH_READOBJECT         */
-  //public static final int ER_FUNCTION_TOKEN_NOT_FOUND = 69;
-
-
-  {
-    ER_FUNCTION_TOKEN_NOT_FOUND,
-      "funktionstecken saknas."},
-
-  
-   /**  Can not deal with XPath type:   */
-  //public static final int ER_CANNOT_DEAL_XPATH_TYPE = 71;
-
-
-  {
-    ER_CANNOT_DEAL_XPATH_TYPE,
-       "Kan inte hantera XPath-typ: {0}"},
-
-  
-   /**  This NodeSet is not mutable  */
-  //public static final int ER_NODESET_NOT_MUTABLE = 72;
-
-
-  {
-    ER_NODESET_NOT_MUTABLE,
-       "NodeSet \u00e4r of\u00f6r\u00e4nderlig"},
-
-  
-   /**  This NodeSetDTM is not mutable  */
-  //public static final int ER_NODESETDTM_NOT_MUTABLE = 73;
-
-
-  {
-    ER_NODESETDTM_NOT_MUTABLE,
-       "NodeSetDTM \u00e4r of\u00f6r\u00e4nderlig"},
-
-  
-   /**  Variable not resolvable:   */
-  //public static final int ER_VAR_NOT_RESOLVABLE = 74;
-
-
-  {
-    ER_VAR_NOT_RESOLVABLE,
-        "Variabel ej l\u00f6sbar: {0}"},
-
-  
-   /** Null error handler  */
-  //public static final int ER_NULL_ERROR_HANDLER = 75;
-
-
-  {
-    ER_NULL_ERROR_HANDLER,
-        "Null error handler"},
-
-  
-   /**  Programmer's assertion: unknown opcode  */
-  //public static final int ER_PROG_ASSERT_UNKNOWN_OPCODE = 76;
-
-
-  {
-    ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Programmerares f\u00f6rs\u00e4kran: ok\u00e4nd op-kod: {0}"},
-
-  
-   /**  0 or 1   */
-  //public static final int ER_ZERO_OR_ONE = 77;
-
-
-  {
-    ER_ZERO_OR_ONE,
-       "0 eller 1"},
-
-  
-  
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  //public static final int ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = 78;
-
-
-  {
-    ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() underst\u00f6ds inte av XRTreeFragSelectWrapper!"},
-
-  
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  //public static final int ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = 79;
-
-
-  {
-    ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() underst\u00f6ds inte av XRTreeFragSelectWrapper!"},
-
-  
-   /**  fsb() not supported for XStringForChars   */
-  //public static final int ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS = 80;
-
-
-  {
-    ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() underst\u00f6ds inte av XRStringForChars!"},
-
-  
-   /**  Could not find variable with the name of   */
-  //public static final int ER_COULD_NOT_FIND_VAR = 81;
-
-
-  {
-    ER_COULD_NOT_FIND_VAR,
-      "Hittade inte variabeln med namn {0}"},
-
-  
-   /**  XStringForChars can not take a string for an argument   */
-  //public static final int ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING = 82;
-
-
-  {
-    ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars kan inte ta en str\u00e4ng som argument"},
-
-  
-   /**  The FastStringBuffer argument can not be null   */
-  //public static final int ER_FASTSTRINGBUFFER_CANNOT_BE_NULL = 83;
-
-
-  {
-    ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "FastStringBuffer-argumentet f\u00e5r inte vara null"},
-    
-/* MANTIS_XALAN CHANGE: BEGIN */ 
-   /**  2 or 3   */
-  //public static final int ER_TWO_OR_THREE = 84;
-
-
-  {
-    ER_TWO_OR_THREE,
-       "2 eller 3"},
-
-
-   /** Variable accessed before it is bound! */
-  //public static final int ER_VARIABLE_ACCESSED_BEFORE_BIND = 85;
-
-
-  {
-    ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "Variabeln anv\u00e4ndes innan den bands!"},
-
-
-   /** XStringForFSB can not take a string for an argument! */
-  //public static final int ER_FSB_CANNOT_TAKE_STRING = 86;
-
-
-  {
-    ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB kan inte ha en str\u00e4ng som argument!"},
-
-
-   /** Error! Setting the root of a walker to null! */
-  //public static final int ER_SETTING_WALKER_ROOT_TO_NULL = 87;
-
-
-  {
-    ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! Fel! Anger roten f\u00f6r en \"walker\" till null!!!"},
-
-
-   /** This NodeSetDTM can not iterate to a previous node! */
-  //public static final int ER_NODESETDTM_CANNOT_ITERATE = 88;
-
-
-  {
-    ER_NODESETDTM_CANNOT_ITERATE,
-       "Detta NodeSetDTM kan inte iterera till en tidigare nod!"},
-
-
-  /** This NodeSet can not iterate to a previous node! */
-  //public static final int ER_NODESET_CANNOT_ITERATE = 89;
-
-
-  {
-    ER_NODESET_CANNOT_ITERATE,
-       "Detta NodeSet kan inte iterera till en tidigare nod!"},
-
-
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  //public static final int ER_NODESETDTM_CANNOT_INDEX = 90;
-
-
-  {
-    ER_NODESETDTM_CANNOT_INDEX,
-       "Detta NodeSetDTM har inte funktioner f\u00f6r indexering och r\u00e4kning!"},
-
-
-  /** This NodeSet can not do indexing or counting functions! */
-  //public static final int ER_NODESET_CANNOT_INDEX = 91;
-
-
-  {
-    ER_NODESET_CANNOT_INDEX,
-       "Detta NodeSet har inte funktioner f\u00f6r indexering och r\u00e4kning!"},
-
-
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  //public static final int ER_CANNOT_CALL_SETSHOULDCACHENODE = 92;
-
-
-  {
-    ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "Det g\u00e5r inte att anropa setShouldCacheNodes efter att nextNode har anropats!"},
-
-
-  /** {0} only allows {1} arguments */
-  //public static final int ER_ONLY_ALLOWS = 93;
-
-
-  {
-    ER_ONLY_ALLOWS,
-       "{0} till\u00e5ter bara {1} argument"},
-
-
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  //public static final int ER_UNKNOWN_STEP = 94;
-
-
-  {
-    ER_UNKNOWN_STEP,
-       "Programmerarkontroll i getNextStepPos: ok\u00e4nt steg Typ: {0}"},
-
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-
-  /** Problem with RelativeLocationPath */
-  //public static final int ER_EXPECTED_REL_LOC_PATH = 95;
-
-
-  {
-    ER_EXPECTED_REL_LOC_PATH,
-       "En relativ s\u00f6kv\u00e4g f\u00f6rv\u00e4ntades efter token '/' eller '//'."},
-
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-
-  /** Problem with LocationPath */
-  //public static final int ER_EXPECTED_LOC_PATH = 96;
-
-
-  {
-    ER_EXPECTED_LOC_PATH,
-       "En plats f\u00f6rv\u00e4ntades, men f\u00f6ljande token p\u00e5tr\u00e4ffades\u003a  {0}"},
-
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-
-  /** Problem with Step */
-  //public static final int ER_EXPECTED_LOC_STEP = 97;
-
-
-  {
-    ER_EXPECTED_LOC_STEP,
-       "Ett platssteg f\u00f6rv\u00e4ntades efter token  '/' eller '//'."},
-
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-
-  /** Problem with NodeTest */
-  //public static final int ER_EXPECTED_NODE_TEST = 98;
-
-
-  {
-    ER_EXPECTED_NODE_TEST,
-       "Ett nodtest som matchar antingen NCName:* eller QName f\u00f6rv\u00e4ntades."},
-
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-
-  /** Expected step pattern */
-  //public static final int ER_EXPECTED_STEP_PATTERN = 99;
-
-
-  {
-    ER_EXPECTED_STEP_PATTERN,
-       "Ett stegm\u00f6nster f\u00f6rv\u00e4ntades, men '/' p\u00e5tr\u00e4ffades."},
-
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
- 
-  /** Expected relative path pattern */
-  //public static final int ER_EXPECTED_REL_PATH_PATTERN = 100;
-
-
-  {
-    ER_EXPECTED_REL_PATH_PATTERN,
-       "Ett m\u00f6nster f\u00f6r relativ s\u00f6kv\u00e4g f\u00f6rv\u00e4ntades."},
-
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-
-  /** Field ER_CANT_CONVERT_TO_BOOLEAN          */
-  //public static final int ER_CANT_CONVERT_TO_BOOLEAN = 103;
-
-
-  {
-    ER_CANT_CONVERT_TO_BOOLEAN,
-       "Det g\u00e5r inte att konvertera {0} till ett Booleskt v\u00e4rde."},
-
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and 
-  // FIRST_ORDERED_NODE_TYPE.
-
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  //public static final int ER_CANT_CONVERT_TO_SINGLENODE = 104;
-
-
-  {
-    ER_CANT_CONVERT_TO_SINGLENODE,
-       "Det g\u00e5r inte att konvertera {0} till en enda nod. G\u00e4ller typerna ANY_UNORDERED_NODE_TYPE och FIRST_ORDERED_NODE_TYPE."},
-
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  //public static final int ER_CANT_GET_SNAPSHOT_LENGTH = 105;
-
-
-  {
-    ER_CANT_GET_SNAPSHOT_LENGTH,
-       "Det g\u00e5r inte att erh\u00e5lla l\u00e4ngd f\u00f6r \u00f6gonblicksbild p\u00e5 typ: {0}. G\u00e4ller typerna UNORDERED_NODE_SNAPSHOT_TYPE och ORDERED_NODE_SNAPSHOT_TYPE."},
-
-
-  /** Field ER_NON_ITERATOR_TYPE                */
-  //public static final int ER_NON_ITERATOR_TYPE        = 106;
-
-
-  {
-    ER_NON_ITERATOR_TYPE,
-       "Det g\u00e5r inte att iterera \u00f6ver den icke itererbara typen: {0}"},
-
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-
-  /** Field ER_DOC_MUTATED                      */
-  //public static final int ER_DOC_MUTATED              = 107;
-
-
-  {
-    ER_DOC_MUTATED,
-       "Dokumentet har \u00e4ndrats sedan resultatet genererades. Iterering ogiltig."},
-
-
-  /** Field ER_INVALID_XPATH_TYPE               */
-  //public static final int ER_INVALID_XPATH_TYPE       = 108;
-
-
-  {
-    ER_INVALID_XPATH_TYPE,
-       "Ogiltigt XPath-typargument: {0}"},
-
-
-  /** Field ER_EMPTY_XPATH_RESULT                */
-  //public static final int ER_EMPTY_XPATH_RESULT       = 109;
-
-
-  {
-    ER_EMPTY_XPATH_RESULT,
-       "Tomt XPath-resultatobjekt"},
-
-
-  /** Field ER_INCOMPATIBLE_TYPES                */
-  //public static final int ER_INCOMPATIBLE_TYPES       = 110;
-
-
-  {
-    ER_INCOMPATIBLE_TYPES,
-       "Den genererade typen: {0} kan inte bearbetas i den angivna typen: {1}"},
-
-
-  /** Field ER_NULL_RESOLVER                     */
-  //public static final int ER_NULL_RESOLVER            = 111;
-
-
-  {
-    ER_NULL_RESOLVER,
-       "Det g\u00e5r inte att l\u00f6sa prefixet utan prefixl\u00f6sare."},
-
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-
-  /** Field ER_CANT_CONVERT_TO_STRING            */
-  //public static final int ER_CANT_CONVERT_TO_STRING   = 112;
-
-
-  {
-    ER_CANT_CONVERT_TO_STRING,
-       "Det g\u00e5r inte att konvertera {0} till en str\u00e4ng."},
-
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-
-  /** Field ER_NON_SNAPSHOT_TYPE                 */
-  //public static final int ER_NON_SNAPSHOT_TYPE       = 113;
-
-
-  {
-    ER_NON_SNAPSHOT_TYPE,
-       "Det g\u00e5r inte att anropa snapshotItem p\u00e5 typ: {0}. Metoden g\u00e4ller typerna UNORDERED_NODE_SNAPSHOT_TYPE och ORDERED_NODE_SNAPSHOT_TYPE."},
-
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-
-  /** Field ER_WRONG_DOCUMENT                    */
-  //public static final int ER_WRONG_DOCUMENT          = 114;
-
-
-  {
-    ER_WRONG_DOCUMENT,
-       "Kontextnoden tillh\u00f6r inte dokumentet som \u00e4r bundet till denna XPathEvaluator."},
-
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  /** Field ER_WRONG_NODETYPE                    */
-  //public static final int ER_WRONG_NODETYPE          = 115;
-
-
-  {
-    ER_WRONG_NODETYPE ,
-       "Kontextnoden kan inte hanteras."},
-
-
-  /** Field ER_XPATH_ERROR                       */
-  //public static final int ER_XPATH_ERROR             = 116;
-
-
-  {
-    ER_XPATH_ERROR ,
-       "Ok\u00e4nt fel i XPath."},
-
-
-
-  // Warnings...
-
-  /** Field WG_LOCALE_NAME_NOT_HANDLED          */
-  //public static final int WG_LOCALE_NAME_NOT_HANDLED = 1;
-
-
-  {
-    WG_LOCALE_NAME_NOT_HANDLED,
-      "locale-namnet i format-number-funktionen \u00e4nnu inte hanterat!"},
-
-
-  /** Field WG_PROPERTY_NOT_SUPPORTED          */
-  //public static final int WG_PROPERTY_NOT_SUPPORTED = 2;
-
-
-  {
-    WG_PROPERTY_NOT_SUPPORTED,
-      "XSL-Egenskap underst\u00f6ds inte: {0}"},
-
-
-  /** Field WG_DONT_DO_ANYTHING_WITH_NS          */
-  //public static final int WG_DONT_DO_ANYTHING_WITH_NS = 3;
-
-
-  {
-    WG_DONT_DO_ANYTHING_WITH_NS,
-      "G\u00f6r f\u00f6r n\u00e4rvarande inte n\u00e5gonting med namespace {0} i egenskap: {1}"},
-
-
-  /** Field WG_SECURITY_EXCEPTION          */
-  //public static final int WG_SECURITY_EXCEPTION = 4;
-
-
-  {
-    WG_SECURITY_EXCEPTION,
-      "SecurityException vid f\u00f6rs\u00f6k att f\u00e5 tillg\u00e5ng till XSL-systemegenskap: {0}"},
-
-
-  /** Field WG_QUO_NO_LONGER_DEFINED          */
-  //public static final int WG_QUO_NO_LONGER_DEFINED = 5;
-
-
-  {
-    WG_QUO_NO_LONGER_DEFINED,
-      "Gammal syntax: quo(...) \u00e4r inte l\u00e4ngre definierad i XPath."},
-
-
-  /** Field WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST          */
-  //public static final int WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST = 6;
-
-
-  {
-    WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath beh\u00f6ver ett deriverat objekt f\u00f6r att implementera nodeTest!"},
-
-
-  /** Field WG_FUNCTION_TOKEN_NOT_FOUND          */
-  //public static final int WG_FUNCTION_TOKEN_NOT_FOUND = 7;
-
-
-  {
-    WG_FUNCTION_TOKEN_NOT_FOUND,
-      "funktionstecken saknas."},
-
-
-  /** Field WG_COULDNOT_FIND_FUNCTION          */
-  //public static final int WG_COULDNOT_FIND_FUNCTION = 8;
-
-
-  {
-    WG_COULDNOT_FIND_FUNCTION,
-      "Hittade inte funktion: {0}"},
-
-
-  /** Field WG_CANNOT_MAKE_URL_FROM          */
-  //public static final int WG_CANNOT_MAKE_URL_FROM = 9;
-
-
-  {
-    WG_CANNOT_MAKE_URL_FROM,
-      "Kan inte skapa URL fr\u00e5n: {0}"},
-
-
-  /** Field WG_EXPAND_ENTITIES_NOT_SUPPORTED          */
-  //public static final int WG_EXPAND_ENTITIES_NOT_SUPPORTED = 10;
-
-
-  {
-    WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "Alternativet -E underst\u00f6ds inte f\u00f6r DTM-tolk"},
-
-
-  /** Field WG_ILLEGAL_VARIABLE_REFERENCE          */
-  //public static final int WG_ILLEGAL_VARIABLE_REFERENCE = 11;
-
-
-  {
-    WG_ILLEGAL_VARIABLE_REFERENCE,
-      "VariableReference angiven f\u00f6r variabel som \u00e4r utanf\u00f6r sammanhanget eller som saknar definition!  Namn = {0}"},
-
-
-  /** Field WG_UNSUPPORTED_ENCODING          */
-  //public static final int WG_UNSUPPORTED_ENCODING = 12;
-
-
-  {
-    WG_UNSUPPORTED_ENCODING, "Ej underst\u00f6dd kodning: {0}"},
-
-
-  // Other miscellaneous text used inside the code...
-
-  { "ui_language", "sv"},
-  { "help_language", "sv"},
-  { "language", "sv"},
-    { "BAD_CODE",
-      "Parameter till createMessage ligger utanf\u00f6r till\u00e5tet intervall"},
-    { "FORMAT_FAILED",
-      "Undantag utl\u00f6st vid messageFormat-anrop"},
-    { "version", ">>>>>>> Xalan Version"},
-    { "version2", "<<<<<<<"},
-    { "yes",  "ja"},
-    { "line",  "Rad //"},
-    { "column", "Kolumn //"},
-    { "xsldone", "XSLProcessor f\u00e4rdig"},
-    { "xpath_option", "xpath-alternativ"},
-    { "optionIN", "    [-in inputXMLURL]"},
-    { "optionSelect", "[-select xpath-uttryck]"},
-    { "optionMatch",
-      "   [-match matchningsm\u00f6nster (f\u00f6r matchningsdiagnostik)]"},
-    { "optionAnyExpr",
-      "Eller bara ett xpath-uttryck kommer att g\u00f6ra en diagnostik-dump"},
-    { "noParsermsg1", "XSL-Process misslyckades."},
-    { "noParsermsg2", "** Hittade inte tolk **"},
-    { "noParsermsg3", "V\u00e4nligen kontrollera din classpath"},
-    { "noParsermsg4",
-      "Om du inte har IBMs XML-Tolk f\u00f6r Java, kan du ladda ner den fr\u00e5n"},
-    { "noParsermsg5",
-      "IBMs AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"}
-  };
-  }
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "D\u00c5LIG_KOD";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILDE = "FORMATTERING_MISSLYCKADES";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "//fel";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Fel: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Varning: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "M\u00d6NSTER ";
-
-}
-
-
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_tr.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_tr.java
deleted file mode 100644
index af580e0..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_tr.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_tr.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_tr extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "E\u015fle\u015fme \u00f6r\u00fcnt\u00fcs\u00fcnde current() i\u015flevine izin verilmez!" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "current() i\u015flevi ba\u011f\u0131ms\u0131z de\u011fi\u015fken kabul etmez!" },
-
-  { ER_DOCUMENT_REPLACED,
-      "document() i\u015flevi uygulamas\u0131 org.apache.xalan.xslt.FuncDocument ile de\u011fi\u015ftirildi!"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "Ba\u011flam\u0131n iye belgesi yok!"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() i\u015flevinde \u00e7ok fazla ba\u011f\u0131ms\u0131z de\u011fi\u015fken var."},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() i\u015flevinde \u00e7ok fazla ba\u011f\u0131ms\u0131z de\u011fi\u015fken var."},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() i\u015flevinde \u00e7ok fazla ba\u011f\u0131ms\u0131z de\u011fi\u015fken var."},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() i\u015flevinde \u00e7ok fazla ba\u011f\u0131ms\u0131z de\u011fi\u015fken var."},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() i\u015flevinde \u00e7ok fazla ba\u011f\u0131ms\u0131z de\u011fi\u015fken var."},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() i\u015flevinde \u00e7ok fazla ba\u011f\u0131ms\u0131z de\u011fi\u015fken var."},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() i\u015flevinde \u00e7ok fazla ba\u011f\u0131ms\u0131z de\u011fi\u015fken var."},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "translate() i\u015flevi \u00fc\u00e7 ba\u011f\u0131ms\u0131z de\u011fi\u015fken al\u0131r!"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "unparsed-entity-uri i\u015flevi bir ba\u011f\u0131ms\u0131z de\u011fi\u015fken almal\u0131d\u0131r!"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "namespace ekseni hen\u00fcz ger\u00e7ekle\u015ftirilmedi!"},
-
-  { ER_UNKNOWN_AXIS,
-     "Bilinmeyen eksen: {0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "Bilinmeyen e\u015fle\u015fme i\u015flemi!"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "processing-instruction() d\u00fc\u011f\u00fcm s\u0131namas\u0131n\u0131n ba\u011f\u0131ms\u0131z de\u011fi\u015fken uzunlu\u011fu yanl\u0131\u015f!"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "{0} bir say\u0131ya d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "{0} NodeList''e d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez!"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "{0} NodeSetDTM''ye d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez!"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "{0} - type#{1} d\u00f6n\u00fc\u015f\u00fcm\u00fc yap\u0131lamaz"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "getMatchScore i\u00e7inde e\u015fle\u015fme \u00f6r\u00fcnt\u00fcs\u00fc bekleniyor!"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "{0} adl\u0131 de\u011fi\u015fken al\u0131namad\u0131"},
-
-  { ER_UNKNOWN_OPCODE,
-     "HATA! Bilinmeyen i\u015flem kodu: {0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "Fazladan ge\u00e7ersiz simgeler: {0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "Haz\u0131r bilginin t\u0131rnak imi yanl\u0131\u015f... \u00e7ift t\u0131rnak bekleniyor!"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "Haz\u0131r bilginin t\u0131rnak imi yanl\u0131\u015f... tek t\u0131rnak bekleniyor!"},
-
-  { ER_EMPTY_EXPRESSION,
-     "\u0130fade bo\u015f!"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "{0} bekleniyordu, {1} bulundu"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "Programc\u0131 de\u011ferlendirmesi yanl\u0131\u015f! - {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "boolean(...) ba\u011f\u0131ms\u0131z de\u011fi\u015fkeni 19990709 XPath tasla\u011f\u0131yla art\u0131k iste\u011fe ba\u011fl\u0131 de\u011fil."},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "',' bulundu, ancak \u00f6ncesinde ba\u011f\u0131ms\u0131z de\u011fi\u015fken yok!"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "',' bulundu, ancak sonras\u0131nda ba\u011f\u0131ms\u0131z de\u011fi\u015fken yok!"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[kar\u015f\u0131la\u015ft\u0131rma belirtimi]' ya da '.[kar\u015f\u0131la\u015ft\u0131rma belirtimi]' ge\u00e7ersiz bir s\u00f6zdizimi.  Yerine \u015funu kullan\u0131n: 'self::node()[kar\u015f\u0131la\u015ft\u0131rma belirtimi]'."},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "Eksen ad\u0131 ge\u00e7ersiz: {0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "D\u00fc\u011f\u00fcm tipi ge\u00e7ersiz: {0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "\u00d6r\u00fcnt\u00fc haz\u0131r bilgisinin ({0}) t\u0131rnak i\u00e7ine al\u0131nmas\u0131 gerekiyor!"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} bir say\u0131 olarak bi\u00e7imlenemedi!"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "XML TransformerFactory ili\u015fkisi {0} yarat\u0131lamad\u0131"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "Hata! xpath select ifadesi (-select) bulunamad\u0131."},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "HATA! OP_LOCATIONPATH sonras\u0131nda ENDOP bulunamad\u0131."},
-
-  { ER_ERROR_OCCURED,
-     "Hata olu\u015ftu!"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "De\u011fi\u015fken i\u00e7in belirtilen VariableReference ba\u011flam d\u0131\u015f\u0131 ya da tan\u0131ms\u0131z!  Ad = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "E\u015fle\u015fme \u00f6r\u00fcnt\u00fclerinde yaln\u0131zca child:: ve attribute:: eksenlerine izin verilir!  Ge\u00e7ersiz eksenler = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() yanl\u0131\u015f say\u0131da ba\u011f\u0131ms\u0131z de\u011fi\u015fken i\u00e7eriyor."},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "Say\u0131m i\u015flevi tek bir ba\u011f\u0131ms\u0131z de\u011fi\u015fken almal\u0131d\u0131r!"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "\u0130\u015flev bulunamad\u0131: {0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "Desteklenmeyen kodlama: {0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "getNextSibling s\u0131ras\u0131nda DTM i\u00e7inde sorun olu\u015ftu... kurtarma giri\u015fiminde bulunuluyor"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "Programc\u0131 hatas\u0131: EmptyNodeList i\u00e7ine yaz\u0131lamaz."},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory, XPathContext taraf\u0131ndan desteklenmiyor!"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "\u00d6nek bir ad alan\u0131na \u00e7\u00f6z\u00fclmelidir: {0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "XPathContext i\u00e7inde parse (InputSource kayna\u011f\u0131) desteklenmiyor! {0} a\u00e7\u0131lam\u0131yor"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX API characters(char ch[]... DTM taraf\u0131ndan i\u015flenmedi!"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... DTM taraf\u0131ndan i\u015flenmedi!"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison {0} tipi d\u00fc\u011f\u00fcmleri i\u015fleyemez"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper {0} tipi d\u00fc\u011f\u00fcmleri i\u015fleyemez"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "DOM2Helper.parse hatas\u0131: Sistem tnt - {0} sat\u0131r - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "DOM2Helper.parse hatas\u0131"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "UTF-16 yerine kullan\u0131lan de\u011fer ge\u00e7ersiz: {0} ?"},
-
-  { ER_OIERROR,
-     "G\u00c7 hatas\u0131"},
-
-  { ER_CANNOT_CREATE_URL,
-     "\u0130lgili url yarat\u0131lam\u0131yor: {0}"},
-
-  { ER_XPATH_READOBJECT,
-     "XPath.readObject i\u00e7inde: {0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "\u0130\u015flev simgesi bulunamad\u0131."},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "XPath tipi i\u015flenemiyor: {0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "Bu NodeSet de\u011fi\u015febilir t\u00fcrde de\u011fil"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "Bu NodeSetDTM de\u011fi\u015febilir t\u00fcrde de\u011fil"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "De\u011fi\u015fken \u00e7\u00f6z\u00fclebilir bir de\u011fi\u015fken de\u011fil: {0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "Bo\u015f de\u011ferli hata i\u015fleyici"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "Programc\u0131 do\u011frulamas\u0131: bilinmeyen opcode:{0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 ya da 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() XRTreeFragSelectWrapper taraf\u0131ndan desteklenmiyor"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() XRTreeFragSelectWrapper taraf\u0131ndan desteklenmiyor"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() XRTreeFragSelectWrapper taraf\u0131ndan desteklenmiyor"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() XRTreeFragSelectWrapper taraf\u0131ndan desteklenmiyor"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() XRTreeFragSelectWrapper taraf\u0131ndan desteklenmiyor"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() XRTreeFragSelectWrapper taraf\u0131ndan desteklenmiyor"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() XStringForChars i\u00e7in desteklenmiyor"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "{0} ad\u0131nda de\u011fi\u015fken bulunamad\u0131"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars ba\u011f\u0131ms\u0131z de\u011fi\u015fken olarak dizgi alamaz"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "FastStringBuffer ba\u011f\u0131ms\u0131z de\u011fi\u015fkeni bo\u015f de\u011ferli olamaz"},
-
-  { ER_TWO_OR_THREE,
-       "2 ya da 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "De\u011fi\u015fkene ba\u011f tan\u0131mlamadan \u00f6nce eri\u015fildi!"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB ba\u011f\u0131ms\u0131z de\u011fi\u015fken olarak dizgi alamaz!"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n !!!! Hata! Walker k\u00f6k\u00fc bo\u015f de\u011fere ayarlan\u0131yor!!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "Bu NodeSetDTM \u00f6nceki bir d\u00fc\u011f\u00fcme yineleme yapamaz!"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "Bu NodeSet \u00f6nceki bir d\u00fc\u011f\u00fcme yineleme yapamaz!"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "Bu NodeSetDTM dizinleme ya da sayma i\u015flevleri yapamaz!"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "Bu NodeSet dizinleme ya da sayma i\u015flevleri yapamaz!"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "nextNode \u00e7a\u011fr\u0131ld\u0131ktan sonra setShouldCacheNodes \u00e7a\u011fr\u0131lamaz!"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} yaln\u0131zca {1} ba\u011f\u0131ms\u0131z de\u011fi\u015fkene izin verir"},
-
-  { ER_UNKNOWN_STEP,
-       "getNextStepPos i\u00e7inde programc\u0131 do\u011frulamas\u0131: bilinmeyen stepType: {0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "'/' ya da '//' simgesinden sonra g\u00f6reli yer yolu bekleniyordu."},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "Yer yolu bekleniyordu, ancak \u015fu simge saptand\u0131\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "Yer yolu bekleniyordu, ancak XPath ifadesinin sonu saptand\u0131."},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "'/' ya da '//' simgesinden sonra yer ad\u0131m\u0131 bekleniyordu."},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "NCName:* ya da QName ile e\u015fle\u015fen bir d\u00fc\u011f\u00fcm s\u0131namas\u0131 bekleniyordu."},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "Ad\u0131m \u00f6r\u00fcnt\u00fcs\u00fc bekleniyordu, ancak '/' saptand\u0131."},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "G\u00f6reli yol \u00f6r\u00fcnt\u00fcs\u00fc bekleniyordu."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "''{0}'' XPath ifadesine ili\u015fkin XPathResult''\u0131n XPathResultType de\u011feri ({1}) bir boole de\u011fere d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez."},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "''{0}'' XPath ifadesine ili\u015fkin XPathResult''\u0131n XPathResultType de\u011feri ({1}) tek bir d\u00fc\u011f\u00fcme d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez. getSingleNodeValue y\u00f6ntemi yaln\u0131zca ANY_UNORDERED_NODE_TYPE ve FIRST_ORDERED_NODE_TYPE tipleri i\u00e7in ge\u00e7erlidir."},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "getSnapshotLength y\u00f6ntemi, ''{0}'' XPath ifadesinin XPathResult''\u0131nda \u00e7a\u011fr\u0131lamaz; y\u00f6nteme ili\u015fkin XPathResultType {1}. Bu y\u00f6ntem yaln\u0131zca UNORDERED_NODE_SNAPSHOT_TYPE ve ORDERED_NODE_SNAPSHOT_TYPE tipleri i\u00e7in ge\u00e7erlidir."},
-
-  { ER_NON_ITERATOR_TYPE,
-       "iterateNext y\u00f6ntemi, ''{0}'' XPath ifadesinin XPathResult''\u0131nda \u00e7a\u011fr\u0131lamaz; y\u00f6nteme ili\u015fkin XPathResultType {1}. Bu y\u00f6ntem yaln\u0131zca UNORDERED_NODE_ITERATOR_TYPE ve ORDERED_NODE_ITERATOR_TYPE tipleri i\u00e7in ge\u00e7erlidir."},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "Sonu\u00e7 d\u00f6nd\u00fcr\u00fcld\u00fckten sonra belge de\u011fi\u015ftirildi. Yineleyici ge\u00e7ersiz."},
-
-  { ER_INVALID_XPATH_TYPE,
-       "Ge\u00e7ersiz XPath tipi ba\u011f\u0131ms\u0131z de\u011fi\u015fkeni: {0}"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "Bo\u015f XPath sonu\u00e7 nesnesi"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "''{0}'' XPath ifadesine ili\u015fkin XPathResult''\u0131n XPathResultType de\u011feri ({1}), belirtilen XPathResultType {2} tipine zorlanamaz."},
-
-  { ER_NULL_RESOLVER,
-       "Bo\u015f de\u011ferli \u00f6nek \u00e7\u00f6z\u00fcc\u00fcyle \u00f6nek \u00e7\u00f6z\u00fclemez."},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "''{0}'' XPath ifadesine ili\u015fkin XPathResult''\u0131n XPathResultType de\u011feri ({1}) bir dizgiye d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez."},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "snapshotItem y\u00f6ntemi, ''{0}'' XPath ifadesinin XPathResult''\u0131nda \u00e7a\u011fr\u0131lamaz; y\u00f6nteme ili\u015fkin XPathResultType {1}. Bu y\u00f6ntem yaln\u0131zca UNORDERED_NODE_SNAPSHOT_TYPE ve ORDERED_NODE_SNAPSHOT_TYPE tipleri i\u00e7in ge\u00e7erlidir."},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "Ba\u011flam d\u00fc\u011f\u00fcm\u00fc, bu XPathEvaluator arabirimine ba\u011flanan belgeye ait de\u011fil."},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "Ba\u011flam d\u00fc\u011f\u00fcm\u00fc tipi desteklenmiyor."},
-
-  { ER_XPATH_ERROR,
-       "XPath i\u00e7inde bilinmeyen hata."},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "''{0}'' XPath ifadesine ili\u015fkin XPathResult''\u0131n XPathResultType de\u011feri ({1}) bir say\u0131ya d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez."},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "XMLConstants.FEATURE_SECURE_PROCESSING \u00f6zelli\u011fi true de\u011ferine ayarland\u0131\u011f\u0131nda ''{0}'' eklenti i\u015flevi \u00e7a\u011fr\u0131lamaz."},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "{0} de\u011fi\u015fkenine ili\u015fkin resolveVariable bo\u015f de\u011fer d\u00f6nd\u00fcr\u00fcyor"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "Desteklenmeyen d\u00f6n\u00fc\u015f tipi: {0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "Kaynak ve/ya da d\u00f6n\u00fc\u015f tipi bo\u015f de\u011ferli olamaz"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "{0} ba\u011f\u0131ms\u0131z de\u011fi\u015fkeni bo\u015f de\u011ferli olamaz"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "{0}#isObjectModelSupported( String objectModel ) objectModel == null ile \u00e7a\u011fr\u0131lamaz"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "{0}#isObjectModelSupported( String objectModel ) objectModel == \"\" ile \u00e7a\u011fr\u0131lamaz"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "Ad\u0131 bo\u015f de\u011ferli bir \u00f6zellik belirleme giri\u015fimi: {0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "Bilinmeyen \"{0}\" \u00f6zelli\u011fini belirleme giri\u015fimi: {1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "Bo\u015f de\u011ferli bir adla \u00f6zellik alma giri\u015fimi: {0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "Bilinmeyen \"{0}\" \u00f6zelli\u011fini alma giri\u015fimi: {1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "Bo\u015f de\u011ferli XPathFunctionResolver belirleme giri\u015fimi: {0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "Bo\u015f de\u011ferli bir XPathVariableResolver belirleme giri\u015fimi: {0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "format-number i\u015flevinde \u00fclke de\u011feri ad\u0131 hen\u00fcz i\u015flenmedi!"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "XSL \u00f6zelli\u011fi desteklenmiyor: {0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "{1} \u00f6zelli\u011findeki {0} ad alan\u0131yla \u015fu an hi\u00e7bir \u015fey yapmay\u0131n"},
-
-  { WG_SECURITY_EXCEPTION,
-      "{0} XSL sistem \u00f6zelli\u011fine eri\u015fme giri\u015fimi s\u0131ras\u0131nda SecurityException"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "Eski s\u00f6zdizimi: quo(...) art\u0131k XPath i\u00e7inde tan\u0131mlanmaz."},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "nodeTest uygulanmas\u0131 i\u00e7in XPath t\u00fcretilmi\u015f bir nesne gerektirir!"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "\u0130\u015flev simgesi bulunamad\u0131."},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "\u0130\u015flev bulunamad\u0131: {0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "Dizgiden URL olu\u015fturulamad\u0131: {0}"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "DTM ayr\u0131\u015ft\u0131r\u0131c\u0131s\u0131 i\u00e7in -E se\u00e7ene\u011fi desteklenmiyor"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "De\u011fi\u015fken i\u00e7in belirtilen VariableReference ba\u011flam d\u0131\u015f\u0131 ya da tan\u0131ms\u0131z!  Ad = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "Desteklenmeyen kodlama: {0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "tr"},
-  { "help_language", "tr"},
-  { "language", "tr"},
-  { "BAD_CODE", "createMessage i\u00e7in kullan\u0131lan de\u011fi\u015ftirge s\u0131n\u0131rlar\u0131n d\u0131\u015f\u0131nda"},
-  { "FORMAT_FAILED", "messageFormat \u00e7a\u011fr\u0131s\u0131 s\u0131ras\u0131nda kural d\u0131\u015f\u0131 durum yay\u0131nland\u0131"},
-  { "version", ">>>>>>> Xalan S\u00fcr\u00fcm "},
-  { "version2", "<<<<<<<"},
-  { "yes", "yes"},
-  { "line", "Sat\u0131r #"},
-  { "column", "Kolon #"},
-  { "xsldone", "XSLProcessor: bitti"},
-  { "xpath_option", "xpath se\u00e7enekleri: "},
-  { "optionIN", "   [-in inputXMLURL]"},
-  { "optionSelect", "   [-select xpath ifadesi]"},
-  { "optionMatch", "   [-match e\u015fle\u015fme \u00f6r\u00fcnt\u00fcs\u00fc (e\u015fle\u015fme tan\u0131lamas\u0131 i\u00e7in)]"},
-  { "optionAnyExpr", "Ya da yaln\u0131zca xpath ifadesi de tan\u0131lama d\u00f6k\u00fcm\u00fc sa\u011flar"},
-  { "noParsermsg1", "XSL i\u015flemi ba\u015far\u0131s\u0131z oldu."},
-  { "noParsermsg2", "** Ayr\u0131\u015ft\u0131r\u0131c\u0131 bulunamad\u0131 **"},
-  { "noParsermsg3", "L\u00fctfen classpath de\u011fi\u015fkeninizi inceleyin."},
-  { "noParsermsg4", "Sisteminizde IBM XML Parser for Java arac\u0131 yoksa, \u015fu adresten y\u00fckleyebilirsiniz:"},
-  { "noParsermsg5", "IBM's AlphaWorks: http://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "HATALI_KOD";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "B\u0130\u00c7\u0130MLEME_BA\u015eARISIZ";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#hata";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "Hata: ";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "Uyar\u0131: ";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "\u00d6R\u00dcNT\u00dc ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("tr", "TR"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_zh.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_zh.java
deleted file mode 100755
index a6befb1..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_zh.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*

- * Licensed to the Apache Software Foundation (ASF) under one

- * or more contributor license agreements. See the NOTICE file

- * distributed with this work for additional information

- * regarding copyright ownership. The ASF licenses this file

- * to you under the Apache License, Version 2.0 (the  "License");

- * you may not use this file except in compliance with the License.

- * You may obtain a copy of the License at

- *

- *     http://www.apache.org/licenses/LICENSE-2.0

- *

- * Unless required by applicable law or agreed to in writing, software

- * distributed under the License is distributed on an "AS IS" BASIS,

- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

- * See the License for the specific language governing permissions and

- * limitations under the License.

- */

-/*

- * $Id: XPATHErrorResources_zh.java 338104 2005-01-23 01:39:54Z mcnamara $

- */

-package org.apache.xpath.res;

-

-import java.util.ListResourceBundle;

-import java.util.Locale;

-import java.util.MissingResourceException;

-import java.util.ResourceBundle;

-

-/**

- * Set up error messages.

- * We build a two dimensional array of message keys and

- * message strings. In order to add a new message here,

- * you need to first add a Static string constant for the

- * Key and update the contents array with Key, Value pair

-  * Also you need to  update the count of messages(MAX_CODE)or

- * the count of warnings(MAX_WARNING) [ Information purpose only]

- * @xsl.usage advanced

- */

-public class XPATHErrorResources_zh extends ListResourceBundle

-{

-

-/*

- * General notes to translators:

- *

- * This file contains error and warning messages related to XPath Error

- * Handling.

- *

- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of

- *     components.

- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".

- *     XSLTC is an acronym for XSLT Compiler.

- *

- *  2) A stylesheet is a description of how to transform an input XML document

- *     into a resultant XML document (or HTML document or text).  The

- *     stylesheet itself is described in the form of an XML document.

- *

- *  3) A template is a component of a stylesheet that is used to match a

- *     particular portion of an input document and specifies the form of the

- *     corresponding portion of the output document.

- *

- *  4) An element is a mark-up tag in an XML document; an attribute is a

- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>

- *     "elem" is an element name, "attr" and "attr2" are attribute names with

- *     the values "val" and "val2", respectively.

- *

- *  5) A namespace declaration is a special attribute that is used to associate

- *     a prefix with a URI (the namespace).  The meanings of element names and

- *     attribute names that use that prefix are defined with respect to that

- *     namespace.

- *

- *  6) "Translet" is an invented term that describes the class file that

- *     results from compiling an XML stylesheet into a Java class.

- *

- *  7) XPath is a specification that describes a notation for identifying

- *     nodes in a tree-structured representation of an XML document.  An

- *     instance of that notation is referred to as an XPath expression.

- *

- *  8) The context node is the node in the document with respect to which an

- *     XPath expression is being evaluated.

- *

- *  9) An iterator is an object that traverses nodes in the tree, one at a time.

- *

- *  10) NCName is an XML term used to describe a name that does not contain a

- *     colon (a "no-colon name").

- *

- *  11) QName is an XML term meaning "qualified name".

- */

-

-  /*

-   * static variables

-   */

-  public static final String ERROR0000 = "ERROR0000";

-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =

-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";

-  public static final String ER_CURRENT_TAKES_NO_ARGS =

-         "ER_CURRENT_TAKES_NO_ARGS";

-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";

-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =

-         "ER_CONTEXT_HAS_NO_OWNERDOC";

-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =

-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";

-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =

-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";

-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =

-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";

-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =

-         "ER_NUMBER_HAS_TOO_MANY_ARGS";

-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =

-         "ER_NAME_HAS_TOO_MANY_ARGS";

-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =

-         "ER_STRING_HAS_TOO_MANY_ARGS";

-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =

-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";

-  public static final String ER_TRANSLATE_TAKES_3_ARGS =

-         "ER_TRANSLATE_TAKES_3_ARGS";

-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =

-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";

-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =

-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";

-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";

-  public static final String ER_UNKNOWN_MATCH_OPERATION =

-         "ER_UNKNOWN_MATCH_OPERATION";

-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";

-  public static final String ER_CANT_CONVERT_TO_NUMBER =

-         "ER_CANT_CONVERT_TO_NUMBER";

-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =

-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";

-  public static final String ER_CANT_CONVERT_TO_NODELIST =

-         "ER_CANT_CONVERT_TO_NODELIST";

-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =

-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";

-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";

-  public static final String ER_EXPECTED_MATCH_PATTERN =

-         "ER_EXPECTED_MATCH_PATTERN";

-  public static final String ER_COULDNOT_GET_VAR_NAMED =

-         "ER_COULDNOT_GET_VAR_NAMED";

-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";

-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";

-  public static final String ER_EXPECTED_DOUBLE_QUOTE =

-         "ER_EXPECTED_DOUBLE_QUOTE";

-  public static final String ER_EXPECTED_SINGLE_QUOTE =

-         "ER_EXPECTED_SINGLE_QUOTE";

-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";

-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";

-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =

-         "ER_INCORRECT_PROGRAMMER_ASSERTION";

-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =

-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";

-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =

-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";

-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =

-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";

-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =

-         "ER_PREDICATE_ILLEGAL_SYNTAX";

-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";

-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";

-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =

-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";

-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =

-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";

-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =

-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";

-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =

-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";

-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =

-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";

-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";

-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =

-         "ER_ILLEGAL_VARIABLE_REFERENCE";

-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";

-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =

-         "ER_KEY_HAS_TOO_MANY_ARGS";

-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";

-  public static final String ER_COULDNOT_FIND_FUNCTION =

-         "ER_COULDNOT_FIND_FUNCTION";

-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";

-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =

-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";

-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =

-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";

-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =

-         "ER_SETDOMFACTORY_NOT_SUPPORTED";

-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";

-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";

-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";

-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =

-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";

-  public static final String ER_DTM_CANNOT_HANDLE_NODES =

-         "ER_DTM_CANNOT_HANDLE_NODES";

-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =

-         "ER_XERCES_CANNOT_HANDLE_NODES";

-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =

-         "ER_XERCES_PARSE_ERROR_DETAILS";

-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";

-  public static final String ER_INVALID_UTF16_SURROGATE =

-         "ER_INVALID_UTF16_SURROGATE";

-  public static final String ER_OIERROR = "ER_OIERROR";

-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";

-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";

- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =

-         "ER_FUNCTION_TOKEN_NOT_FOUND";

-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =

-         "ER_CANNOT_DEAL_XPATH_TYPE";

-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";

-  public static final String ER_NODESETDTM_NOT_MUTABLE =

-         "ER_NODESETDTM_NOT_MUTABLE";

-   /**  Variable not resolvable:   */

-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";

-   /** Null error handler  */

- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";

-   /**  Programmer's assertion: unknown opcode  */

-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =

-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";

-   /**  0 or 1   */

-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";

-   /**  rtf() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-   /**  fsb() not supported for XStringForChars   */

-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =

-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";

-   /**  Could not find variable with the name of   */

- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";

-   /**  XStringForChars can not take a string for an argument   */

- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =

-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";

-   /**  The FastStringBuffer argument can not be null   */

- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =

-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";

-   /**  2 or 3   */

-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";

-   /** Variable accessed before it is bound! */

-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =

-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";

-   /** XStringForFSB can not take a string for an argument! */

- public static final String ER_FSB_CANNOT_TAKE_STRING =

-         "ER_FSB_CANNOT_TAKE_STRING";

-   /** Error! Setting the root of a walker to null! */

-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =

-         "ER_SETTING_WALKER_ROOT_TO_NULL";

-   /** This NodeSetDTM can not iterate to a previous node! */

-  public static final String ER_NODESETDTM_CANNOT_ITERATE =

-         "ER_NODESETDTM_CANNOT_ITERATE";

-  /** This NodeSet can not iterate to a previous node! */

- public static final String ER_NODESET_CANNOT_ITERATE =

-         "ER_NODESET_CANNOT_ITERATE";

-  /** This NodeSetDTM can not do indexing or counting functions! */

-  public static final String ER_NODESETDTM_CANNOT_INDEX =

-         "ER_NODESETDTM_CANNOT_INDEX";

-  /** This NodeSet can not do indexing or counting functions! */

-  public static final String ER_NODESET_CANNOT_INDEX =

-         "ER_NODESET_CANNOT_INDEX";

-  /** Can not call setShouldCacheNodes after nextNode has been called! */

-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =

-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";

-  /** {0} only allows {1} arguments */

- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";

-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */

-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";

-  /** Problem with RelativeLocationPath */

-  public static final String ER_EXPECTED_REL_LOC_PATH =

-         "ER_EXPECTED_REL_LOC_PATH";

-  /** Problem with LocationPath */

-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";

-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =

-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";

-  /** Problem with Step */

-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";

-  /** Problem with NodeTest */

-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";

-  /** Expected step pattern */

-  public static final String ER_EXPECTED_STEP_PATTERN =

-        "ER_EXPECTED_STEP_PATTERN";

-  /** Expected relative path pattern */

-  public static final String ER_EXPECTED_REL_PATH_PATTERN =

-         "ER_EXPECTED_REL_PATH_PATTERN";

-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */

-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =

-         "ER_CANT_CONVERT_TO_BOOLEAN";

-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */

-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =

-         "ER_CANT_CONVERT_TO_SINGLENODE";

-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */

-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =

-         "ER_CANT_GET_SNAPSHOT_LENGTH";

-  /** Field ER_NON_ITERATOR_TYPE                */

-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";

-  /** Field ER_DOC_MUTATED                      */

-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";

-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";

-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";

-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";

-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";

-  public static final String ER_CANT_CONVERT_TO_STRING =

-         "ER_CANT_CONVERT_TO_STRING";

-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";

-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";

-  /* Note to translators:  The XPath expression cannot be evaluated with respect

-   * to this type of node.

-   */

-  /** Field ER_WRONG_NODETYPE                    */

-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";

-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";

-

-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation

-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";

-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";

-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";

-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";

-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";

-

-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";

-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";

-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";

-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";

-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";

-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";

-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";

-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";

-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation

-

-  public static final String WG_LOCALE_NAME_NOT_HANDLED =

-         "WG_LOCALE_NAME_NOT_HANDLED";

-  public static final String WG_PROPERTY_NOT_SUPPORTED =

-         "WG_PROPERTY_NOT_SUPPORTED";

-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =

-         "WG_DONT_DO_ANYTHING_WITH_NS";

-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";

-  public static final String WG_QUO_NO_LONGER_DEFINED =

-         "WG_QUO_NO_LONGER_DEFINED";

-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =

-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";

-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =

-         "WG_FUNCTION_TOKEN_NOT_FOUND";

-  public static final String WG_COULDNOT_FIND_FUNCTION =

-         "WG_COULDNOT_FIND_FUNCTION";

-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";

-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =

-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";

-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =

-         "WG_ILLEGAL_VARIABLE_REFERENCE";

-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";

-

-  /**  detach() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-  /**  num() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-  /**  xstr() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-  /**  str() not supported by XRTreeFragSelectWrapper   */

-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =

-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";

-

-  // Error messages...

-

-

-  /**

-   * Get the association list.

-   *

-   * @return The association list.

-   */

-  public Object[][] getContents()

-  {

-    return new Object[][]{

-

-  { "ERROR0000" , "{0}" },

-

-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "\u5339\u914d\u6a21\u5f0f\u4e2d\u4e0d\u5141\u8bb8\u6709 current() \u51fd\u6570\uff01" },

-

-  { ER_CURRENT_TAKES_NO_ARGS, "current() \u51fd\u6570\u4e0d\u63a5\u53d7\u53c2\u6570\uff01" },

-

-  { ER_DOCUMENT_REPLACED,

-      "document() \u51fd\u6570\u5b9e\u73b0\u5df2\u88ab org.apache.xalan.xslt.FuncDocument \u66ff\u6362\uff01"},

-

-  { ER_CONTEXT_HAS_NO_OWNERDOC,

-      "\u4e0a\u4e0b\u6587\u6ca1\u6709\u6240\u6709\u8005\u6587\u6863\uff01"},

-

-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,

-      "local-name() \u7684\u53c2\u6570\u592a\u591a\u3002"},

-

-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,

-      "namespace-uri() \u7684\u53c2\u6570\u592a\u591a\u3002"},

-

-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,

-      "normalize-space() \u7684\u53c2\u6570\u592a\u591a\u3002"},

-

-  { ER_NUMBER_HAS_TOO_MANY_ARGS,

-      "number() \u7684\u53c2\u6570\u592a\u591a\u3002"},

-

-  { ER_NAME_HAS_TOO_MANY_ARGS,

-     "name() \u7684\u53c2\u6570\u592a\u591a\u3002"},

-

-  { ER_STRING_HAS_TOO_MANY_ARGS,

-      "string() \u7684\u53c2\u6570\u592a\u591a\u3002"},

-

-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,

-      "string-length() \u7684\u53c2\u6570\u592a\u591a\u3002"},

-

-  { ER_TRANSLATE_TAKES_3_ARGS,

-      "translate() \u51fd\u6570\u6709\u4e09\u4e2a\u53c2\u6570\uff01"},

-

-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,

-      "unparsed-entity-uri \u51fd\u6570\u5e94\u6709\u4e00\u4e2a\u53c2\u6570\uff01"},

-

-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,

-      "\u540d\u79f0\u7a7a\u95f4\u8f74\u5c1a\u672a\u5b9e\u73b0\uff01"},

-

-  { ER_UNKNOWN_AXIS,

-     "\u672a\u77e5\u8f74\uff1a{0}"},

-

-  { ER_UNKNOWN_MATCH_OPERATION,

-     "\u672a\u77e5\u7684\u5339\u914d\u64cd\u4f5c\uff01"},

-

-  { ER_INCORRECT_ARG_LENGTH,

-      "processing-instruction() \u8282\u70b9\u6d4b\u8bd5\u7684\u53c2\u6570\u957f\u5ea6\u4e0d\u6b63\u786e\uff01"},

-

-  { ER_CANT_CONVERT_TO_NUMBER,

-      "\u65e0\u6cd5\u5c06 {0} \u8f6c\u6362\u6210\u6570\u5b57"},

-

-  { ER_CANT_CONVERT_TO_NODELIST,

-      "\u65e0\u6cd5\u5c06 {0} \u8f6c\u6362\u6210 NodeList\uff01"},

-

-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,

-      "\u65e0\u6cd5\u5c06 {0} \u8f6c\u6362\u6210 NodeSetDTM\uff01"},

-

-  { ER_CANT_CONVERT_TO_TYPE,

-      "\u65e0\u6cd5\u5c06 {0} \u8f6c\u6362\u6210 type#{1}"},

-

-  { ER_EXPECTED_MATCH_PATTERN,

-      "getMatchScore \u4e2d\u51fa\u73b0\u671f\u671b\u7684\u5339\u914d\u6a21\u5f0f\uff01"},

-

-  { ER_COULDNOT_GET_VAR_NAMED,

-      "\u65e0\u6cd5\u83b7\u53d6\u540d\u4e3a {0} \u7684\u53d8\u91cf"},

-

-  { ER_UNKNOWN_OPCODE,

-     "\u9519\u8bef\uff01\u672a\u77e5\u64cd\u4f5c\u7801\uff1a{0}"},

-

-  { ER_EXTRA_ILLEGAL_TOKENS,

-     "\u989d\u5916\u7684\u975e\u6cd5\u6807\u8bb0\uff1a{0}"},

-

-

-  { ER_EXPECTED_DOUBLE_QUOTE,

-      "\u9519\u8bef\u5f15\u7528\u7684\u6587\u5b57... \u5e94\u8be5\u4e3a\u53cc\u5f15\u53f7\uff01"},

-

-  { ER_EXPECTED_SINGLE_QUOTE,

-      "\u9519\u8bef\u5f15\u7528\u7684\u6587\u5b57... \u5e94\u8be5\u4e3a\u5355\u5f15\u53f7\uff01"},

-

-  { ER_EMPTY_EXPRESSION,

-     "\u7a7a\u8868\u8fbe\u5f0f\uff01"},

-

-  { ER_EXPECTED_BUT_FOUND,

-     "\u5e94\u8be5\u4e3a {0}\uff0c\u4f46\u53d1\u73b0\u7684\u662f\uff1a{1}"},

-

-  { ER_INCORRECT_PROGRAMMER_ASSERTION,

-      "\u7a0b\u5e8f\u5458\u7684\u65ad\u8a00\u4e0d\u6b63\u786e\uff01\uff0d {0}"},

-

-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,

-      "19990709 XPath \u8349\u7a3f\u4e2d\uff0cboolean(...) \u53c2\u6570\u4e0d\u518d\u53ef\u9009\u3002"},

-

-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,

-      "\u5df2\u627e\u5230\u201c,\u201d\uff0c\u4f46\u524d\u9762\u6ca1\u6709\u81ea\u53d8\u91cf\uff01"},

-

-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,

-      "\u5df2\u627e\u5230\u201c,\u201d\uff0c\u4f46\u540e\u9762\u6ca1\u6709\u8ddf\u81ea\u53d8\u91cf\uff01"},

-

-  { ER_PREDICATE_ILLEGAL_SYNTAX,

-      "\u201c..[predicate]\u201d\u6216\u201c.[predicate]\u201d\u662f\u975e\u6cd5\u7684\u8bed\u6cd5\u3002\u8bf7\u6539\u4e3a\u4f7f\u7528\u201cself::node()[predicate]\u201d\u3002"},

-

-  { ER_ILLEGAL_AXIS_NAME,

-     "\u975e\u6cd5\u7684\u8f74\u540d\u79f0\uff1a{0}"},

-

-  { ER_UNKNOWN_NODETYPE,

-     "\u672a\u77e5\u8282\u70b9\u7c7b\u578b\uff1a{0}"},

-

-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,

-      "\u9700\u8981\u5f15\u7528\u6a21\u5f0f\u6587\u5b57\uff08{0}\uff09\uff01"},

-

-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,

-      "{0} \u65e0\u6cd5\u683c\u5f0f\u5316\u4e3a\u6570\u5b57\uff01"},

-

-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,

-      "\u65e0\u6cd5\u521b\u5efa XML TransformerFactory \u8054\u7cfb\uff1a{0}"},

-

-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,

-      "\u9519\u8bef\uff01\u627e\u4e0d\u5230 xpath \u9009\u62e9\u8868\u8fbe\u5f0f\uff08-select\uff09\u3002"},

-

-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,

-      "\u9519\u8bef\uff01\u5728 OP_LOCATIONPATH \u4e4b\u540e\u627e\u4e0d\u5230 ENDOP"},

-

-  { ER_ERROR_OCCURED,

-     "\u51fa\u73b0\u9519\u8bef\uff01"},

-

-  { ER_ILLEGAL_VARIABLE_REFERENCE,

-      "VariableReference \u8d4b\u7ed9\u4e86\u4e0a\u4e0b\u6587\u5916\u7684\u53d8\u91cf\u6216\u6ca1\u6709\u5b9a\u4e49\u7684\u53d8\u91cf\uff01\u540d\u79f0 = {0}"},

-

-  { ER_AXES_NOT_ALLOWED,

-      "\u5728\u5339\u914d\u6a21\u5f0f\u4e2d\u53ea\u5141\u8bb8\u51fa\u73b0 child:: \u548c attribute:: \u8f74\uff01\u8fdd\u53cd\u7684\u8f74 = {0}"},

-

-  { ER_KEY_HAS_TOO_MANY_ARGS,

-      "key() \u7684\u53c2\u6570\u4e2a\u6570\u4e0d\u6b63\u786e\u3002"},

-

-  { ER_COUNT_TAKES_1_ARG,

-      "count \u51fd\u6570\u5e94\u8be5\u6709\u4e00\u4e2a\u53c2\u6570\uff01"},

-

-  { ER_COULDNOT_FIND_FUNCTION,

-     "\u627e\u4e0d\u5230\u51fd\u6570\uff1a{0}"},

-

-  { ER_UNSUPPORTED_ENCODING,

-     "\u4e0d\u53d7\u652f\u6301\u7684\u7f16\u7801\uff1a{0}"},

-

-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,

-      "getNextSibling \u8fc7\u7a0b\u4e2d\uff0cDTM \u4e2d\u51fa\u73b0\u95ee\u9898...\u6b63\u5728\u5c1d\u8bd5\u6062\u590d"},

-

-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,

-      "\u7a0b\u5e8f\u5458\u9519\u8bef\uff1a\u4e0d\u53ef\u5411 EmptyNodeList \u5199\u5165\u5185\u5bb9\u3002"},

-

-  { ER_SETDOMFACTORY_NOT_SUPPORTED,

-      "XPathContext \u4e0d\u652f\u6301 setDOMFactory\uff01"},

-

-  { ER_PREFIX_MUST_RESOLVE,

-      "\u524d\u7f00\u5fc5\u987b\u89e3\u6790\u4e3a\u540d\u79f0\u7a7a\u95f4\uff1a{0}"},

-

-  { ER_PARSE_NOT_SUPPORTED,

-      "XPathContext \u4e2d\u4e0d\u652f\u6301 parse (InputSource source)\uff01\u65e0\u6cd5\u6253\u5f00 {0}"},

-

-  { ER_SAX_API_NOT_HANDLED,

-      "DTM \u4e0d\u5904\u7406 SAX API characters(char ch[]...\uff01"},

-

-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,

-      "DTM \u4e0d\u5904\u7406 ignorableWhitespace(char ch[]...\uff01"},

-

-  { ER_DTM_CANNOT_HANDLE_NODES,

-      "DTMLiaison \u4e0d\u80fd\u5904\u7406\u7c7b\u578b {0} \u7684\u8282\u70b9"},

-

-  { ER_XERCES_CANNOT_HANDLE_NODES,

-      "DOM2Helper \u4e0d\u80fd\u5904\u7406\u7c7b\u578b {0} \u7684\u8282\u70b9"},

-

-  { ER_XERCES_PARSE_ERROR_DETAILS,

-      "DOM2Helper.parse \u9519\u8bef\uff1aSystemID \uff0d \u7b2c {0} \u884c \uff0d {1}"},

-

-  { ER_XERCES_PARSE_ERROR,

-     "DOM2Helper.parse \u9519\u8bef"},

-

-  { ER_INVALID_UTF16_SURROGATE,

-      "\u68c0\u6d4b\u5230\u65e0\u6548\u7684 UTF-16 \u8d85\u5927\u5b57\u7b26\u96c6\uff1a{0}\uff1f"},

-

-  { ER_OIERROR,

-     "IO \u9519\u8bef"},

-

-  { ER_CANNOT_CREATE_URL,

-     "\u65e0\u6cd5\u4e3a {0} \u521b\u5efa URL"},

-

-  { ER_XPATH_READOBJECT,

-     "\u5728 XPath.readObject \u4e2d\uff1a{0}"},

-

-  { ER_FUNCTION_TOKEN_NOT_FOUND,

-      "\u627e\u4e0d\u5230\u51fd\u6570\u6807\u8bb0\u3002"},

-

-  { ER_CANNOT_DEAL_XPATH_TYPE,

-       "\u65e0\u6cd5\u5904\u7406 XPath \u7c7b\u578b\uff1a{0}"},

-

-  { ER_NODESET_NOT_MUTABLE,

-       "\u6b64 NodeSet \u662f\u4e0d\u6613\u53d8\u7684"},

-

-  { ER_NODESETDTM_NOT_MUTABLE,

-       "\u6b64 NodeSetDTM \u662f\u4e0d\u6613\u53d8\u7684"},

-

-  { ER_VAR_NOT_RESOLVABLE,

-        "\u53d8\u91cf\u4e0d\u53ef\u89e3\u6790\uff1a{0}"},

-

-  { ER_NULL_ERROR_HANDLER,

-        "\u9519\u8bef\u5904\u7406\u7a0b\u5e8f\u4e3a\u7a7a"},

-

-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,

-       "\u7a0b\u5e8f\u5458\u65ad\u8a00\uff1a\u672a\u77e5\u64cd\u4f5c\u7801\uff1a{0}"},

-

-  { ER_ZERO_OR_ONE,

-       "0 \u6216 1"},

-

-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-       "XRTreeFragSelectWrapper \u4e0d\u652f\u6301 rtf()"},

-

-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-       "XRTreeFragSelectWrapper \u4e0d\u652f\u6301 asNodeIterator()"},

-

-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-                "XRTreeFragSelectWrapper \u4e0d\u652f\u6301 detach()"},

-

-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-                "XRTreeFragSelectWrapper \u4e0d\u652f\u6301 num()"},

-

-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-                "XRTreeFragSelectWrapper \u4e0d\u652f\u6301 xstr()"},

-

-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,

-                "XRTreeFragSelectWrapper \u4e0d\u652f\u6301 str()"},

-

-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,

-       "XStringForChars \u4e0d\u652f\u6301 fsb()"},

-

-  { ER_COULD_NOT_FIND_VAR,

-      "\u627e\u4e0d\u5230\u540d\u4e3a {0} \u7684\u53d8\u91cf"},

-

-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,

-      "XStringForChars \u65e0\u6cd5\u5c06\u5b57\u7b26\u4e32\u4f5c\u4e3a\u81ea\u53d8\u91cf"},

-

-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,

-      "FastStringBuffer \u81ea\u53d8\u91cf\u4e0d\u80fd\u4e3a\u7a7a"},

-

-  { ER_TWO_OR_THREE,

-       "2 \u6216 3"},

-

-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,

-       "\u5728\u7ed1\u5b9a\u524d\u5df2\u8bbf\u95ee\u53d8\u91cf\uff01"},

-

-  { ER_FSB_CANNOT_TAKE_STRING,

-       "XStringForFSB \u65e0\u6cd5\u5c06\u5b57\u7b26\u4e32\u4f5c\u4e3a\u81ea\u53d8\u91cf\uff01"},

-

-  { ER_SETTING_WALKER_ROOT_TO_NULL,

-       "\n \uff01\uff01\uff01\uff01\u9519\u8bef\uff01\u6b63\u5728\u5c06\u6b65\u884c\u7a0b\u5e8f\u7684\u6839\u8bbe\u7f6e\u4e3a\u7a7a\uff01\uff01\uff01"},

-

-  { ER_NODESETDTM_CANNOT_ITERATE,

-       "\u6b64 NodeSetDTM \u65e0\u6cd5\u8fed\u4ee3\u5230\u5148\u524d\u7684\u8282\u70b9\uff01"},

-

-  { ER_NODESET_CANNOT_ITERATE,

-       "\u6b64 NodeSet \u65e0\u6cd5\u8fed\u4ee3\u5230\u5148\u524d\u7684\u8282\u70b9\uff01"},

-

-  { ER_NODESETDTM_CANNOT_INDEX,

-       "\u6b64 NodeSetDTM \u65e0\u6cd5\u6267\u884c\u7d22\u5f15\u6216\u8ba1\u6570\u529f\u80fd\uff01"},

-

-  { ER_NODESET_CANNOT_INDEX,

-       "\u6b64 NodeSet \u65e0\u6cd5\u6267\u884c\u7d22\u5f15\u6216\u8ba1\u6570\u529f\u80fd\uff01"},

-

-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,

-       "\u8c03\u7528 nextNode \u540e\u4e0d\u80fd\u8c03\u7528 setShouldCacheNode\uff01"},

-

-  { ER_ONLY_ALLOWS,

-       "{0} \u4ec5\u5141\u8bb8 {1} \u4e2a\u81ea\u53d8\u91cf"},

-

-  { ER_UNKNOWN_STEP,

-       "\u7a0b\u5e8f\u5458\u5728 getNextStepPos \u4e2d\u7684\u65ad\u8a00\uff1a\u672a\u77e5\u7684 stepType\uff1a{0}"},

-

-  //Note to translators:  A relative location path is a form of XPath expression.

-  // The message indicates that such an expression was expected following the

-  // characters '/' or '//', but was not found.

-  { ER_EXPECTED_REL_LOC_PATH,

-      "\u5728\u201c/\u201d\u6216\u201c//\u201d\u6807\u8bb0\u540e\u5e94\u8be5\u51fa\u73b0\u76f8\u5bf9\u4f4d\u7f6e\u8def\u5f84\u3002"},

-

-  // Note to translators:  A location path is a form of XPath expression.

-  // The message indicates that syntactically such an expression was expected,but

-  // the characters specified by the substitution text were encountered instead.

-  { ER_EXPECTED_LOC_PATH,

-       "\u5e94\u8be5\u51fa\u73b0\u4f4d\u7f6e\u8def\u5f84\uff0c\u4f46\u9047\u5230\u4ee5\u4e0b\u6807\u8bb0\u003a{0}"},

-

-  // Note to translators:  A location path is a form of XPath expression.

-  // The message indicates that syntactically such a subexpression was expected,

-  // but no more characters were found in the expression.

-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,

-       "\u5e94\u8be5\u51fa\u73b0\u4f4d\u7f6e\u8def\u5f84\uff0c\u4f46\u53d1\u73b0\u7684\u5374\u662f XPath \u8868\u8fbe\u5f0f\u7684\u7ed3\u5c3e\u3002"},

-

-  // Note to translators:  A location step is part of an XPath expression.

-  // The message indicates that syntactically such an expression was expected

-  // following the specified characters.

-  { ER_EXPECTED_LOC_STEP,

-       "\u201c/\u201d\u6216\u201c//\u201d\u6807\u8bb0\u540e\u5e94\u8be5\u51fa\u73b0\u4f4d\u7f6e\u6b65\u9aa4\u3002"},

-

-  // Note to translators:  A node test is part of an XPath expression that is

-  // used to test for particular kinds of nodes.  In this case, a node test that

-  // consists of an NCName followed by a colon and an asterisk or that consists

-  // of a QName was expected, but was not found.

-  { ER_EXPECTED_NODE_TEST,

-       "\u5e94\u8be5\u51fa\u73b0\u4e0e NCName:* \u6216 QName \u5339\u914d\u7684\u8282\u70b9\u6d4b\u8bd5\u3002"},

-

-  // Note to translators:  A step pattern is part of an XPath expression.

-  // The message indicates that syntactically such an expression was expected,

-  // but the specified character was found in the expression instead.

-  { ER_EXPECTED_STEP_PATTERN,

-       "\u5e94\u8be5\u51fa\u73b0\u6b65\u9aa4\u6a21\u5f0f\uff0c\u4f46\u9047\u5230\u4e86\u201c/\u201d\u3002"},

-

-  // Note to translators: A relative path pattern is part of an XPath expression.

-  // The message indicates that syntactically such an expression was expected,

-  // but was not found.

-  { ER_EXPECTED_REL_PATH_PATTERN,

-       "\u5e94\u8be5\u51fa\u73b0\u76f8\u5bf9\u8def\u5f84\u6a21\u5f0f\u3002"},

-

-  // Note to translators:  The substitution text is the name of a data type.  The

-  // message indicates that a value of a particular type could not be converted

-  // to a value of type boolean.

-  { ER_CANT_CONVERT_TO_BOOLEAN,

-       "XPath \u8868\u8fbe\u5f0f\u201c{0}\u201d\u7684 XPathResult \u5177\u6709 XPathResultType {1}\uff0c\u8be5\u7c7b\u578b\u4e0d\u80fd\u8f6c\u6362\u4e3a\u5e03\u5c14\u578b\u3002"},

-

-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and

-  // FIRST_ORDERED_NODE_TYPE.

-  { ER_CANT_CONVERT_TO_SINGLENODE,

-       "XPath \u8868\u8fbe\u5f0f\u201c{0}\u201d\u7684 XPathResult \u5177\u6709 XPathResultType {1}\uff0c\u8be5\u7c7b\u578b\u4e0d\u80fd\u8f6c\u6362\u4e3a\u5355\u4e00\u8282\u70b9\u3002getSingleNodeValue \u65b9\u6cd5\u4ec5\u9002\u7528\u4e8e\u7c7b\u578b ANY_UNORDERED_NODE_TYPE \u548c FIRST_ORDERED_NODE_TYPE\u3002"},

-

-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and

-  // ORDERED_NODE_SNAPSHOT_TYPE.

-  { ER_CANT_GET_SNAPSHOT_LENGTH,

-       "\u4e0d\u80fd\u5bf9 XPath \u8868\u8fbe\u5f0f\u201c{0}\u201d\u7684 XPathResult \u8c03\u7528 getSnapshotLength \u65b9\u6cd5\uff0c\u56e0\u4e3a\u8be5\u8868\u8fbe\u5f0f\u7684 XPathResult \u7684 XPathResultType \u4e3a {1}\u3002\u6b64\u65b9\u6cd5\u4ec5\u9002\u7528\u4e8e\u7c7b\u578b UNORDERED_NODE_SNAPSHOT_TYPE \u548c ORDERED_NODE_SNAPSHOT_TYPE\u3002"},

-

-  { ER_NON_ITERATOR_TYPE,

-       "\u4e0d\u80fd\u5bf9 XPath \u8868\u8fbe\u5f0f\u201c{0}\u201d\u7684 XPathResult \u8c03\u7528 iterateNext \u65b9\u6cd5\uff0c\u56e0\u4e3a\u8be5\u8868\u8fbe\u5f0f\u7684 XPathResult \u7684 XPathResultType \u4e3a {1}\u3002\u6b64\u65b9\u6cd5\u4ec5\u9002\u7528\u4e8e\u7c7b\u578b UNORDERED_NODE_ITERATOR_TYPE \u548c ORDERED_NODE_ITERATOR_TYPE\u3002"},

-

-  // Note to translators: This message indicates that the document being operated

-  // upon changed, so the iterator object that was being used to traverse the

-  // document has now become invalid.

-  { ER_DOC_MUTATED,

-       "\u8fd4\u56de\u7ed3\u679c\u540e\u6587\u6863\u53d1\u751f\u53d8\u5316\u3002\u8fed\u4ee3\u5668\u65e0\u6548\u3002"},

-

-  { ER_INVALID_XPATH_TYPE,

-       "\u65e0\u6548\u7684 XPath \u7c7b\u578b\u81ea\u53d8\u91cf\uff1a{0}"},

-

-  { ER_EMPTY_XPATH_RESULT,

-       "\u7a7a\u7684 XPath \u7ed3\u679c\u5bf9\u8c61"},

-

-  { ER_INCOMPATIBLE_TYPES,

-       "XPath \u8868\u8fbe\u5f0f\u201c{0}\u201d\u7684 XPathResult \u5177\u6709 XPathResultType {1}\uff0c\u8be5\u7c7b\u578b\u4e0d\u80fd\u5f3a\u5236\u8f6c\u6362\u4e3a\u6307\u5b9a\u7684 XPathResultType {2}\u3002"},

-

-  { ER_NULL_RESOLVER,

-       "\u65e0\u6cd5\u4f7f\u7528\u7a7a\u7684\u524d\u7f00\u89e3\u6790\u5668\u89e3\u6790\u524d\u7f00\u3002"},

-

-  // Note to translators:  The substitution text is the name of a data type.  The

-  // message indicates that a value of a particular type could not be converted

-  // to a value of type string.

-  { ER_CANT_CONVERT_TO_STRING,

-       "XPath \u8868\u8fbe\u5f0f\u201c{0}\u201d\u7684 XPathResult \u5177\u6709 XPathResultType {1}\uff0c\u8be5\u7c7b\u578b\u4e0d\u80fd\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u3002"},

-

-  // Note to translators: Do not translate snapshotItem,

-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.

-  { ER_NON_SNAPSHOT_TYPE,

-       "\u4e0d\u80fd\u5bf9 XPath \u8868\u8fbe\u5f0f\u201c{0}\u201d\u7684 XPathResult \u8c03\u7528\u65b9\u6cd5 snapshotItem\uff0c\u56e0\u4e3a\u8be5\u8868\u8fbe\u5f0f\u7684 XPathResult \u7684 XPathResultType \u4e3a {1}\u3002\u6b64\u65b9\u6cd5\u4ec5\u9002\u7528\u4e8e\u7c7b\u578b UNORDERED_NODE_SNAPSHOT_TYPE \u548c ORDERED_NODE_SNAPSHOT_TYPE\u3002"},

-

-  // Note to translators:  XPathEvaluator is a Java interface name.  An

-  // XPathEvaluator is created with respect to a particular XML document, and in

-  // this case the expression represented by this object was being evaluated with

-  // respect to a context node from a different document.

-  { ER_WRONG_DOCUMENT,

-       "\u4e0a\u4e0b\u6587\u8282\u70b9\u4e0d\u5c5e\u4e8e\u7ed1\u5b9a\u5230\u6b64 XPathEvaluator \u7684\u6587\u6863\u3002"},

-

-  // Note to translators:  The XPath expression cannot be evaluated with respect

-  // to this type of node.

-  { ER_WRONG_NODETYPE,

-       "\u4e0d\u652f\u6301\u4e0a\u4e0b\u6587\u8282\u70b9\u7c7b\u578b\u3002"},

-

-  { ER_XPATH_ERROR,

-       "XPath \u4e2d\u51fa\u73b0\u672a\u77e5\u9519\u8bef"},

-

-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,

-                "XPath \u8868\u8fbe\u5f0f\u201c{0}\u201d\u7684 XPathResult \u5177\u6709 XPathResultType {1}\uff0c\u8be5\u7c7b\u578b\u4e0d\u80fd\u8f6c\u6362\u4e3a\u6570\u5b57\u3002"},

-

-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation

-

-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */

-

-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,

-       "\u6269\u5c55\u51fd\u6570\uff1a\u5f53 XMLConstants.FEATURE_SECURE_PROCESSING \u529f\u80fd\u8bbe\u7f6e\u4e3a true \u65f6\uff0c\u65e0\u6cd5\u8c03\u7528\u201c{0}\u201d\u3002"},

-

-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */

-

-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,

-       "\u53d8\u91cf {0} \u7684 resolveVariable \u6b63\u5728\u8fd4\u56de\u7a7a\u503c"},

-

-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */

-

-  { ER_UNSUPPORTED_RETURN_TYPE,

-       "\u4e0d\u53d7\u652f\u6301\u7684\u8fd4\u56de\u7c7b\u578b\uff1a{0}"},

-

-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */

-

-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,

-       "\u6e90\u548c\uff0f\u6216\u8fd4\u56de\u7c7b\u578b\u4e0d\u80fd\u4e3a\u7a7a"},

-

-  /** Field ER_ARG_CANNOT_BE_NULL                       */

-

-  { ER_ARG_CANNOT_BE_NULL,

-       "{0} \u81ea\u53d8\u91cf\u4e0d\u80fd\u4e3a\u7a7a"},

-

-  /** Field ER_OBJECT_MODEL_NULL                       */

-

-  { ER_OBJECT_MODEL_NULL,

-       "{0}#isObjectModelSupported( String objectModel ) \u4e0d\u80fd\u88ab\u8c03\u7528\uff08\u5982\u679c objectModel == null\uff09"},

-

-  /** Field ER_OBJECT_MODEL_EMPTY                       */

-

-  { ER_OBJECT_MODEL_EMPTY,

-       "{0}#isObjectModelSupported( String objectModel ) \u4e0d\u80fd\u88ab\u8c03\u7528\uff08\u5982\u679c objectModel == \"\"\uff09"},

-

-  /** Field ER_OBJECT_MODEL_EMPTY                       */

-

-  { ER_FEATURE_NAME_NULL,

-       "\u6b63\u5728\u5c1d\u8bd5\u8bbe\u7f6e\u540d\u79f0\u4e3a\u7a7a\u7684\u7279\u5f81\uff1a{0}#setFeature( null, {1})"},

-

-  /** Field ER_FEATURE_UNKNOWN                       */

-

-  { ER_FEATURE_UNKNOWN,

-       "\u6b63\u5728\u5c1d\u8bd5\u8bbe\u7f6e\u672a\u77e5\u7279\u5f81\u201c{0}\u201d\uff1a{1}#setFeature({0},{2})"},

-

-  /** Field ER_GETTING_NULL_FEATURE                       */

-

-  { ER_GETTING_NULL_FEATURE,

-       "\u6b63\u5728\u5c1d\u8bd5\u83b7\u53d6\u540d\u79f0\u4e3a\u7a7a\u7684\u7279\u5f81\uff1a{0}#getFeature(null)"},

-

-  /** Field ER_GETTING_NULL_FEATURE                       */

-

-  { ER_GETTING_UNKNOWN_FEATURE,

-       "\u6b63\u5728\u5c1d\u8bd5\u83b7\u53d6\u672a\u77e5\u7279\u5f81\u201c{0}\u201d\uff1a{1}#getFeature({0})"},

-

-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */

-

-  { ER_NULL_XPATH_FUNCTION_RESOLVER,

-       "\u6b63\u5728\u8bd5\u56fe\u8bbe\u7f6e\u7a7a\u7684 XPathFunctionResolver\uff1a{0}#setXPathFunctionResolver(null)"},

-

-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */

-

-  { ER_NULL_XPATH_VARIABLE_RESOLVER,

-       "\u6b63\u5728\u8bd5\u56fe\u8bbe\u7f6e\u7a7a\u7684 XPathVariableResolver\uff1a{0}#setXPathVariableResolver(null)"},

-

-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation

-

-  // Warnings...

-

-  { WG_LOCALE_NAME_NOT_HANDLED,

-      "\u5728\u672a\u5904\u7406\u8fc7\u7684 format-number \u51fd\u6570\u4e2d\u51fa\u73b0\u8bed\u8a00\u73af\u5883\u540d\uff01"},

-

-  { WG_PROPERTY_NOT_SUPPORTED,

-      "\u4e0d\u652f\u6301 XSL \u5c5e\u6027\uff1a{0}"},

-

-  { WG_DONT_DO_ANYTHING_WITH_NS,

-      "\u5f53\u524d\u4e0d\u8981\u5728\u5c5e\u6027 {1} \u4e2d\u5bf9\u540d\u79f0\u7a7a\u95f4 {0} \u8fdb\u884c\u4efb\u4f55\u5904\u7406"},

-

-  { WG_SECURITY_EXCEPTION,

-      "\u5728\u8bd5\u56fe\u8bbf\u95ee XSL \u7cfb\u7edf\u5c5e\u6027 {0} \u65f6\u53d1\u751f SecurityException"},

-

-  { WG_QUO_NO_LONGER_DEFINED,

-      "XPath \u4e2d\u4e0d\u518d\u5b9a\u4e49\u65e7\u8bed\u6cd5\uff1aquo(...)\u3002"},

-

-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,

-      "XPath \u9700\u8981\u4e00\u4e2a\u6d3e\u751f\u7684\u5bf9\u8c61\u4ee5\u5b9e\u73b0 nodeTest\uff01"},

-

-  { WG_FUNCTION_TOKEN_NOT_FOUND,

-      "\u627e\u4e0d\u5230\u51fd\u6570\u6807\u8bb0\u3002"},

-

-  { WG_COULDNOT_FIND_FUNCTION,

-      "\u627e\u4e0d\u5230\u51fd\u6570\uff1a{0}"},

-

-  { WG_CANNOT_MAKE_URL_FROM,

-      "\u65e0\u6cd5\u4ece {0} \u751f\u6210 URL"},

-

-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,

-      "DTM \u89e3\u6790\u5668\u4e0d\u652f\u6301 -E \u9009\u9879"},

-

-  { WG_ILLEGAL_VARIABLE_REFERENCE,

-      "VariableReference \u8d4b\u7ed9\u4e86\u4e0a\u4e0b\u6587\u5916\u7684\u53d8\u91cf\u6216\u6ca1\u6709\u5b9a\u4e49\u7684\u53d8\u91cf\uff01\u540d\u79f0 = {0}"},

-

-  { WG_UNSUPPORTED_ENCODING,

-     "\u4e0d\u53d7\u652f\u6301\u7684\u7f16\u7801\uff1a{0}"},

-

-

-

-  // Other miscellaneous text used inside the code...

-  { "ui_language", "zh"},

-  { "help_language", "zh"},

-  { "language", "zh"},

-  { "BAD_CODE", "createMessage \u7684\u53c2\u6570\u8d85\u51fa\u8303\u56f4"},

-  { "FORMAT_FAILED", "\u5728 messageFormat \u8c03\u7528\u8fc7\u7a0b\u4e2d\u629b\u51fa\u4e86\u5f02\u5e38"},

-  { "version", ">>>>>>> Xalan \u7248\u672c"},

-  { "version2", "<<<<<<<"},

-  { "yes", "\u662f"},

-  { "line", "\u884c\u53f7"},

-  { "column", "\u5217\u53f7"},

-  { "xsldone", "XSLProcessor\uff1a\u5b8c\u6210"},

-  { "xpath_option", "xpath \u9009\u9879\uff1a"},

-  { "optionIN", "[-in inputXMLURL]"},

-  { "optionSelect", "[-select xpath \u8868\u8fbe\u5f0f]"},

-  { "optionMatch", "[-match \u5339\u914d\u6a21\u5f0f\uff08\u7528\u4e8e\u5339\u914d\u8bca\u65ad\uff09]"},

-  { "optionAnyExpr", "\u6216\u8005\u4ec5\u4e00\u4e2a xpath \u8868\u8fbe\u5f0f\u5c31\u5c06\u5b8c\u6210\u4e00\u4e2a\u8bca\u65ad\u8f6c\u50a8"},

-  { "noParsermsg1", "XSL \u5904\u7406\u4e0d\u6210\u529f\u3002"},

-  { "noParsermsg2", "** \u627e\u4e0d\u5230\u89e3\u6790\u5668 **"},

-  { "noParsermsg3", "\u8bf7\u68c0\u67e5\u60a8\u7684\u7c7b\u8def\u5f84\u3002"},

-  { "noParsermsg4", "\u5982\u679c\u6ca1\u6709 IBM \u7684 XML Parser for Java\uff0c\u60a8\u53ef\u4ee5\u4ece\u4ee5\u4e0b\u4f4d\u7f6e\u4e0b\u8f7d\u5b83\uff1a"},

-  { "noParsermsg5", "IBM \u7684 AlphaWorks\uff1ahttp://www.alphaworks.ibm.com/formula/xml"},

-  { "gtone", ">1" },

-  { "zero", "0" },

-  { "one", "1" },

-  { "two" , "2" },

-  { "three", "3" }

-

-  };

-  }

-

-

-  // ================= INFRASTRUCTURE ======================

-

-  /** Field BAD_CODE          */

-  public static final String BAD_CODE = "BAD_CODE";

-

-  /** Field FORMAT_FAILED          */

-  public static final String FORMAT_FAILED = "FORMAT_FAILED";

-

-  /** Field ERROR_RESOURCES          */

-  public static final String ERROR_RESOURCES =

-    "org.apache.xpath.res.XPATHErrorResources";

-

-  /** Field ERROR_STRING          */

-  public static final String ERROR_STRING = "#\u9519\u8bef";

-

-  /** Field ERROR_HEADER          */

-  public static final String ERROR_HEADER = "\u9519\u8bef\uff1a";

-

-  /** Field WARNING_HEADER          */

-  public static final String WARNING_HEADER = "\u8b66\u544a\uff1a";

-

-  /** Field XSL_HEADER          */

-  public static final String XSL_HEADER = "XSL";

-

-  /** Field XML_HEADER          */

-  public static final String XML_HEADER = "XML";

-

-  /** Field QUERY_HEADER          */

-  public static final String QUERY_HEADER = "PATTERN";

-

-

-  /**

-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior

-   * of ResourceBundle.getBundle().

-   *

-   * @param className Name of local-specific subclass.

-   * @return the ResourceBundle

-   * @throws MissingResourceException

-   */

-  public static final XPATHErrorResources loadResourceBundle(String className)

-          throws MissingResourceException

-  {

-

-    Locale locale = Locale.getDefault();

-    String suffix = getResourceSuffix(locale);

-

-    try

-    {

-

-      // first try with the given locale

-      return (XPATHErrorResources) ResourceBundle.getBundle(className

-              + suffix, locale);

-    }

-    catch (MissingResourceException e)

-    {

-      try  // try to fall back to en_US if we can't load

-      {

-

-        // Since we can't find the localized property file,

-        // fall back to en_US.

-        return (XPATHErrorResources) ResourceBundle.getBundle(className,

-                new Locale("zh", "CN"));

-      }

-      catch (MissingResourceException e2)

-      {

-

-        // Now we are really in trouble.

-        // very bad, definitely very bad...not going to get very far

-        throw new MissingResourceException(

-          "Could not load any resource bundles.", className, "");

-      }

-    }

-  }

-

-  /**

-   * Return the resource file suffic for the indicated locale

-   * For most locales, this will be based the language code.  However

-   * for Chinese, we do distinguish between Taiwan and PRC

-   *

-   * @param locale the locale

-   * @return an String suffix which canbe appended to a resource name

-   */

-  private static final String getResourceSuffix(Locale locale)

-  {

-

-    String suffix = "_" + locale.getLanguage();

-    String country = locale.getCountry();

-

-    if (country.equals("TW"))

-      suffix += "_" + country;

-

-    return suffix;

-  }

-

-}

diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_zh_CN.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_zh_CN.java
deleted file mode 100644
index 19dcdb5..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_zh_CN.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_zh_CN.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-public class XPATHErrorResources_zh_CN extends XPATHErrorResources_zh
-{
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_zh_TW.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_zh_TW.java
deleted file mode 100644
index 459bc1d..0000000
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHErrorResources_zh_TW.java
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the  "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XPATHErrorResources_zh_TW.java 468655 2006-10-28 07:12:06Z minchau $
- */
-package org.apache.xpath.res;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Set up error messages.
- * We build a two dimensional array of message keys and
- * message strings. In order to add a new message here,
- * you need to first add a Static string constant for the
- * Key and update the contents array with Key, Value pair
-  * Also you need to  update the count of messages(MAX_CODE)or
- * the count of warnings(MAX_WARNING) [ Information purpose only]
- * @xsl.usage advanced
- */
-public class XPATHErrorResources_zh_TW extends ListResourceBundle
-{
-
-/*
- * General notes to translators:
- *
- * This file contains error and warning messages related to XPath Error
- * Handling.
- *
- *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of
- *     components.
- *     XSLT is an acronym for "XML Stylesheet Language: Transformations".
- *     XSLTC is an acronym for XSLT Compiler.
- *
- *  2) A stylesheet is a description of how to transform an input XML document
- *     into a resultant XML document (or HTML document or text).  The
- *     stylesheet itself is described in the form of an XML document.
- *
- *  3) A template is a component of a stylesheet that is used to match a
- *     particular portion of an input document and specifies the form of the
- *     corresponding portion of the output document.
- *
- *  4) An element is a mark-up tag in an XML document; an attribute is a
- *     modifier on the tag.  For example, in <elem attr='val' attr2='val2'>
- *     "elem" is an element name, "attr" and "attr2" are attribute names with
- *     the values "val" and "val2", respectively.
- *
- *  5) A namespace declaration is a special attribute that is used to associate
- *     a prefix with a URI (the namespace).  The meanings of element names and
- *     attribute names that use that prefix are defined with respect to that
- *     namespace.
- *
- *  6) "Translet" is an invented term that describes the class file that
- *     results from compiling an XML stylesheet into a Java class.
- *
- *  7) XPath is a specification that describes a notation for identifying
- *     nodes in a tree-structured representation of an XML document.  An
- *     instance of that notation is referred to as an XPath expression.
- *
- *  8) The context node is the node in the document with respect to which an
- *     XPath expression is being evaluated.
- *
- *  9) An iterator is an object that traverses nodes in the tree, one at a time.
- *
- *  10) NCName is an XML term used to describe a name that does not contain a
- *     colon (a "no-colon name").
- *
- *  11) QName is an XML term meaning "qualified name".
- */
-
-  /*
-   * static variables
-   */
-  public static final String ERROR0000 = "ERROR0000";
-  public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =
-         "ER_CURRENT_NOT_ALLOWED_IN_MATCH";
-  public static final String ER_CURRENT_TAKES_NO_ARGS =
-         "ER_CURRENT_TAKES_NO_ARGS";
-  public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";
-  public static final String ER_CONTEXT_HAS_NO_OWNERDOC =
-         "ER_CONTEXT_HAS_NO_OWNERDOC";
-  public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =
-         "ER_LOCALNAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =
-         "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";
-  public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =
-         "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";
-  public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =
-         "ER_NUMBER_HAS_TOO_MANY_ARGS";
-  public static final String ER_NAME_HAS_TOO_MANY_ARGS =
-         "ER_NAME_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRING_HAS_TOO_MANY_ARGS =
-         "ER_STRING_HAS_TOO_MANY_ARGS";
-  public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =
-         "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";
-  public static final String ER_TRANSLATE_TAKES_3_ARGS =
-         "ER_TRANSLATE_TAKES_3_ARGS";
-  public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =
-         "ER_UNPARSEDENTITYURI_TAKES_1_ARG";
-  public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =
-         "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";
-  public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";
-  public static final String ER_UNKNOWN_MATCH_OPERATION =
-         "ER_UNKNOWN_MATCH_OPERATION";
-  public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";
-  public static final String ER_CANT_CONVERT_TO_NUMBER =
-         "ER_CANT_CONVERT_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =
-           "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";
-  public static final String ER_CANT_CONVERT_TO_NODELIST =
-         "ER_CANT_CONVERT_TO_NODELIST";
-  public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =
-         "ER_CANT_CONVERT_TO_MUTABLENODELIST";
-  public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";
-  public static final String ER_EXPECTED_MATCH_PATTERN =
-         "ER_EXPECTED_MATCH_PATTERN";
-  public static final String ER_COULDNOT_GET_VAR_NAMED =
-         "ER_COULDNOT_GET_VAR_NAMED";
-  public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";
-  public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";
-  public static final String ER_EXPECTED_DOUBLE_QUOTE =
-         "ER_EXPECTED_DOUBLE_QUOTE";
-  public static final String ER_EXPECTED_SINGLE_QUOTE =
-         "ER_EXPECTED_SINGLE_QUOTE";
-  public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";
-  public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";
-  public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =
-         "ER_INCORRECT_PROGRAMMER_ASSERTION";
-  public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =
-         "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";
-  public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";
-  public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =
-         "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";
-  public static final String ER_PREDICATE_ILLEGAL_SYNTAX =
-         "ER_PREDICATE_ILLEGAL_SYNTAX";
-  public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";
-  public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";
-  public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =
-         "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";
-  public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =
-         "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";
-  public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =
-         "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";
-  public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =
-         "ER_DIDNOT_FIND_XPATH_SELECT_EXP";
-  public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =
-         "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";
-  public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";
-  public static final String ER_ILLEGAL_VARIABLE_REFERENCE =
-         "ER_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";
-  public static final String ER_KEY_HAS_TOO_MANY_ARGS =
-         "ER_KEY_HAS_TOO_MANY_ARGS";
-  public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";
-  public static final String ER_COULDNOT_FIND_FUNCTION =
-         "ER_COULDNOT_FIND_FUNCTION";
-  public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";
-  public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =
-         "ER_PROBLEM_IN_DTM_NEXTSIBLING";
-  public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =
-         "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";
-  public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =
-         "ER_SETDOMFACTORY_NOT_SUPPORTED";
-  public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";
-  public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";
-  public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";
-public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =
-         "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";
-  public static final String ER_DTM_CANNOT_HANDLE_NODES =
-         "ER_DTM_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_CANNOT_HANDLE_NODES =
-         "ER_XERCES_CANNOT_HANDLE_NODES";
-  public static final String ER_XERCES_PARSE_ERROR_DETAILS =
-         "ER_XERCES_PARSE_ERROR_DETAILS";
-  public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";
-  public static final String ER_INVALID_UTF16_SURROGATE =
-         "ER_INVALID_UTF16_SURROGATE";
-  public static final String ER_OIERROR = "ER_OIERROR";
-  public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";
-  public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";
- public static final String ER_FUNCTION_TOKEN_NOT_FOUND =
-         "ER_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String ER_CANNOT_DEAL_XPATH_TYPE =
-         "ER_CANNOT_DEAL_XPATH_TYPE";
-  public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";
-  public static final String ER_NODESETDTM_NOT_MUTABLE =
-         "ER_NODESETDTM_NOT_MUTABLE";
-   /**  Variable not resolvable:   */
-  public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";
-   /** Null error handler  */
- public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";
-   /**  Programmer's assertion: unknown opcode  */
-  public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =
-         "ER_PROG_ASSERT_UNKNOWN_OPCODE";
-   /**  0 or 1   */
-  public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";
-   /**  rtf() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-   /**  fsb() not supported for XStringForChars   */
-  public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =
-         "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";
-   /**  Could not find variable with the name of   */
- public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";
-   /**  XStringForChars can not take a string for an argument   */
- public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =
-         "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";
-   /**  The FastStringBuffer argument can not be null   */
- public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =
-         "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";
-   /**  2 or 3   */
-  public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";
-   /** Variable accessed before it is bound! */
-  public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =
-         "ER_VARIABLE_ACCESSED_BEFORE_BIND";
-   /** XStringForFSB can not take a string for an argument! */
- public static final String ER_FSB_CANNOT_TAKE_STRING =
-         "ER_FSB_CANNOT_TAKE_STRING";
-   /** Error! Setting the root of a walker to null! */
-  public static final String ER_SETTING_WALKER_ROOT_TO_NULL =
-         "ER_SETTING_WALKER_ROOT_TO_NULL";
-   /** This NodeSetDTM can not iterate to a previous node! */
-  public static final String ER_NODESETDTM_CANNOT_ITERATE =
-         "ER_NODESETDTM_CANNOT_ITERATE";
-  /** This NodeSet can not iterate to a previous node! */
- public static final String ER_NODESET_CANNOT_ITERATE =
-         "ER_NODESET_CANNOT_ITERATE";
-  /** This NodeSetDTM can not do indexing or counting functions! */
-  public static final String ER_NODESETDTM_CANNOT_INDEX =
-         "ER_NODESETDTM_CANNOT_INDEX";
-  /** This NodeSet can not do indexing or counting functions! */
-  public static final String ER_NODESET_CANNOT_INDEX =
-         "ER_NODESET_CANNOT_INDEX";
-  /** Can not call setShouldCacheNodes after nextNode has been called! */
-  public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =
-         "ER_CANNOT_CALL_SETSHOULDCACHENODE";
-  /** {0} only allows {1} arguments */
- public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";
-  /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */
-  public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";
-  /** Problem with RelativeLocationPath */
-  public static final String ER_EXPECTED_REL_LOC_PATH =
-         "ER_EXPECTED_REL_LOC_PATH";
-  /** Problem with LocationPath */
-  public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";
-  public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =
-                                        "ER_EXPECTED_LOC_PATH_AT_END_EXPR";
-  /** Problem with Step */
-  public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";
-  /** Problem with NodeTest */
-  public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";
-  /** Expected step pattern */
-  public static final String ER_EXPECTED_STEP_PATTERN =
-        "ER_EXPECTED_STEP_PATTERN";
-  /** Expected relative path pattern */
-  public static final String ER_EXPECTED_REL_PATH_PATTERN =
-         "ER_EXPECTED_REL_PATH_PATTERN";
-  /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */
-  public static final String ER_CANT_CONVERT_TO_BOOLEAN =
-         "ER_CANT_CONVERT_TO_BOOLEAN";
-  /** Field ER_CANT_CONVERT_TO_SINGLENODE       */
-  public static final String ER_CANT_CONVERT_TO_SINGLENODE =
-         "ER_CANT_CONVERT_TO_SINGLENODE";
-  /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */
-  public static final String ER_CANT_GET_SNAPSHOT_LENGTH =
-         "ER_CANT_GET_SNAPSHOT_LENGTH";
-  /** Field ER_NON_ITERATOR_TYPE                */
-  public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";
-  /** Field ER_DOC_MUTATED                      */
-  public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";
-  public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";
-  public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";
-  public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";
-  public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";
-  public static final String ER_CANT_CONVERT_TO_STRING =
-         "ER_CANT_CONVERT_TO_STRING";
-  public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";
-  public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";
-  /* Note to translators:  The XPath expression cannot be evaluated with respect
-   * to this type of node.
-   */
-  /** Field ER_WRONG_NODETYPE                    */
-  public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";
-  public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";
-
-  //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-  public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";
-  public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";
-  public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";
-  public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";
-  public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";
-
-  public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";
-  public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";
-  public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";
-  public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";
-  public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";
-  public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";
-  public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";
-  public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";
-  //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation
-
-  public static final String WG_LOCALE_NAME_NOT_HANDLED =
-         "WG_LOCALE_NAME_NOT_HANDLED";
-  public static final String WG_PROPERTY_NOT_SUPPORTED =
-         "WG_PROPERTY_NOT_SUPPORTED";
-  public static final String WG_DONT_DO_ANYTHING_WITH_NS =
-         "WG_DONT_DO_ANYTHING_WITH_NS";
-  public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";
-  public static final String WG_QUO_NO_LONGER_DEFINED =
-         "WG_QUO_NO_LONGER_DEFINED";
-  public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =
-         "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";
-  public static final String WG_FUNCTION_TOKEN_NOT_FOUND =
-         "WG_FUNCTION_TOKEN_NOT_FOUND";
-  public static final String WG_COULDNOT_FIND_FUNCTION =
-         "WG_COULDNOT_FIND_FUNCTION";
-  public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";
-  public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =
-         "WG_EXPAND_ENTITIES_NOT_SUPPORTED";
-  public static final String WG_ILLEGAL_VARIABLE_REFERENCE =
-         "WG_ILLEGAL_VARIABLE_REFERENCE";
-  public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";
-
-  /**  detach() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  num() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  xstr() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-  /**  str() not supported by XRTreeFragSelectWrapper   */
-  public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =
-         "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";
-
-  // Error messages...
-
-
-  /**
-   * Get the association list.
-   *
-   * @return The association list.
-   */
-  public Object[][] getContents()
-  {
-    return new Object[][]{
-
-  { "ERROR0000" , "{0}" },
-
-  { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "\u5728\u6bd4\u5c0d\u578b\u6a23\u4e2d\u4e0d\u5141\u8a31\u4f7f\u7528 current() \u51fd\u6578\uff01" },
-
-  { ER_CURRENT_TAKES_NO_ARGS, "current() \u51fd\u6578\u4e0d\u63a5\u53d7\u5f15\u6578\uff01" },
-
-  { ER_DOCUMENT_REPLACED,
-      "document() \u51fd\u6578\u5be6\u4f5c\u5df2\u88ab org.apache.xalan.xslt.FuncDocument \u53d6\u4ee3\uff01"},
-
-  { ER_CONTEXT_HAS_NO_OWNERDOC,
-      "\u74b0\u5883\u5b9a\u7fa9\u6c92\u6709\u64c1\u6709\u8005\u6587\u4ef6\uff01"},
-
-  { ER_LOCALNAME_HAS_TOO_MANY_ARGS,
-      "local-name() \u6709\u592a\u591a\u5f15\u6578\u3002"},
-
-  { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,
-      "namespace-uri() \u6709\u592a\u591a\u5f15\u6578\u3002"},
-
-  { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,
-      "normalize-space() \u6709\u592a\u591a\u5f15\u6578\u3002"},
-
-  { ER_NUMBER_HAS_TOO_MANY_ARGS,
-      "number() \u6709\u592a\u591a\u5f15\u6578\u3002"},
-
-  { ER_NAME_HAS_TOO_MANY_ARGS,
-     "name() \u6709\u592a\u591a\u5f15\u6578\u3002"},
-
-  { ER_STRING_HAS_TOO_MANY_ARGS,
-      "string() \u6709\u592a\u591a\u5f15\u6578\u3002"},
-
-  { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,
-      "string-length() \u6709\u592a\u591a\u5f15\u6578\u3002"},
-
-  { ER_TRANSLATE_TAKES_3_ARGS,
-      "translate() \u51fd\u6578\u9700\u8981 3 \u500b\u5f15\u6578\uff01"},
-
-  { ER_UNPARSEDENTITYURI_TAKES_1_ARG,
-      "unparsed-entity-uri \u51fd\u6578\u53ea\u9700\u8981 1 \u500b\u5f15\u6578\uff01"},
-
-  { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,
-      "namespace axis \u5c1a\u672a\u5be6\u4f5c\uff01"},
-
-  { ER_UNKNOWN_AXIS,
-     "\u4e0d\u660e\u8ef8\uff1a{0}"},
-
-  { ER_UNKNOWN_MATCH_OPERATION,
-     "\u4e0d\u660e\u7684\u6bd4\u5c0d\u4f5c\u696d\uff01"},
-
-  { ER_INCORRECT_ARG_LENGTH,
-      "processing-instruction() \u7bc0\u9ede\u6e2c\u8a66\u7684\u5f15\u6578\u9577\u5ea6\u4e0d\u6b63\u78ba\uff01"},
-
-  { ER_CANT_CONVERT_TO_NUMBER,
-      "{0} \u7121\u6cd5\u8f49\u63db\u70ba\u6578\u5b57"},
-
-  { ER_CANT_CONVERT_TO_NODELIST,
-      "{0} \u7121\u6cd5\u8f49\u63db\u70ba NodeList\uff01"},
-
-  { ER_CANT_CONVERT_TO_MUTABLENODELIST,
-      "{0} \u7121\u6cd5\u8f49\u63db\u70ba NodeSetDTM\uff01"},
-
-  { ER_CANT_CONVERT_TO_TYPE,
-      "\u7121\u6cd5\u5c07 {0} \u8f49\u63db\u70ba type#{1}"},
-
-  { ER_EXPECTED_MATCH_PATTERN,
-      "\u539f\u9810\u671f\u5728 getMatchScore \u4e2d\u6703\u51fa\u73fe\u6bd4\u5c0d\u578b\u6a23\uff01"},
-
-  { ER_COULDNOT_GET_VAR_NAMED,
-      "\u7121\u6cd5\u53d6\u5f97\u8b8a\u6578\u540d\u7a31 {0}"},
-
-  { ER_UNKNOWN_OPCODE,
-     "\u932f\u8aa4\uff01\u4e0d\u660e\u4f5c\u696d\u78bc\uff1a{0}"},
-
-  { ER_EXTRA_ILLEGAL_TOKENS,
-     "\u984d\u5916\u7684\u4e0d\u5408\u6cd5\u8a18\u865f\uff1a{0}"},
-
-
-  { ER_EXPECTED_DOUBLE_QUOTE,
-      "\u62ec\u932f\u5f15\u865f\u7684\u6587\u5b57... \u539f\u9810\u671f\u70ba\u96d9\u5f15\u865f\uff01"},
-
-  { ER_EXPECTED_SINGLE_QUOTE,
-      "\u62ec\u932f\u5f15\u865f\u7684\u6587\u5b57... \u539f\u9810\u671f\u70ba\u55ae\u5f15\u865f\uff01"},
-
-  { ER_EMPTY_EXPRESSION,
-     "\u7a7a\u7684\u8868\u793a\u5f0f\uff01"},
-
-  { ER_EXPECTED_BUT_FOUND,
-     "\u539f\u9810\u671f\u70ba {0}\uff0c\u537b\u767c\u73fe\uff1a{1}"},
-
-  { ER_INCORRECT_PROGRAMMER_ASSERTION,
-      "\u7a0b\u5f0f\u8a2d\u8a08\u5e2b\u5047\u8a2d(Programmer assertion)\u4e0d\u6b63\u78ba\uff01- {0}"},
-
-  { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,
-      "boolean(...) \u5f15\u6578\u5728 19990709 XPath \u521d\u7a3f\u4e2d\u4e0d\u518d\u662f\u53ef\u9078\u7528\u7684\u3002"},
-
-  { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,
-      "\u627e\u5230 ','\uff0c\u4f46\u4e4b\u524d\u6c92\u6709\u5f15\u6578\uff01"},
-
-  { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,
-      "\u627e\u5230 ','\uff0c\u4f46\u4e4b\u5f8c\u6c92\u6709\u5f15\u6578\uff01"},
-
-  { ER_PREDICATE_ILLEGAL_SYNTAX,
-      "'..[predicate]' \u6216 '.[predicate]' \u662f\u4e0d\u5408\u6cd5\u8a9e\u6cd5\u3002\u8acb\u6539\u7528 'self::node()[predicate]'\u3002"},
-
-  { ER_ILLEGAL_AXIS_NAME,
-     "\u4e0d\u5408\u6cd5\u8ef8\u540d\u7a31\uff1a{0}"},
-
-  { ER_UNKNOWN_NODETYPE,
-     "\u4e0d\u660e\u7bc0\u9ede\u985e\u578b\uff1a{0}"},
-
-  { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
-      "\u578b\u6a23\u6587\u5b57 ({0}) \u9700\u8981\u7528\u5f15\u865f\u62ec\u4f4f\uff01"},
-
-  { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
-      "{0} \u7121\u6cd5\u683c\u5f0f\u5316\u70ba\u6578\u5b57\uff01"},
-
-  { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,
-      "\u7121\u6cd5\u5efa\u7acb XML TransformerFactory Liaison\uff1a{0}"},
-
-  { ER_DIDNOT_FIND_XPATH_SELECT_EXP,
-      "\u932f\u8aa4\uff01\u6c92\u6709\u627e\u5230 xpath select \u8868\u793a\u5f0f (-select)\u3002"},
-
-  { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,
-      "\u932f\u8aa4\uff01\u5728 OP_LOCATIONPATH \u4e4b\u5f8c\u627e\u4e0d\u5230 ENDOP"},
-
-  { ER_ERROR_OCCURED,
-     "\u767c\u751f\u932f\u8aa4\uff01"},
-
-  { ER_ILLEGAL_VARIABLE_REFERENCE,
-      "\u63d0\u4f9b\u7d66\u8b8a\u6578\u7684 VariableReference \u8d85\u51fa\u74b0\u5883\u5b9a\u7fa9\u6216\u6c92\u6709\u5b9a\u7fa9\uff01\u540d\u7a31 = {0}"},
-
-  { ER_AXES_NOT_ALLOWED,
-      "\u6bd4\u5c0d\u578b\u6a23\u4e2d\u53ea\u63a5\u53d7 child:: \u4ee5\u53ca attribute:: \u5169\u7a2e\u8ef8\uff01\u4e0d\u7576\u7684\u8ef8 = {0}"},
-
-  { ER_KEY_HAS_TOO_MANY_ARGS,
-      "key() \u542b\u6709\u4e0d\u6b63\u78ba\u5f15\u6578\u6578\u76ee\u3002"},
-
-  { ER_COUNT_TAKES_1_ARG,
-      "count \u51fd\u6578\u53ea\u9700\u8981\u4e00\u500b\u5f15\u6578\uff01"},
-
-  { ER_COULDNOT_FIND_FUNCTION,
-     "\u627e\u4e0d\u5230\u51fd\u6578\uff1a{0}"},
-
-  { ER_UNSUPPORTED_ENCODING,
-     "\u4e0d\u652f\u63f4\u7de8\u78bc\uff1a{0}"},
-
-  { ER_PROBLEM_IN_DTM_NEXTSIBLING,
-      "getNextSibling \u6642\u5728 DTM \u767c\u751f\u554f\u984c... \u5617\u8a66\u56de\u5fa9"},
-
-  { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,
-      "\u7a0b\u5f0f\u8a2d\u8a08\u5e2b\u932f\u8aa4\uff1a\u7121\u6cd5\u5beb\u5165 EmptyNodeList\u3002"},
-
-  { ER_SETDOMFACTORY_NOT_SUPPORTED,
-      "setDOMFactory \u4e0d\u53d7 XPathContext \u652f\u63f4\uff01"},
-
-  { ER_PREFIX_MUST_RESOLVE,
-      "\u5b57\u9996\u5fc5\u9808\u89e3\u6790\u70ba\u540d\u7a31\u7a7a\u9593\uff1a{0}"},
-
-  { ER_PARSE_NOT_SUPPORTED,
-      "\u5728 XPathContext \u4e2d\u4e0d\u652f\u63f4\u5256\u6790\uff08InputSource \u539f\u59cb\u6a94\uff09\uff01\u7121\u6cd5\u958b\u555f {0}"},
-
-  { ER_SAX_API_NOT_HANDLED,
-      "SAX API character(char ch[]... \u4e0d\u80fd\u88ab DTM \u8655\u7406\uff01"},
-
-  { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,
-      "ignorableWhitespace(char ch[]... \u4e0d\u80fd\u88ab DTM \u8655\u7406\uff01"},
-
-  { ER_DTM_CANNOT_HANDLE_NODES,
-      "DTMLiaison \u4e0d\u80fd\u8655\u7406 {0} \u985e\u578b\u7684\u7bc0\u9ede"},
-
-  { ER_XERCES_CANNOT_HANDLE_NODES,
-      "DOM2Helper \u4e0d\u80fd\u8655\u7406 {0} \u985e\u578b\u7684\u7bc0\u9ede"},
-
-  { ER_XERCES_PARSE_ERROR_DETAILS,
-      "DOM2Helper.parse \u932f\u8aa4\uff1aSystemID - {0} \u884c - {1}"},
-
-  { ER_XERCES_PARSE_ERROR,
-     "DOM2Helper.parse \u932f\u8aa4"},
-
-  { ER_INVALID_UTF16_SURROGATE,
-      "\u5075\u6e2c\u5230\u7121\u6548\u7684 UTF-16 \u4ee3\u7406\uff1a{0}?"},
-
-  { ER_OIERROR,
-     "IO \u932f\u8aa4"},
-
-  { ER_CANNOT_CREATE_URL,
-     "\u7121\u6cd5\u91dd\u5c0d\uff1a{0} \u5efa\u7acb URL"},
-
-  { ER_XPATH_READOBJECT,
-     "\u4f4d\u65bc XPath.readObject\uff1a{0}"},
-
-  { ER_FUNCTION_TOKEN_NOT_FOUND,
-      "\u627e\u4e0d\u5230\u51fd\u6578\u8a18\u865f\u3002"},
-
-  { ER_CANNOT_DEAL_XPATH_TYPE,
-       "\u7121\u6cd5\u8655\u7406 XPath \u985e\u578b\uff1a{0}"},
-
-  { ER_NODESET_NOT_MUTABLE,
-       "\u6b64 NodeSet \u4e0d\u662f\u6613\u8b8a\u7684"},
-
-  { ER_NODESETDTM_NOT_MUTABLE,
-       "\u6b64 NodeSetDTM \u4e0d\u662f\u6613\u8b8a\u7684"},
-
-  { ER_VAR_NOT_RESOLVABLE,
-        "\u8b8a\u6578\u7121\u6cd5\u89e3\u6790\uff1a{0}"},
-
-  { ER_NULL_ERROR_HANDLER,
-        "\u7a7a\u503c\u932f\u8aa4\u8655\u7406\u7a0b\u5f0f"},
-
-  { ER_PROG_ASSERT_UNKNOWN_OPCODE,
-       "\u7a0b\u5f0f\u8a2d\u8a08\u5e2b\u7684\u78ba\u8a8d\uff1a\u4e0d\u660e\u4f5c\u696d\u78bc\uff1a{0}"},
-
-  { ER_ZERO_OR_ONE,
-       "0 \u6216 1"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "rtf() \u4e0d\u53d7 XRTreeFragSelectWrapper \u652f\u63f4"},
-
-  { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-       "asNodeIterator() \u4e0d\u53d7 XRTreeFragSelectWrapper \u652f\u63f4"},
-
-   { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "detach() \u4e0d\u53d7 XRTreeFragSelectWrapper \u652f\u63f4"},
-
-   { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "num() \u4e0d\u53d7 XRTreeFragSelectWrapper \u652f\u63f4"},
-
-   { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "xstr() \u4e0d\u53d7 XRTreeFragSelectWrapper \u652f\u63f4"},
-
-   { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,
-                "str() \u4e0d\u53d7 XRTreeFragSelectWrapper \u652f\u63f4"},
-
-  { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,
-       "fsb() \u4e0d\u53d7 XStringForChars \u652f\u63f4"},
-
-  { ER_COULD_NOT_FIND_VAR,
-      "\u627e\u4e0d\u5230\u540d\u7a31\u70ba {0} \u7684\u8b8a\u6578"},
-
-  { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,
-      "XStringForChars \u4e0d\u63a5\u53d7\u5b57\u4e32\u4f5c\u70ba\u5f15\u6578"},
-
-  { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,
-      "FastStringBuffer \u5f15\u6578\u4e0d\u53ef\u70ba\u7a7a\u503c"},
-
-  { ER_TWO_OR_THREE,
-       "2 \u6216 3"},
-
-  { ER_VARIABLE_ACCESSED_BEFORE_BIND,
-       "\u8b8a\u6578\u5728\u9023\u7d50\u4e4b\u524d\u5373\u88ab\u5b58\u53d6\uff01"},
-
-  { ER_FSB_CANNOT_TAKE_STRING,
-       "XStringForFSB \u4e0d\u53ef\u4f7f\u7528\u5b57\u4e32\u4f5c\u70ba\u5f15\u6578\uff01"},
-
-  { ER_SETTING_WALKER_ROOT_TO_NULL,
-       "\n!!!! \u932f\u8aa4\uff01\u8a2d\u5b9a Walker \u7684\u6839\u76ee\u9304\u70ba\u7a7a\u503c!!!"},
-
-  { ER_NODESETDTM_CANNOT_ITERATE,
-       "\u6b64 NodeSetDTM \u4e0d\u53ef\u758a\u4ee3\u70ba\u524d\u4e00\u500b\u7bc0\u9ede\uff01"},
-
-  { ER_NODESET_CANNOT_ITERATE,
-       "\u6b64 NodeSet \u4e0d\u53ef\u758a\u4ee3\u70ba\u524d\u4e00\u500b\u7bc0\u9ede\uff01"},
-
-  { ER_NODESETDTM_CANNOT_INDEX,
-       "\u6b64 NodeSetDTM \u4e0d\u53ef\u57f7\u884c\u6aa2\u7d22\u6216\u8a08\u6578\u529f\u80fd\uff01"},
-
-  { ER_NODESET_CANNOT_INDEX,
-       "\u6b64 NodeSet \u4e0d\u53ef\u57f7\u884c\u6aa2\u7d22\u6216\u8a08\u6578\u529f\u80fd\uff01"},
-
-  { ER_CANNOT_CALL_SETSHOULDCACHENODE,
-       "\u5728\u547c\u53eb nextNode \u4e4b\u5f8c\u4e0d\u80fd\u547c\u53eb setShouldCacheNodes\u3002"},
-
-  { ER_ONLY_ALLOWS,
-       "{0} \u53ea\u5141\u8a31 {1} \u5f15\u6578"},
-
-  { ER_UNKNOWN_STEP,
-       "\u7a0b\u5f0f\u8a2d\u8a08\u5e2b\u5728 getNextStepPos \u4e2d\u7684\u78ba\u8a8d\uff1a\u4e0d\u660e\u7684 stepType\uff1a{0}"},
-
-  //Note to translators:  A relative location path is a form of XPath expression.
-  // The message indicates that such an expression was expected following the
-  // characters '/' or '//', but was not found.
-  { ER_EXPECTED_REL_LOC_PATH,
-      "\u9810\u671f\u5728 '/' \u6216 '//' \u8a18\u865f\u4e4b\u5f8c\u70ba\u76f8\u5c0d\u7684\u4f4d\u7f6e\u8def\u5f91\u3002"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such an expression was expected,but
-  // the characters specified by the substitution text were encountered instead.
-  { ER_EXPECTED_LOC_PATH,
-       "\u5fc5\u9808\u662f\u4f4d\u7f6e\u8def\u5f91\uff0c\u537b\u9047\u5230\u4e0b\u5217\u8a18\u865f\u003a  {0}"},
-
-  // Note to translators:  A location path is a form of XPath expression.
-  // The message indicates that syntactically such a subexpression was expected,
-  // but no more characters were found in the expression.
-  { ER_EXPECTED_LOC_PATH_AT_END_EXPR,
-       "\u539f\u9810\u671f\u70ba\u4f4d\u7f6e\u8def\u5f91\uff0c\u4f46\u627e\u5230\u7684\u537b\u662f XPath \u8868\u793a\u5f0f\u7684\u7d50\u5c3e\u3002"},
-
-  // Note to translators:  A location step is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected
-  // following the specified characters.
-  { ER_EXPECTED_LOC_STEP,
-       "\u9810\u671f\u5728 '/' \u6216 '//' \u8a18\u865f\u4e4b\u5f8c\u70ba location step\u3002"},
-
-  // Note to translators:  A node test is part of an XPath expression that is
-  // used to test for particular kinds of nodes.  In this case, a node test that
-  // consists of an NCName followed by a colon and an asterisk or that consists
-  // of a QName was expected, but was not found.
-  { ER_EXPECTED_NODE_TEST,
-       "\u539f\u9810\u671f\u70ba\u7b26\u5408 NCName:* \u6216 QName \u7684 node test\u3002"},
-
-  // Note to translators:  A step pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but the specified character was found in the expression instead.
-  { ER_EXPECTED_STEP_PATTERN,
-       "\u539f\u9810\u671f\u70ba step pattern\uff0c\u4f46\u537b\u9047\u5230 '/'\u3002"},
-
-  // Note to translators: A relative path pattern is part of an XPath expression.
-  // The message indicates that syntactically such an expression was expected,
-  // but was not found.
-  { ER_EXPECTED_REL_PATH_PATTERN,
-       "\u539f\u9810\u671f\u70ba\u76f8\u5c0d\u7684\u8def\u5f91\u578b\u6a23\u3002"},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type boolean.
-  { ER_CANT_CONVERT_TO_BOOLEAN,
-       "XPath \u8868\u793a\u5f0f ''{0}'' \u7684 XPathResult \u6709\u7121\u6cd5\u8f49\u63db\u70ba boolean \u7684 {1} \u7684 XPathResultType\u3002"},
-
-  // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and
-  // FIRST_ORDERED_NODE_TYPE.
-  { ER_CANT_CONVERT_TO_SINGLENODE,
-       "XPath \u8868\u793a\u5f0f ''{0}'' \u7684 XPathResult \u6709\u7121\u6cd5\u8f49\u63db\u70ba\u55ae\u4e00\u7bc0\u9ede\u7684 {1} \u7684 XPathResultType\u3002\u65b9\u6cd5 getSingleNodeValue \u50c5\u9069\u7528\u65bc ANY_UNORDERED_NODE_TYPE \u53ca FIRST_ORDERED_NODE_TYPE \u5169\u7a2e\u985e\u578b\u3002"},
-
-  // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and
-  // ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_CANT_GET_SNAPSHOT_LENGTH,
-       "\u7121\u6cd5\u5728 XPath \u8868\u793a\u5f0f ''{0}'' \u7684 XPathResult \u4e0a\u547c\u53eb\u65b9\u6cd5 getSnapshotLength\uff0c\u56e0\u70ba\u5b83\u7684 XPathResultType \u662f {1}\u3002\u6b64\u65b9\u6cd5\u50c5\u9069\u7528\u65bc UNORDERED_NODE_SNAPSHOT_TYPE \u53ca ORDERED_NODE_SNAPSHOT_TYPE \u5169\u7a2e\u985e\u578b\u3002"},
-
-  { ER_NON_ITERATOR_TYPE,
-       "\u7121\u6cd5\u5728 XPath \u8868\u793a\u5f0f ''{0}'' \u7684 XPathResult \u4e0a\u547c\u53eb\u65b9\u6cd5 iterateNext\uff0c\u56e0\u70ba\u5b83\u7684 XPathResultType \u662f {1}\u3002\u6b64\u65b9\u6cd5\u50c5\u9069\u7528\u65bc UNORDERED_NODE_ITERATOR_TYPE \u53ca ORDERED_NODE_ITERATOR_TYPE \u5169\u7a2e\u985e\u578b\u3002"},
-
-  // Note to translators: This message indicates that the document being operated
-  // upon changed, so the iterator object that was being used to traverse the
-  // document has now become invalid.
-  { ER_DOC_MUTATED,
-       "\u81ea\u50b3\u56de\u7d50\u679c\u4e4b\u5f8c\uff0c\u6587\u4ef6\u5df2\u7522\u751f\u8b8a\u5316\u3002\u91cd\u8907\u9805\u76ee\u7121\u6548\u3002"},
-
-  { ER_INVALID_XPATH_TYPE,
-       "XPath \u985e\u578b\u5f15\u6578 {0} \u7121\u6548"},
-
-  { ER_EMPTY_XPATH_RESULT,
-       "XPath \u7d50\u679c\u7269\u4ef6\u7a7a\u767d"},
-
-  { ER_INCOMPATIBLE_TYPES,
-       "XPath \u8868\u793a\u5f0f ''{0}'' \u7684 XPathResult \u6709\u7121\u6cd5\u5f37\u5236\u7f6e\u5165 {2} \u7684\u6307\u5b9a XPathResultType \u4e2d\u7684 {1} \u7684 XPathResultType\u3002"},
-
-  { ER_NULL_RESOLVER,
-       "\u7121\u6cd5\u89e3\u6790\u542b\u7a7a\u503c\u5b57\u9996\u89e3\u6790\u5668\u7684\u5b57\u9996\u3002"},
-
-  // Note to translators:  The substitution text is the name of a data type.  The
-  // message indicates that a value of a particular type could not be converted
-  // to a value of type string.
-  { ER_CANT_CONVERT_TO_STRING,
-       "XPath \u8868\u793a\u5f0f ''{0}'' \u7684 XPathResult \u6709\u7121\u6cd5\u8f49\u63db\u70ba\u5b57\u4e32\u7684 {1} \u7684 XPathResultType\u3002"},
-
-  // Note to translators: Do not translate snapshotItem,
-  // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.
-  { ER_NON_SNAPSHOT_TYPE,
-       "\u7121\u6cd5\u5728 XPath \u8868\u793a\u5f0f ''{0}'' \u7684 XPathResult \u4e0a\u547c\u53eb\u65b9\u6cd5 snapshotItem\uff0c\u56e0\u70ba\u5b83\u7684 XPathResultType \u662f {1}\u3002\u6b64\u65b9\u6cd5\u50c5\u9069\u7528\u65bc UNORDERED_NODE_SNAPSHOT_TYPE \u53ca ORDERED_NODE_SNAPSHOT_TYPE \u5169\u7a2e\u985e\u578b\u3002"},
-
-  // Note to translators:  XPathEvaluator is a Java interface name.  An
-  // XPathEvaluator is created with respect to a particular XML document, and in
-  // this case the expression represented by this object was being evaluated with
-  // respect to a context node from a different document.
-  { ER_WRONG_DOCUMENT,
-       "\u74b0\u5883\u5b9a\u7fa9\u7bc0\u9ede\u4e0d\u5c6c\u65bc\u548c\u6b64 XPathEvaluator \u9023\u7d50\u7684\u6587\u4ef6\u3002"},
-
-  // Note to translators:  The XPath expression cannot be evaluated with respect
-  // to this type of node.
-  { ER_WRONG_NODETYPE,
-       "\u74b0\u5883\u5b9a\u7fa9\u7bc0\u9ede\u985e\u578b\u672a\u53d7\u652f\u63f4\u3002"},
-
-  { ER_XPATH_ERROR,
-       "XPath \u767c\u751f\u4e0d\u660e\u932f\u8aa4\u3002"},
-
-        { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,
-                "XPath \u8868\u793a\u5f0f ''{0}'' \u7684 XPathResult \u6709\u7121\u6cd5\u8f49\u63db\u70ba\u6578\u5b57\u7684 {1} \u7684 XPathResultType\u3002"},
-
-  //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */
-
-  { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,
-       "\u7576 XMLConstants.FEATURE_SECURE_PROCESSING \u7279\u6027\u8a2d\u70ba true \u6642\uff0c\u7121\u6cd5\u547c\u53eb\u5ef6\u4f38\u51fd\u6578\uff1a''{0}''\u3002"},
-
-  /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */
-
-  { ER_RESOLVE_VARIABLE_RETURNS_NULL,
-       "\u8b8a\u6578 {0} \u7684 resolveVariable \u50b3\u56de\u7a7a\u503c"},
-
-  /** Field ER_UNSUPPORTED_RETURN_TYPE                       */
-
-  { ER_UNSUPPORTED_RETURN_TYPE,
-       "\u4e0d\u53d7\u652f\u63f4\u7684\u50b3\u56de\u985e\u578b\uff1a{0}"},
-
-  /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */
-
-  { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,
-       "\u539f\u59cb\u6a94\u53ca/\u6216\u50b3\u56de\u985e\u578b\u4e0d\u53ef\u70ba\u7a7a\u503c"},
-
-  /** Field ER_ARG_CANNOT_BE_NULL                       */
-
-  { ER_ARG_CANNOT_BE_NULL,
-       "{0} \u5f15\u6578\u4e0d\u53ef\u70ba\u7a7a\u503c"},
-
-  /** Field ER_OBJECT_MODEL_NULL                       */
-
-  { ER_OBJECT_MODEL_NULL,
-       "\u7576 objectModel == null \u6642\u7121\u6cd5\u547c\u53eb {0}#isObjectModelSupported(String objectModel )"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_OBJECT_MODEL_EMPTY,
-       "\u7576 objectModel == \"\" \u6642\u7121\u6cd5\u547c\u53eb {0}#isObjectModelSupported(String objectModel )"},
-
-  /** Field ER_OBJECT_MODEL_EMPTY                       */
-
-  { ER_FEATURE_NAME_NULL,
-       "\u5617\u8a66\u8a2d\u5b9a\u4f7f\u7528\u7a7a\u503c\u540d\u7a31\u7684\u7279\u6027\uff1a{0}#setFeature( null, {1})"},
-
-  /** Field ER_FEATURE_UNKNOWN                       */
-
-  { ER_FEATURE_UNKNOWN,
-       "\u5617\u8a66\u8a2d\u5b9a\u4e0d\u660e\u7279\u6027 \"{0}\"\uff1a{1}#setFeature({0},{2})"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_NULL_FEATURE,
-       "\u5617\u8a66\u53d6\u5f97\u4f7f\u7528\u7a7a\u503c\u540d\u7a31\u7684\u7279\u6027\uff1a{0}#getFeature(null)"},
-
-  /** Field ER_GETTING_NULL_FEATURE                       */
-
-  { ER_GETTING_UNKNOWN_FEATURE,
-       "\u5617\u8a66\u53d6\u5f97\u4e0d\u660e\u7279\u6027 \"{0}\":{1}#getFeature({0})"},
-
-  /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */
-
-  { ER_NULL_XPATH_FUNCTION_RESOLVER,
-       "\u5617\u8a66\u8a2d\u5b9a\u7a7a\u503c XPathFunctionResolver\uff1a{0}#setXPathFunctionResolver(null)"},
-
-  /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */
-
-  { ER_NULL_XPATH_VARIABLE_RESOLVER,
-       "\u5617\u8a66\u8a2d\u5b9a\u7a7a\u503c XPathVariableResolver\uff1a{0}#setXPathVariableResolver(null)"},
-
-  //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation
-
-  // Warnings...
-
-  { WG_LOCALE_NAME_NOT_HANDLED,
-      "format-number \u51fd\u6578\u4e2d\u7684\u8a9e\u8a00\u74b0\u5883\u540d\u7a31\u5c1a\u672a\u8655\u7406\uff01"},
-
-  { WG_PROPERTY_NOT_SUPPORTED,
-      "XSL \u5167\u5bb9\u672a\u53d7\u652f\u63f4\uff1a{0}"},
-
-  { WG_DONT_DO_ANYTHING_WITH_NS,
-      "\u76ee\u524d\u4e0d\u8981\u5c0d\u5167\u5bb9\uff1a{1} \u4e2d\u7684\u540d\u7a31\u7a7a\u9593 {0} \u505a\u4efb\u4f55\u52d5\u4f5c"},
-
-  { WG_SECURITY_EXCEPTION,
-      "\u5617\u8a66\u5b58\u53d6 XSL \u7cfb\u7d71\u5167\u5bb9\uff1a{0} \u6642\u767c\u751f SecurityException"},
-
-  { WG_QUO_NO_LONGER_DEFINED,
-      "XPath \u4e2d\u5df2\u4e0d\u518d\u5b9a\u7fa9\u820a\u8a9e\u6cd5\uff1aquo(...)\u3002"},
-
-  { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,
-      "XPath \u9700\u8981\u884d\u751f\u7269\u4ef6\u4f86\u5be6\u4f5c nodeTest\uff01"},
-
-  { WG_FUNCTION_TOKEN_NOT_FOUND,
-      "\u627e\u4e0d\u5230\u51fd\u6578\u8a18\u865f\u3002"},
-
-  { WG_COULDNOT_FIND_FUNCTION,
-      "\u627e\u4e0d\u5230\u51fd\u6578\uff1a{0}"},
-
-  { WG_CANNOT_MAKE_URL_FROM,
-      "\u7121\u6cd5\u5f9e\uff1a{0} \u7522\u751f URL"},
-
-  { WG_EXPAND_ENTITIES_NOT_SUPPORTED,
-      "-E \u9078\u9805\u4e0d\u53d7 DTM \u5256\u6790\u5668\u652f\u63f4"},
-
-  { WG_ILLEGAL_VARIABLE_REFERENCE,
-      "\u63d0\u4f9b\u7d66\u8b8a\u6578\u7684 VariableReference \u8d85\u51fa\u74b0\u5883\u5b9a\u7fa9\u6216\u6c92\u6709\u5b9a\u7fa9\uff01\u540d\u7a31 = {0}"},
-
-  { WG_UNSUPPORTED_ENCODING,
-     "\u4e0d\u652f\u63f4\u7de8\u78bc\uff1a{0}"},
-
-
-
-  // Other miscellaneous text used inside the code...
-  { "ui_language", "zh"},
-  { "help_language", "zh"},
-  { "language", "zh"},
-  { "BAD_CODE", "createMessage \u7684\u53c3\u6578\u8d85\u51fa\u754c\u9650"},
-  { "FORMAT_FAILED", "\u5728 messageFormat \u547c\u53eb\u671f\u9593\u64f2\u51fa\u7570\u5e38"},
-  { "version", ">>>>>>> Xalan \u7248\u672c"},
-  { "version2", "<<<<<<<"},
-  { "yes", "yes"},
-  { "line", "\u884c\u865f"},
-  { "column", "\u6b04\u865f"},
-  { "xsldone", "XSLProcessor\uff1a\u5b8c\u6210"},
-  { "xpath_option", "xpath \u9078\u9805\uff1a"},
-  { "optionIN", "[-in inputXMLURL]"},
-  { "optionSelect", "[-select xpath \u8868\u793a\u5f0f]"},
-  { "optionMatch", "[-match \u7b26\u5408\u578b\u6a23\uff08\u7528\u65bc\u6bd4\u5c0d\u8a3a\u65b7\uff09]"},
-  { "optionAnyExpr", "\u6216\u53ea\u6709\u4e00\u500b xpath \u8868\u793a\u5f0f\u6703\u57f7\u884c\u8a3a\u65b7\u50be\u51fa"},
-  { "noParsermsg1", "XSL \u7a0b\u5e8f\u6c92\u6709\u9806\u5229\u5b8c\u6210\u3002"},
-  { "noParsermsg2", "** \u627e\u4e0d\u5230\u5256\u6790\u5668 **"},
-  { "noParsermsg3", "\u8acb\u6aa2\u67e5\u985e\u5225\u8def\u5f91\u3002"},
-  { "noParsermsg4", "\u5982\u679c\u60a8\u6c92\u6709 IBM \u7684 XML Parser for Java\uff0c\u53ef\u81ea\u4ee5\u4e0b\u7db2\u5740\u4e0b\u8f09"},
-  { "noParsermsg5", "IBM \u7684 AlphaWorks\uff1ahttp://www.alphaworks.ibm.com/formula/xml"},
-  { "gtone", ">1" },
-  { "zero", "0" },
-  { "one", "1" },
-  { "two" , "2" },
-  { "three", "3" }
-
-  };
-  }
-
-
-  // ================= INFRASTRUCTURE ======================
-
-  /** Field BAD_CODE          */
-  public static final String BAD_CODE = "BAD_CODE";
-
-  /** Field FORMAT_FAILED          */
-  public static final String FORMAT_FAILED = "FORMAT_FAILED";
-
-  /** Field ERROR_RESOURCES          */
-  public static final String ERROR_RESOURCES =
-    "org.apache.xpath.res.XPATHErrorResources";
-
-  /** Field ERROR_STRING          */
-  public static final String ERROR_STRING = "#error";
-
-  /** Field ERROR_HEADER          */
-  public static final String ERROR_HEADER = "\u932f\u8aa4\uff1a";
-
-  /** Field WARNING_HEADER          */
-  public static final String WARNING_HEADER = "\u8b66\u544a\uff1a";
-
-  /** Field XSL_HEADER          */
-  public static final String XSL_HEADER = "XSL ";
-
-  /** Field XML_HEADER          */
-  public static final String XML_HEADER = "XML ";
-
-  /** Field QUERY_HEADER          */
-  public static final String QUERY_HEADER = "PATTERN ";
-
-
-  /**
-   * Return a named ResourceBundle for a particular locale.  This method mimics the behavior
-   * of ResourceBundle.getBundle().
-   *
-   * @param className Name of local-specific subclass.
-   * @return the ResourceBundle
-   * @throws MissingResourceException
-   */
-  public static final XPATHErrorResources loadResourceBundle(String className)
-          throws MissingResourceException
-  {
-
-    Locale locale = Locale.getDefault();
-    String suffix = getResourceSuffix(locale);
-
-    try
-    {
-
-      // first try with the given locale
-      return (XPATHErrorResources) ResourceBundle.getBundle(className
-              + suffix, locale);
-    }
-    catch (MissingResourceException e)
-    {
-      try  // try to fall back to en_US if we can't load
-      {
-
-        // Since we can't find the localized property file,
-        // fall back to en_US.
-        return (XPATHErrorResources) ResourceBundle.getBundle(className,
-                new Locale("zh", "TW"));
-      }
-      catch (MissingResourceException e2)
-      {
-
-        // Now we are really in trouble.
-        // very bad, definitely very bad...not going to get very far
-        throw new MissingResourceException(
-          "Could not load any resource bundles.", className, "");
-      }
-    }
-  }
-
-  /**
-   * Return the resource file suffic for the indicated locale
-   * For most locales, this will be based the language code.  However
-   * for Chinese, we do distinguish between Taiwan and PRC
-   *
-   * @param locale the locale
-   * @return an String suffix which canbe appended to a resource name
-   */
-  private static final String getResourceSuffix(Locale locale)
-  {
-
-    String suffix = "_" + locale.getLanguage();
-    String country = locale.getCountry();
-
-    if (country.equals("TW"))
-      suffix += "_" + country;
-
-    return suffix;
-  }
-
-}
diff --git a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHMessages.java b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHMessages.java
index 72f1fea..7fb6135 100644
--- a/libcore/xml/src/main/java/org/apache/xpath/res/XPATHMessages.java
+++ b/libcore/xml/src/main/java/org/apache/xpath/res/XPATHMessages.java
@@ -31,7 +31,7 @@
 public class XPATHMessages extends XMLMessages
 {
   /** The language specific resource object for XPath messages.  */
-  private static ListResourceBundle XPATHBundle = null;
+  private static ListResourceBundle XPATHBundle = new XPATHErrorResources();
 
   /** The class name of the XPath error message string table.     */
   private static final String XPATH_ERROR_RESOURCES =
@@ -49,15 +49,10 @@
    */
   public static final String createXPATHMessage(String msgKey, Object args[])  //throws Exception 
   {
-    if (XPATHBundle == null)
-      XPATHBundle = loadResourceBundle(XPATH_ERROR_RESOURCES);
-    
-    if (XPATHBundle != null)
-    {
+      // BEGIN android-changed
+      //     don't localize exception messages
       return createXPATHMsg(XPATHBundle, msgKey, args);
-    }
-    else
-      return "Could not load any resource bundles.";
+      // END android-changed
   }
 
   /**
@@ -72,15 +67,10 @@
    */
   public static final String createXPATHWarning(String msgKey, Object args[])  //throws Exception
   {
-    if (XPATHBundle == null)
-      XPATHBundle = loadResourceBundle(XPATH_ERROR_RESOURCES);
-
-    if (XPATHBundle != null)
-    {
+      // BEGIN android-changed
+      //     don't localize exception messages
       return createXPATHMsg(XPATHBundle, msgKey, args);
-    }
-    else
-      return "Could not load any resource bundles.";
+      // END android-changed
   }
 
   /**
diff --git a/libcore/xml/src/main/native/org_apache_harmony_xml_ExpatParser.cpp b/libcore/xml/src/main/native/org_apache_harmony_xml_ExpatParser.cpp
index 1944bdc..4721800 100644
--- a/libcore/xml/src/main/native/org_apache_harmony_xml_ExpatParser.cpp
+++ b/libcore/xml/src/main/native/org_apache_harmony_xml_ExpatParser.cpp
@@ -471,7 +471,9 @@
     }
 
     /**
-     * Returns the element or attribute local name, like "h1". Never empty.
+     * Returns the element or attribute local name, like "h1". Never empty. When
+     * namespace processing is disabled, this may contain a prefix, yielding a
+     * local name like "html:h1". In such cases, the qName will always be empty.
      */
     jstring localName() {
         return internString(mEnv, mParsingContext, mLocalName);
@@ -504,13 +506,17 @@
     bool matchesQName(const char* qName) {
         char* lastColon = strrchr(qName, ':');
 
-        // if the input doesn't have a colon, there's no namespace prefix. Our
-        // prefix must be empty and the qName must equal our localName
-        if (lastColon == NULL) {
-            return strlen(mPrefix) == 0 && strcmp(qName, mLocalName) == 0;
+        // Compare local names only if either:
+        //  - the input qualified name doesn't have a colon (like "h1")
+        //  - this element doesn't have a prefix. Such is the case when it
+        //    doesn't belong to a namespace, or when this parser's namespace
+        //    processing is disabled. In the latter case, this element's local
+        //    name may still contain a colon (like "html:h1").
+        if (lastColon == NULL || *mPrefix == 0) {
+            return strcmp(qName, mLocalName) == 0;
         }
 
-        // otherwise the prefixes must be equal and our localName must equal qName
+        // Otherwise compare both prefix and local name
         size_t prefixLength = lastColon - qName;
         return strlen(mPrefix) == prefixLength
             && strncmp(qName, mPrefix, prefixLength) == 0
@@ -1004,7 +1010,7 @@
 }
 
 /**
- * Creates a new Expat parser. Called from the Java ExpatParser contructor.
+ * Creates a new Expat parser. Called from the Java ExpatParser constructor.
  *
  * @param object the Java ExpatParser instance
  * @param javaEncoding the character encoding name
@@ -1208,11 +1214,6 @@
         jint attributePointer, jint index) {
     XML_Parser parser = (XML_Parser) pointer;
     ParsingContext* context = (ParsingContext*) XML_GetUserData(parser);
-
-    if (!context->processNamespaces) {
-        return emptyString;
-    }
-
     return ExpatElementName(env, context, attributePointer, index).uri();
 }
 
@@ -1229,11 +1230,6 @@
         jint attributePointer, jint index) {
     XML_Parser parser = (XML_Parser) pointer;
     ParsingContext* context = (ParsingContext*) XML_GetUserData(parser);
-
-    if (!context->processNamespaces) {
-        return emptyString;
-    }
-
     return ExpatElementName(env, context, attributePointer, index).localName();
 }
 
@@ -1250,11 +1246,6 @@
         jint attributePointer, jint index) {
     XML_Parser parser = (XML_Parser) pointer;
     ParsingContext* context = (ParsingContext*) XML_GetUserData(parser);
-
-    if (context->processNamespaces) {
-        return emptyString;
-    }
-
     return ExpatElementName(env, context, attributePointer, index).qName();
 }
 
diff --git a/libcore/xml/src/test/java/org/apache/harmony/xml/NamespacedAttributesLookupTest.java b/libcore/xml/src/test/java/org/apache/harmony/xml/NamespacedAttributesLookupTest.java
new file mode 100644
index 0000000..4f58262
--- /dev/null
+++ b/libcore/xml/src/test/java/org/apache/harmony/xml/NamespacedAttributesLookupTest.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.harmony.xml;
+
+import junit.framework.TestCase;
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.DefaultHandler;
+
+import javax.xml.parsers.SAXParserFactory;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * Tests that we both report and retrieve attributes using the appropriate
+ * names for different combinations of namespaces and namespace prefixes.
+ */
+public class NamespacedAttributesLookupTest extends TestCase {
+
+    private static final String SAX_PROPERTY_NS =
+            "http://xml.org/sax/features/namespaces";
+    private static final String SAX_PROPERTY_NS_PREFIXES =
+            "http://xml.org/sax/features/namespace-prefixes";
+
+    private static String xml = "<?xml version='1.0' encoding='UTF-8'?>" +
+            "<test xmlns='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz' baz:c='a'>" +
+            "<b c='w' bar:c='x'/>" +
+            "<bar:e baz:c='y' bar:c='z'/>" +
+            "</test>";
+
+    public void testNamespace() throws Exception {
+        List<String> expected = Arrays.asList(
+                "http://foo,test\n" +
+                "  http://baz,c\n" +
+                "  http://bar+c=null,\n" +
+                "  bar:c=null\n",
+
+                "http://foo,b\n" +
+                "  ,c\n" +
+                "  http://bar,c\n" +
+                "  http://bar+c=x,\n" +
+                "  bar:c=x\n",
+
+                "http://bar,e\n" +
+                "  http://baz,c\n" +
+                "  http://bar,c\n" +
+                "  http://bar+c=z,\n" +
+                "  bar:c=z\n");
+
+        boolean namespace = true;
+        boolean namespacePrefixes = false;
+        assertEquals(expected, getStartElements(xml, namespace, namespacePrefixes));
+    }
+
+    public void testNamespacePrefixes() throws Exception {
+        List<String> expected = Arrays.asList(
+                "test\n" +
+                "  xmlns\n" +
+                "  xmlns:bar\n" +
+                "  xmlns:baz\n" +
+                "  baz:c\n" +
+                "  http://bar+c=null,\n" +
+                "  bar:c=null\n",
+
+                "b\n" +
+                "  c\n" +
+                "  bar:c\n" +
+                "  http://bar+c=null,\n" +
+                "  bar:c=x\n",
+
+                "bar:e\n" +
+                "  baz:c\n" +
+                "  bar:c\n" +
+                "  http://bar+c=null,\n" +
+                "  bar:c=z\n");
+
+        boolean namespace = false;
+        boolean namespacePrefixes = true;
+        assertEquals(expected, getStartElements(xml, namespace, namespacePrefixes));
+    }
+
+    public List<String> getStartElements(String xml, final boolean namespace, boolean namespacePrefixes)
+            throws Exception {
+        final List<String> result = new ArrayList<String>();
+        XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
+        reader.setFeature(SAX_PROPERTY_NS, namespace);
+        reader.setFeature(SAX_PROPERTY_NS_PREFIXES, namespacePrefixes);
+        reader.setContentHandler(new DefaultHandler() {
+            @Override public final void startElement(
+                    String uri, String localName, String qName, Attributes attributes) {
+                StringBuilder serialized = new StringBuilder();
+                /*
+                 * Only supply the uri+localName or qname depending on whether namespaces are
+                 * enabled. It's an optional parameter and the RI only supplies one or the other.
+                 */
+                if (namespace) {
+                    serialized.append(uri).append(",");
+                    serialized.append(localName);
+                } else {
+                    serialized.append(qName);
+                }
+                for (int i = 0; i < attributes.getLength(); i++) {
+                    serialized.append("\n  ");
+                    if (namespace) {
+                        serialized.append(attributes.getURI(i)).append(",");
+                        serialized.append(attributes.getLocalName(i));
+                    } else {
+                        serialized.append(attributes.getQName(i));
+                    }
+                }
+                serialized.append("\n  http://bar+c=")
+                        .append(attributes.getValue("http://bar", "c")).append(",")
+                        .append("\n  bar:c=")
+                        .append(attributes.getValue("bar:c"))
+                        .append("\n");
+                result.add(serialized.toString());
+            }
+        });
+        reader.parse(new InputSource(new StringReader(xml)));
+        return result;
+    }
+}
diff --git a/libcore/xml/src/test/java/tests/api/javax/xml/parsers/DocumentBuilderTest.java b/libcore/xml/src/test/java/tests/api/javax/xml/parsers/DocumentBuilderTest.java
index 292c2f1..02b6d80 100644
--- a/libcore/xml/src/test/java/tests/api/javax/xml/parsers/DocumentBuilderTest.java
+++ b/libcore/xml/src/test/java/tests/api/javax/xml/parsers/DocumentBuilderTest.java
@@ -16,6 +16,28 @@
 
 package tests.api.javax.xml.parsers;
 
+import dalvik.annotation.KnownFailure;
+import dalvik.annotation.TestLevel;
+import dalvik.annotation.TestTargetClass;
+import dalvik.annotation.TestTargetNew;
+import junit.framework.TestCase;
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.EntityReference;
+import org.w3c.dom.Text;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import tests.api.org.xml.sax.support.MethodLogger;
+import tests.api.org.xml.sax.support.MockHandler;
+import tests.api.org.xml.sax.support.MockResolver;
+import tests.util.TestEnvironment;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
@@ -23,33 +45,6 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.logging.Logger;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import junit.framework.TestCase;
-
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.EntityReference;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-import tests.api.org.xml.sax.support.MethodLogger;
-import tests.api.org.xml.sax.support.MockHandler;
-import tests.api.org.xml.sax.support.MockResolver;
-import dalvik.annotation.KnownFailure;
-import dalvik.annotation.TestLevel;
-import dalvik.annotation.TestTargetClass;
-import dalvik.annotation.TestTargetNew;
 
 @TestTargetClass(DocumentBuilder.class) 
 public class DocumentBuilderTest extends TestCase {
@@ -133,6 +128,8 @@
     DocumentBuilder db;
 
     protected void setUp() throws Exception {
+        TestEnvironment.reset();
+
         dbf = DocumentBuilderFactory.newInstance();
         
         dbf.setIgnoringElementContentWhitespace(true);
@@ -266,6 +263,21 @@
     }
 
     /**
+     * Tests that the Base URI for the document is populated with the file URI.
+     */
+    @TestTargetNew(
+        level = TestLevel.COMPLETE,
+        notes = "",
+        method = "parse",
+        args = {java.io.File.class}
+    )
+    public void testGetBaseURI() throws IOException, SAXException {
+        File f = resourceToTmpFile("/simple.xml");
+        Document d = db.parse(f);
+        assertTrue(d.getDocumentElement().getBaseURI().startsWith("file://"));
+    }
+
+    /**
      * @tests javax.xml.parsers.DocumentBuilder#parse(java.io.File)
      * Case 1: Try to parse correct xml document.
      * Case 2: Try to call parse() with null argument.
@@ -567,7 +579,6 @@
         method = "parse",
         args = {java.lang.String.class}
     )
-    @KnownFailure("Android DocumentBuilder should support File sources")
     public void test_parseLjava_lang_String() {
         // case 1: Trivial use.
         File f = new File(getClass().getResource("/simple.xml").getFile());
diff --git a/libcore/xml/src/test/java/tests/api/javax/xml/parsers/SAXParserTest.java b/libcore/xml/src/test/java/tests/api/javax/xml/parsers/SAXParserTest.java
index 2b8bb5c..ca7cf71 100644
--- a/libcore/xml/src/test/java/tests/api/javax/xml/parsers/SAXParserTest.java
+++ b/libcore/xml/src/test/java/tests/api/javax/xml/parsers/SAXParserTest.java
@@ -347,8 +347,6 @@
         method = "parse",
         args = {java.io.File.class, org.xml.sax.helpers.DefaultHandler.class}
     )
-    @KnownFailure("The default handler doesn't get the qName value supplied. " +
-            "We either need to change the test, or fix the parser.")
     public void test_parseLjava_io_FileLorg_xml_sax_helpers_DefaultHandler()
     throws Exception {
 
@@ -456,8 +454,6 @@
         method = "parse",
         args = {org.xml.sax.InputSource.class, org.xml.sax.helpers.DefaultHandler.class}
     )
-    @KnownFailure("The default handler doesn't get the qName value supplied. " +
-            "We either need to change the test, or fix the parser.")
     public void test_parseLorg_xml_sax_InputSourceLorg_xml_sax_helpers_DefaultHandler()
     throws Exception {
 
@@ -623,8 +619,6 @@
         method = "parse",
         args = {java.io.InputStream.class, org.xml.sax.helpers.DefaultHandler.class}
     )
-    @KnownFailure("The default handler doesn't get the qName value supplied. " +
-            "We either need to change the test, or fix the parser.")
     public void test_parseLjava_io_InputStreamLorg_xml_sax_helpers_DefaultHandler()
     throws Exception {
 
@@ -675,8 +669,6 @@
         method = "parse",
         args = {java.io.InputStream.class, org.xml.sax.helpers.DefaultHandler.class, java.lang.String.class}
     )
-    @KnownFailure("The default handler doesn't get the qName value supplied. " +
-            "We either need to change the test, or fix the parser.")
     public void test_parseLjava_io_InputStreamLorg_xml_sax_helpers_DefaultHandlerLjava_lang_String() {
         for(int i = 0; i < list_wf.length; i++) {
             try {
@@ -952,8 +944,6 @@
         method = "parse",
         args = {java.lang.String.class, org.xml.sax.helpers.DefaultHandler.class}
     )
-    @KnownFailure("The default handler doesn't get the qName value supplied. " +
-            "We either need to change the test, or fix the parser.")
     public void test_parseLjava_lang_StringLorg_xml_sax_helpers_DefaultHandler()
     throws Exception {
 
@@ -1174,4 +1164,3 @@
     }
     
 }
-
diff --git a/libnativehelper/JNIHelp.c b/libnativehelper/JNIHelp.c
index d0e2f89..a75b837 100644
--- a/libnativehelper/JNIHelp.c
+++ b/libnativehelper/JNIHelp.c
@@ -133,6 +133,14 @@
 }
 
 /*
+ * Throw a java.lang.NullPointerException, with an optional message.
+ */
+int jniThrowNullPointerException(JNIEnv* env, const char* msg)
+{
+    return jniThrowException(env, "java/lang/NullPointerException", msg);
+}
+
+/*
  * Throw a java.lang.RuntimeException, with an optional message.
  */
 int jniThrowRuntimeException(JNIEnv* env, const char* msg)
diff --git a/libnativehelper/include/nativehelper/JNIHelp.h b/libnativehelper/include/nativehelper/JNIHelp.h
index 3d8983f..59c2620 100644
--- a/libnativehelper/include/nativehelper/JNIHelp.h
+++ b/libnativehelper/include/nativehelper/JNIHelp.h
@@ -54,9 +54,14 @@
 int jniThrowException(C_JNIEnv* env, const char* className, const char* msg);
 
 /*
+ * Throw a java.lang.NullPointerException, with an optional message.
+ */
+int jniThrowNullPointerException(C_JNIEnv* env, const char* msg);
+
+/*
  * Throw a java.lang.RuntimeException, with an optional message.
  */
-int jniThrowRuntimeException(JNIEnv* env, const char* msg);
+int jniThrowRuntimeException(C_JNIEnv* env, const char* msg);
 
 /*
  * Throw a java.io.IOException, generating the message from errno.
@@ -107,6 +112,14 @@
 {
     return jniThrowException(&env->functions, className, msg);
 }
+inline int jniThrowNullPointerException(JNIEnv* env, const char* msg)
+{
+    return jniThrowNullPointerException(&env->functions, msg);
+}
+inline int jniThrowRuntimeException(JNIEnv* env, const char* msg)
+{
+    return jniThrowRuntimeException(&env->functions, msg);
+}
 inline int jniThrowIOException(JNIEnv* env, int errnum)
 {
     return jniThrowIOException(&env->functions, errnum);
diff --git a/tools/dmtracedump/TraceDump.c b/tools/dmtracedump/TraceDump.c
index 2308148..3dc1893 100644
--- a/tools/dmtracedump/TraceDump.c
+++ b/tools/dmtracedump/TraceDump.c
@@ -47,6 +47,18 @@
 /* Size of temporary buffers for escaping html strings */
 #define HTML_BUFSIZE 10240
 
+/* Size of methodId->method cache */
+#define METHOD_CACHE_SIZE 2048
+#define METHOD_CACHE_SIZE_MASK (METHOD_CACHE_SIZE - 1)
+
+/* Some filter constants */
+#define FILTER_TAG '*'
+#define FILTER_FLAG_THREAD '+'
+#define FILTER_TYPE_CLASS 0
+#define FILTER_TYPE_METHOD 1
+
+#define DEFAULT_ACTIVE_THREADS 8
+
 char *htmlHeader = 
 "<html>\n<head>\n<script type=\"text/javascript\" src=\"%ssortable.js\"></script>\n"
 "<script langugage=\"javascript\">\n"
@@ -186,6 +198,8 @@
     ThreadEntry* threads;
     int          numMethods;
     MethodEntry* methods;       /* 2 extra methods: "toplevel" and "unknown" */
+    int*         methodCache;   /* methodId->methodIndex mapping */
+    // TODO change to map methodId->method itself
 } DataKeys;
 
 #define TOPLEVEL_INDEX 0
@@ -197,10 +211,15 @@
 } StackEntry;
 
 typedef struct CallStack {
-    int         top;
-    StackEntry  calls[MAX_STACK_DEPTH];
-    uint64_t    lastEventTime;
-    uint64_t    threadStartTime;
+    int           top;
+    StackEntry    calls[MAX_STACK_DEPTH];
+    uint64_t      lastEventTime;
+    uint64_t      threadStartTime;
+    uint64_t*     remTimes;
+    // Note: remTimes keeps a sum of 'un-allocated' time for each thread, in case
+    // we need to allocate it to one (or many) filter later. This would happen when
+    // we see a method exit that maches a filter, but whose entry we hadn't seen.
+    // TODO: consider moving remTimes into FilterTimes and change logic appropriately
 } CallStack;
 
 typedef struct DiffEntry {
@@ -217,6 +236,7 @@
     const char* traceFileName;
     const char* diffFileName;
     const char* graphFileName;
+    const char* filterFileName;
     int keepDotFile;
     int dump;
     int outputHtml;
@@ -233,6 +253,31 @@
     UniqueMethodEntry *uniqueMethods;
 } TraceData;
 
+typedef struct FilterKey {
+    int       type[2];    /* 0=class, 1=method; 2 needed for start and end keys */
+    uint32_t  flags;      /* 1st bit = include cross-thread time */
+    char*     keys[2];    /* 2 needed for start and end keys */
+} FilterKey;
+
+typedef struct FilterTimes {
+    uint64_t   totalWaitTime;
+    uint64_t*  threadWaitTimes;
+    uint64_t*  threadExecutionTimesWhileWaiting;
+    uint64_t*  threadExecutionTimes;
+} FilterTimes;
+
+typedef struct Filter {
+    char*       filterName;
+    FilterKey*  filterKeys;
+    int         numKeys;
+    int         activeCount;
+    int*        activeThreads;
+    int*        activationKeys;
+    FilterTimes times;
+} Filter;
+
+int numFilters = 0; // global
+
 static Options gOptions;
 
 /* Escapes characters in the source string that are html special entities.
@@ -602,6 +647,7 @@
     free(pKeys->fileData);
     free(pKeys->threads);
     free(pKeys->methods);
+    free(pKeys->methodCache);
     free(pKeys);
 }
 
@@ -628,20 +674,15 @@
     return -1;
 }
 
-/*
- * Count the number of lines until the next token.
- *
- * Returns -1 if none found before EOF.
- */
-int countLinesToToken(const char* data, int len)
+int countLinesToChar(const char* data, int len, const char toFind)
 {
     int count = 0;
     int next;
 
-    while (*data != TOKEN_CHAR) {
+    while (*data != toFind) {
         next = findNextChar(data, len, '\n');
         if (next < 0)
-            return -1;
+	    return count;
         count++;
         data += next+1;
         len -= next+1;
@@ -651,6 +692,16 @@
 }
 
 /*
+ * Count the number of lines until the next token.
+ *
+ * Returns 0 if none found before EOF.
+ */
+int countLinesToToken(const char* data, int len)
+{
+    return countLinesToChar(data, len, TOKEN_CHAR);
+}
+
+/*
  * Make sure we're at the start of the right section.
  *
  * Returns the length of the token line, or -1 if something is wrong.
@@ -1037,7 +1088,7 @@
         printf("Methods (%d):\n", pKeys->numMethods);
         for (i = 0; i < pKeys->numMethods; i++) {
             printf("0x%08x %s : %s : %s\n",
-                   pKeys->methods[i].methodId, pKeys->methods[i].className,
+                   pKeys->methods[i].methodId >> 2, pKeys->methods[i].className,
                    pKeys->methods[i].methodName, pKeys->methods[i].signature);
         }
     }
@@ -1119,6 +1170,18 @@
 {
     int hi, lo, mid;
     unsigned int id;
+    int hashedId;
+
+    /* Create cache if it doesn't already exist */
+    if (pKeys->methodCache == NULL) {
+        pKeys->methodCache = (int*) malloc(sizeof(int) * METHOD_CACHE_SIZE);
+    }
+
+    // ids are multiples of 4, so shift
+    hashedId = (methodId >> 2) & METHOD_CACHE_SIZE_MASK;
+    if (pKeys->methodCache[hashedId]) /* cache hit */
+        if (pKeys->methods[pKeys->methodCache[hashedId]].methodId == methodId)
+	    return &pKeys->methods[pKeys->methodCache[hashedId]];
 
     lo = 0;
     hi = pKeys->numMethods - 1;
@@ -1127,9 +1190,11 @@
         mid = (hi + lo) / 2;
 
         id = pKeys->methods[mid].methodId;
-        if (id == methodId)           /* match */
-            return &pKeys->methods[mid];
-	else if (id < methodId)       /* too low */
+        if (id == methodId) {         /* match, put in cache */
+	    hashedId = (methodId >> 2) & METHOD_CACHE_SIZE_MASK;
+	    pKeys->methodCache[hashedId] = mid;
+	    return &pKeys->methods[mid];
+	} else if (id < methodId)       /* too low */
             lo = mid + 1;
         else                          /* too high */
             hi = mid - 1;
@@ -1710,12 +1775,10 @@
     char classBuf[HTML_BUFSIZE], methodBuf[HTML_BUFSIZE];
     char signatureBuf[HTML_BUFSIZE];
     char anchor_buf[80];
-    char *anchor_close = "";
 
     total = sumThreadTime;
     anchor_buf[0] = 0;
     if (gOptions.outputHtml) {
-        anchor_close = "</a>";
         printf("<a name=\"inclusive\"></a>\n");
         printf("<hr>\n");
         outputNavigationBar();
@@ -1800,20 +1863,19 @@
     }
 }
 
-void printThreadProfile(ThreadEntry *pThreads, int numThreads, uint64_t sumThreadTime)
+void printThreadProfile(ThreadEntry *pThreads, int numThreads, uint64_t sumThreadTime, Filter** filters)
 {
-    int ii;
+    int ii, jj;
     ThreadEntry thread;
     double total, per, sum_per;
     uint64_t sum;
     char threadBuf[HTML_BUFSIZE];
     char anchor_buf[80];
-    char *anchor_close = "";
+    int drawTable;
 
     total = sumThreadTime;
     anchor_buf[0] = 0;
     if (gOptions.outputHtml) {
-        anchor_close = "</a>";
         printf("<a name=\"thread\"></a>\n");
         printf("<hr>\n");
         outputNavigationBar();
@@ -1824,13 +1886,18 @@
     /* Sort the threads into decreasing order of elapsed time. */
     qsort(pThreads, numThreads, sizeof(ThreadEntry), compareElapsed);
 
-    printf("\nElapsed times for each thread, sorted by elapsed time.\n\n");
+    printf("\nElapsed times for each thread, sorted by elapsed time.\n");
+    printf("Also includes percentage of time spent during the <i>execution</i> of any filters.\n\n");
 
     if (gOptions.outputHtml) {
         printf("<br><br>\n<pre>\n");
     }
 
-    printf("    Usecs   self %%  sum %% tid   ThreadName\n");
+    printf("    Usecs   self %%  sum %%");
+    for (ii = 0; ii < numFilters; ++ii) {
+        printf("  %s %%", filters[ii]->filterName);
+    }
+    printf("  tid   ThreadName\n");
     sum = 0;
 
     for (ii = 0; ii < numThreads; ++ii) {
@@ -1851,11 +1918,64 @@
         if (gOptions.outputHtml) {
 	    threadName = htmlEscape(threadName, threadBuf, HTML_BUFSIZE);
         }
-	printf("%9llu  %6.2f %6.2f  %3d   %s\n", time, per, sum_per, threadId, threadName);
+
+	printf("%9llu  %6.2f %6.2f", time, per, sum_per);
+	for (jj = 0; jj < numFilters; jj++) {
+	    printf(" %6.2f", 100.0 * filters[jj]->times.threadExecutionTimes[threadId] / time);
+	}
+	printf("    %3d %s\n", threadId, threadName);
     }
 
     if (gOptions.outputHtml)
-        printf("</pre>\n");
+        printf("</pre><br />");
+
+    printf("\n\nBreak-down of portion of time spent by each thread while waiting on a filter method.\n");
+
+    for (ii = 0; ii < numFilters; ++ii) {
+        // Draw a table for each filter that measures wait time
+        drawTable = 0;
+	for (jj = 0; jj < filters[ii]->numKeys; jj++)
+	    if (filters[ii]->filterKeys[jj].flags == 1)
+	        drawTable = 1;
+
+	if (drawTable) {
+
+	    if (gOptions.outputHtml)
+	        printf("<br/><br/>\n<pre>\n");
+	    printf("Filter: %s\n", filters[ii]->filterName);
+	    printf("Total waiting cycles: %llu (%6.2f%% of total)\n",
+		   filters[ii]->times.totalWaitTime,
+		   100.0 * filters[ii]->times.totalWaitTime / sum);
+
+	    if (filters[ii]->times.totalWaitTime > 0) {
+
+	        printf("Details: \n\n");
+
+		printf(" Waiting cycles    %% of total waiting time   execution time while waiting    thread name\n");
+
+		for (jj = 0; jj < numThreads; jj++) {
+
+		    thread = pThreads[jj];
+
+		    char *threadName;
+		    threadName = (char*) thread.threadName;
+		    if (gOptions.outputHtml) {
+		        threadName = htmlEscape(threadName, threadBuf, HTML_BUFSIZE);
+		    }
+
+		    printf(" %9llu                   %6.2f                     %6.2f               %s\n",
+			   filters[ii]->times.threadWaitTimes[thread.threadId],
+			   100.0 * filters[ii]->times.threadWaitTimes[thread.threadId] / filters[ii]->times.totalWaitTime,
+			   100.0 * filters[ii]->times.threadExecutionTimesWhileWaiting[thread.threadId] / filters[ii]->times.totalWaitTime,
+			   threadName);
+		}
+	    }
+
+	    if (gOptions.outputHtml)
+	        printf("</pre>\n");
+
+	}
+    }
 
 }
 
@@ -2360,16 +2480,464 @@
 }
 
 /*
+ * Determines whether the given FilterKey matches the method. The FilterKey's
+ * key that is used to match against the method is determined by index.
+ */
+int keyMatchesMethod(FilterKey filterKey, MethodEntry* method, int index)
+{
+    if (filterKey.type[index] == 0) { // Class
+#if 0
+        fprintf(stderr, "  class is %s; filter key is %s\n", method->className, filterKey.keys[index]);
+#endif
+        if (strcmp(method->className, filterKey.keys[index]) == 0) {
+	    return 1;
+	}
+    } else { // Method
+        if (method->methodName != NULL) {
+	    // Get fully-qualified name
+            // TODO: parse class name and method name an put them in structure to avoid
+            // allocating memory here
+	    char* str = malloc ((strlen(method->className) + strlen(method->methodName) + 2) * sizeof(char));
+	    strcpy(str, method->className);
+	    strcat(str, ".");
+	    strcat(str, method->methodName);
+#if 0
+	    fprintf(stderr, "  method is %s; filter key is %s\n", str, filterKey.keys[index]);
+#endif
+	    if (strcmp(str, filterKey.keys[index]) == 0) {
+	        free(str);
+	        return 1;
+	    }
+	    free(str);
+	}
+    }
+    return 0;
+}
+
+/*
+ * Adds the appropriate times to the given filter based on the given method. Activates and
+ * de-activates filters as necessary.
+ *
+ * A filter is activated when the given method matches the 'entry' key of one of its FilterKeys.
+ * It is de-activated when the method matches the 'exit' key of the same FilterKey that activated it
+ * in the first place. Thus, a filter may be active more than once on the same thread (activated by
+ * different FilterKeys). A filter may also be active on different threads at the same time.
+ *
+ * While the filter is active on thread 1, elapsed time is allocated to different buckets which
+ * include: thread execution time (i.e., time thread 1 spent executing while filter was active),
+ * thread waiting time (i.e., time thread 1 waited while other threads executed), and execution
+ * time while waiting (i.e., time thread x spent executing while thread 1 was waiting). We also
+ * keep track of the total waiting time for a given filter.
+ *
+ * Lastly, we keep track of remaining (un-allocated) time for cases in which we exit a method we
+ * had not entered before, and that method happens to match the 'exit' key of a FilterKey.
+ */
+int filterMethod(MethodEntry* method, Filter* filter, int entry, int threadId, int numThreads,
+		 uint64_t elapsed, uint64_t remTime)
+{
+    int ii, jj;
+    int activeCount, addedWaitTimeThreadsCount;
+    int* activeThreads;
+    int* activationKeys;
+    int* addedWaitTimeThreads;
+
+    // flags
+    int addWaitTime = 0;
+    int deactivation = 0;
+    int addedExecutionTime = 0;
+    int addedExecutionTimeWhileWaiting = 0;
+    int addedWaitTime;
+    int addedRemTime = 0;
+    int threadKeyPairActive = 0;
+
+    if (filter->times.threadWaitTimes == NULL && filter->times.threadExecutionTimes == NULL &&
+	filter->times.threadExecutionTimesWhileWaiting == NULL) {
+        filter->times.threadWaitTimes = (uint64_t*) calloc(MAX_THREADS, sizeof(uint64_t));
+	filter->times.threadExecutionTimesWhileWaiting =
+          (uint64_t*) calloc(MAX_THREADS, sizeof(uint64_t));
+	filter->times.threadExecutionTimes = (uint64_t*) calloc(MAX_THREADS, sizeof(uint64_t));
+    }
+
+    int verbose = 0;
+
+    if (verbose)
+        fprintf(stderr,
+                "Running %s filter for class %s method %s, thread %d; activeCount: %d time: %llu\n",
+                filter->filterName, method->className, method->methodName, threadId,
+                filter->activeCount, elapsed);
+
+    // If active on some thread
+    if (filter->activeCount > 0) {
+
+        // Initialize active structures in case there are any de-activations
+        activeThreads = (int*) calloc(filter->activeCount, sizeof(int));
+	activationKeys = (int*) calloc(filter->activeCount, sizeof(int));
+	activeCount = 0;
+
+	// Initialize structure to help us determine which threads we've already added wait time to
+	addedWaitTimeThreads = (int*) calloc(filter->activeCount, sizeof(int));
+	addedWaitTimeThreadsCount = 0;
+
+        // Add times to appropriate sums and de-activate (if necessary)
+        for (ii = 0; ii < filter->activeCount; ii++) {
+
+	    if (verbose) {
+	        fprintf(stderr, "  Analyzing active thread with id %d, activated by key [%s, %s]\n",
+			filter->activeThreads[ii],
+                        filter->filterKeys[filter->activationKeys[ii]].keys[0],
+			filter->filterKeys[filter->activationKeys[ii]].keys[1]);
+	    }
+
+	    // If active on THIS thread -> add to execution time (only add once!)
+	    if (filter->activeThreads[ii] == threadId && !addedExecutionTime) {
+	        if (verbose)
+		    fprintf(stderr, "  Adding execution time to this thead\n");
+	        filter->times.threadExecutionTimes[threadId] += elapsed;
+		addedExecutionTime = 1;
+	    }
+
+	    // If active on ANOTHER thread (or this one too) with CROSS_THREAD_FLAG -> add to
+            // both thread's waiting time + total
+	    if (filter->filterKeys[filter->activationKeys[ii]].flags == 1) {
+
+	        // Add time to thread that is waiting (add to each waiting thread at most once!)
+	        addedWaitTime = 0;
+		for (jj = 0; jj < addedWaitTimeThreadsCount; jj++) {
+		    if (addedWaitTimeThreads[jj] == filter->activeThreads[ii])
+		        addedWaitTime = 1;
+		}
+	        if (!addedWaitTime) {
+		    if (verbose)
+		        fprintf(stderr, "  Adding wait time to waiting thread\n");
+		    filter->times.threadWaitTimes[filter->activeThreads[ii]] += elapsed;
+		    addedWaitTimeThreads[addedWaitTimeThreadsCount++] = filter->activeThreads[ii];
+		}
+
+                // Add execution time to this thread while the other is waiting (only add once!)
+                // [Flag is needed only because outside for loop might iterate through same
+                // thread twice?] TODO: verify
+		if (!addedExecutionTimeWhileWaiting) {
+		    if (verbose)
+		        fprintf(stderr, "  Adding exec time to this thread while thread waits\n");
+		    filter->times.threadExecutionTimesWhileWaiting[threadId] += elapsed;
+		    addedExecutionTimeWhileWaiting = 1;
+		}
+
+		addWaitTime = 1;
+	    }
+
+	    // If a method exit matches the EXIT method of an ACTIVE key -> de-activate
+            // the KEY (not the entire filter!!)
+	    if (!entry && keyMatchesMethod(filter->filterKeys[filter->activationKeys[ii]],
+					   method, 1)) {
+	        if (verbose)
+		    fprintf(stderr, "  Exit key matched!\n");
+
+	        // Deactivate by removing (NOT adding) entries from activeThreads and activationKeys
+	        deactivation = 1; // singal that lists should be replaced
+	    } else {
+	        // No de-activation -> copy old entries into new lists
+	        activeThreads[activeCount] = filter->activeThreads[ii];
+		activationKeys[activeCount++] = filter->activationKeys[ii];
+	    }
+	}
+
+	// If waiting on ANY thread, add wait time to total (but only ONCE!)
+	if (addWaitTime) {
+	    filter->times.totalWaitTime += elapsed;
+	}
+
+	// If de-activation occurred, replace lists
+	if (deactivation) {
+	    // TODO: Free memory from old lists
+
+	    // Set new lists
+	    filter->activeThreads = activeThreads;
+	    filter->activationKeys = activationKeys;
+	    filter->activeCount = activeCount;
+	} else {
+	    // TODO: Free memory from new lists
+	}
+
+    }  // Else, continue (we might be activating the filter on a different thread)
+
+
+    if (entry) { // ENTRY
+        if (verbose)
+	    fprintf(stderr, "  Here at the entry\n");
+        // If method matches entry key -> activate thread (do not add time since it's a new entry!)
+        for (ii = 0; ii < filter->numKeys; ii++) {
+	    if (keyMatchesMethod(filter->filterKeys[ii], method, 0)) {
+	        if (verbose)
+		    fprintf(stderr, "  Entry key matched!\n");
+	        // Activate thread only if thread/key pair is not already active
+	        for (jj = 0; jj < filter->activeCount; jj++) {
+		    if (filter->activeThreads[jj] == threadId && filter->activationKeys[jj] == ii)
+		        threadKeyPairActive = 1;
+		}
+	        // TODO: WORRY ABOUT MEMORY WHEN ACTIVE_COUNT > DEFAULT_ACTIVE_THREAD (unlikely)
+	        // TODO: what if the same thread is active multiple times by different keys?
+		// nothing, we just have to make sure we dont double-add, and we dont..
+		if (!threadKeyPairActive) {
+		    filter->activeThreads[filter->activeCount] = threadId;
+		    filter->activationKeys[filter->activeCount++] = ii;
+		}
+	    }
+	}
+    } else { // EXIT
+        // If method matches a terminal key -> add remTime to total (no need to active/de-activate)
+        for (ii = 0; ii < filter->numKeys; ii++) {
+	    if (!deactivation && keyMatchesMethod(filter->filterKeys[ii], method, 1) &&
+		keyMatchesMethod(filter->filterKeys[ii], method, 0)) {
+	        // Add remTime(s)
+	        // TODO: think about how we should add remTimes.. should we add remTime to threads
+	        // that were waiting or being waited on? for now, keep it simple and just add the
+	        // execution time to the current thread.
+	        filter->times.threadExecutionTimes[threadId] += remTime;
+		addedRemTime = 1;
+	    }
+	}
+    }
+
+    return addedExecutionTime | (addedRemTime << 1);
+}
+
+void dumpFilters(Filter** filters) {
+    int i;
+    for (i = 0; i < numFilters; i++) {
+        int j;
+	fprintf(stderr, "FILTER %s\n", filters[i]->filterName);
+	for (j = 0; j < filters[i]->numKeys; j++) {
+	    fprintf(stderr, "Keys: %s, type %d", filters[i]->filterKeys[j].keys[0],
+		    filters[i]->filterKeys[j].type[0]);
+	    if (filters[i]->filterKeys[j].keys[1] != NULL) {
+	        fprintf(stderr, " AND %s, type %d", filters[i]->filterKeys[j].keys[1],
+			filters[i]->filterKeys[j].type[1]);
+	    }
+	    fprintf(stderr, "; flags: %d\n", filters[i]->filterKeys[j].flags);
+	}
+    }
+}
+
+/*
+ * See parseFilters for required data format.
+ * 'data' must point to the beginning of a filter definition.
+ */
+char* parseFilter(char* data, char* dataEnd, Filter** filters, int num) {
+
+    Filter* filter;
+    int next, count, i;
+    int tmpOffset, tmpKeyLen;
+    char* tmpKey;
+    char* key1;
+    char* key2;
+
+    filter = (Filter*) malloc(sizeof(Filter));
+    filter->activeCount = 0;
+    filter->activeThreads = (int*) calloc(DEFAULT_ACTIVE_THREADS, sizeof(int));
+    filter->activationKeys = (int*) calloc(DEFAULT_ACTIVE_THREADS, sizeof(int));
+
+    next = findNextChar(data + 1, dataEnd - data - 1, '\n');
+    if (next < 0) {
+        // TODO: what should we do here?
+        // End of file reached...
+    }
+    data[next+1] = '\0';
+    filter->filterName = data + 1;
+    data += next + 2; // Careful
+
+    /*
+     * Count the number of keys (one per line).
+     */
+    count = countLinesToChar(data, dataEnd - data, FILTER_TAG);
+    if (count <= 0) {
+        fprintf(stderr,
+		"ERROR: failed while parsing filter %s (found %d keys)\n",
+		filter->filterName, count);
+	return NULL; // TODO: Should do something else
+	// Could return filter with 0 keys instead (probably better to avoid random segfaults)
+    }
+
+    filter->filterKeys = (FilterKey*) malloc(sizeof(FilterKey) * count);
+
+    /*
+     * Extract all entries.
+     */
+    tmpOffset = 0;
+    for (i = 0; i < count; i++) {
+        next = findNextChar(data, dataEnd - data, '\n');
+	//        assert(next > 0); // TODO: revise... (skip if next == 0 ?)
+        data[next] = '\0';
+	tmpKey = data;
+
+        if (*data == FILTER_FLAG_THREAD) {
+            filter->filterKeys[i].flags = 1;
+            tmpKey++;
+	} else {
+            filter->filterKeys[i].flags = 0;
+	}
+
+	tmpOffset = findNextChar(tmpKey, next, ',');
+
+        if (tmpOffset < 0) {
+            // No comma, so only 1 key
+            key1 = tmpKey;
+	    key2 = tmpKey;
+
+	    // Get type for key1
+            filter->filterKeys[i].type[0] = FILTER_TYPE_CLASS; // default
+            tmpOffset = findNextChar(key1, next, '(');
+	    if (tmpOffset > 0) {
+	        if (findNextChar(key1, next, ')') == tmpOffset + 1) {
+		    filter->filterKeys[i].type[0] = FILTER_TYPE_METHOD;
+		    filter->filterKeys[i].type[1] = FILTER_TYPE_METHOD;
+		}
+		key1[tmpOffset] = '\0';
+	    }
+	} else {
+	    // Pair of keys
+	    tmpKey[tmpOffset] = '\0';
+	    key1 = tmpKey;
+	    key2 = tmpKey + tmpOffset + 1;
+
+	    // Get type for key1
+	    filter->filterKeys[i].type[0] = FILTER_TYPE_CLASS;
+	    tmpKeyLen = tmpOffset;
+            tmpOffset = findNextChar(key1, tmpKeyLen, '(');
+	    if (tmpOffset > 0) {
+	        if (findNextChar(key1, tmpKeyLen, ')') == tmpOffset + 1) {
+		    filter->filterKeys[i].type[0] = FILTER_TYPE_METHOD;
+		}
+		key1[tmpOffset] = '\0';
+	    }
+
+	    // Get type for key2
+	    filter->filterKeys[i].type[1] = FILTER_TYPE_CLASS;
+            tmpOffset = findNextChar(key2, next - tmpKeyLen, '(');
+	    if (tmpOffset > 0) {
+	        if (findNextChar(key2, next - tmpKeyLen, ')') == tmpOffset + 1) {
+		    filter->filterKeys[i].type[1] = FILTER_TYPE_METHOD;
+		}
+		key2[tmpOffset] = '\0';
+	    }
+	}
+
+	filter->filterKeys[i].keys[0] = key1;
+	filter->filterKeys[i].keys[1] = key2;
+        data += next+1;
+    }
+
+    filter->numKeys = count;
+    filters[num] = filter;
+
+    return data;
+}
+
+/*
+ * Parses filters from given file. The file must follow the following format:
+ *
+ * *FilterName    <- creates a new filter with keys to follow
+ * A.method()     <- key that triggers whenever A.method() enters/exit
+ * Class          <- key that triggers whenever any method from Class enters/exits
+ * +CrossThread   <- same as above, but keeps track of execution times accross threads
+ * B.m(),C.m()    <- key that triggers filter on when B.m() enters and off when C.m() exits
+ *
+ * TODO: add concrete example to make things clear
+ */
+Filter** parseFilters(const char* filterFileName) {
+
+    Filter** filters = NULL;
+    FILE* fp = NULL;
+    long len;
+    char* data;
+    char* dataEnd;
+    char* dataStart;
+    int i, next, count;
+
+    fp = fopen(filterFileName, "r");
+    if (fp == NULL)
+        goto bail;
+
+    if (fseek(fp, 0L, SEEK_END) != 0) {
+        perror("fseek");
+        goto bail;
+    }
+
+    len = ftell(fp);
+    if (len == 0) {
+        fprintf(stderr, "WARNING: Filter file is empty.\n");
+        goto bail;
+    }
+    rewind(fp);
+
+    data = (char*) malloc(len);
+    if (data == NULL) {
+        fprintf(stderr, "ERROR: unable to alloc %ld bytes for filter file\n", len);
+        goto bail;
+    }
+
+    // Read file into memory
+    if (fread(data, 1, len, fp) != (size_t) len) {
+        fprintf(stderr, "ERROR: unable to read %ld bytes from filter file\n", len);
+        goto bail;
+    }
+
+    dataStart = data;
+    dataEnd = data + len;
+
+    // Figure out how many filters there are
+    numFilters = 0;
+    next = -1;
+
+    while (1) {
+        if (*data == FILTER_TAG)
+	    numFilters++;
+        next = findNextChar(data, len, '\n');
+        if (next < 0)
+            break;
+        data += next+1;
+        len -= next+1;
+    }
+
+    if (numFilters == 0) {
+        fprintf(stderr, "WARNING: no filters found. Continuing without filters\n");
+        goto bail;
+    }
+
+    filters = (Filter**) calloc(numFilters, sizeof(Filter *));
+    if (filters == NULL) {
+        fprintf(stderr, "ERROR: unable to alloc memory for filters");
+        goto bail;
+    }
+
+    data = dataStart;
+    for (i = 0; i < numFilters; i++) {
+        data = parseFilter(data, dataEnd, filters, i);
+    }
+
+    return filters;
+
+bail:
+    if (fp != NULL)
+        fclose(fp);
+
+    return NULL;
+
+}
+
+
+/*
  * Read the key and data files and return the MethodEntries for those files
  */
-DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName, uint64_t* threadTime)
+DataKeys* parseDataKeys(TraceData* traceData, const char* traceFileName,
+			uint64_t* threadTime, Filter** filters)
 { 
     DataKeys* dataKeys = NULL;
     MethodEntry **pMethods = NULL;
     MethodEntry* method;
     FILE* dataFp = NULL;
     DataHeader dataHeader;
-    int ii;
+    int ii, jj, numThreads;
     uint64_t currentTime;
     MethodEntry* caller;
    
@@ -2378,11 +2946,13 @@
         goto bail;
 
     if ((dataKeys = parseKeys(dataFp, 0)) == NULL)
-        goto bail;
+       goto bail;
 
     if (parseDataHeader(dataFp, &dataHeader) < 0)
         goto bail;
 
+    numThreads = dataKeys->numThreads;
+
 #if 0
     FILE *dumpStream = fopen("debug", "w");
 #endif
@@ -2392,12 +2962,13 @@
         int action;
         unsigned int methodId;
         CallStack *pStack;
+
         /*
          * Extract values from file.
          */
         if (readDataRecord(dataFp, &threadId, &methodVal, &currentTime))
             break;
-        
+
         action = METHOD_ACTION(methodVal);
         methodId = METHOD_ID(methodVal);
 
@@ -2410,6 +2981,7 @@
             pStack->top = 0;
             pStack->lastEventTime = currentTime;
             pStack->threadStartTime = currentTime;
+	    pStack->remTimes = (uint64_t*) calloc(numFilters, sizeof(uint64_t));
             traceData->stacks[threadId] = pStack;
         }
 
@@ -2420,16 +2992,16 @@
 
 #if 0
         if (method->methodName) {
-            fprintf(dumpStream, "%2d %-8llu %d %8llu r %d c %d %s.%s %s\n",
-                    threadId, currentTime, action, pStack->threadStartTime,
-                    method->recursiveEntries,
-                    pStack->top, method->className, method->methodName,
-                    method->signature);
+	    fprintf(dumpStream, "%2d %-8llu %d %8llu r %d c %d %s.%s %s\n",
+	           threadId, currentTime, action, pStack->threadStartTime,
+	           method->recursiveEntries,
+	           pStack->top, method->className, method->methodName,
+	           method->signature);
         } else {
-            fprintf(dumpStream, "%2d %-8llu %d %8llu r %d c %d %s\n",
-                    threadId, currentTime, action, pStack->threadStartTime,
-                    method->recursiveEntries,
-                    pStack->top, method->className);
+	    printf(dumpStream, "%2d %-8llu %d %8llu r %d c %d %s\n",
+	           threadId, currentTime, action, pStack->threadStartTime,
+	           method->recursiveEntries,
+	           pStack->top, method->className);
         }
 #endif
 
@@ -2462,6 +3034,26 @@
             /* Push the method on the stack for this thread */
             pStack->calls[pStack->top].method = method;
             pStack->calls[pStack->top++].entryTime = currentTime;
+
+	    // For each filter
+	    int result = 0;
+	    for (ii = 0; ii < numFilters; ii++) {
+	        result = filterMethod(method, filters[ii], 1, threadId, numThreads,
+				       currentTime - pStack->lastEventTime, pStack->remTimes[ii]);
+
+		// TODO: make remTimes work properly
+		// Consider moving remTimes handling together with the rest
+		// of time handling and clean up the return codes
+		/*
+		if (result == 0) { // no time added, no remTime added
+		    pStack->remTimes[ii] += currentTime - pStack->lastEventTime;
+		} else if (result == 3 || result == 4) { // remTime added
+		    // Reset remTime, since it's been added
+		    pStack->remTimes[ii] = 0;
+		}
+		*/
+	    }
+
         } else {
             /* This is a method exit */
             uint64_t entryTime = 0;
@@ -2499,6 +3091,24 @@
             if (method->recursiveEntries == 0) {
                 method->topExclusive += currentTime - pStack->lastEventTime;
             }
+
+	    // For each filter
+	    int result = 0;
+	    for (ii = 0; ii < numFilters; ii++) {
+	        result = filterMethod(method, filters[ii], 0, threadId, numThreads,
+				       currentTime - pStack->lastEventTime, pStack->remTimes[ii]);
+
+		// TODO: make remTimes work properly
+		/*
+		if (result == 0) { // no time added, no remTime added
+		    pStack->remTimes[ii] += currentTime - pStack->lastEventTime;
+		} else if (result == 3 || result == 4) { // remTime added
+		    // Reset remTime, since it's been added
+		    pStack->remTimes[ii] = 0;
+		}
+		*/
+	    }
+
         }
         /* Remember the time of the last entry or exit event */
         pStack->lastEventTime = currentTime;
@@ -2520,17 +3130,13 @@
         if (pStack == NULL)
             continue;
 
-        /* Calculate time spent in thread, and add it to total time */
+        /* Calculate times spent in thread, and add it to total time */
         elapsedTime = pStack->lastEventTime - pStack->threadStartTime;
         sumThreadTime += elapsedTime;
 
-	/* Save the per-thread elapsed time in the DataKeys struct */
-	for (ii = 0; ii < dataKeys->numThreads; ++ii) {
-	    if (dataKeys->threads[ii].threadId == threadId)
-	        dataKeys->threads[ii].elapsedTime = elapsedTime;
-	}
-
         for (ii = 0; ii < pStack->top; ++ii) {
+	  //printf("in loop\n");
+
             if (ii == 0)
                 caller = &dataKeys->methods[TOPLEVEL_INDEX];
             else
@@ -2542,7 +3148,33 @@
             uint64_t entryTime = pStack->calls[ii].entryTime;
             uint64_t elapsed = pStack->lastEventTime - entryTime;
             addInclusiveTime(caller, method, elapsed);
+
+	    // For each filter
+	    int result = 0;
+	    for (ii = 0; ii < numFilters; ii++) {
+	        result = filterMethod(method, filters[ii], 0, threadId, numThreads,
+				       currentTime - pStack->lastEventTime, pStack->remTimes[ii]);
+
+		// TODO: make remTimes work properly
+		/*
+		if (result == 0) { // no time added, no remTime added
+		    pStack->remTimes[ii] += currentTime - pStack->lastEventTime;
+		} else if (result == 3 || result == 4) { // remTime added
+		    // Reset remTime, since it's been added
+		    pStack->remTimes[ii] = 0;
+		}
+		*/
+	    }
         }
+
+	/* Save the per-thread elapsed time in the DataKeys struct */
+	for (ii = 0; ii < dataKeys->numThreads; ++ii) {
+	    if (dataKeys->threads[ii].threadId == threadId) {
+                dataKeys->threads[ii].elapsedTime = elapsedTime;
+	    }
+	}
+
+
     }
     caller = &dataKeys->methods[TOPLEVEL_INDEX];
     caller->elapsedInclusive = sumThreadTime;
@@ -2579,13 +3211,14 @@
     return pMethods;
 }
 
+
 /*
  * Produce a function profile from the following methods
  */
 void profileTrace(TraceData* traceData, MethodEntry **pMethods, int numMethods, uint64_t sumThreadTime,
-                  ThreadEntry *pThreads, int numThreads)
+                  ThreadEntry *pThreads, int numThreads, Filter** filters)
 {
-    /* Print the html header, if necessary */
+   /* Print the html header, if necessary */
     if (gOptions.outputHtml) {
         printf(htmlHeader, gOptions.sortableUrl);
         outputTableOfContents();
@@ -2594,7 +3227,7 @@
     printExclusiveProfile(pMethods, numMethods, sumThreadTime);
     printInclusiveProfile(pMethods, numMethods, sumThreadTime);
 
-    printThreadProfile(pThreads, numThreads, sumThreadTime);
+    printThreadProfile(pThreads, numThreads, sumThreadTime, filters);
 
     createClassList(traceData, pMethods, numMethods);
     printClassProfiles(traceData, sumThreadTime);
@@ -2887,9 +3520,10 @@
 
 int usage(const char *program)
 {
-    fprintf(stderr, "usage: %s [-ho] [-s sortable] [-d trace-file-name] [-g outfile] trace-file-name\n", program);
+    fprintf(stderr, "usage: %s [-ho] [-s sortable] [-d trace-file-name] [-g outfile] [-f filter-file] trace-file-name\n", program);
     fprintf(stderr, "  -d trace-file-name  - Diff with this trace\n");
     fprintf(stderr, "  -g outfile          - Write graph to 'outfile'\n");
+    fprintf(stderr, "  -f filter-file      - Filter functions as specified in file\n");
     fprintf(stderr, "  -k                  - When writing a graph, keep the intermediate DOT file\n");
     fprintf(stderr, "  -h                  - Turn on HTML output\n");
     fprintf(stderr, "  -o                  - Dump the dmtrace file instead of profiling\n");
@@ -2902,7 +3536,7 @@
 int parseOptions(int argc, char **argv)
 {
     while (1) {
-        int opt = getopt(argc, argv, "d:hg:kos:t:");
+        int opt = getopt(argc, argv, "d:hg:kos:t:f:");
         if (opt == -1)
             break;
         switch (opt) {
@@ -2912,6 +3546,9 @@
             case 'g':
                 gOptions.graphFileName = optarg;
                 break;
+            case 'f':
+	        gOptions.filterFileName = optarg;
+                break;
             case 'k':
                 gOptions.keepDotFile = 1;
                 break;
@@ -2939,8 +3576,9 @@
  */
 int main(int argc, char** argv)
 {
+
     gOptions.threshold = -1;
-    
+
     // Parse the options
     if (parseOptions(argc, argv) || argc - optind != 1)
         return usage(argv[0]);
@@ -2957,10 +3595,15 @@
     }
 
     uint64_t sumThreadTime = 0;
-        
+
+    Filter** filters = NULL;
+    if (gOptions.filterFileName != NULL) {
+        filters = parseFilters(gOptions.filterFileName);
+    }
+
     TraceData data1;
     DataKeys* dataKeys = parseDataKeys(&data1, gOptions.traceFileName,
-                                       &sumThreadTime);
+                                       &sumThreadTime, filters);
     if (dataKeys == NULL) {
         fprintf(stderr, "Cannot read trace.\n");
         exit(1);
@@ -2969,7 +3612,7 @@
     if (gOptions.diffFileName != NULL) {
         uint64_t sum2;
         TraceData data2;
-        DataKeys* d2 = parseDataKeys(&data2, gOptions.diffFileName, &sum2);
+        DataKeys* d2 = parseDataKeys(&data2, gOptions.diffFileName, &sum2, filters);
         
         createDiff(d2, sum2, dataKeys, sumThreadTime);
         
@@ -2977,7 +3620,7 @@
     } else {
         MethodEntry** methods = parseMethodEntries(dataKeys);
         profileTrace(&data1, methods, dataKeys->numMethods, sumThreadTime,
-                     dataKeys->threads, dataKeys->numThreads);
+                     dataKeys->threads, dataKeys->numThreads, filters);
         if (gOptions.graphFileName != NULL) {
             createInclusiveProfileGraphNew(dataKeys);
         }
diff --git a/tools/dmtracedump/filters b/tools/dmtracedump/filters
new file mode 100644
index 0000000..96a041c
--- /dev/null
+++ b/tools/dmtracedump/filters
@@ -0,0 +1,42 @@
+*GC
+dvmGcScanRootClassLoader
+mspace_walk_free_pages
+dvmCollectGarbageInternal
+doHeapWork
+dvmGetNextHeapWorkerObject
+GC
+GC2
+GC3
+*Net
+setsockopt
++sys_setsockopt [kernel]
+socketSelect
+send
+recv
+sendto
+recvfrom
++sys_sendto [kernel]
++sys_recvfrom [kernel]
+org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection
+android.net.http.ConnectionThread
+PlainSocketImpl
+WebCore::HTMLTokenizer
+*IO
+select
++sys_select [kernel]
+*DB
+android.database.sqlite.SQLiteOpenHelper
+android.database.sqlite.SQLiteQueryBuilder
+android.database.sqlite.SQLiteDatabase
+android.database.sqlite.SQLiteDirectCursorDriver
+android.database.sqlite.SQLiteQuery
+android.database.sqlite.SQLiteProgram
+android.database.AbstractCursor
+android.database.sqlite.SQLiteCursor
+*UI
+android.view.View.draw()
+android.view.ViewGroup
+*Sync
++java.lang.Object.wait()
+*Useless
++android.widget.ProgressBar
diff --git a/tools/dmtracedump/tests/filters/run_tests.sh b/tools/dmtracedump/tests/filters/run_tests.sh
new file mode 100755
index 0000000..cdf87cb
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/run_tests.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+failed=0
+for file in $(find $1 -type f -iname 'test*'); do
+  case $file in
+    *testFilters) continue; ;;
+    *Expected) continue; ;;
+    *Trace) continue; ;;
+    *.html) continue; ;;
+  esac
+
+  echo "Running test for $file"
+
+#  create_test_dmtrace $file tmp.trace
+  dmtracedump -f testFilters -h "$file"Trace > tmp.html 2> /dev/null
+
+  output=`diff tmp.html "$file"Expected 2>&1`
+  if [ ${#output} -eq 0 ]
+  then
+    echo "  OK"
+  else
+    echo " Test failed: $output"
+    failed=`expr $failed + 1`
+  fi
+
+done
+
+rm tmp.trace
+rm tmp.html
+
+if [ $failed -gt 0 ]
+then
+  echo "$failed test(s) failed"
+else
+  echo "All tests passed successfully"
+fi
diff --git a/tools/dmtracedump/tests/filters/testFilters b/tools/dmtracedump/tests/filters/testFilters
new file mode 100644
index 0000000..2c3edb6
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testFilters
@@ -0,0 +1,9 @@
+*FirstFilter
++A.m(),B.m()
++C.m()
++R.m(),S.m()
+*SecondFilter
++D.m(),E.m()
++F.m()
+*RepeatedFilter
++R.m(),S.m()
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeys
new file mode 100644
index 0000000..b4367c6
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeys
@@ -0,0 +1,19 @@
+#    ____             ____       _________
+# __|A   |___________|B   |_____|Z        |_______
+#
+#         ___________       ____           ____
+# _______|Z          |_____|D   |_________|E   |__
+#
+#
+0 1 A
+2 1 A
+0 2 Z
+4 2 Z
+2 1 B
+4 1 B
+4 2 D
+6 2 D
+4 1 Z
+8 1 Z
+6 2 E
+8 2 E
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysExpected
new file mode 100644
index 0000000..7fa789a
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysExpected
@@ -0,0 +1,232 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        2   12.50  62.50  <a href="#m2">[2]</a> A.m ()
+        2   12.50  75.00  <a href="#m3">[3]</a> B.m ()
+        2   12.50  87.50  <a href="#m4">[4]</a> D.m ()
+        2   12.50 100.00  <a href="#m5">[5]</a> E.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              8 Z.m ()
+                12.5%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                12.5%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+                12.5%    <a href="#m4">[4]</a>      1/1              2 D.m ()
+                12.5%    <a href="#m5">[5]</a>      1/1              2 E.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 D.m ()
+               100.0%   excl                       2
+<a name="m5"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 E.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00   0.00  50.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                      50.00               main
+         0                     0.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                      50.00               main
+         8                   100.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
+<div class="parent" id="d4">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;D.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;E.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTrace
new file mode 100644
index 0000000..8bc74ff
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeys
new file mode 100644
index 0000000..76cdea7
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeys
@@ -0,0 +1,19 @@
+#    ____             ____       _________
+# __|R   |___________|S   |_____|Z        |_______
+#
+#         ___________       ____           ____
+# _______|Z          |_____|R   |_________|S   |__
+#
+#
+0 1 R
+2 1 R
+0 2 Z
+4 2 Z
+2 1 S
+4 1 S
+4 2 R
+6 2 R
+4 1 Z
+8 1 Z
+6 2 S
+8 2 S
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysExpected
new file mode 100644
index 0000000..5672826
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysExpected
@@ -0,0 +1,210 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        4   25.00  75.00  <a href="#m2">[2]</a> R.m ()
+        4   25.00 100.00  <a href="#m3">[3]</a> S.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              8 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      2/2              4 R.m ()
+                25.0%    <a href="#m3">[3]</a>      2/2              4 S.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00  50.00      1 main
+        8   50.00 100.00  50.00   0.00  50.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 16 (100.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    50.00                      50.00               main
+         8                    50.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 16 (100.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    50.00                      50.00               main
+         8                    50.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;R.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;S.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTrace
new file mode 100644
index 0000000..9ec7378
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadDiffFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys
new file mode 100644
index 0000000..d1bcdd3
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeys
@@ -0,0 +1,19 @@
+#    ____             ____       _________
+# __|A   |___________|B   |_____|Z        |_______
+#
+#         ___________       ____           ____
+# _______|Z          |_____|R   |_________|S   |__
+#
+#
+0 1 A
+2 1 A
+0 2 Z
+4 2 Z
+2 1 B
+4 1 B
+4 2 R
+6 2 R
+4 1 Z
+8 1 Z
+6 2 S
+8 2 S
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysExpected
new file mode 100644
index 0000000..ef56af5
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysExpected
@@ -0,0 +1,232 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        2   12.50  62.50  <a href="#m2">[2]</a> A.m ()
+        2   12.50  75.00  <a href="#m3">[3]</a> B.m ()
+        2   12.50  87.50  <a href="#m4">[4]</a> R.m ()
+        2   12.50 100.00  <a href="#m5">[5]</a> S.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              8 Z.m ()
+                12.5%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                12.5%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+                12.5%    <a href="#m4">[4]</a>      1/1              2 R.m ()
+                12.5%    <a href="#m5">[5]</a>      1/1              2 S.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 R.m ()
+               100.0%   excl                       2
+<a name="m5"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 S.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00  50.00   0.00  50.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 16 (100.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    50.00                      50.00               main
+         8                    50.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                      50.00               main
+         8                   100.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
+<div class="parent" id="d4">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;R.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;S.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTrace
new file mode 100644
index 0000000..0559a6a
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeys
new file mode 100644
index 0000000..2bb68d7
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeys
@@ -0,0 +1,19 @@
+#    ____             ____       _________
+# __|A   |___________|B   |_____|Z        |_______
+#
+#         ___________       ____           ____
+# _______|Z          |_____|A   |_________|B   |__
+#
+#
+0 1 A
+2 1 A
+0 2 Z
+4 2 Z
+2 1 B
+4 1 B
+4 2 A
+6 2 A
+4 1 Z
+8 1 Z
+6 2 B
+8 2 B
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysExpected
new file mode 100644
index 0000000..50b2b98
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysExpected
@@ -0,0 +1,203 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        4   25.00  75.00  <a href="#m2">[2]</a> A.m ()
+        4   25.00 100.00  <a href="#m3">[3]</a> B.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              8 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      2/2              4 A.m ()
+                25.0%    <a href="#m3">[3]</a>      2/2              4 B.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00  50.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 16 (100.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    50.00                      50.00               main
+         8                    50.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTrace
new file mode 100644
index 0000000..f113fcf
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointCrossThreadSameFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeys
new file mode 100644
index 0000000..e7456c1
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeys
@@ -0,0 +1,17 @@
+#    ____  ____  ____  ________  ____  ____  ____
+# __|A   ||Z   ||B   ||Z       ||D   ||Z   ||E   |__
+#
+0 1 A
+2 1 A
+2 1 Z
+4 1 Z
+4 1 B
+6 1 B
+6 1 Z
+10 1 Z
+10 1 D
+12 1 D
+12 1 Z
+14 1 Z
+14 1 E
+16 1 E
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysExpected
new file mode 100644
index 0000000..9349375
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysExpected
@@ -0,0 +1,232 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        2   12.50  62.50  <a href="#m2">[2]</a> A.m ()
+        2   12.50  75.00  <a href="#m3">[3]</a> B.m ()
+        2   12.50  87.50  <a href="#m4">[4]</a> D.m ()
+        2   12.50 100.00  <a href="#m5">[5]</a> E.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      3/3              8 Z.m ()
+                12.5%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                12.5%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+                12.5%    <a href="#m4">[4]</a>      1/1              2 D.m ()
+                12.5%    <a href="#m5">[5]</a>      1/1              2 E.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      3/3              8 (toplevel)
+[1]     50.0%                     3+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 D.m ()
+               100.0%   excl                       2
+<a name="m5"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 E.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       16  100.00 100.00  37.50  37.50   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 6 ( 37.50% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 6 ( 37.50% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
+<div class="parent" id="d4">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;D.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;E.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTrace
new file mode 100644
index 0000000..09983ba
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys
new file mode 100644
index 0000000..b51f81e
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeys
@@ -0,0 +1,17 @@
+#    ____  ____  ____  ________  ____  ____  ____
+# __|R   ||Z   ||S   ||Z       ||R   ||Z   ||S   |__
+#
+0 1 R
+2 1 R
+2 1 Z
+4 1 Z
+4 1 S
+6 1 S
+6 1 Z
+10 1 Z
+10 1 R
+12 1 R
+12 1 Z
+14 1 Z
+14 1 S
+16 1 S
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysExpected
new file mode 100644
index 0000000..41f9625
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysExpected
@@ -0,0 +1,210 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        4   25.00  75.00  <a href="#m2">[2]</a> R.m ()
+        4   25.00 100.00  <a href="#m3">[3]</a> S.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      3/3              8 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      2/2              4 R.m ()
+                25.0%    <a href="#m3">[3]</a>      2/2              4 S.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      3/3              8 (toplevel)
+[1]     50.0%                     3+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       16  100.00 100.00  75.00   0.00  75.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;R.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;S.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTrace
new file mode 100644
index 0000000..2cccf07
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadDiffFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeys
new file mode 100644
index 0000000..d4e41a4
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeys
@@ -0,0 +1,16 @@
+#                                     ____
+#    ____  ____  ____  ________  ____|Z   |____
+# __|A   ||Z   ||B   ||Z       ||C             |__
+#
+0 1 A
+2 1 A
+2 1 Z
+4 1 Z
+4 1 B
+6 1 B
+6 1 Z
+10 1 Z
+10 1 C
+12 1  Z
+14 1  Z
+16 1 C
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysExpected
new file mode 100644
index 0000000..d81cccc
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysExpected
@@ -0,0 +1,216 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        4   25.00  75.00  <a href="#m2">[2]</a> C.m ()
+        2   12.50  87.50  <a href="#m3">[3]</a> A.m ()
+        2   12.50 100.00  <a href="#m4">[4]</a> B.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                37.5%    <a href="#m2">[2]</a>      1/1              6 C.m ()
+                37.5%    <a href="#m1">[1]</a>      2/3              6 Z.m ()
+                12.5%    <a href="#m3">[3]</a>      1/1              2 A.m ()
+                12.5%    <a href="#m4">[4]</a>      1/1              2 B.m ()
+<a name="m1"></a>----------------------------------------------------
+                75.0%    <a href="#m0">[0]</a>      2/3              6 (toplevel)
+                25.0%    <a href="#m2">[2]</a>      1/3              2 C.m ()
+[1]     50.0%                     3+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              6 (toplevel)
+[2]     37.5%                     1+0              6 C.m ()
+                66.7%   excl                       4
+                33.3%    <a href="#m1">[1]</a>      1/3              2 Z.m ()
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       16  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;C.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;B.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTrace
new file mode 100644
index 0000000..3f61656
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys
new file mode 100644
index 0000000..0b3377d
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeys
@@ -0,0 +1,17 @@
+#    ____  ____  ____  ________  ____  ____  ____
+# __|A   ||Z   ||B   ||Z       ||A   ||Z   ||B   |__
+#
+0 1 A
+2 1 A
+2 1 Z
+4 1 Z
+4 1 B
+6 1 B
+6 1 Z
+10 1 Z
+10 1 A
+12 1 A
+12 1 Z
+14 1 Z
+14 1 B
+16 1 B
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysExpected
new file mode 100644
index 0000000..aa476b3
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysExpected
@@ -0,0 +1,203 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        4   25.00  75.00  <a href="#m2">[2]</a> A.m ()
+        4   25.00 100.00  <a href="#m3">[3]</a> B.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      3/3              8 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      2/2              4 A.m ()
+                25.0%    <a href="#m3">[3]</a>      2/2              4 B.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      3/3              8 (toplevel)
+[1]     50.0%                     3+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       16  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTrace
new file mode 100644
index 0000000..c6ddbe5
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingDisjointSingleThreadSameFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys
new file mode 100644
index 0000000..d87ac81
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeys
@@ -0,0 +1,19 @@
+#    ____                       ____  ________
+# __|A   |_____________________|B   ||Z       |__
+#
+#         ____  ________  ____
+# _______|D   ||Z       ||E   |______________
+#
+#
+0 1 A
+2 1 A
+0 2 D
+2 2 D
+2 2 Z
+6 2 Z
+6 2 E
+8 2 E
+2 1 B
+4 1 B
+4 1 Z
+8 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysExpected
new file mode 100644
index 0000000..a97f25c
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysExpected
@@ -0,0 +1,232 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        2   12.50  62.50  <a href="#m2">[2]</a> A.m ()
+        2   12.50  75.00  <a href="#m3">[3]</a> B.m ()
+        2   12.50  87.50  <a href="#m4">[4]</a> D.m ()
+        2   12.50 100.00  <a href="#m5">[5]</a> E.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              8 Z.m ()
+                12.5%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                12.5%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+                12.5%    <a href="#m4">[4]</a>      1/1              2 D.m ()
+                12.5%    <a href="#m5">[5]</a>      1/1              2 E.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 D.m ()
+               100.0%   excl                       2
+<a name="m5"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 E.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00   0.00 100.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         0                     0.00                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                       0.00               main
+         8                   100.00                     100.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
+<div class="parent" id="d4">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;D.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;E.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTrace
new file mode 100644
index 0000000..832bbfc
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys
new file mode 100644
index 0000000..82ab142
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeys
@@ -0,0 +1,19 @@
+#    ____                       ____  ________
+# __|R   |_____________________|S   ||Z       |__
+#
+#         ____  ________  ____
+# _______|R   ||Z       ||S   |______________
+#
+#
+0 1 R
+2 1 R
+0 2 R
+2 2 R
+2 2 Z
+6 2 Z
+6 2 S
+8 2 S
+2 1 S
+4 1 S
+4 1 Z
+8 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysExpected
new file mode 100644
index 0000000..623478e
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysExpected
@@ -0,0 +1,210 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        4   25.00  75.00  <a href="#m2">[2]</a> R.m ()
+        4   25.00 100.00  <a href="#m3">[3]</a> S.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              8 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      2/2              4 R.m ()
+                25.0%    <a href="#m3">[3]</a>      2/2              4 S.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00  50.00      1 main
+        8   50.00 100.00 100.00   0.00 100.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         8                    66.67                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         8                    66.67                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;R.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;S.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTrace
new file mode 100644
index 0000000..371f150
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadDiffFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeys
new file mode 100644
index 0000000..511543f
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeys
@@ -0,0 +1,19 @@
+#    ____                       ____  ________
+# __|A   |_____________________|B   ||Z       |__
+#
+#         ____  ________  ____
+# _______|R   ||Z       ||S   |______________
+#
+#
+0 1 A
+2 1 A
+0 2 R
+2 2 R
+2 2 Z
+6 2 Z
+6 2 S
+8 2 S
+2 1 B
+4 1 B
+4 1 Z
+8 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysExpected
new file mode 100644
index 0000000..1193f5f
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysExpected
@@ -0,0 +1,232 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        2   12.50  62.50  <a href="#m2">[2]</a> A.m ()
+        2   12.50  75.00  <a href="#m3">[3]</a> B.m ()
+        2   12.50  87.50  <a href="#m4">[4]</a> R.m ()
+        2   12.50 100.00  <a href="#m5">[5]</a> S.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              8 Z.m ()
+                12.5%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                12.5%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+                12.5%    <a href="#m4">[4]</a>      1/1              2 R.m ()
+                12.5%    <a href="#m5">[5]</a>      1/1              2 S.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 R.m ()
+               100.0%   excl                       2
+<a name="m5"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 S.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00 100.00   0.00 100.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         8                    66.67                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                       0.00               main
+         8                   100.00                     100.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
+<div class="parent" id="d4">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;R.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;S.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTrace
new file mode 100644
index 0000000..9f87efc
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys
new file mode 100644
index 0000000..6714ddd
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeys
@@ -0,0 +1,19 @@
+#    ____                       ____  ________
+# __|A   |_____________________|B   ||Z       |__
+#
+#         ____  ________  ____
+# _______|A   ||Z       ||B   |______________
+#
+#
+0 1 A
+2 1 A
+0 2 A
+2 2 A
+2 2 Z
+6 2 Z
+6 2 B
+8 2 B
+2 1 B
+4 1 B
+4 1 Z
+8 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysExpected
new file mode 100644
index 0000000..79c2e63
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysExpected
@@ -0,0 +1,203 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        4   25.00  75.00  <a href="#m2">[2]</a> A.m ()
+        4   25.00 100.00  <a href="#m3">[3]</a> B.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              8 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      2/2              4 A.m ()
+                25.0%    <a href="#m3">[3]</a>      2/2              4 B.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              8 (toplevel)
+[1]     50.0%                     2+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00 100.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+        12                   100.00                      33.33               main
+         8                    66.67                      66.67               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTrace
new file mode 100644
index 0000000..74e4c53
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapCrossThreadSameFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys
new file mode 100644
index 0000000..b92471f
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeys
@@ -0,0 +1,13 @@
+#    ____  ____  ____  ____  ____
+# __|A   ||D   ||E   ||B   ||Z   |__
+#
+0 1 A
+2 1 A
+2 1 D
+4 1 D
+4 1 E
+6 1 E
+6 1 B
+8 1 B
+8 1 Z
+10 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysExpected
new file mode 100644
index 0000000..3b2ffc8
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysExpected
@@ -0,0 +1,232 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 10
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        2   20.00  20.00  <a href="#m1">[1]</a> A.m ()
+        2   20.00  40.00  <a href="#m2">[2]</a> B.m ()
+        2   20.00  60.00  <a href="#m3">[3]</a> D.m ()
+        2   20.00  80.00  <a href="#m4">[4]</a> E.m ()
+        2   20.00 100.00  <a href="#m5">[5]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                20.0%    <a href="#m1">[1]</a>      1/1              2 A.m ()
+                20.0%    <a href="#m2">[2]</a>      1/1              2 B.m ()
+                20.0%    <a href="#m3">[3]</a>      1/1              2 D.m ()
+                20.0%    <a href="#m4">[4]</a>      1/1              2 E.m ()
+                20.0%    <a href="#m5">[5]</a>      1/1              2 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[1]     20.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     20.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 D.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     20.0%                     1+0              2 E.m ()
+               100.0%   excl                       2
+<a name="m5"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[5]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00  40.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 4 ( 40.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         4                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;60.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d4">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;60.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;D.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;E.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTrace
new file mode 100644
index 0000000..c9c086c
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeys
new file mode 100644
index 0000000..27b2bf8
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeys
@@ -0,0 +1,13 @@
+#    ____  ____  ____  ____  ____
+# __|R   ||R   ||S   ||S   ||Z   |__
+#
+0 1 R
+2 1 R
+2 1 R
+4 1 R
+4 1 S
+6 1 S
+6 1 S
+8 1 S
+8 1 Z
+10 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysExpected
new file mode 100644
index 0000000..df55cd4
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysExpected
@@ -0,0 +1,210 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 10
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  <a href="#m1">[1]</a> R.m ()
+        4   40.00  80.00  <a href="#m2">[2]</a> S.m ()
+        2   20.00 100.00  <a href="#m3">[3]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                40.0%    <a href="#m1">[1]</a>      2/2              4 R.m ()
+                40.0%    <a href="#m2">[2]</a>      2/2              4 S.m ()
+                20.0%    <a href="#m3">[3]</a>      1/1              2 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[1]     40.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     40.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00  80.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;R.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;S.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTrace
new file mode 100644
index 0000000..0afca4d
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadDiffFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys
new file mode 100644
index 0000000..a494716
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeys
@@ -0,0 +1,11 @@
+#    ____  ____  ____  ____
+# __|A   ||C   ||B   ||Z   |__
+#
+0 1 A
+2 1 A
+2 1 C
+4 1 C
+4 1 B
+6 1 B
+6 1 Z
+8 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysExpected
new file mode 100644
index 0000000..720d05a
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysExpected
@@ -0,0 +1,214 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 8
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        2   25.00  25.00  <a href="#m1">[1]</a> A.m ()
+        2   25.00  50.00  <a href="#m2">[2]</a> B.m ()
+        2   25.00  75.00  <a href="#m3">[3]</a> C.m ()
+        2   25.00 100.00  <a href="#m4">[4]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                25.0%    <a href="#m1">[1]</a>      1/1              2 A.m ()
+                25.0%    <a href="#m2">[2]</a>      1/1              2 B.m ()
+                25.0%    <a href="#m3">[3]</a>      1/1              2 C.m ()
+                25.0%    <a href="#m4">[4]</a>      1/1              2 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[1]     25.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     25.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     25.0%                     1+0              2 C.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     25.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;C.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTrace
new file mode 100644
index 0000000..c5f9a3e
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys
new file mode 100644
index 0000000..bd645af
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeys
@@ -0,0 +1,13 @@
+#    ____  ____  ____  ____  ____
+# __|A   ||A   ||B   ||B   ||Z   |__
+#
+0 1 A
+2 1 A
+2 1 A
+4 1 A
+4 1 B
+6 1 B
+6 1 B
+8 1 B
+8 1 Z
+10 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysExpected
new file mode 100644
index 0000000..0e8f300
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysExpected
@@ -0,0 +1,203 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 10
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  <a href="#m1">[1]</a> A.m ()
+        4   40.00  80.00  <a href="#m2">[2]</a> B.m ()
+        2   20.00 100.00  <a href="#m3">[3]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                40.0%    <a href="#m1">[1]</a>      2/2              4 A.m ()
+                40.0%    <a href="#m2">[2]</a>      2/2              4 B.m ()
+                20.0%    <a href="#m3">[3]</a>      1/1              2 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[1]     40.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     40.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTrace
new file mode 100644
index 0000000..65e381a
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingNestedOverlapSingleThreadSameFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairCrossThread b/tools/dmtracedump/tests/filters/testWaitingPairCrossThread
new file mode 100644
index 0000000..6c93bc6
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPairCrossThread
@@ -0,0 +1,14 @@
+#    ____        ____  ____
+# __|A   |______|B   ||Z   |__
+#
+#          _____
+# ________|Z    |_________________
+#
+0 1 A
+2 1 A
+0 2 Z
+2 2 Z
+2 1 B
+4 1 B
+4 1 Z
+6 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadExpected b/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadExpected
new file mode 100644
index 0000000..ed45fff
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadExpected
@@ -0,0 +1,203 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 8
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        4   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        2   25.00  75.00  <a href="#m2">[2]</a> A.m ()
+        2   25.00 100.00  <a href="#m3">[3]</a> B.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              4 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                25.0%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[1]     50.0%                     2+0              4 Z.m ()
+               100.0%   excl                       4
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     25.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     25.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        6   75.00  75.00  66.67   0.00   0.00      1 main
+        2   25.00 100.00   0.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                      66.67               main
+         0                     0.00                      33.33               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTrace b/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTrace
new file mode 100644
index 0000000..4e53dfd
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPairCrossThreadTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairSingleThread b/tools/dmtracedump/tests/filters/testWaitingPairSingleThread
new file mode 100644
index 0000000..45375ca
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPairSingleThread
@@ -0,0 +1,11 @@
+#    ____  ____  ____  ____
+# __|A   ||Z   ||B   ||Z   |__
+#
+0 1 A
+2 1 A
+2 1 Z
+4 1 Z
+4 1 B
+6 1 B
+6 1 Z
+8 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadExpected b/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadExpected
new file mode 100644
index 0000000..b3e2b3f
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadExpected
@@ -0,0 +1,203 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 8
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        4   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        2   25.00  75.00  <a href="#m2">[2]</a> A.m ()
+        2   25.00 100.00  <a href="#m3">[3]</a> B.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      2/2              4 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                25.0%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[1]     50.0%                     2+0              4 Z.m ()
+               100.0%   excl                       4
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     25.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     25.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTrace b/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTrace
new file mode 100644
index 0000000..3f29843
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPairSingleThreadTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys
new file mode 100644
index 0000000..05995f3
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeys
@@ -0,0 +1,23 @@
+#    ____             ____  ____      ____
+# __|A   |___________|B   ||Z   |____|Z   |_______
+#
+#         ____  ____             ____      ____
+# _______|Z   ||D   |___________|E   |____|Z   |__
+#
+#
+0 1 A
+2 1 A
+0 2 Z
+2 2 Z
+2 2 D
+4 2 D
+2 1 B
+4 1 B
+4 1 Z
+6 1 Z
+4 2 E
+6 2 E
+6 1 Z
+8 1 Z
+6 2 Z
+8 2 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysExpected
new file mode 100644
index 0000000..ba83cee
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysExpected
@@ -0,0 +1,232 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        2   12.50  62.50  <a href="#m2">[2]</a> A.m ()
+        2   12.50  75.00  <a href="#m3">[3]</a> B.m ()
+        2   12.50  87.50  <a href="#m4">[4]</a> D.m ()
+        2   12.50 100.00  <a href="#m5">[5]</a> E.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      4/4              8 Z.m ()
+                12.5%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                12.5%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+                12.5%    <a href="#m4">[4]</a>      1/1              2 D.m ()
+                12.5%    <a href="#m5">[5]</a>      1/1              2 E.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      4/4              8 (toplevel)
+[1]     50.0%                     4+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 D.m ()
+               100.0%   excl                       2
+<a name="m5"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 E.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00   0.00  50.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                      50.00               main
+         0                     0.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                      50.00               main
+         8                   100.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
+<div class="parent" id="d4">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;D.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;E.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTrace
new file mode 100644
index 0000000..30fbe38
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeys
new file mode 100644
index 0000000..f874464
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeys
@@ -0,0 +1,23 @@
+#    ____             ____  ____      ____
+# __|R   |___________|S   ||Z   |____|Z   |_______
+#
+#         ____  ____             ____      ____
+# _______|Z   ||R   |___________|S   |____|Z   |__
+#
+#
+0 1 R
+2 1 R
+0 2 Z
+2 2 Z
+2 2 R
+4 2 R
+2 1 S
+4 1 S
+4 1 Z
+6 1 Z
+4 2 S
+6 2 S
+6 1 Z
+8 1 Z
+6 2 Z
+8 2 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysExpected
new file mode 100644
index 0000000..93c4a05
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysExpected
@@ -0,0 +1,210 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        4   25.00  75.00  <a href="#m2">[2]</a> R.m ()
+        4   25.00 100.00  <a href="#m3">[3]</a> S.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      4/4              8 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      2/2              4 R.m ()
+                25.0%    <a href="#m3">[3]</a>      2/2              4 S.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      4/4              8 (toplevel)
+[1]     50.0%                     4+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00  50.00      1 main
+        8   50.00 100.00  50.00   0.00  50.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    66.67                      50.00               main
+         8                    66.67                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    66.67                      50.00               main
+         8                    66.67                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;R.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;S.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTrace
new file mode 100644
index 0000000..6dc1826
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadDiffFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeys
new file mode 100644
index 0000000..bdc4373
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeys
@@ -0,0 +1,23 @@
+#    ____             ____  ____      ____
+# __|A   |___________|B   ||Z   |____|Z   |_______
+#
+#         ____  ____             ____      ____
+# _______|Z   ||R   |___________|S   |____|Z   |__
+#
+#
+0 1 A
+2 1 A
+0 2 Z
+2 2 Z
+2 2 R
+4 2 R
+2 1 B
+4 1 B
+4 1 Z
+6 1 Z
+4 2 S
+6 2 S
+6 1 Z
+8 1 Z
+6 2 Z
+8 2 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysExpected
new file mode 100644
index 0000000..b154ed1
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysExpected
@@ -0,0 +1,232 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        2   12.50  62.50  <a href="#m2">[2]</a> A.m ()
+        2   12.50  75.00  <a href="#m3">[3]</a> B.m ()
+        2   12.50  87.50  <a href="#m4">[4]</a> R.m ()
+        2   12.50 100.00  <a href="#m5">[5]</a> S.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      4/4              8 Z.m ()
+                12.5%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                12.5%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+                12.5%    <a href="#m4">[4]</a>      1/1              2 R.m ()
+                12.5%    <a href="#m5">[5]</a>      1/1              2 S.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      4/4              8 (toplevel)
+[1]     50.0%                     4+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     12.5%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     12.5%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     12.5%                     1+0              2 R.m ()
+               100.0%   excl                       2
+<a name="m5"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[5]     12.5%                     1+0              2 S.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00  50.00   0.00  50.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    66.67                      50.00               main
+         8                    66.67                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 50.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         0                     0.00                      50.00               main
+         8                   100.00                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;62.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;&nbsp;87.5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;12.5 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
+<div class="parent" id="d4">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;62.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;&nbsp;87.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;R.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;12.5&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;S.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTrace
new file mode 100644
index 0000000..efb0b1b
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys
new file mode 100644
index 0000000..552ae40
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeys
@@ -0,0 +1,23 @@
+#    ____             ____  ____      ____
+# __|A   |___________|B   ||Z   |____|Z   |_______
+#
+#         ____  ____             ____      ____
+# _______|Z   ||A   |___________|B   |____|Z   |__
+#
+#
+0 1 A
+2 1 A
+0 2 Z
+2 2 Z
+2 2 A
+4 2 A
+2 1 B
+4 1 B
+4 1 Z
+6 1 Z
+4 2 B
+6 2 B
+6 1 Z
+8 1 Z
+6 2 Z
+8 2 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysExpected
new file mode 100644
index 0000000..82b0356
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysExpected
@@ -0,0 +1,203 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 16
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        8   50.00  50.00  <a href="#m1">[1]</a> Z.m ()
+        4   25.00  75.00  <a href="#m2">[2]</a> A.m ()
+        4   25.00 100.00  <a href="#m3">[3]</a> B.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             16 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      4/4              8 Z.m ()
+                25.0%    <a href="#m2">[2]</a>      2/2              4 A.m ()
+                25.0%    <a href="#m3">[3]</a>      2/2              4 B.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      4/4              8 (toplevel)
+[1]     50.0%                     4+0              8 Z.m ()
+               100.0%   excl                       8
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     25.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[3]     25.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8   50.00  50.00  50.00   0.00   0.00      1 main
+        8   50.00 100.00  50.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 12 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                    66.67                      50.00               main
+         8                    66.67                      50.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;&nbsp;75.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;25.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;Z.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;&nbsp;75.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;25.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTrace
new file mode 100644
index 0000000..497e925
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapCrossThreadSameFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys
new file mode 100644
index 0000000..edf03c5
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeys
@@ -0,0 +1,13 @@
+#    ____  ____  ____  ____  ____
+# __|A   ||D   ||B   ||E   ||Z   |__
+#
+0 1 A
+2 1 A
+2 1 D
+4 1 D
+4 1 B
+6 1 B
+6 1 E
+8 1 E
+8 1 Z
+10 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysExpected
new file mode 100644
index 0000000..2d59720
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysExpected
@@ -0,0 +1,232 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 10
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        2   20.00  20.00  <a href="#m1">[1]</a> A.m ()
+        2   20.00  40.00  <a href="#m2">[2]</a> B.m ()
+        2   20.00  60.00  <a href="#m3">[3]</a> D.m ()
+        2   20.00  80.00  <a href="#m4">[4]</a> E.m ()
+        2   20.00 100.00  <a href="#m5">[5]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                20.0%    <a href="#m1">[1]</a>      1/1              2 A.m ()
+                20.0%    <a href="#m2">[2]</a>      1/1              2 B.m ()
+                20.0%    <a href="#m3">[3]</a>      1/1              2 D.m ()
+                20.0%    <a href="#m4">[4]</a>      1/1              2 E.m ()
+                20.0%    <a href="#m5">[5]</a>      1/1              2 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[1]     20.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     20.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 D.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     20.0%                     1+0              2 E.m ()
+               100.0%   excl                       2
+<a name="m5"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[5]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  60.00  60.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 6 ( 60.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 6 ( 60.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;60.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; E</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d4')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd4">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d4">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;60.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;D.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;E.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m5">[5]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTrace
new file mode 100644
index 0000000..b9afef4
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys
new file mode 100644
index 0000000..27b2bf8
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeys
@@ -0,0 +1,13 @@
+#    ____  ____  ____  ____  ____
+# __|R   ||R   ||S   ||S   ||Z   |__
+#
+0 1 R
+2 1 R
+2 1 R
+4 1 R
+4 1 S
+6 1 S
+6 1 S
+8 1 S
+8 1 Z
+10 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysExpected
new file mode 100644
index 0000000..df55cd4
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysExpected
@@ -0,0 +1,210 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 10
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  <a href="#m1">[1]</a> R.m ()
+        4   40.00  80.00  <a href="#m2">[2]</a> S.m ()
+        2   20.00 100.00  <a href="#m3">[3]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                40.0%    <a href="#m1">[1]</a>      2/2              4 R.m ()
+                40.0%    <a href="#m2">[2]</a>      2/2              4 S.m ()
+                20.0%    <a href="#m3">[3]</a>      1/1              2 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[1]     40.0%                     2+0              4 R.m ()
+               100.0%   excl                       4
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     40.0%                     2+0              4 S.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00  80.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;R.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;S.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTrace
new file mode 100644
index 0000000..a52929a
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadDiffFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys
new file mode 100644
index 0000000..c53c90d
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeys
@@ -0,0 +1,12 @@
+#               ____
+#    ____  ____|B   |____  ____
+# __|A   ||C             ||Z   |__
+#
+0 1 A
+2 1 A
+2 1 C
+4 1  B
+6 1  B
+8 1 C
+8 1 Z
+10 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysExpected
new file mode 100644
index 0000000..18ce892
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysExpected
@@ -0,0 +1,214 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 10
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  <a href="#m1">[1]</a> C.m ()
+        2   20.00  60.00  <a href="#m2">[2]</a> A.m ()
+        2   20.00  80.00  <a href="#m3">[3]</a> B.m ()
+        2   20.00 100.00  <a href="#m4">[4]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                60.0%    <a href="#m1">[1]</a>      1/1              6 C.m ()
+                20.0%    <a href="#m2">[2]</a>      1/1              2 A.m ()
+                20.0%    <a href="#m4">[4]</a>      1/1              2 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              6 (toplevel)
+[1]     60.0%                     1+0              6 C.m ()
+                66.7%   excl                       4
+                33.3%    <a href="#m3">[3]</a>      1/1              2 B.m ()
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[2]     20.0%                     1+0              2 A.m ()
+               100.0%   excl                       2
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m1">[1]</a>      1/1              2 C.m ()
+[3]     20.0%                     1+0              2 B.m ()
+               100.0%   excl                       2
+<a name="m4"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[4]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;60.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d3')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd3">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d3">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;C.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;60.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m4">[4]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTrace
new file mode 100644
index 0000000..23f4187
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterDiffKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys
new file mode 100644
index 0000000..bd645af
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeys
@@ -0,0 +1,13 @@
+#    ____  ____  ____  ____  ____
+# __|A   ||A   ||B   ||B   ||Z   |__
+#
+0 1 A
+2 1 A
+2 1 A
+4 1 A
+4 1 B
+6 1 B
+6 1 B
+8 1 B
+8 1 Z
+10 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysExpected b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysExpected
new file mode 100644
index 0000000..0e8f300
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysExpected
@@ -0,0 +1,203 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 10
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        4   40.00  40.00  <a href="#m1">[1]</a> A.m ()
+        4   40.00  80.00  <a href="#m2">[2]</a> B.m ()
+        2   20.00 100.00  <a href="#m3">[3]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0             10 (toplevel)
+                 0.0%   excl                       0
+                40.0%    <a href="#m1">[1]</a>      2/2              4 A.m ()
+                40.0%    <a href="#m2">[2]</a>      2/2              4 B.m ()
+                20.0%    <a href="#m3">[3]</a>      1/1              2 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[1]     40.0%                     2+0              4 A.m ()
+               100.0%   excl                       4
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     40.0%                     2+0              4 B.m ()
+               100.0%   excl                       4
+<a name="m3"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              2 (toplevel)
+[3]     20.0%                     1+0              2 Z.m ()
+               100.0%   excl                       2
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+       10  100.00 100.00  80.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 8 ( 80.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         8                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;40.0 &nbsp;&nbsp;&nbsp;80.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d2')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd2">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 &nbsp;&nbsp;&nbsp;20.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d2">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;A.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;40.0&nbsp;&nbsp;&nbsp;&nbsp;80.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;B.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;20.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m3">[3]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTrace b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTrace
new file mode 100644
index 0000000..01e95cd
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingPartialOverlapSingleThreadSameFilterSameKeysTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThread b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThread
new file mode 100644
index 0000000..c9dbd1a
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThread
@@ -0,0 +1,12 @@
+#    ____       ____  ____
+# __|C              ||Z   |__
+#
+#          ____
+# ________|Z   |_____________
+#
+0 1 C
+0 2 Z
+2 2 Z
+4 1 C
+4 1 Z
+6 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadExpected b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadExpected
new file mode 100644
index 0000000..409b17e
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadExpected
@@ -0,0 +1,192 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 8
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        4   50.00  50.00  <a href="#m1">[1]</a> C.m ()
+        4   50.00 100.00  <a href="#m2">[2]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                50.0%    <a href="#m1">[1]</a>      1/1              4 C.m ()
+                50.0%    <a href="#m2">[2]</a>      2/2              4 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              4 (toplevel)
+[1]     50.0%                     1+0              4 C.m ()
+               100.0%   excl                       4
+<a name="m2"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      2/2              4 (toplevel)
+[2]     50.0%                     2+0              4 Z.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        6   75.00  75.00  66.67   0.00   0.00      1 main
+        2   25.00 100.00   0.00   0.00   0.00      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                      66.67               main
+         0                     0.00                      33.33               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;C.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTrace b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTrace
new file mode 100644
index 0000000..e73f040
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingSoloCrossThreadTrace
Binary files differ
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThread b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThread
new file mode 100644
index 0000000..3f0753e
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThread
@@ -0,0 +1,10 @@
+#         _____
+#    ____|Z    |____  ____
+# __|C              ||Z   |__
+#
+0 1 C
+2 1  Z
+4 1  Z
+6 1 C
+6 1 Z
+8 1 Z
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadExpected b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadExpected
new file mode 100644
index 0000000..8d22b63
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadExpected
@@ -0,0 +1,194 @@
+<html>
+<head>
+<script type="text/javascript" src="(null)sortable.js"></script>
+<script langugage="javascript">
+function toggle(item) {
+    obj=document.getElementById(item);
+    visible=(obj.style.display!="none" && obj.style.display!="");
+    key=document.getElementById("x" + item);
+    if (visible) {
+        obj.style.display="none";
+        key.innerHTML="+";
+    } else {
+        obj.style.display="block";
+        key.innerHTML="-";
+    }
+}
+function onMouseOver(obj) {
+    obj.style.background="lightblue";
+}
+function onMouseOut(obj) {
+    obj.style.background="white";
+}
+</script>
+<style type="text/css">
+div { font-family: courier; font-size: 13 }
+div.parent { margin-left: 15; display: none }
+div.leaf { margin-left: 10 }
+div.header { margin-left: 10 }
+div.link { margin-left: 10; cursor: move }
+span.parent { padding-right: 10; }
+span.leaf { padding-right: 10; }
+a img { border: 0;}
+table.sortable th { border-width: 0px 1px 1px 1px; background-color: #ccc;}
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+table.sortable th, table.sortable td { text-align: left;}table.sortable tr.odd td { background-color: #ddd; }
+table.sortable tr.even td { background-color: #fff; }
+</style>
+</head><body>
+
+<a name="contents"></a>
+<h2>Table of Contents</h2>
+<ul>
+  <li><a href="#exclusive">Exclusive profile</a></li>
+  <li><a href="#inclusive">Inclusive profile</a></li>
+  <li><a href="#thread">Thread profile</a></li>
+  <li><a href="#class">Class/method profile</a></li>
+  <li><a href="#method">Method/class profile</a></li>
+</ul>
+
+<a name="exclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+Total cycles: 8
+
+<br><br>
+Exclusive elapsed times for each method, not including time spent in
+children, sorted by exclusive time.
+
+<br><br>
+<pre>
+    Usecs  self %  sum %  Method
+        4   50.00  50.00  <a href="#m1">[1]</a> C.m ()
+        4   50.00 100.00  <a href="#m2">[2]</a> Z.m ()
+</pre>
+<a name="inclusive"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Inclusive elapsed times for each method and its parents and children,
+sorted by inclusive time.
+
+<br><br>
+<pre>
+index  %/total %/self  index     calls         usecs name
+<a name="m0"></a>----------------------------------------------------
+[0]    100.0%                     0+0              8 (toplevel)
+                 0.0%   excl                       0
+                75.0%    <a href="#m1">[1]</a>      1/1              6 C.m ()
+                25.0%    <a href="#m2">[2]</a>      1/2              2 Z.m ()
+<a name="m1"></a>----------------------------------------------------
+               100.0%    <a href="#m0">[0]</a>      1/1              6 (toplevel)
+[1]     75.0%                     1+0              6 C.m ()
+                66.7%   excl                       4
+                33.3%    <a href="#m2">[2]</a>      1/2              2 Z.m ()
+<a name="m2"></a>----------------------------------------------------
+                50.0%    <a href="#m0">[0]</a>      1/2              2 (toplevel)
+                50.0%    <a href="#m1">[1]</a>      1/2              2 C.m ()
+[2]     50.0%                     2+0              4 Z.m ()
+               100.0%   excl                       4
+</pre>
+<a name="thread"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Elapsed times for each thread, sorted by elapsed time.
+Also includes percentage of time spent during the <i>execution</i> of any filters.
+
+<br><br>
+<pre>
+    Usecs   self %  sum %  FirstFilter %  SecondFilter %  RepeatedFilter %  tid   ThreadName
+        8  100.00 100.00  75.00   0.00   0.00      1 main
+        0    0.00 100.00    nan    nan    nan      2 foo
+        0    0.00 100.00    nan    nan    nan      3 bar
+        0    0.00 100.00    nan    nan    nan      4 blah
+</pre><br />
+
+Break-down of portion of time spent by each thread while waiting on a filter method.
+<br/><br/>
+<pre>
+Filter: FirstFilter
+Total waiting cycles: 6 ( 75.00% of total)
+Details: 
+
+ Waiting cycles    % of total waiting time   execution time while waiting    thread name
+         6                   100.00                     100.00               main
+         0                     0.00                       0.00               foo
+         0                     0.00                       0.00               bar
+         0                     0.00                       0.00               blah
+</pre>
+<br/><br/>
+<pre>
+Filter: SecondFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<br/><br/>
+<pre>
+Filter: RepeatedFilter
+Total waiting cycles: 0 (  0.00% of total)
+</pre>
+<a name="class"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each class, summed over all the methods
+in the class.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Class</div>
+<div class="link" onClick="javascript:toggle('d0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C</div>
+<div class="parent" id="d0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;m&nbsp;()</div>
+</div>
+<div class="link" onClick="javascript:toggle('d1')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xd1">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4 &nbsp;&nbsp;&nbsp;50.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z</div>
+<div class="parent" id="d1">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;m&nbsp;()</div>
+</div>
+<a name="method"></a>
+<hr>
+<a href="#contents">[Top]</a>
+<a href="#exclusive">[Exclusive]</a>
+<a href="#inclusive">[Inclusive]</a>
+<a href="#thread">[Thread]</a>
+<a href="#class">[Class]</a>
+<a href="#method">[Method]</a>
+<br><br>
+
+Exclusive elapsed time for each method, summed over all the classes
+that contain a method with the same name.
+
+<br><br>
+<div class="header"><span class="parent">&nbsp;</span>&nbsp;&nbsp;&nbsp;Cycles %/total Cumul.% &nbsp;Calls+Recur&nbsp; Method</div>
+<div class="link" onClick="javascript:toggle('e0')" onMouseOver="javascript:onMouseOver(this)" onMouseOut="javascript:onMouseOut(this)"><span class="parent" id="xe0">+</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8 &nbsp;&nbsp;100.0 &nbsp;&nbsp;100.0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m</div>
+<div class="parent" id="e0">
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m1">[1]</a>&nbsp;C.m&nbsp;()</div>
+<div class="leaf"><span class="leaf">&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;50.0&nbsp;&nbsp;&nbsp;100.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#m2">[2]</a>&nbsp;Z.m&nbsp;()</div>
+</div>
+
+</body>
+</html>
diff --git a/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTrace b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTrace
new file mode 100644
index 0000000..3a43c46
--- /dev/null
+++ b/tools/dmtracedump/tests/filters/testWaitingSoloSingleThreadTrace
Binary files differ
diff --git a/tools/gdbjithelper/Android.mk b/tools/gdbjithelper/Android.mk
new file mode 100644
index 0000000..087bc8f
--- /dev/null
+++ b/tools/gdbjithelper/Android.mk
@@ -0,0 +1,22 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := gdbjithelper.c
+LOCAL_CFLAGS += -O0 -g
+LOCAL_MODULE := gdbjithelper
+LOCAL_MODULE_TAGS := eng
+include $(BUILD_EXECUTABLE)
diff --git a/tools/gdbjithelper/README.txt b/tools/gdbjithelper/README.txt
new file mode 100644
index 0000000..032b244
--- /dev/null
+++ b/tools/gdbjithelper/README.txt
@@ -0,0 +1,66 @@
+Step 1
+
+If you see a native crash in the bugreport and the PC/LR are pointing to the
+code cache address range*, copy them into codePC and codeLR in gdbjithelper.c,
+respectively.
+
+*Caveats: debuggerd doesn't know the range of code cache. So apply this tool if
+the crashing address is not contained by any shared library.
+
+       #00  pc 463ba204
+       #01  lr 463ba1c9  <unknown>
+
+code around pc:
+463ba1e4 4300e119 4284aa7a f927f7b7 40112268
+463ba1f4 419da7f8 00002000 01000100 00080000
+463ba204 4191debc 01010000 4284aa74 68b00054
+463ba214 045cf205 cc016468 0718f2a5 d0102800
+463ba224 4c13c701 a20aa108 efb0f775 e008e010
+
+code around lr:
+463ba1a8 42e19e58 f2050050 cc01045c 0718f2a5
+463ba1b8 d00f2800 4c13c701 a20aa108 efe4f775
+463ba1c8 e007e010 29006bf8 6e77dc01 a10347b8
+463ba1d8 ef60f775 6db1480b 1c2d4788 4300e119
+463ba1e8 4284aa7a f927f7b7 40112268 419da7f8
+
+
+Step 2
+ 
+Push $OUT/EXECUTABLES/gdbjithelper_intermediates/LINKED/gdbjithelper to
+/system/bin on the device or emulator
+
+
+Step 3
+
+Debug the executable as usual:
+
+adb forward tcp:5039 tcp:5039
+adb shell gdbserver :5039 /system/bin/gdbjithelper &
+arm-eabi-gdb $OUT/symbols/system/bin/gdbjithelper
+(gdb) tar r :5039
+Remote debugging using :5039
+Remote debugging from host 127.0.0.1
+gdb: Unable to get location for thread creation breakpoint: requested event is not supported
+__dl__start () at bionic/linker/arch/arm/begin.S:35
+35      mov r0, sp
+gdb: Unable to get location for thread creation breakpoint: requested event is not supported
+Current language:  auto; currently asm
+(gdb) c
+Continuing.
+[New Thread 596]
+codePC[0]: 0x4300e119
+codePC[1]: 0x4284aa7a
+         :
+
+
+Step 4
+
+Hit ctrl-C
+
+Issue the following command to see code around PC
+x /20i (char *) &codePC+1
+
+Issue the following command to see code around LR
+x /20i (char *) &codeLR+1
+
diff --git a/tools/gdbjithelper/gdbjithelper.c b/tools/gdbjithelper/gdbjithelper.c
new file mode 100644
index 0000000..d0f9ce3
--- /dev/null
+++ b/tools/gdbjithelper/gdbjithelper.c
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <unistd.h>
+#include <stdio.h>
+
+volatile int done;
+
+/*
+ * See README.txt for detailed steps.
+ *
+ * If you see a native crash in the bugreport and the PC/LR are
+ * pointing to the code cache address range, copy them into the following
+ * arrays.
+ *
+ *        #00  pc 463ba204
+ *        #01  lr 463ba1c9  <unknown>
+ *
+ * code around pc:
+ * 463ba1e4 4300e119 4284aa7a f927f7b7 40112268
+ * 463ba1f4 419da7f8 00002000 01000100 00080000
+ * 463ba204 4191debc 01010000 4284aa74 68b00054
+ * 463ba214 045cf205 cc016468 0718f2a5 d0102800
+ * 463ba224 4c13c701 a20aa108 efb0f775 e008e010
+ * 
+ * code around lr:
+ * 463ba1a8 42e19e58 f2050050 cc01045c 0718f2a5
+ * 463ba1b8 d00f2800 4c13c701 a20aa108 efe4f775
+ * 463ba1c8 e007e010 29006bf8 6e77dc01 a10347b8
+ * 463ba1d8 ef60f775 6db1480b 1c2d4788 4300e119
+ * 463ba1e8 4284aa7a f927f7b7 40112268 419da7f8
+ *
+ */
+
+int codePC[] = {
+    // Sample content
+    0x4300e119, 0x4284aa7a, 0xf927f7b7, 0x40112268,
+    0x419da7f8, 0x00002000, 0x01000100, 0x00080000,
+    0x4191debc, 0x01010000, 0x4284aa74, 0x68b00054,
+    0x045cf205, 0xcc016468, 0x0718f2a5, 0xd0102800,
+    0x4c13c701, 0xa20aa108, 0xefb0f775, 0xe008e010,
+};
+
+int codeLR[] = {
+    // Sample content
+    0x42e19e58, 0xf2050050, 0xcc01045c, 0x0718f2a5,
+    0xd00f2800, 0x4c13c701, 0xa20aa108, 0xefe4f775,
+    0xe007e010, 0x29006bf8, 0x6e77dc01, 0xa10347b8,
+    0xef60f775, 0x6db1480b, 0x1c2d4788, 0x4300e119,
+    0x4284aa7a, 0xf927f7b7, 0x40112268, 0x419da7f8,
+};
+
+void dumpCode()
+{
+    unsigned int i;
+
+    for (i = 0; i < sizeof(codePC)/sizeof(int); i++) {
+        printf("codePC[%d]: %#x\n", i, codePC[i]);
+    }
+
+    for (i = 0; i < sizeof(codeLR)/sizeof(int); i++) {
+        printf("codeLR[%d]: %#x\n", i, codeLR[i]);
+    }
+}
+
+int main()
+{
+    dumpCode();
+    while (!done) {
+        sleep(1000);
+    }
+    return 0;
+}
diff --git a/vm/AllocTracker.c b/vm/AllocTracker.c
index 9649e68..9fb1c4d 100644
--- a/vm/AllocTracker.c
+++ b/vm/AllocTracker.c
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 /*
  * Allocation tracking and reporting.  We maintain a circular buffer with
  * the most recent allocations.  The data can be viewed through DDMS.
@@ -37,10 +38,12 @@
  *
  * TODO: consider making the parameters configurable, so DDMS can decide
  * how many allocations it wants to see and what the stack depth should be.
+ * Changing the window size is easy, changing the max stack depth is harder
+ * because we go from an array of fixed-size structs to variable-sized data.
  */
 #include "Dalvik.h"
 
-#define kMaxAllocRecordStackDepth   8       /* max 255 */
+#define kMaxAllocRecordStackDepth   16      /* max 255 */
 #define kNumAllocRecords            512     /* MUST be power of 2 */
 
 /*
@@ -108,8 +111,9 @@
     dvmLockMutex(&gDvm.allocTrackerLock);
 
     if (gDvm.allocRecords == NULL) {
-        LOGI("Enabling alloc tracker (%d entries / %d bytes)\n",
-            kNumAllocRecords, sizeof(AllocRecord) * kNumAllocRecords);
+        LOGI("Enabling alloc tracker (%d entries, %d frames --> %d bytes)\n",
+            kNumAllocRecords, kMaxAllocRecordStackDepth,
+            sizeof(AllocRecord) * kNumAllocRecords);
         gDvm.allocRecordHead = gDvm.allocRecordCount = 0;
         gDvm.allocRecords =
             (AllocRecord*) malloc(sizeof(AllocRecord) * kNumAllocRecords);
diff --git a/vm/Debugger.c b/vm/Debugger.c
index 67a83a3..2f57046 100644
--- a/vm/Debugger.c
+++ b/vm/Debugger.c
@@ -418,6 +418,9 @@
     LOGI("Debugger is active\n");
     dvmInitBreakpoints();
     gDvm.debuggerActive = true;
+#if defined(WITH_JIT)
+    dvmCompilerStateRefresh();
+#endif
 }
 
 /*
@@ -445,6 +448,9 @@
 
     dvmHashTableClear(gDvm.dbgRegistry);
     dvmHashTableUnlock(gDvm.dbgRegistry);
+#if defined(WITH_JIT)
+    dvmCompilerStateRefresh();
+#endif
 }
 
 /*
@@ -3024,7 +3030,18 @@
 /*
  * Send up a JDWP event packet with a DDM chunk in it.
  */
-void dvmDbgDdmSendChunk(int type, int len, const u1* buf)
+void dvmDbgDdmSendChunk(int type, size_t len, const u1* buf)
+{
+    assert(buf != NULL);
+    struct iovec vec[1] = { {(void*)buf, len} };
+    dvmDbgDdmSendChunkV(type, vec, 1);
+}
+
+/*
+ * Send up a JDWP event packet with a DDM chunk in it.  The chunk is
+ * concatenated from multiple source buffers.
+ */
+void dvmDbgDdmSendChunkV(int type, const struct iovec* iov, int iovcnt)
 {
     if (gDvm.jdwpState == NULL) {
         LOGV("Debugger thread not active, ignoring DDM send (t=0x%08x l=%d)\n",
@@ -3032,6 +3049,5 @@
         return;
     }
 
-    dvmJdwpDdmSendChunk(gDvm.jdwpState, type, len, buf);
+    dvmJdwpDdmSendChunkV(gDvm.jdwpState, type, iov, iovcnt);
 }
-
diff --git a/vm/Debugger.h b/vm/Debugger.h
index 1eea04c..04477fb 100644
--- a/vm/Debugger.h
+++ b/vm/Debugger.h
@@ -301,7 +301,8 @@
     int* pReplyLen);
 void dvmDbgDdmConnected(void);
 void dvmDbgDdmDisconnected(void);
-void dvmDbgDdmSendChunk(int type, int len, const u1* buf);
+void dvmDbgDdmSendChunk(int type, size_t len, const u1* buf);
+void dvmDbgDdmSendChunkV(int type, const struct iovec* iov, int iovcnt);
 
 #define CHUNK_TYPE(_name) \
     ((_name)[0] << 24 | (_name)[1] << 16 | (_name)[2] << 8 | (_name)[3])
diff --git a/vm/Exception.c b/vm/Exception.c
index 808b0b2..477f16f 100644
--- a/vm/Exception.c
+++ b/vm/Exception.c
@@ -181,6 +181,18 @@
 
 
 /*
+ * Format the message into a small buffer and pass it along.
+ */
+void dvmThrowExceptionFmtV(const char* exceptionDescriptor, const char* fmt,
+    va_list args)
+{
+    char msgBuf[512];
+
+    vsnprintf(msgBuf, sizeof(msgBuf), fmt, args);
+    dvmThrowChainedException(exceptionDescriptor, msgBuf, NULL);
+}
+
+/*
  * Create a Throwable and throw an exception in the current thread (where
  * "throwing" just means "set the thread's exception pointer").
  *
diff --git a/vm/Exception.h b/vm/Exception.h
index 4044345..f53c0bf 100644
--- a/vm/Exception.h
+++ b/vm/Exception.h
@@ -35,6 +35,20 @@
 }
 
 /*
+ * Like dvmThrowChainedException, but takes printf-style args for the message.
+ */
+void dvmThrowExceptionFmtV(const char* exceptionDescriptor, const char* fmt,
+    va_list args);
+INLINE void dvmThrowExceptionFmt(const char* exceptionDescriptor,
+    const char* fmt, ...)
+{
+    va_list args;
+    va_start(args, fmt);
+    dvmThrowExceptionFmtV(exceptionDescriptor, fmt, args);
+    va_end(args);
+}
+
+/*
  * Throw an exception in the current thread, by class object.
  */
 void dvmThrowChainedExceptionByClass(ClassObject* exceptionClass,
diff --git a/vm/Globals.h b/vm/Globals.h
index bac28f6..f2dd86a 100644
--- a/vm/Globals.h
+++ b/vm/Globals.h
@@ -80,6 +80,7 @@
     bool        verboseGc;
     bool        verboseJni;
     bool        verboseClass;
+    bool        verboseShutdown;
 
     bool        jdwpAllowed;        // debugging allowed for this process?
     bool        jdwpConfigured;     // has debugging info been provided?
@@ -685,6 +686,9 @@
     /* Array of profile threshold counters */
     unsigned char *pProfTable;
 
+    /* Copy of pProfTable used for temporarily disabling the Jit */
+    unsigned char *pProfTableCopy;
+
     /* Size of JIT hash table in entries.  Must be a power of 2 */
     unsigned int jitTableSize;
 
diff --git a/vm/Init.c b/vm/Init.c
index c65ce65..5d49986 100644
--- a/vm/Init.c
+++ b/vm/Init.c
@@ -795,6 +795,8 @@
             gDvm.verboseJni = true;
         } else if (strcmp(argv[i], "-verbose:gc") == 0) {
             gDvm.verboseGc = true;
+        } else if (strcmp(argv[i], "-verbose:shutdown") == 0) {
+            gDvm.verboseShutdown = true;
 
         } else if (strncmp(argv[i], "-enableassertions", 17) == 0) {
             enableAssertions(argv[i] + 17, true);
@@ -954,7 +956,7 @@
                 dvmFprintf(stderr, "Bad value for -Xgc");
                 return -1;
             }
-            LOGD("Precise GC configured %s\n", gDvm.preciseGc ? "ON" : "OFF");
+            LOGV("Precise GC configured %s\n", gDvm.preciseGc ? "ON" : "OFF");
 
         } else if (strcmp(argv[i], "-Xcheckdexsum") == 0) {
             gDvm.verifyDexChecksum = true;
@@ -1577,7 +1579,8 @@
      */
     dvmSlayDaemons();
 
-    LOGD("VM cleaning up\n");
+    if (gDvm.verboseShutdown)
+        LOGD("VM cleaning up\n");
 
     dvmDebuggerShutdown();
     dvmReflectShutdown();
diff --git a/vm/Jni.c b/vm/Jni.c
index 7b68195..6692f3b 100644
--- a/vm/Jni.c
+++ b/vm/Jni.c
@@ -3874,7 +3874,8 @@
     if (ext == NULL)
         return JNI_ERR;
 
-    LOGD("DestroyJavaVM waiting for non-daemon threads to exit\n");
+    if (gDvm.verboseShutdown)
+        LOGD("DestroyJavaVM waiting for non-daemon threads to exit\n");
 
     /*
      * Sleep on a condition variable until it's okay to exit.
@@ -3906,7 +3907,8 @@
     // TODO: call System.exit() to run any registered shutdown hooks
     // (this may not return -- figure out how this should work)
 
-    LOGD("DestroyJavaVM shutting VM down\n");
+    if (gDvm.verboseShutdown)
+        LOGD("DestroyJavaVM shutting VM down\n");
     dvmShutdown();
 
     // TODO - free resources associated with JNI-attached daemon threads
diff --git a/vm/LinearAlloc.c b/vm/LinearAlloc.c
index a8ed3ab..bf89d50 100644
--- a/vm/LinearAlloc.c
+++ b/vm/LinearAlloc.c
@@ -236,10 +236,12 @@
 
     //dvmLinearAllocDump(classLoader);
 
-    LOGV("Unmapping linear allocator base=%p\n", pHdr->mapAddr);
-    LOGD("LinearAlloc %p used %d of %d (%d%%)\n",
-        classLoader, pHdr->curOffset, pHdr->mapLength,
-        (pHdr->curOffset * 100) / pHdr->mapLength);
+    if (gDvm.verboseShutdown) {
+        LOGV("Unmapping linear allocator base=%p\n", pHdr->mapAddr);
+        LOGD("LinearAlloc %p used %d of %d (%d%%)\n",
+            classLoader, pHdr->curOffset, pHdr->mapLength,
+            (pHdr->curOffset * 100) / pHdr->mapLength);
+    }
 
     if (munmap(pHdr->mapAddr, pHdr->mapLength) != 0) {
         LOGW("LinearAlloc munmap(%p, %d) failed: %s\n",
diff --git a/vm/Profile.c b/vm/Profile.c
index 393440c..b079988 100644
--- a/vm/Profile.c
+++ b/vm/Profile.c
@@ -31,6 +31,8 @@
 #include <errno.h>
 #include <fcntl.h>
 
+#include <cutils/open_memstream.h>
+
 #ifdef HAVE_ANDROID_OS
 # define UPDATE_MAGIC_PAGE      1
 #endif
@@ -228,6 +230,9 @@
     } while (!ATOMIC_CMP_SWAP(&gDvm.activeProfilers, oldValue, newValue));
 
     LOGD("+++ active profiler count now %d\n", newValue);
+#if defined(WITH_JIT)
+    dvmCompilerStateRefresh();
+#endif
 }
 
 
@@ -319,27 +324,30 @@
 }
 
 /*
- * Start method tracing.  This opens the file (if an already open fd has not
- * been supplied) and allocates the buffer.
- * If any of these fail, we throw an exception and return.
+ * Start method tracing.  Method tracing is global to the VM (i.e. we
+ * trace all threads).
  *
- * Method tracing is global to the VM.
+ * This opens the output file (if an already open fd has not been supplied,
+ * and we're not going direct to DDMS) and allocates the data buffer.
+ *
+ * On failure, we throw an exception and return.
  */
 void dvmMethodTraceStart(const char* traceFileName, int traceFd, int bufferSize,
-        int flags)
+    int flags, bool directToDdms)
 {
     MethodTraceState* state = &gDvm.methodTrace;
 
     assert(bufferSize > 0);
 
-    if (state->traceEnabled != 0) {
+    dvmLockMutex(&state->startStopLock);
+    while (state->traceEnabled != 0) {
         LOGI("TRACE start requested, but already in progress; stopping\n");
+        dvmUnlockMutex(&state->startStopLock);
         dvmMethodTraceStop();
+        dvmLockMutex(&state->startStopLock);
     }
     updateActiveProfilers(1);
-    LOGI("TRACE STARTED: '%s' %dKB\n",
-        traceFileName, bufferSize / 1024);
-    dvmLockMutex(&state->startStopLock);
+    LOGI("TRACE STARTED: '%s' %dKB\n", traceFileName, bufferSize / 1024);
 
     /*
      * Allocate storage and open files.
@@ -352,19 +360,25 @@
         dvmThrowException("Ljava/lang/InternalError;", "buffer alloc failed");
         goto fail;
     }
-    if (traceFd < 0) {
-        state->traceFile = fopen(traceFileName, "w");
-    } else {
-        state->traceFile = fdopen(traceFd, "w");
-    }
-    if (state->traceFile == NULL) {
-        LOGE("Unable to open trace file '%s': %s\n",
-            traceFileName, strerror(errno));
-        dvmThrowException("Ljava/lang/RuntimeException;", "file open failed");
-        goto fail;
+    if (!directToDdms) {
+        if (traceFd < 0) {
+            state->traceFile = fopen(traceFileName, "w");
+        } else {
+            state->traceFile = fdopen(traceFd, "w");
+        }
+        if (state->traceFile == NULL) {
+            int err = errno;
+            LOGE("Unable to open trace file '%s': %s\n",
+                traceFileName, strerror(err));
+            dvmThrowExceptionFmt("Ljava/lang/RuntimeException;",
+                "Unable to open trace file '%s': %s",
+                traceFileName, strerror(err));
+            goto fail;
+        }
     }
     memset(state->buf, (char)FILL_PATTERN, bufferSize);
 
+    state->directToDdms = directToDdms;
     state->bufferSize = bufferSize;
     state->overflow = false;
 
@@ -569,6 +583,19 @@
 
     markTouchedMethods(finalCurOffset);
 
+    char* memStreamPtr;
+    size_t memStreamSize;
+    if (state->directToDdms) {
+        assert(state->traceFile == NULL);
+        state->traceFile = open_memstream(&memStreamPtr, &memStreamSize);
+        if (state->traceFile == NULL) {
+            /* not expected */
+            LOGE("Unable to open memstream\n");
+            dvmAbort();
+        }
+    }
+    assert(state->traceFile != NULL);
+
     fprintf(state->traceFile, "%cversion\n", TOKEN_CHAR);
     fprintf(state->traceFile, "%d\n", TRACE_VERSION);
     fprintf(state->traceFile, "data-file-overflow=%s\n",
@@ -597,18 +624,36 @@
     dumpMethodList(state->traceFile);
     fprintf(state->traceFile, "%cend\n", TOKEN_CHAR);
 
-    if (fwrite(state->buf, finalCurOffset, 1, state->traceFile) != 1) {
-        LOGE("trace fwrite(%d) failed, errno=%d\n", finalCurOffset, errno);
-        dvmThrowException("Ljava/lang/RuntimeException;", "data write failed");
-        goto bail;
+    if (state->directToDdms) {
+        /*
+         * Data is in two places: memStreamPtr and state->buf.  Send
+         * the whole thing to DDMS, wrapped in an MPSE packet.
+         */
+        fflush(state->traceFile);
+
+        struct iovec iov[2];
+        iov[0].iov_base = memStreamPtr;
+        iov[0].iov_len = memStreamSize;
+        iov[1].iov_base = state->buf;
+        iov[1].iov_len = finalCurOffset;
+        dvmDbgDdmSendChunkV(CHUNK_TYPE("MPSE"), iov, 2);
+    } else {
+        /* append the profiling data */
+        if (fwrite(state->buf, finalCurOffset, 1, state->traceFile) != 1) {
+            int err = errno;
+            LOGE("trace fwrite(%d) failed, errno=%d\n", finalCurOffset, err);
+            dvmThrowExceptionFmt("Ljava/lang/RuntimeException;",
+                "Trace data write failed: %s", strerror(err));
+        }
     }
 
-bail:
+    /* done! */
     free(state->buf);
     state->buf = NULL;
     fclose(state->traceFile);
     state->traceFile = NULL;
 
+    /* wake any threads that were waiting for profiling to complete */
     int cc = pthread_cond_broadcast(&state->threadExitCond);
     assert(cc == 0);
     dvmUnlockMutex(&state->startStopLock);
diff --git a/vm/Profile.h b/vm/Profile.h
index d5dbea2..7cac150 100644
--- a/vm/Profile.h
+++ b/vm/Profile.h
@@ -39,7 +39,6 @@
 /*
  * Method trace state.  This is currently global.  In theory we could make
  * most of this per-thread.
- *
  */
 typedef struct MethodTraceState {
     /* these are set during VM init */
@@ -50,6 +49,7 @@
     pthread_mutex_t startStopLock;
     pthread_cond_t  threadExitCond;
     FILE*   traceFile;
+    bool    directToDdms;
     int     bufferSize;
     int     flags;
 
@@ -97,7 +97,7 @@
  * Start/stop method tracing.
  */
 void dvmMethodTraceStart(const char* traceFileName, int traceFd, int bufferSize,
-        int flags);
+        int flags, bool directToDdms);
 bool dvmIsMethodTraceActive(void);
 void dvmMethodTraceStop(void);
 
diff --git a/vm/SignalCatcher.c b/vm/SignalCatcher.c
index 90211fd..7edbf38 100644
--- a/vm/SignalCatcher.c
+++ b/vm/SignalCatcher.c
@@ -255,7 +255,7 @@
         } else if (rcvd == SIGUSR1) {
 #if WITH_HPROF
             LOGI("SIGUSR1 forcing GC and HPROF dump\n");
-            hprofDumpHeap(NULL);
+            hprofDumpHeap(NULL, false);
 #else
             LOGI("SIGUSR1 forcing GC (no HPROF)\n");
             dvmCollectGarbage(false);
diff --git a/vm/Sync.c b/vm/Sync.c
index acd916c..5340d86 100644
--- a/vm/Sync.c
+++ b/vm/Sync.c
@@ -504,7 +504,7 @@
 /*
  * Converts the given relative waiting time into an absolute time.
  */
-static void absoluteTime(s8 msec, s4 nsec, struct timespec *ts)
+void dvmAbsoluteTime(s8 msec, s4 nsec, struct timespec *ts)
 {
     s8 endSec;
 
@@ -589,7 +589,7 @@
     if (msec == 0 && nsec == 0) {
         timed = false;
     } else {
-        absoluteTime(msec, nsec, &ts);
+        dvmAbsoluteTime(msec, nsec, &ts);
         timed = true;
     }
 
@@ -1987,4 +1987,3 @@
 }
 
 #endif /*WITH_DEADLOCK_PREDICTION*/
-
diff --git a/vm/Sync.h b/vm/Sync.h
index 0ce3ebc..0832608 100644
--- a/vm/Sync.h
+++ b/vm/Sync.h
@@ -146,6 +146,11 @@
 bool dvmHoldsLock(struct Thread* thread, struct Object* obj);
 
 /*
+ * Converts the given relative time into an absolute time
+ */
+void dvmAbsoluteTime(s8 msec, s4 nsec, struct timespec *ts);
+
+/*
  * Debug.
  */
 void dvmDumpMonitorInfo(const char* msg);
diff --git a/vm/Thread.c b/vm/Thread.c
index 05c89e2..9e95d88 100644
--- a/vm/Thread.c
+++ b/vm/Thread.c
@@ -525,6 +525,7 @@
     case SUSPEND_FOR_TBL_RESIZE:    return "table-resize";
     case SUSPEND_FOR_IC_PATCH:      return "inline-cache-patch";
     case SUSPEND_FOR_CC_RESET:      return "reset-code-cache";
+    case SUSPEND_FOR_REFRESH:       return "refresh jit status";
 #endif
     default:                        return "UNKNOWN";
     }
@@ -1215,7 +1216,7 @@
 static void releaseThreadId(Thread* thread)
 {
     assert(thread->threadId > 0);
-    dvmClearBit(gDvm.threadIdMap, (thread->threadId >> 1) - 1);
+    dvmClearBit(gDvm.threadIdMap, thread->threadId - 1);
     thread->threadId = 0;
 }
 
@@ -1284,8 +1285,6 @@
     ClassObject* nativeStart;
     Method* runMeth;
 
-    assert(thread->threadId != 1);      // not for main thread
-
     nativeStart =
         dvmFindSystemClassNoInit("Ldalvik/system/NativeStart;");
     if (nativeStart == NULL) {
diff --git a/vm/Thread.h b/vm/Thread.h
index 5e0ad4d..964c968 100644
--- a/vm/Thread.h
+++ b/vm/Thread.h
@@ -300,6 +300,7 @@
     SUSPEND_FOR_TBL_RESIZE,  // jit-table resize
     SUSPEND_FOR_IC_PATCH,    // polymorphic callsite inline-cache patch
     SUSPEND_FOR_CC_RESET,    // code-cache reset
+    SUSPEND_FOR_REFRESH,     // Reload data cached in interpState
 #endif
 } SuspendCause;
 void dvmSuspendThread(Thread* thread);
@@ -378,6 +379,14 @@
 }
 
 /*
+ * Try grabbing a plain mutex.  Returns 0 if successful.
+ */
+INLINE int dvmTryLockMutex(pthread_mutex_t* pMutex)
+{
+    return pthread_mutex_trylock(pMutex);
+}
+
+/*
  * Unlock pthread mutex.
  */
 INLINE void dvmUnlockMutex(pthread_mutex_t* pMutex)
diff --git a/vm/alloc/Heap.c b/vm/alloc/Heap.c
index bec30f3..4774819 100644
--- a/vm/alloc/Heap.c
+++ b/vm/alloc/Heap.c
@@ -856,7 +856,8 @@
                 (int) time(NULL), (int) getpid());
             gcHeap->hprofFileName = nameBuf;
         }
-        gcHeap->hprofContext = hprofStartup(gcHeap->hprofFileName);
+        gcHeap->hprofContext = hprofStartup(gcHeap->hprofFileName,
+                gcHeap->hprofDirectToDdms);
         if (gcHeap->hprofContext != NULL) {
             hprofStartHeapDump(gcHeap->hprofContext);
         }
@@ -1071,7 +1072,7 @@
  *
  * Returns 0 on success, or an error code on failure.
  */
-int hprofDumpHeap(const char* fileName)
+int hprofDumpHeap(const char* fileName, bool directToDdms)
 {
     int result;
 
@@ -1079,6 +1080,7 @@
 
     gDvm.gcHeap->hprofDumpOnGc = true;
     gDvm.gcHeap->hprofFileName = fileName;
+    gDvm.gcHeap->hprofDirectToDdms = directToDdms;
     dvmCollectGarbageInternal(false, GC_HPROF_DUMP_HEAP);
     result = gDvm.gcHeap->hprofResult;
 
diff --git a/vm/alloc/HeapInternal.h b/vm/alloc/HeapInternal.h
index a2d31fe..9a5071f 100644
--- a/vm/alloc/HeapInternal.h
+++ b/vm/alloc/HeapInternal.h
@@ -170,6 +170,7 @@
     const char*     hprofFileName;
     hprof_context_t *hprofContext;
     int             hprofResult;
+    bool            hprofDirectToDdms;
 #endif
 };
 
diff --git a/vm/alloc/HeapWorker.c b/vm/alloc/HeapWorker.c
index 3e0f669..228be5a 100644
--- a/vm/alloc/HeapWorker.c
+++ b/vm/alloc/HeapWorker.c
@@ -104,7 +104,7 @@
          */
         if (pthread_join(gDvm.heapWorkerHandle, &threadReturn) != 0)
             LOGW("HeapWorker thread join failed\n");
-        else
+        else if (gDvm.verboseShutdown)
             LOGD("HeapWorker thread has shut down\n");
 
         gDvm.heapWorkerReady = false;
@@ -373,7 +373,8 @@
     }
     dvmUnlockMutex(&gDvm.heapWorkerLock);
 
-    LOGD("HeapWorker thread shutting down\n");
+    if (gDvm.verboseShutdown)
+        LOGD("HeapWorker thread shutting down\n");
     return NULL;
 }
 
diff --git a/vm/compiler/Compiler.c b/vm/compiler/Compiler.c
index 3886cce..9ed3a05 100644
--- a/vm/compiler/Compiler.c
+++ b/vm/compiler/Compiler.c
@@ -49,15 +49,21 @@
     return work;
 }
 
+/*
+ * Attempt to enqueue a work order, returning true if successful.
+ * This routine will not block, but simply return if it couldn't
+ * aquire the lock or if the queue is full.
+ */
 bool dvmCompilerWorkEnqueue(const u2 *pc, WorkOrderKind kind, void* info)
 {
     int cc;
     int i;
     int numWork;
-    int oldStatus = dvmChangeStatus(NULL, THREAD_VMWAIT);
     bool result = true;
 
-    dvmLockMutex(&gDvmJit.compilerLock);
+    if (dvmTryLockMutex(&gDvmJit.compilerLock)) {
+        return false;  // Couldn't aquire the lock
+    }
 
     /*
      * Return if queue is full.
@@ -66,7 +72,7 @@
      */
     if (gDvmJit.compilerQueueLength == COMPILER_WORK_QUEUE_SIZE) {
         result = false;
-        goto done;
+        goto unlockAndExit;
     }
 
     for (numWork = gDvmJit.compilerQueueLength,
@@ -75,7 +81,7 @@
          numWork--) {
         /* Already enqueued */
         if (gDvmJit.compilerWorkQueue[i++].pc == pc)
-            goto done;
+            goto unlockAndExit;
         /* Wrap around */
         if (i == COMPILER_WORK_QUEUE_SIZE)
             i = 0;
@@ -99,9 +105,8 @@
     cc = pthread_cond_signal(&gDvmJit.compilerQueueActivity);
     assert(cc == 0);
 
-done:
+unlockAndExit:
     dvmUnlockMutex(&gDvmJit.compilerLock);
-    dvmChangeStatus(NULL, oldStatus);
     return result;
 }
 
@@ -267,21 +272,127 @@
     dvmResumeAllThreads(SUSPEND_FOR_CC_RESET);
 }
 
+bool compilerThreadStartup(void)
+{
+    JitEntry *pJitTable = NULL;
+    unsigned char *pJitProfTable = NULL;
+    unsigned int i;
+
+    if (!dvmCompilerArchInit())
+        goto fail;
+
+    /*
+     * Setup the code cache if we have not inherited a valid code cache
+     * from the zygote.
+     */
+    if (gDvmJit.codeCache == NULL) {
+        if (!dvmCompilerSetupCodeCache())
+            goto fail;
+    }
+
+    /* Allocate the initial arena block */
+    if (dvmCompilerHeapInit() == false) {
+        goto fail;
+    }
+
+    dvmLockMutex(&gDvmJit.compilerLock);
+
+    /* Track method-level compilation statistics */
+    gDvmJit.methodStatsTable =  dvmHashTableCreate(32, NULL);
+
+    dvmUnlockMutex(&gDvmJit.compilerLock);
+
+    /* Set up the JitTable */
+
+    /* Power of 2? */
+    assert(gDvmJit.jitTableSize &&
+           !(gDvmJit.jitTableSize & (gDvmJit.jitTableSize - 1)));
+
+    dvmInitMutex(&gDvmJit.tableLock);
+    dvmLockMutex(&gDvmJit.tableLock);
+    pJitTable = (JitEntry*)
+                calloc(gDvmJit.jitTableSize, sizeof(*pJitTable));
+    if (!pJitTable) {
+        LOGE("jit table allocation failed\n");
+        dvmUnlockMutex(&gDvmJit.tableLock);
+        goto fail;
+    }
+    /*
+     * NOTE: the profile table must only be allocated once, globally.
+     * Profiling is turned on and off by nulling out gDvm.pJitProfTable
+     * and then restoring its original value.  However, this action
+     * is not syncronized for speed so threads may continue to hold
+     * and update the profile table after profiling has been turned
+     * off by null'ng the global pointer.  Be aware.
+     */
+    pJitProfTable = (unsigned char *)malloc(JIT_PROF_SIZE);
+    if (!pJitProfTable) {
+        LOGE("jit prof table allocation failed\n");
+        dvmUnlockMutex(&gDvmJit.tableLock);
+        goto fail;
+    }
+    memset(pJitProfTable, gDvmJit.threshold, JIT_PROF_SIZE);
+    for (i=0; i < gDvmJit.jitTableSize; i++) {
+       pJitTable[i].u.info.chain = gDvmJit.jitTableSize;
+    }
+    /* Is chain field wide enough for termination pattern? */
+    assert(pJitTable[0].u.info.chain == gDvmJit.jitTableSize);
+
+    gDvmJit.pJitEntryTable = pJitTable;
+    gDvmJit.jitTableMask = gDvmJit.jitTableSize - 1;
+    gDvmJit.jitTableEntriesUsed = 0;
+    gDvmJit.compilerHighWater =
+        COMPILER_WORK_QUEUE_SIZE - (COMPILER_WORK_QUEUE_SIZE/4);
+    gDvmJit.pProfTable = pJitProfTable;
+    gDvmJit.pProfTableCopy = pJitProfTable;
+    dvmUnlockMutex(&gDvmJit.tableLock);
+
+    /* Signal running threads to refresh their cached pJitTable pointers */
+    dvmSuspendAllThreads(SUSPEND_FOR_REFRESH);
+    dvmResumeAllThreads(SUSPEND_FOR_REFRESH);
+    return true;
+
+fail:
+    return false;
+
+}
+
 static void *compilerThreadStart(void *arg)
 {
+    int ret;
+    struct timespec ts;
+
     dvmChangeStatus(NULL, THREAD_VMWAIT);
 
     /*
      * Wait a little before recieving translation requests on the assumption
-     * that process start-up code isn't worth compiling.  The trace
-     * selector won't attempt to request a translation if the queue is
-     * filled, so we'll prevent by keeping the high water mark at zero
-     * for a shore time.
+     * that process start-up code isn't worth compiling.
      */
-    assert(gDvmJit.compilerHighWater == 0);
-    usleep(1000);
-    gDvmJit.compilerHighWater =
-        COMPILER_WORK_QUEUE_SIZE - (COMPILER_WORK_QUEUE_SIZE/4);
+
+    dvmLockMutex(&gDvmJit.compilerLock);
+    /*
+     * TUNING: once framework is calling VMRuntime.startJitCompilation,
+     * experiment with the delay time (and perhaps have target-dependent
+     * values?
+     */
+    dvmAbsoluteTime(1000, 0, &ts);
+#if defined(HAVE_TIMEDWAIT_MONOTONIC)
+    ret = pthread_cond_timedwait_monotonic(&gDvmJit.compilerQueueActivity,
+                                           &gDvmJit.compilerLock, &ts);
+#else
+    ret = pthread_cond_timedwait(&gDvmJit.compilerQueueActivity,
+                                 &gDvmJit.compilerLock, &ts);
+#endif
+    assert(ret == 0 || ret == ETIMEDOUT);
+
+    if (gDvmJit.haltCompilerThread) {
+        dvmUnlockMutex(&gDvmJit.compilerLock);
+        return NULL;
+    }
+
+    dvmUnlockMutex(&gDvmJit.compilerLock);
+
+    compilerThreadStartup();
 
     dvmLockMutex(&gDvmJit.compilerLock);
     /*
@@ -299,18 +410,22 @@
             continue;
         } else {
             do {
+                bool resizeFail = false;
                 CompilerWorkOrder work = workDequeue();
                 dvmUnlockMutex(&gDvmJit.compilerLock);
-                /* Check whether there is a suspend request on me */
+                /*
+                 * Check whether there is a suspend request on me.  This
+                 * is necessary to allow a clean shutdown.
+                 */
                 dvmCheckSuspendPending(NULL);
                 /* Is JitTable filling up? */
                 if (gDvmJit.jitTableEntriesUsed >
                     (gDvmJit.jitTableSize - gDvmJit.jitTableSize/4)) {
-                    dvmJitResizeJitTable(gDvmJit.jitTableSize * 2);
+                    resizeFail = dvmJitResizeJitTable(gDvmJit.jitTableSize * 2);
                 }
                 if (gDvmJit.haltCompilerThread) {
                     LOGD("Compiler shutdown in progress - discarding request");
-                } else {
+                } else if (!resizeFail) {
                     /* If compilation failed, use interpret-template */
                     if (!dvmCompilerDoWork(&work)) {
                         work.result.codeAddress = gDvmJit.interpretTemplate;
@@ -328,7 +443,7 @@
                  * stale code stops leaking.
                  */
 #if 0
-                if (gDvmJit.codeCacheFull == true) {
+                if (gDvmJit.codeCacheFull == true || resizeFail) {
                     if (gDvmJit.delayCodeCacheReset == 0) {
                         resetCodeCache();
                         assert(workQueueLength() == 0 ||
@@ -353,66 +468,31 @@
      */
     dvmChangeStatus(NULL, THREAD_RUNNING);
 
-    LOGD("Compiler thread shutting down\n");
+    if (gDvm.verboseShutdown)
+        LOGD("Compiler thread shutting down\n");
     return NULL;
 }
 
 bool dvmCompilerStartup(void)
 {
-    /* Make sure the BBType enum is in sane state */
-    assert(kChainingCellNormal == 0);
-
-    /* Architecture-specific chores to initialize */
-    if (!dvmCompilerArchInit())
-        goto fail;
-
-    /*
-     * Setup the code cache if it is not done so already. For apps it should be
-     * done by the Zygote already, but for command-line dalvikvm invocation we
-     * need to do it here.
-     */
-    if (gDvmJit.codeCache == NULL) {
-        if (!dvmCompilerSetupCodeCache())
-            goto fail;
-    }
-
-    /* Allocate the initial arena block */
-    if (dvmCompilerHeapInit() == false) {
-        goto fail;
-    }
 
     dvmInitMutex(&gDvmJit.compilerLock);
+    dvmLockMutex(&gDvmJit.compilerLock);
     pthread_cond_init(&gDvmJit.compilerQueueActivity, NULL);
     pthread_cond_init(&gDvmJit.compilerQueueEmpty, NULL);
 
-    dvmLockMutex(&gDvmJit.compilerLock);
-
-    gDvmJit.haltCompilerThread = false;
-
     /* Reset the work queue */
-    memset(gDvmJit.compilerWorkQueue, 0,
-           sizeof(CompilerWorkOrder) * COMPILER_WORK_QUEUE_SIZE);
     gDvmJit.compilerWorkEnqueueIndex = gDvmJit.compilerWorkDequeueIndex = 0;
     gDvmJit.compilerQueueLength = 0;
-    /* Block new entries via HighWater until compiler thread is ready */
-    gDvmJit.compilerHighWater = 0;
-
-    assert(gDvmJit.compilerHighWater < COMPILER_WORK_QUEUE_SIZE);
-    if (!dvmCreateInternalThread(&gDvmJit.compilerHandle, "Compiler",
-                                 compilerThreadStart, NULL)) {
-        dvmUnlockMutex(&gDvmJit.compilerLock);
-        goto fail;
-    }
-
-    /* Track method-level compilation statistics */
-    gDvmJit.methodStatsTable =  dvmHashTableCreate(32, NULL);
-
     dvmUnlockMutex(&gDvmJit.compilerLock);
 
-    return true;
-
-fail:
-    return false;
+    /*
+     * Defer rest of initialization until we're sure JIT'ng makes sense. Launch
+     * the compiler thread, which will do the real initialization if and
+     * when it is signalled to do so.
+     */
+    return dvmCreateInternalThread(&gDvmJit.compilerHandle, "Compiler",
+                                   compilerThreadStart, NULL);
 }
 
 void dvmCompilerShutdown(void)
@@ -429,7 +509,27 @@
 
         if (pthread_join(gDvmJit.compilerHandle, &threadReturn) != 0)
             LOGW("Compiler thread join failed\n");
-        else
+        else if (gDvm.verboseShutdown)
             LOGD("Compiler thread has shut down\n");
     }
 }
+
+
+void dvmCompilerStateRefresh()
+{
+    bool jitActive;
+    bool jitActivate;
+
+    dvmLockMutex(&gDvmJit.tableLock);
+    jitActive = gDvmJit.pProfTable != NULL;
+    jitActivate = !(gDvm.debuggerActive || (gDvm.activeProfilers > 0));
+
+    if (jitActivate && !jitActive) {
+        gDvmJit.pProfTable = gDvmJit.pProfTableCopy;
+        dvmUnlockMutex(&gDvmJit.tableLock);
+    } else if (!jitActivate && jitActive) {
+        gDvmJit.pProfTable = NULL;
+        dvmUnlockMutex(&gDvmJit.tableLock);
+        dvmJitUnchainAll();
+    }
+}
diff --git a/vm/compiler/Compiler.h b/vm/compiler/Compiler.h
index 71eed5d..6b4d414 100644
--- a/vm/compiler/Compiler.h
+++ b/vm/compiler/Compiler.h
@@ -165,6 +165,7 @@
                               struct SSARepresentation *ssaRep);
 void dvmCompilerDataFlowAnalysisDispatcher(struct CompilationUnit *cUnit,
                 void (*func)(struct CompilationUnit *, struct BasicBlock *));
+void dvmCompilerStateRefresh(void);
 JitTraceDescription *dvmCopyTraceDescriptor(const u2 *pc);
 
 #endif /* _DALVIK_VM_COMPILER */
diff --git a/vm/compiler/Frontend.c b/vm/compiler/Frontend.c
index a4a82c9..347bc50 100644
--- a/vm/compiler/Frontend.c
+++ b/vm/compiler/Frontend.c
@@ -299,6 +299,11 @@
     CompilationUnit cUnit;
     CompilerMethodStats *methodStats;
 
+    /* If we've already compiled this trace, just return success */
+    if (dvmJitGetCodeAddr(startCodePtr)) {
+        return true;
+    }
+
     compilationId++;
     memset(&cUnit, 0, sizeof(CompilationUnit));
 
diff --git a/vm/compiler/codegen/arm/Assemble.c b/vm/compiler/codegen/arm/Assemble.c
index 6a59c7e..998c955 100644
--- a/vm/compiler/codegen/arm/Assemble.c
+++ b/vm/compiler/codegen/arm/Assemble.c
@@ -1328,7 +1328,7 @@
     u4 newInst;
     bool thumbTarget;
 
-    if (gDvm.sumThreadSuspendCount == 0) {
+    if ((gDvmJit.pProfTable != NULL) && gDvm.sumThreadSuspendCount == 0) {
         assert((branchOffset >= -(1<<22)) && (branchOffset <= ((1<<22)-2)));
 
         gDvmJit.translationChains++;
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index 8861102..648d8f4 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -1709,6 +1709,14 @@
     genNullCheck(cUnit, rlSrc.sRegLow, r1, mir->offset, NULL);
     /* Do the call */
     opReg(cUnit, kOpBlx, r2);
+    /*
+     * Refresh Jit's on/off status, which may have changed if we were
+     * sent to VM_MONITOR state above.
+     * TUNING: pointer chase, but must reload following call
+     */
+    loadWordDisp(cUnit, rGLUE, offsetof(InterpState, ppJitProfTable), r0);
+    loadWordDisp(cUnit, r0, 0, r0);
+    storeWordDisp(cUnit, rGLUE, offsetof(InterpState, pJitProfTable), r0);
 #if defined(WITH_DEADLOCK_PREDICTION)
     if (isEnter) {
         loadWordDisp(cUnit, rGLUE, offsetof(InterpState, self), r0);
@@ -1786,6 +1794,7 @@
         }
         case OP_CONST_WIDE_32: {
             //TUNING: single routine to load constant pair for support doubles
+            //TUNING: load 0/-1 separately to avoid load dependency
             rlResult = evalLoc(cUnit, rlDest, kCoreReg, true);
             loadConstantValue(cUnit, rlResult.lowReg, mir->dalvikInsn.vB);
             opRegRegImm(cUnit, kOpAsr, rlResult.highReg,
@@ -2165,6 +2174,7 @@
         case OP_INT_TO_LONG:
             rlSrc = updateLoc(cUnit, rlSrc);
             rlResult = evalLoc(cUnit, rlDest, kCoreReg, true);
+            //TUNING: shouldn't loadValueDirect already check for phys reg?
             if (rlSrc.location == kLocPhysReg) {
                 genRegCopy(cUnit, rlResult.lowReg, rlSrc.lowReg);
             } else {
@@ -2227,6 +2237,7 @@
         rlDest = getDestLocWide(cUnit, mir, 0, 1);
         rlResult = evalLoc(cUnit, rlDest, kCoreReg, true);
         loadConstantValue(cUnit, rlResult.lowReg, BBBB);
+        //TUNING: do high separately to avoid load dependency
         opRegRegImm(cUnit, kOpAsr, rlResult.highReg, rlResult.lowReg, 31);
         storeValueWide(cUnit, rlDest, rlResult);
     } else if (dalvikOpCode == OP_CONST_16) {
diff --git a/vm/compiler/codegen/arm/RallocUtil.c b/vm/compiler/codegen/arm/RallocUtil.c
index ff77002..5c12846 100644
--- a/vm/compiler/codegen/arm/RallocUtil.c
+++ b/vm/compiler/codegen/arm/RallocUtil.c
@@ -466,6 +466,7 @@
 {
     //TUNING: reduce the set of regs used by handlers.  Only a few need lots.
     clobberCallRegs(cUnit);
+    clobberReg(cUnit, r4PC);
     clobberReg(cUnit, r9);
     clobberReg(cUnit, r10);
 }
diff --git a/vm/compiler/codegen/arm/Thumb2/Factory.c b/vm/compiler/codegen/arm/Thumb2/Factory.c
index dfa60fe..ea93bbf 100644
--- a/vm/compiler/codegen/arm/Thumb2/Factory.c
+++ b/vm/compiler/codegen/arm/Thumb2/Factory.c
@@ -964,7 +964,7 @@
                 opCode = kThumbStrbRRI5;
             } else if (thumb2Form) {
                 shortForm = true;
-                opCode = kThumb2StrhRRI12;
+                opCode = kThumb2StrbRRI12;
             }
             break;
         default:
diff --git a/vm/compiler/codegen/arm/Thumb2/Gen.c b/vm/compiler/codegen/arm/Thumb2/Gen.c
index f4c7aa2..5f2a6a2 100644
--- a/vm/compiler/codegen/arm/Thumb2/Gen.c
+++ b/vm/compiler/codegen/arm/Thumb2/Gen.c
@@ -241,6 +241,14 @@
     }
     genExportPC(cUnit, mir);
     opReg(cUnit, kOpBlx, r7);
+    /*
+     * Refresh Jit's on/off status, which may have changed if we were
+     * sent to VM_MONITOR state above.
+     * TUNING: pointer chase, but must refresh following return from call
+     */
+    loadWordDisp(cUnit, rGLUE, offsetof(InterpState, ppJitProfTable), r0);
+    loadWordDisp(cUnit, r0, 0, r0);
+    storeWordDisp(cUnit, rGLUE, offsetof(InterpState, pJitProfTable), r0);
 
     clobberCallRegs(cUnit);
 
diff --git a/vm/compiler/template/armv5te/footer.S b/vm/compiler/template/armv5te/footer.S
index c1487dd..5d76f48 100644
--- a/vm/compiler/template/armv5te/footer.S
+++ b/vm/compiler/template/armv5te/footer.S
@@ -25,15 +25,20 @@
 
     LDR_PC_LR "[r2, #offMethod_nativeFunc]"
 
+    @ Refresh Jit's on/off status
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable]
+
     @ native return; r9=self, r10=newSaveArea
     @ equivalent to dvmPopJniLocals
     ldr     r2, [r10, #offStackSaveArea_returnAddr] @ r2 = chaining cell ret
     ldr     r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved->top
     ldr     r1, [r9, #offThread_exception] @ check for exception
+    ldr     r3, [r3]    @ r1 <- pointer to Jit profile table
     str     rFP, [r9, #offThread_curFrame]  @ self->curFrame = fp
     cmp     r1, #0                      @ null?
     str     r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
     ldr     r0, [r10, #offStackSaveArea_savedPc] @ reload rPC
+    str     r3, [rGLUE, #offGlue_pJitProfTable]  @ cache current JitProfTable
 
     @ r0 = dalvikCallsitePC
     bne     .LhandleException           @ no, handle exception
diff --git a/vm/compiler/template/out/CompilerTemplateAsm-armv5te-vfp.S b/vm/compiler/template/out/CompilerTemplateAsm-armv5te-vfp.S
index 36d3ea1..afd69f3 100644
--- a/vm/compiler/template/out/CompilerTemplateAsm-armv5te-vfp.S
+++ b/vm/compiler/template/out/CompilerTemplateAsm-armv5te-vfp.S
@@ -243,7 +243,7 @@
     sub     r1, r1, r7, lsl #2          @ r1<- newFp (old savearea - regsSize)
     SAVEAREA_FROM_FP(r10, r1)           @ r10<- stack save area
     sub     r10, r10, r2, lsl #2        @ r10<- bottom (newsave - outsSize)
-    ldr     r8, [r8]                    @ r3<- suspendCount (int)
+    ldr     r8, [r8]                    @ r8<- suspendCount (int)
     cmp     r10, r9                     @ bottom < interpStackEnd?
     bxlt    lr                          @ return to raise stack overflow excep.
     @ r1 = newFP, r0 = methodToCall, r3 = returnCell, rPC = dalvikCallsite
@@ -306,7 +306,7 @@
     SAVEAREA_FROM_FP(r10, r1)           @ r10<- stack save area
     add     r12, lr, #2                 @ setup the punt-to-interp address
     sub     r10, r10, r2, lsl #2        @ r10<- bottom (newsave - outsSize)
-    ldr     r8, [r8]                    @ r3<- suspendCount (int)
+    ldr     r8, [r8]                    @ r8<- suspendCount (int)
     cmp     r10, r9                     @ bottom < interpStackEnd?
     bxlt    r12                         @ return to raise stack overflow excep.
     @ r1 = newFP, r0 = methodToCall, r3 = returnCell, rPC = dalvikCallsite
@@ -1417,15 +1417,20 @@
 
     LDR_PC_LR "[r2, #offMethod_nativeFunc]"
 
+    @ Refresh Jit's on/off status
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable]
+
     @ native return; r9=self, r10=newSaveArea
     @ equivalent to dvmPopJniLocals
     ldr     r2, [r10, #offStackSaveArea_returnAddr] @ r2 = chaining cell ret
     ldr     r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved->top
     ldr     r1, [r9, #offThread_exception] @ check for exception
+    ldr     r3, [r3]    @ r1 <- pointer to Jit profile table
     str     rFP, [r9, #offThread_curFrame]  @ self->curFrame = fp
     cmp     r1, #0                      @ null?
     str     r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
     ldr     r0, [r10, #offStackSaveArea_savedPc] @ reload rPC
+    str     r3, [rGLUE, #offGlue_pJitProfTable]  @ cache current JitProfTable
 
     @ r0 = dalvikCallsitePC
     bne     .LhandleException           @ no, handle exception
diff --git a/vm/compiler/template/out/CompilerTemplateAsm-armv5te.S b/vm/compiler/template/out/CompilerTemplateAsm-armv5te.S
index 48dd707..d73e010 100644
--- a/vm/compiler/template/out/CompilerTemplateAsm-armv5te.S
+++ b/vm/compiler/template/out/CompilerTemplateAsm-armv5te.S
@@ -243,7 +243,7 @@
     sub     r1, r1, r7, lsl #2          @ r1<- newFp (old savearea - regsSize)
     SAVEAREA_FROM_FP(r10, r1)           @ r10<- stack save area
     sub     r10, r10, r2, lsl #2        @ r10<- bottom (newsave - outsSize)
-    ldr     r8, [r8]                    @ r3<- suspendCount (int)
+    ldr     r8, [r8]                    @ r8<- suspendCount (int)
     cmp     r10, r9                     @ bottom < interpStackEnd?
     bxlt    lr                          @ return to raise stack overflow excep.
     @ r1 = newFP, r0 = methodToCall, r3 = returnCell, rPC = dalvikCallsite
@@ -306,7 +306,7 @@
     SAVEAREA_FROM_FP(r10, r1)           @ r10<- stack save area
     add     r12, lr, #2                 @ setup the punt-to-interp address
     sub     r10, r10, r2, lsl #2        @ r10<- bottom (newsave - outsSize)
-    ldr     r8, [r8]                    @ r3<- suspendCount (int)
+    ldr     r8, [r8]                    @ r8<- suspendCount (int)
     cmp     r10, r9                     @ bottom < interpStackEnd?
     bxlt    r12                         @ return to raise stack overflow excep.
     @ r1 = newFP, r0 = methodToCall, r3 = returnCell, rPC = dalvikCallsite
@@ -1142,15 +1142,20 @@
 
     LDR_PC_LR "[r2, #offMethod_nativeFunc]"
 
+    @ Refresh Jit's on/off status
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable]
+
     @ native return; r9=self, r10=newSaveArea
     @ equivalent to dvmPopJniLocals
     ldr     r2, [r10, #offStackSaveArea_returnAddr] @ r2 = chaining cell ret
     ldr     r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved->top
     ldr     r1, [r9, #offThread_exception] @ check for exception
+    ldr     r3, [r3]    @ r1 <- pointer to Jit profile table
     str     rFP, [r9, #offThread_curFrame]  @ self->curFrame = fp
     cmp     r1, #0                      @ null?
     str     r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
     ldr     r0, [r10, #offStackSaveArea_savedPc] @ reload rPC
+    str     r3, [rGLUE, #offGlue_pJitProfTable]  @ cache current JitProfTable
 
     @ r0 = dalvikCallsitePC
     bne     .LhandleException           @ no, handle exception
diff --git a/vm/compiler/template/out/CompilerTemplateAsm-armv7-a.S b/vm/compiler/template/out/CompilerTemplateAsm-armv7-a.S
index 469919a..12af0d2 100644
--- a/vm/compiler/template/out/CompilerTemplateAsm-armv7-a.S
+++ b/vm/compiler/template/out/CompilerTemplateAsm-armv7-a.S
@@ -243,7 +243,7 @@
     sub     r1, r1, r7, lsl #2          @ r1<- newFp (old savearea - regsSize)
     SAVEAREA_FROM_FP(r10, r1)           @ r10<- stack save area
     sub     r10, r10, r2, lsl #2        @ r10<- bottom (newsave - outsSize)
-    ldr     r8, [r8]                    @ r3<- suspendCount (int)
+    ldr     r8, [r8]                    @ r8<- suspendCount (int)
     cmp     r10, r9                     @ bottom < interpStackEnd?
     bxlt    lr                          @ return to raise stack overflow excep.
     @ r1 = newFP, r0 = methodToCall, r3 = returnCell, rPC = dalvikCallsite
@@ -306,7 +306,7 @@
     SAVEAREA_FROM_FP(r10, r1)           @ r10<- stack save area
     add     r12, lr, #2                 @ setup the punt-to-interp address
     sub     r10, r10, r2, lsl #2        @ r10<- bottom (newsave - outsSize)
-    ldr     r8, [r8]                    @ r3<- suspendCount (int)
+    ldr     r8, [r8]                    @ r8<- suspendCount (int)
     cmp     r10, r9                     @ bottom < interpStackEnd?
     bxlt    r12                         @ return to raise stack overflow excep.
     @ r1 = newFP, r0 = methodToCall, r3 = returnCell, rPC = dalvikCallsite
@@ -1417,15 +1417,20 @@
 
     LDR_PC_LR "[r2, #offMethod_nativeFunc]"
 
+    @ Refresh Jit's on/off status
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable]
+
     @ native return; r9=self, r10=newSaveArea
     @ equivalent to dvmPopJniLocals
     ldr     r2, [r10, #offStackSaveArea_returnAddr] @ r2 = chaining cell ret
     ldr     r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved->top
     ldr     r1, [r9, #offThread_exception] @ check for exception
+    ldr     r3, [r3]    @ r1 <- pointer to Jit profile table
     str     rFP, [r9, #offThread_curFrame]  @ self->curFrame = fp
     cmp     r1, #0                      @ null?
     str     r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
     ldr     r0, [r10, #offStackSaveArea_savedPc] @ reload rPC
+    str     r3, [rGLUE, #offGlue_pJitProfTable]  @ cache current JitProfTable
 
     @ r0 = dalvikCallsitePC
     bne     .LhandleException           @ no, handle exception
diff --git a/vm/hprof/Hprof.c b/vm/hprof/Hprof.c
index 2e6f7c9..8380fd8 100644
--- a/vm/hprof/Hprof.c
+++ b/vm/hprof/Hprof.c
@@ -33,15 +33,13 @@
 #define kHeadSuffix "-hptemp"
 
 hprof_context_t *
-hprofStartup(const char *outputFileName)
+hprofStartup(const char *outputFileName, bool directToDdms)
 {
-    hprof_context_t *ctx;
+    FILE* fp = NULL;
 
-    ctx = malloc(sizeof(*ctx));
-    if (ctx != NULL) {
+    if (!directToDdms) {
         int len = strlen(outputFileName);
         char fileName[len + sizeof(kHeadSuffix)];
-        FILE *fp;
 
         /* Construct the temp file name.  This wasn't handed to us by the
          * application, so we need to be careful about stomping on it.
@@ -49,14 +47,12 @@
         sprintf(fileName, "%s" kHeadSuffix, outputFileName);
         if (access(fileName, F_OK) == 0) {
             LOGE("hprof: temp file %s exists, bailing\n", fileName);
-            free(ctx);
             return NULL;
         }
 
         fp = fopen(fileName, "w+");
         if (fp == NULL) {
             LOGE("hprof: can't open %s: %s.\n", fileName, strerror(errno));
-            free(ctx);
             return NULL;
         }
         if (unlink(fileName) != 0) {
@@ -64,20 +60,28 @@
             /* keep going */
         }
         LOGI("hprof: dumping VM heap to \"%s\".\n", fileName);
+    }
 
-        hprofStartup_String();
-        hprofStartup_Class();
+    hprofStartup_String();
+    hprofStartup_Class();
 #if WITH_HPROF_STACK
-        hprofStartup_StackFrame();
-        hprofStartup_Stack();
+    hprofStartup_StackFrame();
+    hprofStartup_Stack();
 #endif
 
-        /* pass in "fp" for the temp file, and the name of the output file */
-        hprofContextInit(ctx, strdup(outputFileName), fp, false);
-    } else {
+    hprof_context_t *ctx = malloc(sizeof(*ctx));
+    if (ctx == NULL) {
         LOGE("hprof: can't allocate context.\n");
+        if (fp != NULL)
+            fclose(fp);
+        return NULL;
     }
 
+    /* pass in "fp" for the temp file, and the name of the output file */
+    hprofContextInit(ctx, strdup(outputFileName), fp, false, directToDdms);
+
+    assert(ctx->fp != NULL);
+
     return ctx;
 }
 
@@ -115,46 +119,55 @@
  * Finish up the hprof dump.  Returns true on success.
  */
 bool
-hprofShutdown(hprof_context_t *ctx)
+hprofShutdown(hprof_context_t *tailCtx)
 {
-    FILE *tempFp = ctx->fp;
-    FILE *fp;
+    FILE *fp = NULL;
 
     /* flush output to the temp file, then prepare the output file */
-    hprofFlushCurrentRecord(ctx);
-    free(ctx->curRec.body);
-    ctx->curRec.body = NULL;
-    ctx->curRec.allocLen = 0;
-    ctx->fp = NULL;
+    hprofFlushCurrentRecord(tailCtx);
 
-    LOGI("hprof: dumping heap strings to \"%s\".\n", ctx->fileName);
-    fp = fopen(ctx->fileName, "w");
-    if (fp == NULL) {
-        LOGE("can't open %s: %s\n", ctx->fileName, strerror(errno));
-        fclose(tempFp);
-        free(ctx->fileName);
-        free(ctx);
-        return false;
+    LOGI("hprof: dumping heap strings to \"%s\".\n", tailCtx->fileName);
+    if (!tailCtx->directToDdms) {
+        fp = fopen(tailCtx->fileName, "w");
+        if (fp == NULL) {
+            LOGE("can't open %s: %s\n", tailCtx->fileName, strerror(errno));
+            hprofFreeContext(tailCtx);
+            return false;
+        }
     }
-    hprofContextInit(ctx, ctx->fileName, fp, true);
 
-    hprofDumpStrings(ctx);
-    hprofDumpClasses(ctx);
+    /*
+     * Create a new context struct for the start of the file.  We
+     * heap-allocate it so we can share the "free" function.
+     */
+    hprof_context_t *headCtx = malloc(sizeof(*headCtx));
+    if (headCtx == NULL) {
+        LOGE("hprof: can't allocate context.\n");
+        if (fp != NULL)
+            fclose(fp);
+        hprofFreeContext(tailCtx);
+        return NULL;
+    }
+    hprofContextInit(headCtx, strdup(tailCtx->fileName), fp, true,
+        tailCtx->directToDdms);
+
+    hprofDumpStrings(headCtx);
+    hprofDumpClasses(headCtx);
 
     /* Write a dummy stack trace record so the analysis
      * tools don't freak out.
      */
-    hprofStartNewRecord(ctx, HPROF_TAG_STACK_TRACE, HPROF_TIME);
-    hprofAddU4ToRecord(&ctx->curRec, HPROF_NULL_STACK_TRACE);
-    hprofAddU4ToRecord(&ctx->curRec, HPROF_NULL_THREAD);
-    hprofAddU4ToRecord(&ctx->curRec, 0);    // no frames
+    hprofStartNewRecord(headCtx, HPROF_TAG_STACK_TRACE, HPROF_TIME);
+    hprofAddU4ToRecord(&headCtx->curRec, HPROF_NULL_STACK_TRACE);
+    hprofAddU4ToRecord(&headCtx->curRec, HPROF_NULL_THREAD);
+    hprofAddU4ToRecord(&headCtx->curRec, 0);    // no frames
 
 #if WITH_HPROF_STACK
-    hprofDumpStackFrames(ctx);
-    hprofDumpStacks(ctx);
+    hprofDumpStackFrames(headCtx);
+    hprofDumpStacks(headCtx);
 #endif
 
-    hprofFlushCurrentRecord(ctx);
+    hprofFlushCurrentRecord(headCtx);
 
     hprofShutdown_Class();
     hprofShutdown_String();
@@ -163,24 +176,52 @@
     hprofShutdown_StackFrame();
 #endif
 
-    /*
-     * Append the contents of the temp file to the output file.  The temp
-     * file was removed immediately after being opened, so it will vanish
-     * when we close it.
-     */
-    rewind(tempFp);
-    if (!copyFileToFile(ctx->fp, tempFp)) {
-        LOGW("hprof: file copy failed, hprof data may be incomplete\n");
-        /* finish up anyway */
+    if (tailCtx->directToDdms) {
+        /* flush to ensure memstream pointer and size are updated */
+        fflush(headCtx->fp);
+        fflush(tailCtx->fp);
+
+        /* send the data off to DDMS */
+        struct iovec iov[2];
+        iov[0].iov_base = headCtx->fileDataPtr;
+        iov[0].iov_len = headCtx->fileDataSize;
+        iov[1].iov_base = tailCtx->fileDataPtr;
+        iov[1].iov_len = tailCtx->fileDataSize;
+        dvmDbgDdmSendChunkV(CHUNK_TYPE("HPDS"), iov, 2);
+    } else {
+        /*
+         * Append the contents of the temp file to the output file.  The temp
+         * file was removed immediately after being opened, so it will vanish
+         * when we close it.
+         */
+        rewind(tailCtx->fp);
+        if (!copyFileToFile(headCtx->fp, tailCtx->fp)) {
+            LOGW("hprof: file copy failed, hprof data may be incomplete\n");
+            /* finish up anyway */
+        }
     }
 
-    fclose(tempFp);
-    fclose(ctx->fp);
-    free(ctx->fileName);
-    free(ctx->curRec.body);
-    free(ctx);
+    hprofFreeContext(headCtx);
+    hprofFreeContext(tailCtx);
 
     /* throw out a log message for the benefit of "runhat" */
     LOGI("hprof: heap dump completed, temp file removed\n");
     return true;
 }
+
+/*
+ * Free any heap-allocated items in "ctx", and then free "ctx" itself.
+ */
+void
+hprofFreeContext(hprof_context_t *ctx)
+{
+    assert(ctx != NULL);
+
+    if (ctx->fp != NULL)
+        fclose(ctx->fp);
+    free(ctx->curRec.body);
+    free(ctx->fileName);
+    free(ctx->fileDataPtr);
+    free(ctx);
+}
+
diff --git a/vm/hprof/Hprof.h b/vm/hprof/Hprof.h
index 696b0a7..db5049f 100644
--- a/vm/hprof/Hprof.h
+++ b/vm/hprof/Hprof.h
@@ -125,13 +125,23 @@
      * can cast from a context to a record.
      */
     hprof_record_t curRec;
-    char *fileName;
-    FILE *fp;
+
     u4 gcThreadSerialNumber;
     u1 gcScanState;
     HprofHeapId currentHeap;    // which heap we're currently emitting
     u4 stackTraceSerialNumber;
     size_t objectsInSegment;
+
+    /*
+     * If "directToDdms" is not set, "fileName" is valid, and "fileDataPtr"
+     * and "fileDataSize" are not used.  If "directToDdms" is not set,
+     * it's the other way around.
+     */
+    bool directToDdms;
+    char *fileName;
+    char *fileDataPtr;          // for open_memstream
+    size_t fileDataSize;        // for open_memstream
+    FILE *fp;
 } hprof_context_t;
 
 
@@ -178,7 +188,7 @@
  */
 
 void hprofContextInit(hprof_context_t *ctx, char *fileName, FILE *fp,
-                      bool writeHeader);
+                      bool writeHeader, bool directToDdms);
 
 int hprofFlushRecord(hprof_record_t *rec, FILE *fp);
 int hprofFlushCurrentRecord(hprof_context_t *ctx);
@@ -234,8 +244,9 @@
  * Hprof.c functions
  */
 
-hprof_context_t *hprofStartup(const char *outputFileName);
+hprof_context_t* hprofStartup(const char *outputFileName, bool directToDdms);
 bool hprofShutdown(hprof_context_t *ctx);
+void hprofFreeContext(hprof_context_t *ctx);
 
 /*
  * Heap.c functions
@@ -244,7 +255,7 @@
  * the heap implementation; these functions require heap knowledge,
  * so they are implemented in Heap.c.
  */
-int hprofDumpHeap(const char* fileName);
+int hprofDumpHeap(const char* fileName, bool directToDdms);
 void dvmHeapSetHprofGcScanState(hprof_heap_tag_t state, u4 threadSerialNumber);
 
 #endif  // _DALVIK_HPROF_HPROF
diff --git a/vm/hprof/HprofOutput.c b/vm/hprof/HprofOutput.c
index c6d1cbc..0677c85 100644
--- a/vm/hprof/HprofOutput.c
+++ b/vm/hprof/HprofOutput.c
@@ -14,7 +14,9 @@
  * limitations under the License.
  */
 #include <sys/time.h>
+#include <cutils/open_memstream.h>
 #include <time.h>
+#include <errno.h>
 #include "Hprof.h"
 
 #define HPROF_MAGIC_STRING  "JAVA PROFILE 1.0.3"
@@ -54,11 +56,33 @@
         buf_[offset_ + 7] = (unsigned char)(value_      ); \
     } while (0)
 
+/*
+ * Initialize an hprof context struct.
+ *
+ * This will take ownership of "fileName" and "fp".
+ */
 void
 hprofContextInit(hprof_context_t *ctx, char *fileName, FILE *fp,
-    bool writeHeader)
+    bool writeHeader, bool directToDdms)
 {
     memset(ctx, 0, sizeof (*ctx));
+
+    if (directToDdms) {
+        /*
+         * Have to do this here, because it must happen after we
+         * memset the struct (want to treat fileDataPtr/fileDataSize
+         * as read-only while the file is open).
+         */
+        assert(fp == NULL);
+        fp = open_memstream(&ctx->fileDataPtr, &ctx->fileDataSize);
+        if (fp == NULL) {
+            /* not expected */
+            LOGE("hprof: open_memstream failed: %s\n", strerror(errno));
+            dvmAbort();
+        }
+    }
+
+    ctx->directToDdms = directToDdms;
     ctx->fileName = fileName;
     ctx->fp = fp;
 
diff --git a/vm/interp/InterpDefs.h b/vm/interp/InterpDefs.h
index 2928371..3231968 100644
--- a/vm/interp/InterpDefs.h
+++ b/vm/interp/InterpDefs.h
@@ -159,6 +159,14 @@
     void*              jitResume;
     u2*                jitResumePC;
     int                jitThreshold;
+    /*
+     * ppJitProfTable holds the address of gDvmJit.pJitProfTable, which
+     * doubles as an on/off switch for the Jit.  Because a change in
+     * the value of gDvmJit.pJitProfTable isn't reflected in the cached
+     * copy above (pJitProfTable), we need to periodically refresh it.
+     * ppJitProfTable is used for that purpose.
+     */
+    unsigned char**    ppJitProfTable; // Used to refresh pJitProfTable
 #endif
 
 #if defined(WITH_PROFILER) || defined(WITH_DEBUGGER)
diff --git a/vm/interp/Jit.c b/vm/interp/Jit.c
index 2d35e51..d536070 100644
--- a/vm/interp/Jit.c
+++ b/vm/interp/Jit.c
@@ -348,51 +348,9 @@
     unsigned int i;
     bool res = true;  /* Assume success */
 
-    // Create the compiler thread and setup miscellaneous chores */
-    res &= dvmCompilerStartup();
-
-    dvmInitMutex(&gDvmJit.tableLock);
-    if (res && gDvm.executionMode == kExecutionModeJit) {
-        JitEntry *pJitTable = NULL;
-        unsigned char *pJitProfTable = NULL;
-        // Power of 2?
-        assert(gDvmJit.jitTableSize &&
-               !(gDvmJit.jitTableSize & (gDvmJit.jitTableSize - 1)));
-        dvmLockMutex(&gDvmJit.tableLock);
-        pJitTable = (JitEntry*)
-                    calloc(gDvmJit.jitTableSize, sizeof(*pJitTable));
-        if (!pJitTable) {
-            LOGE("jit table allocation failed\n");
-            res = false;
-            goto done;
-        }
-        /*
-         * NOTE: the profile table must only be allocated once, globally.
-         * Profiling is turned on and off by nulling out gDvm.pJitProfTable
-         * and then restoring its original value.  However, this action
-         * is not syncronized for speed so threads may continue to hold
-         * and update the profile table after profiling has been turned
-         * off by null'ng the global pointer.  Be aware.
-         */
-        pJitProfTable = (unsigned char *)malloc(JIT_PROF_SIZE);
-        if (!pJitProfTable) {
-            LOGE("jit prof table allocation failed\n");
-            res = false;
-            goto done;
-        }
-        memset(pJitProfTable, gDvmJit.threshold, JIT_PROF_SIZE);
-        for (i=0; i < gDvmJit.jitTableSize; i++) {
-           pJitTable[i].u.info.chain = gDvmJit.jitTableSize;
-        }
-        /* Is chain field wide enough for termination pattern? */
-        assert(pJitTable[0].u.info.chain == gDvmJit.jitTableSize);
-
-done:
-        gDvmJit.pJitEntryTable = pJitTable;
-        gDvmJit.jitTableMask = gDvmJit.jitTableSize - 1;
-        gDvmJit.jitTableEntriesUsed = 0;
-        gDvmJit.pProfTable = pJitProfTable;
-        dvmUnlockMutex(&gDvmJit.tableLock);
+    // Create the compiler thread, which will complete initialization
+    if (gDvm.executionMode == kExecutionModeJit) {
+        res = dvmCompilerStartup();
     }
     return res;
 }
@@ -499,7 +457,8 @@
 
     dvmCompilerShutdown();
 
-    dvmCompilerDumpStats();
+    if (gDvm.verboseShutdown)
+        dvmCompilerDumpStats();
 
     dvmDestroyMutex(&gDvmJit.tableLock);
 
@@ -553,6 +512,94 @@
 #endif
 
 /*
+ * Find an entry in the JitTable, creating if necessary.
+ * Returns null if table is full.
+ */
+static JitEntry *lookupAndAdd(const u2* dPC, bool callerLocked)
+{
+    u4 chainEndMarker = gDvmJit.jitTableSize;
+    u4 idx = dvmJitHash(dPC);
+
+    /* Walk the bucket chain to find an exact match for our PC */
+    while ((gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) &&
+           (gDvmJit.pJitEntryTable[idx].dPC != dPC)) {
+        idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
+    }
+
+    if (gDvmJit.pJitEntryTable[idx].dPC != dPC) {
+        /*
+         * No match.  Aquire jitTableLock and find the last
+         * slot in the chain. Possibly continue the chain walk in case
+         * some other thread allocated the slot we were looking
+         * at previuosly (perhaps even the dPC we're trying to enter).
+         */
+        if (!callerLocked)
+            dvmLockMutex(&gDvmJit.tableLock);
+        /*
+         * At this point, if .dPC is NULL, then the slot we're
+         * looking at is the target slot from the primary hash
+         * (the simple, and common case).  Otherwise we're going
+         * to have to find a free slot and chain it.
+         */
+        MEM_BARRIER(); /* Make sure we reload [].dPC after lock */
+        if (gDvmJit.pJitEntryTable[idx].dPC != NULL) {
+            u4 prev;
+            while (gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) {
+                if (gDvmJit.pJitEntryTable[idx].dPC == dPC) {
+                    /* Another thread got there first for this dPC */
+                    if (!callerLocked)
+                        dvmUnlockMutex(&gDvmJit.tableLock);
+                    return &gDvmJit.pJitEntryTable[idx];
+                }
+                idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
+            }
+            /* Here, idx should be pointing to the last cell of an
+             * active chain whose last member contains a valid dPC */
+            assert(gDvmJit.pJitEntryTable[idx].dPC != NULL);
+            /* Linear walk to find a free cell and add it to the end */
+            prev = idx;
+            while (true) {
+                idx++;
+                if (idx == chainEndMarker)
+                    idx = 0;  /* Wraparound */
+                if ((gDvmJit.pJitEntryTable[idx].dPC == NULL) ||
+                    (idx == prev))
+                    break;
+            }
+            if (idx != prev) {
+                JitEntryInfoUnion oldValue;
+                JitEntryInfoUnion newValue;
+                /*
+                 * Although we hold the lock so that noone else will
+                 * be trying to update a chain field, the other fields
+                 * packed into the word may be in use by other threads.
+                 */
+                do {
+                    oldValue = gDvmJit.pJitEntryTable[prev].u;
+                    newValue = oldValue;
+                    newValue.info.chain = idx;
+                } while (!ATOMIC_CMP_SWAP(
+                         &gDvmJit.pJitEntryTable[prev].u.infoWord,
+                         oldValue.infoWord, newValue.infoWord));
+            }
+        }
+        if (gDvmJit.pJitEntryTable[idx].dPC == NULL) {
+            /*
+             * Initialize codeAddress and allocate the slot.  Must
+             * happen in this order (since dPC is set, the entry is live.
+             */
+            gDvmJit.pJitEntryTable[idx].dPC = dPC;
+            gDvmJit.jitTableEntriesUsed++;
+        } else {
+            /* Table is full */
+            idx = chainEndMarker;
+        }
+        if (!callerLocked)
+            dvmUnlockMutex(&gDvmJit.tableLock);
+    }
+    return (idx == chainEndMarker) ? NULL : &gDvmJit.pJitEntryTable[idx];
+}
+/*
  * Adds to the current trace request one instruction at a time, just
  * before that instruction is interpreted.  This is the primary trace
  * selection function.  NOTE: return instruction are handled a little
@@ -707,13 +754,19 @@
 #if defined(SHOW_TRACE)
                 LOGD("TraceGen:  trace done, adding to queue");
 #endif
-                dvmCompilerWorkEnqueue(
-                       interpState->currTraceHead,kWorkOrderTrace,desc);
-                setTraceConstruction(
-                     dvmJitLookupAndAdd(interpState->currTraceHead), false);
-                if (gDvmJit.blockingMode) {
-                    dvmCompilerDrainQueue();
+                if (dvmCompilerWorkEnqueue(
+                       interpState->currTraceHead,kWorkOrderTrace,desc)) {
+                    /* Work order successfully enqueued */
+                    if (gDvmJit.blockingMode) {
+                        dvmCompilerDrainQueue();
+                    }
                 }
+                /*
+                 * Reset "trace in progress" flag whether or not we
+                 * successfully entered a work order.
+                 */
+                setTraceConstruction(
+                     lookupAndAdd(interpState->currTraceHead, false), false);
                 switchInterp = !debugOrProfile;
             }
             break;
@@ -724,6 +777,7 @@
             interpState->entryPoint = kInterpEntryResume;
             switchInterp = !debugOrProfile;
             break;
+        case kJitTSelectRequest:
         case kJitTSelectAbort:
 #if defined(SHOW_TRACE)
             LOGD("TraceGen:  trace abort");
@@ -781,7 +835,8 @@
 void* dvmJitGetCodeAddr(const u2* dPC)
 {
     int idx = dvmJitHash(dPC);
-    const u2* npc = gDvmJit.pJitEntryTable[idx].dPC;
+    const u2* npc = (gDvmJit.pProfTable == NULL) ? NULL :
+                     gDvmJit.pJitEntryTable[idx].dPC;
 
     if (npc != NULL) {
         if (npc == dPC) {
@@ -811,91 +866,6 @@
 }
 
 /*
- * Find an entry in the JitTable, creating if necessary.
- * Returns null if table is full.
- */
-JitEntry *dvmJitLookupAndAdd(const u2* dPC)
-{
-    u4 chainEndMarker = gDvmJit.jitTableSize;
-    u4 idx = dvmJitHash(dPC);
-
-    /* Walk the bucket chain to find an exact match for our PC */
-    while ((gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) &&
-           (gDvmJit.pJitEntryTable[idx].dPC != dPC)) {
-        idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
-    }
-
-    if (gDvmJit.pJitEntryTable[idx].dPC != dPC) {
-        /*
-         * No match.  Aquire jitTableLock and find the last
-         * slot in the chain. Possibly continue the chain walk in case
-         * some other thread allocated the slot we were looking
-         * at previuosly (perhaps even the dPC we're trying to enter).
-         */
-        dvmLockMutex(&gDvmJit.tableLock);
-        /*
-         * At this point, if .dPC is NULL, then the slot we're
-         * looking at is the target slot from the primary hash
-         * (the simple, and common case).  Otherwise we're going
-         * to have to find a free slot and chain it.
-         */
-        MEM_BARRIER(); /* Make sure we reload [].dPC after lock */
-        if (gDvmJit.pJitEntryTable[idx].dPC != NULL) {
-            u4 prev;
-            while (gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) {
-                if (gDvmJit.pJitEntryTable[idx].dPC == dPC) {
-                    /* Another thread got there first for this dPC */
-                    dvmUnlockMutex(&gDvmJit.tableLock);
-                    return &gDvmJit.pJitEntryTable[idx];
-                }
-                idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
-            }
-            /* Here, idx should be pointing to the last cell of an
-             * active chain whose last member contains a valid dPC */
-            assert(gDvmJit.pJitEntryTable[idx].dPC != NULL);
-            /* Linear walk to find a free cell and add it to the end */
-            prev = idx;
-            while (true) {
-                idx++;
-                if (idx == chainEndMarker)
-                    idx = 0;  /* Wraparound */
-                if ((gDvmJit.pJitEntryTable[idx].dPC == NULL) ||
-                    (idx == prev))
-                    break;
-            }
-            if (idx != prev) {
-                JitEntryInfoUnion oldValue;
-                JitEntryInfoUnion newValue;
-                /*
-                 * Although we hold the lock so that noone else will
-                 * be trying to update a chain field, the other fields
-                 * packed into the word may be in use by other threads.
-                 */
-                do {
-                    oldValue = gDvmJit.pJitEntryTable[prev].u;
-                    newValue = oldValue;
-                    newValue.info.chain = idx;
-                } while (!ATOMIC_CMP_SWAP(
-                         &gDvmJit.pJitEntryTable[prev].u.infoWord,
-                         oldValue.infoWord, newValue.infoWord));
-            }
-        }
-        if (gDvmJit.pJitEntryTable[idx].dPC == NULL) {
-            /*
-             * Initialize codeAddress and allocate the slot.  Must
-             * happen in this order (since dPC is set, the entry is live.
-             */
-            gDvmJit.pJitEntryTable[idx].dPC = dPC;
-            gDvmJit.jitTableEntriesUsed++;
-        } else {
-            /* Table is full */
-            idx = chainEndMarker;
-        }
-        dvmUnlockMutex(&gDvmJit.tableLock);
-    }
-    return (idx == chainEndMarker) ? NULL : &gDvmJit.pJitEntryTable[idx];
-}
-/*
  * Register the translated code pointer into the JitTable.
  * NOTE: Once a codeAddress field transitions from initial state to
  * JIT'd code, it must not be altered without first halting all
@@ -905,7 +875,7 @@
 void dvmJitSetCodeAddr(const u2* dPC, void *nPC, JitInstructionSetType set) {
     JitEntryInfoUnion oldValue;
     JitEntryInfoUnion newValue;
-    JitEntry *jitEntry = dvmJitLookupAndAdd(dPC);
+    JitEntry *jitEntry = lookupAndAdd(dPC, false);
     assert(jitEntry);
     /* Note: order of update is important */
     do {
@@ -966,7 +936,7 @@
                 interpState->jitState = kJitNormal;
             }
         } else if (interpState->jitState == kJitTSelectRequest) {
-            JitEntry *slot = dvmJitLookupAndAdd(interpState->pc);
+            JitEntry *slot = lookupAndAdd(interpState->pc, false);
             if (slot == NULL) {
                 /*
                  * Table is full.  This should have been
@@ -1041,12 +1011,14 @@
 
 /*
  * Resizes the JitTable.  Must be a power of 2, and returns true on failure.
- * Stops all threads, and thus is a heavyweight operation.
+ * Stops all threads, and thus is a heavyweight operation. May only be called
+ * by the compiler thread.
  */
 bool dvmJitResizeJitTable( unsigned int size )
 {
     JitEntry *pNewTable;
     JitEntry *pOldTable;
+    JitEntry tempEntry;
     u4 newMask;
     unsigned int oldSize;
     unsigned int i;
@@ -1062,6 +1034,13 @@
         return true;
     }
 
+    /* Make sure requested size is compatible with chain field width */
+    tempEntry.u.info.chain = size;
+    if (tempEntry.u.info.chain != size) {
+        LOGD("Jit: JitTable request of %d too big", size);
+        return true;
+    }
+
     pNewTable = (JitEntry*)calloc(size, sizeof(*pNewTable));
     if (pNewTable == NULL) {
         return true;
@@ -1081,29 +1060,20 @@
     gDvmJit.jitTableSize = size;
     gDvmJit.jitTableMask = size - 1;
     gDvmJit.jitTableEntriesUsed = 0;
-    dvmUnlockMutex(&gDvmJit.tableLock);
 
     for (i=0; i < oldSize; i++) {
         if (pOldTable[i].dPC) {
             JitEntry *p;
             u2 chain;
-            p = dvmJitLookupAndAdd(pOldTable[i].dPC);
-            p->dPC = pOldTable[i].dPC;
-            /*
-             * Compiler thread may have just updated the new entry's
-             * code address field, so don't blindly copy null.
-             */
-            if (pOldTable[i].codeAddress != NULL) {
-                p->codeAddress = pOldTable[i].codeAddress;
-            }
+            p = lookupAndAdd(pOldTable[i].dPC, true /* holds tableLock*/ );
+            p->codeAddress = pOldTable[i].codeAddress;
             /* We need to preserve the new chain field, but copy the rest */
-            dvmLockMutex(&gDvmJit.tableLock);
             chain = p->u.info.chain;
             p->u = pOldTable[i].u;
             p->u.info.chain = chain;
-            dvmUnlockMutex(&gDvmJit.tableLock);
         }
     }
+    dvmUnlockMutex(&gDvmJit.tableLock);
 
     free(pOldTable);
 
@@ -1163,5 +1133,4 @@
         return (s8)f;
 }
 
-
 #endif /* WITH_JIT */
diff --git a/vm/interp/Jit.h b/vm/interp/Jit.h
index 177a734..3afaa6a 100644
--- a/vm/interp/Jit.h
+++ b/vm/interp/Jit.h
@@ -123,7 +123,5 @@
 s8 dvmJitf2l(float f);
 void dvmJitSetCodeAddr(const u2* dPC, void *nPC, JitInstructionSetType set);
 void dvmJitAbortTraceSelect(InterpState* interpState);
-JitEntry *dvmJitLookupAndAdd(const u2* dPC);
-
 
 #endif /*_DALVIK_INTERP_JIT*/
diff --git a/vm/jdwp/Jdwp.h b/vm/jdwp/Jdwp.h
index 0a72a06..7313579 100644
--- a/vm/jdwp/Jdwp.h
+++ b/vm/jdwp/Jdwp.h
@@ -232,6 +232,7 @@
 /*
  * Send up a chunk of DDM data.
  */
-void dvmJdwpDdmSendChunk(JdwpState* state, int type, int len, const u1* buf);
+void dvmJdwpDdmSendChunkV(JdwpState* state, int type, const struct iovec* iov,
+    int iovcnt);
 
 #endif /*_DALVIK_JDWP_JDWP*/
diff --git a/vm/jdwp/JdwpAdb.c b/vm/jdwp/JdwpAdb.c
index cbb5e9d..dfc7bd7 100644
--- a/vm/jdwp/JdwpAdb.c
+++ b/vm/jdwp/JdwpAdb.c
@@ -174,7 +174,7 @@
             LOGW("receiving file descriptor from ADB failed (socket %d): %s\n",
                  netState->controlSock, strerror(errno));
         } else {
-            LOGI("adbd disconnected\n");
+            LOGD("adbd disconnected\n");
         }
         close(netState->controlSock);
         netState->controlSock = -1;
@@ -695,35 +695,28 @@
 }
 
 /*
- * Send a request that was split into two buffers.
+ * Send a request that was split into multiple buffers.
  *
  * The entire packet must be sent with a single writev() call to avoid
  * threading issues.
  *
  * Returns "true" if it was sent successfully.
  */
-static bool sendBufferedRequest(JdwpState* state, const void* header,
-    size_t headerLen, const void* body, size_t bodyLen)
+static bool sendBufferedRequest(JdwpState* state, const struct iovec* iov,
+    int iovcnt)
 {
     JdwpNetState* netState = state->netState;
 
-    assert(headerLen > 0);
-
     if (netState->clientSock < 0) {
         /* can happen with some DDMS events */
         LOGV("NOT sending request -- no debugger is attached\n");
         return false;
     }
 
-    struct iovec iov[2];
-    int iovcnt = 1;
-    iov[0].iov_base = (void*) header;
-    iov[0].iov_len = headerLen;
-    if (body != NULL) {
-        iovcnt++;
-        iov[1].iov_base = (void*) body;
-        iov[1].iov_len = bodyLen;
-    }
+    size_t expected = 0;
+    int i;
+    for (i = 0; i < iovcnt; i++)
+        expected += iov[i].iov_len;
 
     /*
      * TODO: we currently assume the writev() will complete in one
@@ -732,9 +725,9 @@
      */
     ssize_t actual;
     actual = writev(netState->clientSock, iov, iovcnt);
-    if ((size_t)actual != headerLen + bodyLen) {
+    if ((size_t)actual != expected) {
         LOGE("Failed sending b-req to debugger: %s (%d of %zu)\n",
-            strerror(errno), (int) actual, headerLen+bodyLen);
+            strerror(errno), (int) actual, expected);
         return false;
     }
 
diff --git a/vm/jdwp/JdwpEvent.c b/vm/jdwp/JdwpEvent.c
index bf6054d..996d7ad 100644
--- a/vm/jdwp/JdwpEvent.c
+++ b/vm/jdwp/JdwpEvent.c
@@ -1258,19 +1258,39 @@
  * other debugger traffic, and can't suspend the VM, so we skip all of
  * the fun event token gymnastics.
  */
-void dvmJdwpDdmSendChunk(JdwpState* state, int type, int len, const u1* buf)
+void dvmJdwpDdmSendChunkV(JdwpState* state, int type, const struct iovec* iov,
+    int iovcnt)
 {
     u1 header[kJDWPHeaderLen + 8];
+    size_t dataLen = 0;
+    int i;
+
+    assert(iov != NULL);
+    assert(iovcnt > 0 && iovcnt < 10);
+
+    /*
+     * "Wrap" the contents of the iovec with a JDWP/DDMS header.  We do
+     * this by creating a new copy of the vector with space for the header.
+     */
+    struct iovec wrapiov[iovcnt+1];
+    for (i = 0; i < iovcnt; i++) {
+        wrapiov[i+1].iov_base = iov[i].iov_base;
+        wrapiov[i+1].iov_len = iov[i].iov_len;
+        dataLen += iov[i].iov_len;
+    }
 
     /* form the header (JDWP plus DDMS) */
-    set4BE(header, sizeof(header) + len);
+    set4BE(header, sizeof(header) + dataLen);
     set4BE(header+4, dvmJdwpNextRequestSerial(state));
     set1(header+8, 0);     /* flags */
     set1(header+9, kJDWPDdmCmdSet);
     set1(header+10, kJDWPDdmCmd);
     set4BE(header+11, type);
-    set4BE(header+15, len);
+    set4BE(header+15, dataLen);
 
-    dvmJdwpSendBufferedRequest(state, header, sizeof(header), buf, len);
+    wrapiov[0].iov_base = header;
+    wrapiov[0].iov_len = sizeof(header);
+
+    dvmJdwpSendBufferedRequest(state, wrapiov, iovcnt+1);
 }
 
diff --git a/vm/jdwp/JdwpMain.c b/vm/jdwp/JdwpMain.c
index 4166c67..540259d 100644
--- a/vm/jdwp/JdwpMain.c
+++ b/vm/jdwp/JdwpMain.c
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 /*
  * JDWP initialization.
  */
@@ -185,7 +186,8 @@
         /*
          * Close down the network to inspire the thread to halt.
          */
-        LOGD("JDWP shutting down net...\n");
+        if (gDvm.verboseShutdown)
+            LOGD("JDWP shutting down net...\n");
         dvmJdwpNetShutdown(state);
 
         if (state->debugThreadStarted) {
@@ -195,7 +197,8 @@
             }
         }
 
-        LOGV("JDWP freeing netstate...\n");
+        if (gDvm.verboseShutdown)
+            LOGD("JDWP freeing netstate...\n");
         dvmJdwpNetFree(state);
         state->netState = NULL;
     }
diff --git a/vm/jdwp/JdwpPriv.h b/vm/jdwp/JdwpPriv.h
index f5d80f8..87c3fc7 100644
--- a/vm/jdwp/JdwpPriv.h
+++ b/vm/jdwp/JdwpPriv.h
@@ -24,7 +24,9 @@
 #include "jdwp/Jdwp.h"
 #include "jdwp/JdwpEvent.h"
 #include "Debugger.h"
+
 #include <pthread.h>
+#include <sys/uio.h>
 
 /*
  * JDWP constants.
@@ -59,8 +61,8 @@
     bool (*awaitingHandshake)(struct JdwpState* state);
     bool (*processIncoming)(struct JdwpState* state);
     bool (*sendRequest)(struct JdwpState* state, ExpandBuf* pReq);
-    bool (*sendBufferedRequest)(struct JdwpState* state, const void* header,
-        size_t headerLen, const void* body, size_t bodyLen);
+    bool (*sendBufferedRequest)(struct JdwpState* state,
+        const struct iovec* iov, int iovcnt);
 } JdwpTransport;
 
 const JdwpTransport* dvmJdwpSocketTransport();
@@ -169,11 +171,10 @@
 INLINE bool dvmJdwpSendRequest(JdwpState* state, ExpandBuf* pReq) {
     return (*state->transport->sendRequest)(state, pReq);
 }
-INLINE bool dvmJdwpSendBufferedRequest(JdwpState* state, const void* header,
-    size_t headerLen, const void* body, size_t bodyLen)
+INLINE bool dvmJdwpSendBufferedRequest(JdwpState* state,
+    const struct iovec* iov, int iovcnt)
 {
-    return (*state->transport->sendBufferedRequest)(state, header, headerLen,
-        body, bodyLen);
+    return (*state->transport->sendBufferedRequest)(state, iov, iovcnt);
 }
 
 #endif /*_DALVIK_JDWP_JDWPPRIV*/
diff --git a/vm/jdwp/JdwpSocket.c b/vm/jdwp/JdwpSocket.c
index a6cbb02..42cd189 100644
--- a/vm/jdwp/JdwpSocket.c
+++ b/vm/jdwp/JdwpSocket.c
@@ -850,35 +850,28 @@
 }
 
 /*
- * Send a request that was split into two buffers.
+ * Send a request that was split into multiple buffers.
  *
  * The entire packet must be sent with a single writev() call to avoid
  * threading issues.
  *
  * Returns "true" if it was sent successfully.
  */
-static bool sendBufferedRequest(JdwpState* state, const void* header,
-    size_t headerLen, const void* body, size_t bodyLen)
+static bool sendBufferedRequest(JdwpState* state, const struct iovec* iov,
+    int iovcnt)
 {
     JdwpNetState* netState = state->netState;
 
-    assert(headerLen > 0);
-
     if (netState->clientSock < 0) {
         /* can happen with some DDMS events */
         LOGV("NOT sending request -- no debugger is attached\n");
         return false;
     }
 
-    struct iovec iov[2];
-    int iovcnt = 1;
-    iov[0].iov_base = (void*) header;
-    iov[0].iov_len = headerLen;
-    if (body != NULL) {
-        iovcnt++;
-        iov[1].iov_base = (void*) body;
-        iov[1].iov_len = bodyLen;
-    }
+    size_t expected = 0;
+    int i;
+    for (i = 0; i < iovcnt; i++)
+        expected += iov[i].iov_len;
 
     /*
      * TODO: we currently assume the writev() will complete in one
@@ -887,9 +880,9 @@
      */
     ssize_t actual;
     actual = writev(netState->clientSock, iov, iovcnt);
-    if ((size_t)actual != headerLen + bodyLen) {
+    if ((size_t)actual != expected) {
         LOGE("Failed sending b-req to debugger: %s (%d of %zu)\n",
-            strerror(errno), (int) actual, headerLen+bodyLen);
+            strerror(errno), (int) actual, expected);
         return false;
     }
 
diff --git a/vm/mterp/Mterp.c b/vm/mterp/Mterp.c
index d14f6b2..ca2ca16 100644
--- a/vm/mterp/Mterp.c
+++ b/vm/mterp/Mterp.c
@@ -83,6 +83,7 @@
     glue->pSelfSuspendCount = &self->suspendCount;
 #if defined(WITH_JIT)
     glue->pJitProfTable = gDvmJit.pProfTable;
+    glue->ppJitProfTable = &gDvmJit.pProfTable;
     glue->jitThreshold = gDvmJit.threshold;
 #endif
 #if defined(WITH_DEBUGGER)
diff --git a/vm/mterp/armv5te/footer.S b/vm/mterp/armv5te/footer.S
index 7476e29..3f4321c 100644
--- a/vm/mterp/armv5te/footer.S
+++ b/vm/mterp/armv5te/footer.S
@@ -377,8 +377,20 @@
     bx      lr                          @ nothing to do, return
 
 2:  @ check suspend
+#if defined(WITH_JIT)
+    /*
+     * Refresh the Jit's cached copy of profile table pointer.  This pointer
+     * doubles as the Jit's on/off switch.
+     */
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ r10<-&gDvmJit.pJitProfTable
+    ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
+    ldr     r3, [r3] @ r10 <- pJitProfTable
+    EXPORT_PC()                         @ need for precise GC
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh Jit's on/off switch
+#else
     ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
     EXPORT_PC()                         @ need for precise GC
+#endif
     b       dvmCheckSuspendPending      @ suspend if necessary, then return
 
 3:  @ debugger/profiler enabled, bail out
@@ -574,13 +586,23 @@
     @ldr     pc, [r2, #offMethod_nativeFunc] @ pc<- methodToCall->nativeFunc
     LDR_PC_LR "[r2, #offMethod_nativeFunc]"
 
+#if defined(WITH_JIT)
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ Refresh Jit's on/off status
+#endif
+
     @ native return; r9=self, r10=newSaveArea
     @ equivalent to dvmPopJniLocals
     ldr     r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved top
     ldr     r1, [r9, #offThread_exception] @ check for exception
+#if defined(WITH_JIT)
+    ldr     r3, [r3]                    @ r3 <- gDvmJit.pProfTable
+#endif
     str     rFP, [r9, #offThread_curFrame]  @ self->curFrame = fp
     cmp     r1, #0                      @ null?
     str     r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
+#if defined(WITH_JIT)
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh cached on/off switch
+#endif
     bne     common_exceptionThrown      @ no, handle exception
 
     FETCH_ADVANCE_INST(3)               @ advance rPC, load rINST
diff --git a/vm/mterp/common/asm-constants.h b/vm/mterp/common/asm-constants.h
index d6ff482..a3c8cec 100644
--- a/vm/mterp/common/asm-constants.h
+++ b/vm/mterp/common/asm-constants.h
@@ -107,6 +107,7 @@
 MTERP_OFFSET(offGlue_jitResume,         MterpGlue, jitResume, 64)
 MTERP_OFFSET(offGlue_jitResumePC,       MterpGlue, jitResumePC, 68)
 MTERP_OFFSET(offGlue_jitThreshold,      MterpGlue, jitThreshold, 72)
+MTERP_OFFSET(offGlue_ppJitProfTable,    MterpGlue, ppJitProfTable, 76)
 #endif
 #elif defined(WITH_DEBUGGER)
 MTERP_OFFSET(offGlue_pDebuggerActive,   MterpGlue, pDebuggerActive, 40)
@@ -117,6 +118,7 @@
 MTERP_OFFSET(offGlue_jitResume,         MterpGlue, jitResume, 60)
 MTERP_OFFSET(offGlue_jitResumePC,       MterpGlue, jitResumePC, 64)
 MTERP_OFFSET(offGlue_jitThreshold,      MterpGlue, jitThreshold, 68)
+MTERP_OFFSET(offGlue_jitppJitProfTable, MterpGlue, ppJitProfTable, 72)
 #endif
 #elif defined(WITH_PROFILER)
 MTERP_OFFSET(offGlue_pActiveProfilers,  MterpGlue, pActiveProfilers, 40)
@@ -127,6 +129,7 @@
 MTERP_OFFSET(offGlue_jitResume,         MterpGlue, jitResume, 60)
 MTERP_OFFSET(offGlue_jitResumePC,       MterpGlue, jitResumePC, 64)
 MTERP_OFFSET(offGlue_jitThreshold,      MterpGlue, jitThreshold, 68)
+MTERP_OFFSET(offGlue_jitppJitProfTable, MterpGlue, ppJitProfTable, 72)
 #endif
 #else
 MTERP_OFFSET(offGlue_entryPoint,        MterpGlue, entryPoint, 40)
@@ -136,6 +139,7 @@
 MTERP_OFFSET(offGlue_jitResume,         MterpGlue, jitResume, 56)
 MTERP_OFFSET(offGlue_jitResumePC,       MterpGlue, jitResumePC, 60)
 MTERP_OFFSET(offGlue_jitThreshold,      MterpGlue, jitThreshold, 64)
+MTERP_OFFSET(offGlue_jitppJitProfTable, MterpGlue, ppJitProfTable, 68)
 #endif
 #endif
 /* make sure all JValue union members are stored at the same offset */
diff --git a/vm/mterp/out/InterpAsm-armv4t.S b/vm/mterp/out/InterpAsm-armv4t.S
index ba248de..da3199e 100644
--- a/vm/mterp/out/InterpAsm-armv4t.S
+++ b/vm/mterp/out/InterpAsm-armv4t.S
@@ -9904,8 +9904,20 @@
     bx      lr                          @ nothing to do, return
 
 2:  @ check suspend
+#if defined(WITH_JIT)
+    /*
+     * Refresh the Jit's cached copy of profile table pointer.  This pointer
+     * doubles as the Jit's on/off switch.
+     */
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ r10<-&gDvmJit.pJitProfTable
+    ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
+    ldr     r3, [r3] @ r10 <- pJitProfTable
+    EXPORT_PC()                         @ need for precise GC
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh Jit's on/off switch
+#else
     ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
     EXPORT_PC()                         @ need for precise GC
+#endif
     b       dvmCheckSuspendPending      @ suspend if necessary, then return
 
 3:  @ debugger/profiler enabled, bail out
@@ -10101,13 +10113,23 @@
     @ldr     pc, [r2, #offMethod_nativeFunc] @ pc<- methodToCall->nativeFunc
     LDR_PC_LR "[r2, #offMethod_nativeFunc]"
 
+#if defined(WITH_JIT)
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ Refresh Jit's on/off status
+#endif
+
     @ native return; r9=self, r10=newSaveArea
     @ equivalent to dvmPopJniLocals
     ldr     r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved top
     ldr     r1, [r9, #offThread_exception] @ check for exception
+#if defined(WITH_JIT)
+    ldr     r3, [r3]                    @ r3 <- gDvmJit.pProfTable
+#endif
     str     rFP, [r9, #offThread_curFrame]  @ self->curFrame = fp
     cmp     r1, #0                      @ null?
     str     r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
+#if defined(WITH_JIT)
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh cached on/off switch
+#endif
     bne     common_exceptionThrown      @ no, handle exception
 
     FETCH_ADVANCE_INST(3)               @ advance rPC, load rINST
diff --git a/vm/mterp/out/InterpAsm-armv5te-vfp.S b/vm/mterp/out/InterpAsm-armv5te-vfp.S
index 966e4f0..336d9f2 100644
--- a/vm/mterp/out/InterpAsm-armv5te-vfp.S
+++ b/vm/mterp/out/InterpAsm-armv5te-vfp.S
@@ -9422,8 +9422,20 @@
     bx      lr                          @ nothing to do, return
 
 2:  @ check suspend
+#if defined(WITH_JIT)
+    /*
+     * Refresh the Jit's cached copy of profile table pointer.  This pointer
+     * doubles as the Jit's on/off switch.
+     */
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ r10<-&gDvmJit.pJitProfTable
+    ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
+    ldr     r3, [r3] @ r10 <- pJitProfTable
+    EXPORT_PC()                         @ need for precise GC
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh Jit's on/off switch
+#else
     ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
     EXPORT_PC()                         @ need for precise GC
+#endif
     b       dvmCheckSuspendPending      @ suspend if necessary, then return
 
 3:  @ debugger/profiler enabled, bail out
@@ -9619,13 +9631,23 @@
     @ldr     pc, [r2, #offMethod_nativeFunc] @ pc<- methodToCall->nativeFunc
     LDR_PC_LR "[r2, #offMethod_nativeFunc]"
 
+#if defined(WITH_JIT)
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ Refresh Jit's on/off status
+#endif
+
     @ native return; r9=self, r10=newSaveArea
     @ equivalent to dvmPopJniLocals
     ldr     r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved top
     ldr     r1, [r9, #offThread_exception] @ check for exception
+#if defined(WITH_JIT)
+    ldr     r3, [r3]                    @ r3 <- gDvmJit.pProfTable
+#endif
     str     rFP, [r9, #offThread_curFrame]  @ self->curFrame = fp
     cmp     r1, #0                      @ null?
     str     r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
+#if defined(WITH_JIT)
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh cached on/off switch
+#endif
     bne     common_exceptionThrown      @ no, handle exception
 
     FETCH_ADVANCE_INST(3)               @ advance rPC, load rINST
diff --git a/vm/mterp/out/InterpAsm-armv5te.S b/vm/mterp/out/InterpAsm-armv5te.S
index da56e6c..b947e27 100644
--- a/vm/mterp/out/InterpAsm-armv5te.S
+++ b/vm/mterp/out/InterpAsm-armv5te.S
@@ -9898,8 +9898,20 @@
     bx      lr                          @ nothing to do, return
 
 2:  @ check suspend
+#if defined(WITH_JIT)
+    /*
+     * Refresh the Jit's cached copy of profile table pointer.  This pointer
+     * doubles as the Jit's on/off switch.
+     */
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ r10<-&gDvmJit.pJitProfTable
+    ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
+    ldr     r3, [r3] @ r10 <- pJitProfTable
+    EXPORT_PC()                         @ need for precise GC
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh Jit's on/off switch
+#else
     ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
     EXPORT_PC()                         @ need for precise GC
+#endif
     b       dvmCheckSuspendPending      @ suspend if necessary, then return
 
 3:  @ debugger/profiler enabled, bail out
@@ -10095,13 +10107,23 @@
     @ldr     pc, [r2, #offMethod_nativeFunc] @ pc<- methodToCall->nativeFunc
     LDR_PC_LR "[r2, #offMethod_nativeFunc]"
 
+#if defined(WITH_JIT)
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ Refresh Jit's on/off status
+#endif
+
     @ native return; r9=self, r10=newSaveArea
     @ equivalent to dvmPopJniLocals
     ldr     r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved top
     ldr     r1, [r9, #offThread_exception] @ check for exception
+#if defined(WITH_JIT)
+    ldr     r3, [r3]                    @ r3 <- gDvmJit.pProfTable
+#endif
     str     rFP, [r9, #offThread_curFrame]  @ self->curFrame = fp
     cmp     r1, #0                      @ null?
     str     r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
+#if defined(WITH_JIT)
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh cached on/off switch
+#endif
     bne     common_exceptionThrown      @ no, handle exception
 
     FETCH_ADVANCE_INST(3)               @ advance rPC, load rINST
diff --git a/vm/mterp/out/InterpAsm-armv7-a.S b/vm/mterp/out/InterpAsm-armv7-a.S
index 606b064..0d1bcc8 100644
--- a/vm/mterp/out/InterpAsm-armv7-a.S
+++ b/vm/mterp/out/InterpAsm-armv7-a.S
@@ -9358,8 +9358,20 @@
     bx      lr                          @ nothing to do, return
 
 2:  @ check suspend
+#if defined(WITH_JIT)
+    /*
+     * Refresh the Jit's cached copy of profile table pointer.  This pointer
+     * doubles as the Jit's on/off switch.
+     */
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ r10<-&gDvmJit.pJitProfTable
+    ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
+    ldr     r3, [r3] @ r10 <- pJitProfTable
+    EXPORT_PC()                         @ need for precise GC
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh Jit's on/off switch
+#else
     ldr     r0, [rGLUE, #offGlue_self]  @ r0<- glue->self
     EXPORT_PC()                         @ need for precise GC
+#endif
     b       dvmCheckSuspendPending      @ suspend if necessary, then return
 
 3:  @ debugger/profiler enabled, bail out
@@ -9555,13 +9567,23 @@
     @ldr     pc, [r2, #offMethod_nativeFunc] @ pc<- methodToCall->nativeFunc
     LDR_PC_LR "[r2, #offMethod_nativeFunc]"
 
+#if defined(WITH_JIT)
+    ldr     r3, [rGLUE, #offGlue_ppJitProfTable] @ Refresh Jit's on/off status
+#endif
+
     @ native return; r9=self, r10=newSaveArea
     @ equivalent to dvmPopJniLocals
     ldr     r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved top
     ldr     r1, [r9, #offThread_exception] @ check for exception
+#if defined(WITH_JIT)
+    ldr     r3, [r3]                    @ r3 <- gDvmJit.pProfTable
+#endif
     str     rFP, [r9, #offThread_curFrame]  @ self->curFrame = fp
     cmp     r1, #0                      @ null?
     str     r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
+#if defined(WITH_JIT)
+    str     r3, [rGLUE, #offGlue_pJitProfTable] @ refresh cached on/off switch
+#endif
     bne     common_exceptionThrown      @ no, handle exception
 
     FETCH_ADVANCE_INST(3)               @ advance rPC, load rINST
diff --git a/vm/mterp/out/InterpC-portdbg.c b/vm/mterp/out/InterpC-portdbg.c
index 5b984e3..5abdff5 100644
--- a/vm/mterp/out/InterpC-portdbg.c
+++ b/vm/mterp/out/InterpC-portdbg.c
@@ -1477,25 +1477,21 @@
          interpState->pc,
          interpState->method->name);
 #endif
-
 #if INTERP_TYPE == INTERP_DBG
-    /* Check to see if we've got a trace selection request.  If we do,
-     * but something is amiss, revert to the fast interpreter.
-     */
-#if !defined(WITH_SELF_VERIFICATION)
-    if (dvmJitCheckTraceRequest(self,interpState)) {
+    /* Check to see if we've got a trace selection request. */
+    if (
+#if defined(WITH_SELF_VERIFICATION)
+         (interpState->jitState != kJitSelfVerification) &&
+#endif
+         !gDvm.debuggerActive &&
+#if defined(WITH_PROFILER)
+         (gDvm.activeProfilers == 0) &&
+#endif
+         dvmJitCheckTraceRequest(self, interpState)) {
         interpState->nextMode = INTERP_STD;
-        //LOGD("** something wrong, exiting\n");
+        //LOGD("Invalid trace request, exiting\n");
         return true;
     }
-#else
-    if (interpState->jitState != kJitSelfVerification &&
-        dvmJitCheckTraceRequest(self,interpState)) {
-        interpState->nextMode = INTERP_STD;
-        //LOGD("** something wrong, exiting\n");
-        return true;
-    }
-#endif /* WITH_SELF_VERIFICATION */
 #endif /* INTERP_TYPE == INTERP_DBG */
 #endif /* WITH_JIT */
 
diff --git a/vm/mterp/out/InterpC-portstd.c b/vm/mterp/out/InterpC-portstd.c
index bfda671..8b30bd6 100644
--- a/vm/mterp/out/InterpC-portstd.c
+++ b/vm/mterp/out/InterpC-portstd.c
@@ -1217,25 +1217,21 @@
          interpState->pc,
          interpState->method->name);
 #endif
-
 #if INTERP_TYPE == INTERP_DBG
-    /* Check to see if we've got a trace selection request.  If we do,
-     * but something is amiss, revert to the fast interpreter.
-     */
-#if !defined(WITH_SELF_VERIFICATION)
-    if (dvmJitCheckTraceRequest(self,interpState)) {
+    /* Check to see if we've got a trace selection request. */
+    if (
+#if defined(WITH_SELF_VERIFICATION)
+         (interpState->jitState != kJitSelfVerification) &&
+#endif
+         !gDvm.debuggerActive &&
+#if defined(WITH_PROFILER)
+         (gDvm.activeProfilers == 0) &&
+#endif
+         dvmJitCheckTraceRequest(self, interpState)) {
         interpState->nextMode = INTERP_STD;
-        //LOGD("** something wrong, exiting\n");
+        //LOGD("Invalid trace request, exiting\n");
         return true;
     }
-#else
-    if (interpState->jitState != kJitSelfVerification &&
-        dvmJitCheckTraceRequest(self,interpState)) {
-        interpState->nextMode = INTERP_STD;
-        //LOGD("** something wrong, exiting\n");
-        return true;
-    }
-#endif /* WITH_SELF_VERIFICATION */
 #endif /* INTERP_TYPE == INTERP_DBG */
 #endif /* WITH_JIT */
 
diff --git a/vm/mterp/portable/entry.c b/vm/mterp/portable/entry.c
index 4a6ed4e..8ea4bdc 100644
--- a/vm/mterp/portable/entry.c
+++ b/vm/mterp/portable/entry.c
@@ -42,25 +42,21 @@
          interpState->pc,
          interpState->method->name);
 #endif
-
 #if INTERP_TYPE == INTERP_DBG
-    /* Check to see if we've got a trace selection request.  If we do,
-     * but something is amiss, revert to the fast interpreter.
-     */
-#if !defined(WITH_SELF_VERIFICATION)
-    if (dvmJitCheckTraceRequest(self,interpState)) {
+    /* Check to see if we've got a trace selection request. */
+    if (
+#if defined(WITH_SELF_VERIFICATION)
+         (interpState->jitState != kJitSelfVerification) &&
+#endif
+         !gDvm.debuggerActive &&
+#if defined(WITH_PROFILER)
+         (gDvm.activeProfilers == 0) &&
+#endif
+         dvmJitCheckTraceRequest(self, interpState)) {
         interpState->nextMode = INTERP_STD;
-        //LOGD("** something wrong, exiting\n");
+        //LOGD("Invalid trace request, exiting\n");
         return true;
     }
-#else
-    if (interpState->jitState != kJitSelfVerification &&
-        dvmJitCheckTraceRequest(self,interpState)) {
-        interpState->nextMode = INTERP_STD;
-        //LOGD("** something wrong, exiting\n");
-        return true;
-    }
-#endif /* WITH_SELF_VERIFICATION */
 #endif /* INTERP_TYPE == INTERP_DBG */
 #endif /* WITH_JIT */
 
diff --git a/vm/native/dalvik_system_VMDebug.c b/vm/native/dalvik_system_VMDebug.c
index d1ecafe..1d2f024 100644
--- a/vm/native/dalvik_system_VMDebug.c
+++ b/vm/native/dalvik_system_VMDebug.c
@@ -20,6 +20,8 @@
 #include "Dalvik.h"
 #include "native/InternalNativePriv.h"
 
+#include <errno.h>
+
 
 /*
  * Convert an array of char* into a String[].
@@ -86,10 +88,12 @@
 #ifdef WITH_PROFILER
     /* VM responds to DDMS method profiling requests */
     features[idx++] = "method-trace-profiling";
+    features[idx++] = "method-trace-profiling-streaming";
 #endif
 #ifdef WITH_HPROF
     /* VM responds to DDMS heap dump requests */
     features[idx++] = "hprof-heap-dump";
+    features[idx++] = "hprof-heap-dump-streaming";
 #endif
 
     assert(idx <= MAX_FEATURE_COUNT);
@@ -288,12 +292,16 @@
 }
 
 /*
- * static void startMethodTracing(String traceFileName, java.io.FileDescriptor,
- *     int bufferSize, int flags)
+ * static void startMethodTracingNative(String traceFileName,
+ *     FileDescriptor fd, int bufferSize, int flags)
  *
  * Start method trace profiling.
+ *
+ * If both "traceFileName" and "fd" are null, the result will be sent
+ * directly to DDMS.  (The non-DDMS versions of the calls are expected
+ * to enforce non-NULL filenames.)
  */
-static void Dalvik_dalvik_system_VMDebug_startMethodTracing(const u4* args,
+static void Dalvik_dalvik_system_VMDebug_startMethodTracingNative(const u4* args,
     JValue* pResult)
 {
 #ifdef WITH_PROFILER
@@ -301,32 +309,40 @@
     DataObject* traceFd = (DataObject*) args[1];
     int bufferSize = args[2];
     int flags = args[3];
-    char* traceFileName;
 
     if (bufferSize == 0) {
         // Default to 8MB per the documentation.
         bufferSize = 8 * 1024 * 1024;
     }
 
-    if (traceFileStr == NULL || bufferSize < 1024) {
+    if (bufferSize < 1024) {
         dvmThrowException("Ljava/lang/IllegalArgumentException;", NULL);
         RETURN_VOID();
     }
 
-    traceFileName = dvmCreateCstrFromString(traceFileStr);
+    char* traceFileName = NULL;
+    if (traceFileStr != NULL)
+        traceFileName = dvmCreateCstrFromString(traceFileStr);
 
     int fd = -1;
     if (traceFd != NULL) {
-        InstField* field = dvmFindInstanceField(traceFd->obj.clazz, "descriptor", "I");
+        InstField* field =
+            dvmFindInstanceField(traceFd->obj.clazz, "descriptor", "I");
         if (field == NULL) {
             dvmThrowException("Ljava/lang/NoSuchFieldException;",
                 "No FileDescriptor.descriptor field");
             RETURN_VOID();
         }
         fd = dup(dvmGetFieldInt(&traceFd->obj, field->byteOffset));
+        if (fd < 0) {
+            dvmThrowExceptionFmt("Ljava/lang/RuntimeException;",
+                "dup() failed: %s", strerror(errno));
+            RETURN_VOID();
+        }
     }
     
-    dvmMethodTraceStart(traceFileName, fd, bufferSize, flags);
+    dvmMethodTraceStart(traceFileName != NULL ? traceFileName : "[DDMS]",
+        fd, bufferSize, flags, (traceFileName == NULL && fd == -1));
     free(traceFileName);
 #else
     // throw exception?
@@ -649,7 +665,7 @@
         RETURN_VOID();
     }
 
-    result = hprofDumpHeap(fileName);
+    result = hprofDumpHeap(fileName, false);
     free(fileName);
 
     if (result != 0) {
@@ -666,6 +682,32 @@
 }
 
 /*
+ * static void dumpHprofDataDdms()
+ *
+ * Cause "hprof" data to be computed and sent directly to DDMS.
+ */
+static void Dalvik_dalvik_system_VMDebug_dumpHprofDataDdms(const u4* args,
+    JValue* pResult)
+{
+#ifdef WITH_HPROF
+    int result;
+
+    result = hprofDumpHeap("[DDMS]", true);
+
+    if (result != 0) {
+        /* ideally we'd throw something more specific based on actual failure */
+        dvmThrowException("Ljava/lang/RuntimeException;",
+            "Failure during heap dump -- check log output for details");
+        RETURN_VOID();
+    }
+#else
+    dvmThrowException("Ljava/lang/UnsupportedOperationException;", NULL);
+#endif
+
+    RETURN_VOID();
+}
+
+/*
  * static boolean cacheRegisterMap(String classAndMethodDescr)
  *
  * If the specified class is loaded, and the named method exists, ensure
@@ -825,8 +867,8 @@
         Dalvik_dalvik_system_VMDebug_startAllocCounting },
     { "stopAllocCounting",          "()V",
         Dalvik_dalvik_system_VMDebug_stopAllocCounting },
-    { "startMethodTracing",         "(Ljava/lang/String;Ljava/io/FileDescriptor;II)V",
-        Dalvik_dalvik_system_VMDebug_startMethodTracing },
+    { "startMethodTracingNative",   "(Ljava/lang/String;Ljava/io/FileDescriptor;II)V",
+        Dalvik_dalvik_system_VMDebug_startMethodTracingNative },
     { "isMethodTracingActive",      "()Z",
         Dalvik_dalvik_system_VMDebug_isMethodTracingActive },
     { "stopMethodTracing",          "()V",
@@ -861,6 +903,8 @@
         Dalvik_dalvik_system_VMDebug_threadCpuTimeNanos },
     { "dumpHprofData",              "(Ljava/lang/String;)V",
         Dalvik_dalvik_system_VMDebug_dumpHprofData },
+    { "dumpHprofDataDdms",          "()V",
+        Dalvik_dalvik_system_VMDebug_dumpHprofDataDdms },
     { "cacheRegisterMap",           "(Ljava/lang/String;)Z",
         Dalvik_dalvik_system_VMDebug_cacheRegisterMap },
     { "dumpReferenceTables",        "()V",
diff --git a/vm/native/dalvik_system_VMRuntime.c b/vm/native/dalvik_system_VMRuntime.c
index 0ec3ced..df0e73b 100644
--- a/vm/native/dalvik_system_VMRuntime.c
+++ b/vm/native/dalvik_system_VMRuntime.c
@@ -178,6 +178,30 @@
     RETURN_LONG((s8)dvmGetExternalBytesAllocated());
 }
 
+/*
+ * public native void startJitCompilation()
+ *
+ * Callback function from the framework to indicate that an app has gone
+ * through the startup phase and it is time to enable the JIT compiler.
+ */
+static void Dalvik_dalvik_system_VMRuntime_startJitCompilation(const u4* args,
+    JValue* pResult)
+{
+#if defined(WITH_JIT)
+#if 0
+    /*
+     * TODO - experiment with the timing.
+     * The tentative plan is onResume() will invoke the callback.
+     */
+    dvmLockMutex(&gDvmJit.compilerLock);
+    pthread_cond_signal(&gDvmJit.compilerQueueActivity);
+    dvmUnlockMutex(&gDvmJit.compilerLock);
+#endif
+#endif
+
+    RETURN_VOID();
+}
+
 const DalvikNativeMethod dvm_dalvik_system_VMRuntime[] = {
     { "getTargetHeapUtilization", "()F",
         Dalvik_dalvik_system_VMRuntime_getTargetHeapUtilization },
@@ -195,6 +219,7 @@
         Dalvik_dalvik_system_VMRuntime_trackExternalFree },
     { "getExternalBytesAllocated", "()J",
         Dalvik_dalvik_system_VMRuntime_getExternalBytesAllocated },
+    { "startJitCompilation", "()V",
+        Dalvik_dalvik_system_VMRuntime_startJitCompilation },
     { NULL, NULL, NULL },
 };
-