You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mr...@apache.org on 2011/12/29 05:13:09 UTC

svn commit: r1225426 [14/19] - in /xalan/java/trunk/src: ./ org/apache/xalan/ org/apache/xalan/res/ org/apache/xalan/xsltc/compiler/util/ org/apache/xalan/xsltc/dom/ org/apache/xalan/xsltc/runtime/ org/apache/xml/dtm/ org/apache/xml/res/ org/apache/xml...

Modified: xalan/java/trunk/src/org/apache/xml/serializer/utils/SerializerMessages_zh.java
URL: http://svn.apache.org/viewvc/xalan/java/trunk/src/org/apache/xml/serializer/utils/SerializerMessages_zh.java?rev=1225426&r1=1225425&r2=1225426&view=diff
==============================================================================
--- xalan/java/trunk/src/org/apache/xml/serializer/utils/SerializerMessages_zh.java (original)
+++ xalan/java/trunk/src/org/apache/xml/serializer/utils/SerializerMessages_zh.java Thu Dec 29 04:13:08 2011
@@ -1,291 +1,291 @@
-/*
- * 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: SerializerMessages_zh.java,v 1.7 2005/03/07 20:34:36 minchau Exp $
- */
-
-
-package org.apache.xml.serializer.utils;
-
-import java.util.ListResourceBundle;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * An instance of this class is a ListResourceBundle that
- * has the required getContents() method that returns
- * an array of message-key/message associations.
- * <p>
- * The message keys are defined in {@link MsgKey}. The
- * messages that those keys map to are defined here.
- * <p>
- * The messages in the English version are intended to be
- * translated.
- *
- * This class is not a public API, it is only public because it is
- * used in org.apache.xml.serializer.
- *
- * @xsl.usage internal
- */
-public class SerializerMessages_zh extends ListResourceBundle {
-
-    /*
-     * This file contains error and warning messages related to
-     * Serializer Error Handling.
-     *
-     *  General notes to translators:
-
-     *  1) 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.
-
-     *
-     *  2) 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.
-     *
-     *  3) 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.
-     *
-     *
-     */
-
-    /** The lookup table for error messages.   */
-    public Object[][] getContents() {
-        Object[][] contents = new Object[][] {
-            {   MsgKey.BAD_MSGKEY,
-                "\u6d88\u606f\u5bc6\u94a5\u201c{0}\u201d\u4e0d\u5728\u6d88\u606f\u7c7b\u201c{1}\u201d\u4e2d" },
-
-            {   MsgKey.BAD_MSGFORMAT,
-                "\u6d88\u606f\u7c7b\u201c{1}\u201d\u4e2d\u7684\u6d88\u606f\u201c{0}\u201d\u7684\u683c\u5f0f\u65e0\u6548\u3002" },
-
-            {   MsgKey.ER_SERIALIZER_NOT_CONTENTHANDLER,
-                "\u4e32\u884c\u5668\u7c7b\u201c{0}\u201d\u4e0d\u80fd\u5b9e\u73b0 org.xml.sax.ContentHandler\u3002" },
-
-            {   MsgKey.ER_RESOURCE_COULD_NOT_FIND,
-                    "\u627e\u4e0d\u5230\u8d44\u6e90 [ {0} ]\u3002\n {1}" },
-
-            {   MsgKey.ER_RESOURCE_COULD_NOT_LOAD,
-                    "\u8d44\u6e90 [ {0} ] \u65e0\u6cd5\u88c5\u5165\uff1a{1} \n {2} \t {3}" },
-
-            {   MsgKey.ER_BUFFER_SIZE_LESSTHAN_ZERO,
-                    "\u7f13\u51b2\u533a\u5927\u5c0f <=0" },
-
-            {   MsgKey.ER_INVALID_UTF16_SURROGATE,
-                    "\u68c0\u6d4b\u5230\u65e0\u6548\u7684 UTF-16 \u8d85\u5927\u5b57\u7b26\u96c6\uff1a{0}\uff1f" },
-
-            {   MsgKey.ER_OIERROR,
-                "IO \u9519\u8bef" },
-
-            {   MsgKey.ER_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" },
-
-            /*
-             * Note to translators:  The stylesheet contained a reference to a
-             * namespace prefix that was undefined.  The value of the substitution
-             * text is the name of the prefix.
-             */
-            {   MsgKey.ER_NAMESPACE_PREFIX,
-                "\u5c1a\u672a\u58f0\u660e\u524d\u7f00\u201c{0}\u201d\u7684\u540d\u79f0\u7a7a\u95f4\u3002" },
-
-            /*
-             * Note to translators:  This message is reported if the stylesheet
-             * 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.
-             */
-            {   MsgKey.ER_STRAY_ATTRIBUTE,
-                "\u5c5e\u6027\u201c{0}\u201d\u5728\u5143\u7d20\u5916\u3002" },
-
-            /*
-             * Note to translators:  As with the preceding message, a namespace
-             * declaration has the form of an attribute and is only permitted to
-             * appear on an element.  The substitution text {0} is the namespace
-             * prefix and {1} is the URI that was being used in the erroneous
-             * namespace declaration.
-             */
-            {   MsgKey.ER_STRAY_NAMESPACE,
-                "\u540d\u79f0\u7a7a\u95f4\u58f0\u660e\u201c{0}\u201d=\u201c{1}\u201d\u5728\u5143\u7d20\u5916\u3002" },
-
-            {   MsgKey.ER_COULD_NOT_LOAD_RESOURCE,
-                "\u65e0\u6cd5\u88c5\u5165\u201c{0}\u201d\uff08\u68c0\u67e5 CLASSPATH\uff09\uff0c\u73b0\u5728\u53ea\u4f7f\u7528\u7f3a\u7701\u503c" },
-
-            {   MsgKey.ER_ILLEGAL_CHARACTER,
-                "\u5c1d\u8bd5\u8f93\u51fa\u6574\u6570\u503c {0}\uff08\u5b83\u4e0d\u662f\u4ee5\u6307\u5b9a\u7684 {1} \u8f93\u51fa\u7f16\u7801\u8868\u793a\uff09\u7684\u5b57\u7b26\u3002" },
-
-            {   MsgKey.ER_COULD_NOT_LOAD_METHOD_PROPERTY,
-                "\u65e0\u6cd5\u4e3a\u8f93\u51fa\u65b9\u6cd5\u201c{1}\u201d\u88c5\u5165\u5c5e\u6027\u6587\u4ef6\u201c{0}\u201d\uff08\u68c0\u67e5 CLASSPATH\uff09" },
-
-            {   MsgKey.ER_INVALID_PORT,
-                "\u7aef\u53e3\u53f7\u65e0\u6548" },
-
-            {   MsgKey.ER_PORT_WHEN_HOST_NULL,
-                "\u4e3b\u673a\u4e3a\u7a7a\u65f6\uff0c\u65e0\u6cd5\u8bbe\u7f6e\u7aef\u53e3" },
-
-            {   MsgKey.ER_HOST_ADDRESS_NOT_WELLFORMED,
-                "\u4e3b\u673a\u4e0d\u662f\u683c\u5f0f\u6b63\u786e\u7684\u5730\u5740" },
-
-            {   MsgKey.ER_SCHEME_NOT_CONFORMANT,
-                "\u6a21\u5f0f\u4e0d\u4e00\u81f4\u3002" },
-
-            {   MsgKey.ER_SCHEME_FROM_NULL_STRING,
-                "\u65e0\u6cd5\u4ece\u7a7a\u5b57\u7b26\u4e32\u8bbe\u7f6e\u6a21\u5f0f" },
-
-            {   MsgKey.ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
-                "\u8def\u5f84\u5305\u542b\u65e0\u6548\u7684\u8f6c\u4e49\u5e8f\u5217" },
-
-            {   MsgKey.ER_PATH_INVALID_CHAR,
-                "\u8def\u5f84\u5305\u542b\u65e0\u6548\u7684\u5b57\u7b26\uff1a{0}" },
-
-            {   MsgKey.ER_FRAG_INVALID_CHAR,
-                "\u7247\u6bb5\u5305\u542b\u65e0\u6548\u7684\u5b57\u7b26" },
-
-            {   MsgKey.ER_FRAG_WHEN_PATH_NULL,
-                "\u8def\u5f84\u4e3a\u7a7a\u65f6\uff0c\u65e0\u6cd5\u8bbe\u7f6e\u7247\u6bb5" },
-
-            {   MsgKey.ER_FRAG_FOR_GENERIC_URI,
-                "\u53ea\u80fd\u4e3a\u7c7b\u5c5e URI \u8bbe\u7f6e\u7247\u6bb5" },
-
-            {   MsgKey.ER_NO_SCHEME_IN_URI,
-                "URI \u4e2d\u627e\u4e0d\u5230\u4efb\u4f55\u6a21\u5f0f" },
-
-            {   MsgKey.ER_CANNOT_INIT_URI_EMPTY_PARMS,
-                "\u4e0d\u80fd\u4ee5\u7a7a\u53c2\u6570\u521d\u59cb\u5316 URI" },
-
-            {   MsgKey.ER_NO_FRAGMENT_STRING_IN_PATH,
-                "\u8def\u5f84\u548c\u7247\u6bb5\u4e2d\u90fd\u4e0d\u80fd\u6307\u5b9a\u7247\u6bb5" },
-
-            {   MsgKey.ER_NO_QUERY_STRING_IN_PATH,
-                "\u8def\u5f84\u548c\u67e5\u8be2\u5b57\u7b26\u4e32\u4e2d\u4e0d\u80fd\u6307\u5b9a\u67e5\u8be2\u5b57\u7b26\u4e32" },
-
-            {   MsgKey.ER_NO_PORT_IF_NO_HOST,
-                "\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u4e3b\u673a\uff0c\u5219\u4e0d\u53ef\u4ee5\u6307\u5b9a\u7aef\u53e3" },
-
-            {   MsgKey.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" },
-            {   MsgKey.ER_XML_VERSION_NOT_SUPPORTED,
-                "\u8b66\u544a\uff1a\u8981\u6c42\u8f93\u51fa\u6587\u6863\u7684\u7248\u672c\u662f\u201c{0}\u201d\u3002\u4e0d\u652f\u6301\u6b64 XML \u7248\u672c\u3002\u8f93\u51fa\u6587\u6863\u7684\u7248\u672c\u5c06\u4f1a\u662f\u201c1.0\u201d\u3002" },
-
-            {   MsgKey.ER_SCHEME_REQUIRED,
-                "\u6a21\u5f0f\u662f\u5fc5\u9700\u7684\uff01" },
-
-            /*
-             * Note to translators:  The words 'Properties' and
-             * 'SerializerFactory' in this message are Java class names
-             * and should not be translated.
-             */
-            {   MsgKey.ER_FACTORY_PROPERTY_MISSING,
-                "\u4f20\u9012\u7ed9 SerializerFactory \u7684 Properties \u5bf9\u8c61\u4e0d\u5177\u6709\u5c5e\u6027\u201c{0}\u201d\u3002" },
-
-             {MsgKey.ER_FEATURE_NOT_FOUND,
-             "\u672a\u8bc6\u522b\u51fa\u53c2\u6570\u201c{0}\u201d\u3002"},
-
-             {MsgKey.ER_FEATURE_NOT_SUPPORTED,
-             "\u5df2\u8bc6\u522b\u51fa\u53c2\u6570\u201c{0}\u201d\uff0c\u4f46\u65e0\u6cd5\u8bbe\u7f6e\u8bf7\u6c42\u7684\u503c\u3002"},
-
-             {MsgKey.ER_STRING_TOO_LONG,
-             "\u4ea7\u751f\u7684\u5b57\u7b26\u4e32\u8fc7\u957f\u4e0d\u80fd\u88c5\u5165 DOMString\uff1a\u201c{0}\u201d\u3002"},
-
-             {MsgKey.ER_TYPE_MISMATCH_ERR,
-             "\u6b64\u53c2\u6570\u540d\u79f0\u7684\u503c\u7c7b\u578b\u4e0e\u671f\u671b\u7684\u503c\u7c7b\u578b\u4e0d\u517c\u5bb9\u3002"},
-
-             {MsgKey.ER_NO_OUTPUT_SPECIFIED,
-             "\u5c06\u8981\u5199\u5165\u6570\u636e\u7684\u8f93\u51fa\u76ee\u6807\u4e3a\u7a7a\u3002"},
-
-             {MsgKey.ER_UNSUPPORTED_ENCODING,
-             "\u9047\u5230\u4e0d\u53d7\u652f\u6301\u7684\u7f16\u7801\u3002"},
-
-             {MsgKey.ER_UNABLE_TO_SERIALIZE_NODE,
-             "\u65e0\u6cd5\u5c06\u8282\u70b9\u5e8f\u5217\u5316\u3002 "},
-
-             {MsgKey.ER_CDATA_SECTIONS_SPLIT,
-             "CDATA \u90e8\u5206\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u7ec8\u6b62\u6807\u8bb0\u201c]]>\u201d\u3002"},
-
-             {MsgKey.ER_WARNING_WF_NOT_CHECKED,
-                 "\u65e0\u6cd5\u521b\u5efa\u683c\u5f0f\u6b63\u786e\u6027\u68c0\u67e5\u5668\u7684\u5b9e\u4f8b\u3002\u201c\u683c\u5f0f\u6b63\u786e\u201d\u53c2\u6570\u5df2\u8bbe\u7f6e\u4e3a true\uff0c\u4f46\u65e0\u6cd5\u6267\u884c\u683c\u5f0f\u6b63\u786e\u6027\u68c0\u67e5\u3002"
-             },
-
-             {MsgKey.ER_WF_INVALID_CHARACTER,
-                 "\u8282\u70b9\u201c{0}\u201d\u5305\u542b\u65e0\u6548\u7684 XML \u5b57\u7b26\u3002"
-             },
-
-             { MsgKey.ER_WF_INVALID_CHARACTER_IN_COMMENT,
-                 "\u5728\u6ce8\u91ca\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26 (Unicode: 0x''{0})''\u3002"
-             },
-
-             { MsgKey.ER_WF_INVALID_CHARACTER_IN_PI,
-                 "\u5728\u5904\u7406\u6307\u4ee4\u6570\u636e\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26 (Unicode: 0x''{0})''\u3002"
-             },
-
-             { MsgKey.ER_WF_INVALID_CHARACTER_IN_CDATA,
-                 "\u5728 CDATA \u90e8\u5206\u7684\u5185\u5bb9\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26 (Unicode: 0x''{0})''\u3002"
-             },
-
-             { MsgKey.ER_WF_INVALID_CHARACTER_IN_TEXT,
-                 "\u5728\u8282\u70b9\u7684\u5b57\u7b26\u6570\u636e\u5185\u5bb9\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26 (Unicode: 0x''{0})''\u3002"
-             },
-
-             { MsgKey.ER_WF_INVALID_CHARACTER_IN_NODE_NAME,
-                 "\u540d\u79f0\u4e3a\u201c{1})\u201d\u7684\u201c{0})\u201d\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26\u3002"
-             },
-
-             { MsgKey.ER_WF_DASH_IN_COMMENT,
-                 "\u6ce8\u91ca\u4e2d\u4e0d\u5141\u8bb8\u6709\u5b57\u7b26\u4e32\u201c--\u201d\u3002"
-             },
-
-             {MsgKey.ER_WF_LT_IN_ATTVAL,
-                 "\u4e0e\u5143\u7d20\u7c7b\u578b\u201c{0}\u201d\u5173\u8054\u7684\u5c5e\u6027\u201c{1}\u201d\u7684\u503c\u4e0d\u5f97\u5305\u542b\u201c<\u201d\u5b57\u7b26\u3002"
-             },
-
-             {MsgKey.ER_WF_REF_TO_UNPARSED_ENT,
-                 "\u4e0d\u5141\u8bb8\u6709\u672a\u89e3\u6790\u7684\u5b9e\u4f53\u5f15\u7528\u201c&{0};\u201d\u3002"
-             },
-
-             {MsgKey.ER_WF_REF_TO_EXTERNAL_ENT,
-                 "\u5c5e\u6027\u503c\u4e2d\u4e0d\u5141\u8bb8\u6709\u5916\u90e8\u5b9e\u4f53\u5f15\u7528\u201c&{0};\u201d\u3002"
-             },
-
-             {MsgKey.ER_NS_PREFIX_CANNOT_BE_BOUND,
-                 "\u524d\u7f00\u201c{0}\u201d\u4e0d\u80fd\u7ed1\u5b9a\u5230\u540d\u79f0\u7a7a\u95f4\u201c{1}\u201d\u3002"
-             },
-
-             {MsgKey.ER_NULL_LOCAL_ELEMENT_NAME,
-                 "\u5143\u7d20\u201c{0}\u201d\u7684\u5c40\u90e8\u540d\u4e3a\u7a7a\u3002"
-             },
-
-             {MsgKey.ER_NULL_LOCAL_ATTR_NAME,
-                 "\u5c5e\u6027\u201c{0}\u201d\u7684\u5c40\u90e8\u540d\u4e3a\u7a7a\u3002"
-             },
-
-             { MsgKey.ER_ELEM_UNBOUND_PREFIX_IN_ENTREF,
-                 "\u5b9e\u4f53\u8282\u70b9\u201c{0}\u201d\u7684\u66ff\u4ee3\u6587\u672c\u4e2d\u5305\u542b\u5143\u7d20\u8282\u70b9\u201c{1}\u201d\uff0c\u8be5\u8282\u70b9\u5177\u6709\u672a\u7ed1\u5b9a\u7684\u524d\u7f00\u201c{2}\u201d\u3002"
-             },
-
-             { MsgKey.ER_ATTR_UNBOUND_PREFIX_IN_ENTREF,
-                 "\u5b9e\u4f53\u8282\u70b9\u201c{0}\u201d\u7684\u66ff\u4ee3\u6587\u672c\u4e2d\u5305\u542b\u5c5e\u6027\u8282\u70b9\u201c{1}\u201d\uff0c\u8be5\u8282\u70b9\u5177\u6709\u672a\u7ed1\u5b9a\u7684\u524d\u7f00\u201c{2}\u201d\u3002"
-             },
-
-        };
-
-        return contents;
-    }
-}
+/*
+ * 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 org.apache.xml.serializer.utils;
+
+import java.util.ListResourceBundle;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * An instance of this class is a ListResourceBundle that
+ * has the required getContents() method that returns
+ * an array of message-key/message associations.
+ * <p>
+ * The message keys are defined in {@link MsgKey}. The
+ * messages that those keys map to are defined here.
+ * <p>
+ * The messages in the English version are intended to be
+ * translated.
+ *
+ * This class is not a public API, it is only public because it is
+ * used in org.apache.xml.serializer.
+ *
+ * @xsl.usage internal
+ */
+public class SerializerMessages_zh extends ListResourceBundle {
+
+    /*
+     * This file contains error and warning messages related to
+     * Serializer Error Handling.
+     *
+     *  General notes to translators:
+
+     *  1) 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.
+
+     *
+     *  2) 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.
+     *
+     *  3) 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.
+     *
+     *
+     */
+
+    /** The lookup table for error messages.   */
+    public Object[][] getContents() {
+        Object[][] contents = new Object[][] {
+            {   MsgKey.BAD_MSGKEY,
+                "\u6d88\u606f\u5bc6\u94a5\u201c{0}\u201d\u4e0d\u5728\u6d88\u606f\u7c7b\u201c{1}\u201d\u4e2d" },
+
+            {   MsgKey.BAD_MSGFORMAT,
+                "\u6d88\u606f\u7c7b\u201c{1}\u201d\u4e2d\u7684\u6d88\u606f\u201c{0}\u201d\u7684\u683c\u5f0f\u65e0\u6548\u3002" },
+
+            {   MsgKey.ER_SERIALIZER_NOT_CONTENTHANDLER,
+                "\u4e32\u884c\u5668\u7c7b\u201c{0}\u201d\u4e0d\u80fd\u5b9e\u73b0 org.xml.sax.ContentHandler\u3002" },
+
+            {   MsgKey.ER_RESOURCE_COULD_NOT_FIND,
+                    "\u627e\u4e0d\u5230\u8d44\u6e90 [ {0} ]\u3002\n {1}" },
+
+            {   MsgKey.ER_RESOURCE_COULD_NOT_LOAD,
+                    "\u8d44\u6e90 [ {0} ] \u65e0\u6cd5\u88c5\u5165\uff1a{1} \n {2} \t {3}" },
+
+            {   MsgKey.ER_BUFFER_SIZE_LESSTHAN_ZERO,
+                    "\u7f13\u51b2\u533a\u5927\u5c0f <=0" },
+
+            {   MsgKey.ER_INVALID_UTF16_SURROGATE,
+                    "\u68c0\u6d4b\u5230\u65e0\u6548\u7684 UTF-16 \u8d85\u5927\u5b57\u7b26\u96c6\uff1a{0}\uff1f" },
+
+            {   MsgKey.ER_OIERROR,
+                "IO \u9519\u8bef" },
+
+            {   MsgKey.ER_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" },
+
+            /*
+             * Note to translators:  The stylesheet contained a reference to a
+             * namespace prefix that was undefined.  The value of the substitution
+             * text is the name of the prefix.
+             */
+            {   MsgKey.ER_NAMESPACE_PREFIX,
+                "\u5c1a\u672a\u58f0\u660e\u524d\u7f00\u201c{0}\u201d\u7684\u540d\u79f0\u7a7a\u95f4\u3002" },
+
+            /*
+             * Note to translators:  This message is reported if the stylesheet
+             * 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.
+             */
+            {   MsgKey.ER_STRAY_ATTRIBUTE,
+                "\u5c5e\u6027\u201c{0}\u201d\u5728\u5143\u7d20\u5916\u3002" },
+
+            /*
+             * Note to translators:  As with the preceding message, a namespace
+             * declaration has the form of an attribute and is only permitted to
+             * appear on an element.  The substitution text {0} is the namespace
+             * prefix and {1} is the URI that was being used in the erroneous
+             * namespace declaration.
+             */
+            {   MsgKey.ER_STRAY_NAMESPACE,
+                "\u540d\u79f0\u7a7a\u95f4\u58f0\u660e\u201c{0}\u201d=\u201c{1}\u201d\u5728\u5143\u7d20\u5916\u3002" },
+
+            {   MsgKey.ER_COULD_NOT_LOAD_RESOURCE,
+                "\u65e0\u6cd5\u88c5\u5165\u201c{0}\u201d\uff08\u68c0\u67e5 CLASSPATH\uff09\uff0c\u73b0\u5728\u53ea\u4f7f\u7528\u7f3a\u7701\u503c" },
+
+            {   MsgKey.ER_ILLEGAL_CHARACTER,
+                "\u5c1d\u8bd5\u8f93\u51fa\u6574\u6570\u503c {0}\uff08\u5b83\u4e0d\u662f\u4ee5\u6307\u5b9a\u7684 {1} \u8f93\u51fa\u7f16\u7801\u8868\u793a\uff09\u7684\u5b57\u7b26\u3002" },
+
+            {   MsgKey.ER_COULD_NOT_LOAD_METHOD_PROPERTY,
+                "\u65e0\u6cd5\u4e3a\u8f93\u51fa\u65b9\u6cd5\u201c{1}\u201d\u88c5\u5165\u5c5e\u6027\u6587\u4ef6\u201c{0}\u201d\uff08\u68c0\u67e5 CLASSPATH\uff09" },
+
+            {   MsgKey.ER_INVALID_PORT,
+                "\u7aef\u53e3\u53f7\u65e0\u6548" },
+
+            {   MsgKey.ER_PORT_WHEN_HOST_NULL,
+                "\u4e3b\u673a\u4e3a\u7a7a\u65f6\uff0c\u65e0\u6cd5\u8bbe\u7f6e\u7aef\u53e3" },
+
+            {   MsgKey.ER_HOST_ADDRESS_NOT_WELLFORMED,
+                "\u4e3b\u673a\u4e0d\u662f\u683c\u5f0f\u6b63\u786e\u7684\u5730\u5740" },
+
+            {   MsgKey.ER_SCHEME_NOT_CONFORMANT,
+                "\u6a21\u5f0f\u4e0d\u4e00\u81f4\u3002" },
+
+            {   MsgKey.ER_SCHEME_FROM_NULL_STRING,
+                "\u65e0\u6cd5\u4ece\u7a7a\u5b57\u7b26\u4e32\u8bbe\u7f6e\u6a21\u5f0f" },
+
+            {   MsgKey.ER_PATH_CONTAINS_INVALID_ESCAPE_SEQUENCE,
+                "\u8def\u5f84\u5305\u542b\u65e0\u6548\u7684\u8f6c\u4e49\u5e8f\u5217" },
+
+            {   MsgKey.ER_PATH_INVALID_CHAR,
+                "\u8def\u5f84\u5305\u542b\u65e0\u6548\u7684\u5b57\u7b26\uff1a{0}" },
+
+            {   MsgKey.ER_FRAG_INVALID_CHAR,
+                "\u7247\u6bb5\u5305\u542b\u65e0\u6548\u7684\u5b57\u7b26" },
+
+            {   MsgKey.ER_FRAG_WHEN_PATH_NULL,
+                "\u8def\u5f84\u4e3a\u7a7a\u65f6\uff0c\u65e0\u6cd5\u8bbe\u7f6e\u7247\u6bb5" },
+
+            {   MsgKey.ER_FRAG_FOR_GENERIC_URI,
+                "\u53ea\u80fd\u4e3a\u7c7b\u5c5e URI \u8bbe\u7f6e\u7247\u6bb5" },
+
+            {   MsgKey.ER_NO_SCHEME_IN_URI,
+                "URI \u4e2d\u627e\u4e0d\u5230\u4efb\u4f55\u6a21\u5f0f" },
+
+            {   MsgKey.ER_CANNOT_INIT_URI_EMPTY_PARMS,
+                "\u4e0d\u80fd\u4ee5\u7a7a\u53c2\u6570\u521d\u59cb\u5316 URI" },
+
+            {   MsgKey.ER_NO_FRAGMENT_STRING_IN_PATH,
+                "\u8def\u5f84\u548c\u7247\u6bb5\u4e2d\u90fd\u4e0d\u80fd\u6307\u5b9a\u7247\u6bb5" },
+
+            {   MsgKey.ER_NO_QUERY_STRING_IN_PATH,
+                "\u8def\u5f84\u548c\u67e5\u8be2\u5b57\u7b26\u4e32\u4e2d\u4e0d\u80fd\u6307\u5b9a\u67e5\u8be2\u5b57\u7b26\u4e32" },
+
+            {   MsgKey.ER_NO_PORT_IF_NO_HOST,
+                "\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u4e3b\u673a\uff0c\u5219\u4e0d\u53ef\u4ee5\u6307\u5b9a\u7aef\u53e3" },
+
+            {   MsgKey.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" },
+            {   MsgKey.ER_XML_VERSION_NOT_SUPPORTED,
+                "\u8b66\u544a\uff1a\u8981\u6c42\u8f93\u51fa\u6587\u6863\u7684\u7248\u672c\u662f\u201c{0}\u201d\u3002\u4e0d\u652f\u6301\u6b64 XML \u7248\u672c\u3002\u8f93\u51fa\u6587\u6863\u7684\u7248\u672c\u5c06\u4f1a\u662f\u201c1.0\u201d\u3002" },
+
+            {   MsgKey.ER_SCHEME_REQUIRED,
+                "\u6a21\u5f0f\u662f\u5fc5\u9700\u7684\uff01" },
+
+            /*
+             * Note to translators:  The words 'Properties' and
+             * 'SerializerFactory' in this message are Java class names
+             * and should not be translated.
+             */
+            {   MsgKey.ER_FACTORY_PROPERTY_MISSING,
+                "\u4f20\u9012\u7ed9 SerializerFactory \u7684 Properties \u5bf9\u8c61\u4e0d\u5177\u6709\u5c5e\u6027\u201c{0}\u201d\u3002" },
+
+             {MsgKey.ER_FEATURE_NOT_FOUND,
+             "\u672a\u8bc6\u522b\u51fa\u53c2\u6570\u201c{0}\u201d\u3002"},
+
+             {MsgKey.ER_FEATURE_NOT_SUPPORTED,
+             "\u5df2\u8bc6\u522b\u51fa\u53c2\u6570\u201c{0}\u201d\uff0c\u4f46\u65e0\u6cd5\u8bbe\u7f6e\u8bf7\u6c42\u7684\u503c\u3002"},
+
+             {MsgKey.ER_STRING_TOO_LONG,
+             "\u4ea7\u751f\u7684\u5b57\u7b26\u4e32\u8fc7\u957f\u4e0d\u80fd\u88c5\u5165 DOMString\uff1a\u201c{0}\u201d\u3002"},
+
+             {MsgKey.ER_TYPE_MISMATCH_ERR,
+             "\u6b64\u53c2\u6570\u540d\u79f0\u7684\u503c\u7c7b\u578b\u4e0e\u671f\u671b\u7684\u503c\u7c7b\u578b\u4e0d\u517c\u5bb9\u3002"},
+
+             {MsgKey.ER_NO_OUTPUT_SPECIFIED,
+             "\u5c06\u8981\u5199\u5165\u6570\u636e\u7684\u8f93\u51fa\u76ee\u6807\u4e3a\u7a7a\u3002"},
+
+             {MsgKey.ER_UNSUPPORTED_ENCODING,
+             "\u9047\u5230\u4e0d\u53d7\u652f\u6301\u7684\u7f16\u7801\u3002"},
+
+             {MsgKey.ER_UNABLE_TO_SERIALIZE_NODE,
+             "\u65e0\u6cd5\u5c06\u8282\u70b9\u5e8f\u5217\u5316\u3002 "},
+
+             {MsgKey.ER_CDATA_SECTIONS_SPLIT,
+             "CDATA \u90e8\u5206\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u7ec8\u6b62\u6807\u8bb0\u201c]]>\u201d\u3002"},
+
+             {MsgKey.ER_WARNING_WF_NOT_CHECKED,
+                 "\u65e0\u6cd5\u521b\u5efa\u683c\u5f0f\u6b63\u786e\u6027\u68c0\u67e5\u5668\u7684\u5b9e\u4f8b\u3002\u201c\u683c\u5f0f\u6b63\u786e\u201d\u53c2\u6570\u5df2\u8bbe\u7f6e\u4e3a true\uff0c\u4f46\u65e0\u6cd5\u6267\u884c\u683c\u5f0f\u6b63\u786e\u6027\u68c0\u67e5\u3002"
+             },
+
+             {MsgKey.ER_WF_INVALID_CHARACTER,
+                 "\u8282\u70b9\u201c{0}\u201d\u5305\u542b\u65e0\u6548\u7684 XML \u5b57\u7b26\u3002"
+             },
+
+             { MsgKey.ER_WF_INVALID_CHARACTER_IN_COMMENT,
+                 "\u5728\u6ce8\u91ca\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26 (Unicode: 0x''{0})''\u3002"
+             },
+
+             { MsgKey.ER_WF_INVALID_CHARACTER_IN_PI,
+                 "\u5728\u5904\u7406\u6307\u4ee4\u6570\u636e\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26 (Unicode: 0x''{0})''\u3002"
+             },
+
+             { MsgKey.ER_WF_INVALID_CHARACTER_IN_CDATA,
+                 "\u5728 CDATA \u90e8\u5206\u7684\u5185\u5bb9\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26 (Unicode: 0x''{0})''\u3002"
+             },
+
+             { MsgKey.ER_WF_INVALID_CHARACTER_IN_TEXT,
+                 "\u5728\u8282\u70b9\u7684\u5b57\u7b26\u6570\u636e\u5185\u5bb9\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26 (Unicode: 0x''{0})''\u3002"
+             },
+
+             { MsgKey.ER_WF_INVALID_CHARACTER_IN_NODE_NAME,
+                 "\u540d\u79f0\u4e3a\u201c{1})\u201d\u7684\u201c{0})\u201d\u4e2d\u627e\u5230\u65e0\u6548\u7684 XML \u5b57\u7b26\u3002"
+             },
+
+             { MsgKey.ER_WF_DASH_IN_COMMENT,
+                 "\u6ce8\u91ca\u4e2d\u4e0d\u5141\u8bb8\u6709\u5b57\u7b26\u4e32\u201c--\u201d\u3002"
+             },
+
+             {MsgKey.ER_WF_LT_IN_ATTVAL,
+                 "\u4e0e\u5143\u7d20\u7c7b\u578b\u201c{0}\u201d\u5173\u8054\u7684\u5c5e\u6027\u201c{1}\u201d\u7684\u503c\u4e0d\u5f97\u5305\u542b\u201c<\u201d\u5b57\u7b26\u3002"
+             },
+
+             {MsgKey.ER_WF_REF_TO_UNPARSED_ENT,
+                 "\u4e0d\u5141\u8bb8\u6709\u672a\u89e3\u6790\u7684\u5b9e\u4f53\u5f15\u7528\u201c&{0};\u201d\u3002"
+             },
+
+             {MsgKey.ER_WF_REF_TO_EXTERNAL_ENT,
+                 "\u5c5e\u6027\u503c\u4e2d\u4e0d\u5141\u8bb8\u6709\u5916\u90e8\u5b9e\u4f53\u5f15\u7528\u201c&{0};\u201d\u3002"
+             },
+
+             {MsgKey.ER_NS_PREFIX_CANNOT_BE_BOUND,
+                 "\u524d\u7f00\u201c{0}\u201d\u4e0d\u80fd\u7ed1\u5b9a\u5230\u540d\u79f0\u7a7a\u95f4\u201c{1}\u201d\u3002"
+             },
+
+             {MsgKey.ER_NULL_LOCAL_ELEMENT_NAME,
+                 "\u5143\u7d20\u201c{0}\u201d\u7684\u5c40\u90e8\u540d\u4e3a\u7a7a\u3002"
+             },
+
+             {MsgKey.ER_NULL_LOCAL_ATTR_NAME,
+                 "\u5c5e\u6027\u201c{0}\u201d\u7684\u5c40\u90e8\u540d\u4e3a\u7a7a\u3002"
+             },
+
+             { MsgKey.ER_ELEM_UNBOUND_PREFIX_IN_ENTREF,
+                 "\u5b9e\u4f53\u8282\u70b9\u201c{0}\u201d\u7684\u66ff\u4ee3\u6587\u672c\u4e2d\u5305\u542b\u5143\u7d20\u8282\u70b9\u201c{1}\u201d\uff0c\u8be5\u8282\u70b9\u5177\u6709\u672a\u7ed1\u5b9a\u7684\u524d\u7f00\u201c{2}\u201d\u3002"
+             },
+
+             { MsgKey.ER_ATTR_UNBOUND_PREFIX_IN_ENTREF,
+                 "\u5b9e\u4f53\u8282\u70b9\u201c{0}\u201d\u7684\u66ff\u4ee3\u6587\u672c\u4e2d\u5305\u542b\u5c5e\u6027\u8282\u70b9\u201c{1}\u201d\uff0c\u8be5\u8282\u70b9\u5177\u6709\u672a\u7ed1\u5b9a\u7684\u524d\u7f00\u201c{2}\u201d\u3002"
+             },
+
+        };
+
+        return contents;
+    }
+}

Propchange: xalan/java/trunk/src/org/apache/xml/serializer/utils/SerializerMessages_zh.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xalan/java/trunk/src/org/apache/xml/serializer/utils/SerializerMessages_zh.java
            ('svn:executable' removed)

Propchange: xalan/java/trunk/src/org/apache/xml/serializer/utils/SerializerMessages_zh.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: xalan/java/trunk/src/org/apache/xml/serializer/utils/XML11Char.java
URL: http://svn.apache.org/viewvc/xalan/java/trunk/src/org/apache/xml/serializer/utils/XML11Char.java?rev=1225426&r1=1225425&r2=1225426&view=diff
==============================================================================
--- xalan/java/trunk/src/org/apache/xml/serializer/utils/XML11Char.java (original)
+++ xalan/java/trunk/src/org/apache/xml/serializer/utils/XML11Char.java Thu Dec 29 04:13:08 2011
@@ -1,414 +1,414 @@
-/*
- * 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.xml.serializer.utils;
-
-import java.util.Arrays;
-
-/**
- * THIS IS A COPY OF THE XERCES-2J CLASS org.apache.xerces.utls.XMLChar
- *  
- * This class defines the basic properties of characters in XML 1.1. The data
- * in this class can be used to verify that a character is a valid
- * XML 1.1 character or if the character is a space, name start, or name
- * character.
- * <p>
- * A series of convenience methods are supplied to ease the burden
- * of the developer.  Using the character as an index into the <code>XML11CHARS</code>
- * array and applying the appropriate mask flag (e.g.
- * <code>MASK_VALID</code>), yields the same results as calling the
- * convenience methods. There is one exception: check the comments
- * for the <code>isValid</code> method for details.
- *
- * @author Glenn Marcy, IBM
- * @author Andy Clark, IBM
- * @author Arnaud  Le Hors, IBM
- * @author Neil Graham, IBM
- * @author Michael Glavassevich, IBM
- *
- * @version $Id: $
- */
-public class XML11Char {
-
-    //
-    // Constants
-    //
-
-    /** Character flags for XML 1.1. */
-    private static final byte XML11CHARS [] = new byte [1 << 16];
-
-    /** XML 1.1 Valid character mask. */
-    public static final int MASK_XML11_VALID = 0x01;
-
-    /** XML 1.1 Space character mask. */
-    public static final int MASK_XML11_SPACE = 0x02;
-
-    /** XML 1.1 Name start character mask. */
-    public static final int MASK_XML11_NAME_START = 0x04;
-
-    /** XML 1.1 Name character mask. */
-    public static final int MASK_XML11_NAME = 0x08;
-
-    /** XML 1.1 control character mask */
-    public static final int MASK_XML11_CONTROL = 0x10;
-
-    /** XML 1.1 content for external entities (valid - "special" chars - control chars) */
-    public static final int MASK_XML11_CONTENT = 0x20;
-
-    /** XML namespaces 1.1 NCNameStart */
-    public static final int MASK_XML11_NCNAME_START = 0x40;
-
-    /** XML namespaces 1.1 NCName */
-    public static final int MASK_XML11_NCNAME = 0x80;
-    
-    /** XML 1.1 content for internal entities (valid - "special" chars) */
-    public static final int MASK_XML11_CONTENT_INTERNAL = MASK_XML11_CONTROL | MASK_XML11_CONTENT; 
-
-    //
-    // Static initialization
-    //
-
-    static {
-    	
-        // Initializing the Character Flag Array
-        // Code generated by: XML11CharGenerator.
-        
-        Arrays.fill(XML11CHARS, 1, 9, (byte) 17 ); // Fill 8 of value (byte) 17
-        XML11CHARS[9] = 35;
-        XML11CHARS[10] = 3;
-        Arrays.fill(XML11CHARS, 11, 13, (byte) 17 ); // Fill 2 of value (byte) 17
-        XML11CHARS[13] = 3;
-        Arrays.fill(XML11CHARS, 14, 32, (byte) 17 ); // Fill 18 of value (byte) 17
-        XML11CHARS[32] = 35;
-        Arrays.fill(XML11CHARS, 33, 38, (byte) 33 ); // Fill 5 of value (byte) 33
-        XML11CHARS[38] = 1;
-        Arrays.fill(XML11CHARS, 39, 45, (byte) 33 ); // Fill 6 of value (byte) 33
-        Arrays.fill(XML11CHARS, 45, 47, (byte) -87 ); // Fill 2 of value (byte) -87
-        XML11CHARS[47] = 33;
-        Arrays.fill(XML11CHARS, 48, 58, (byte) -87 ); // Fill 10 of value (byte) -87
-        XML11CHARS[58] = 45;
-        XML11CHARS[59] = 33;
-        XML11CHARS[60] = 1;
-        Arrays.fill(XML11CHARS, 61, 65, (byte) 33 ); // Fill 4 of value (byte) 33
-        Arrays.fill(XML11CHARS, 65, 91, (byte) -19 ); // Fill 26 of value (byte) -19
-        Arrays.fill(XML11CHARS, 91, 93, (byte) 33 ); // Fill 2 of value (byte) 33
-        XML11CHARS[93] = 1;
-        XML11CHARS[94] = 33;
-        XML11CHARS[95] = -19;
-        XML11CHARS[96] = 33;
-        Arrays.fill(XML11CHARS, 97, 123, (byte) -19 ); // Fill 26 of value (byte) -19
-        Arrays.fill(XML11CHARS, 123, 127, (byte) 33 ); // Fill 4 of value (byte) 33
-        Arrays.fill(XML11CHARS, 127, 133, (byte) 17 ); // Fill 6 of value (byte) 17
-        XML11CHARS[133] = 35;
-        Arrays.fill(XML11CHARS, 134, 160, (byte) 17 ); // Fill 26 of value (byte) 17
-        Arrays.fill(XML11CHARS, 160, 183, (byte) 33 ); // Fill 23 of value (byte) 33
-        XML11CHARS[183] = -87;
-        Arrays.fill(XML11CHARS, 184, 192, (byte) 33 ); // Fill 8 of value (byte) 33
-        Arrays.fill(XML11CHARS, 192, 215, (byte) -19 ); // Fill 23 of value (byte) -19
-        XML11CHARS[215] = 33;
-        Arrays.fill(XML11CHARS, 216, 247, (byte) -19 ); // Fill 31 of value (byte) -19
-        XML11CHARS[247] = 33;
-        Arrays.fill(XML11CHARS, 248, 768, (byte) -19 ); // Fill 520 of value (byte) -19
-        Arrays.fill(XML11CHARS, 768, 880, (byte) -87 ); // Fill 112 of value (byte) -87
-        Arrays.fill(XML11CHARS, 880, 894, (byte) -19 ); // Fill 14 of value (byte) -19
-        XML11CHARS[894] = 33;
-        Arrays.fill(XML11CHARS, 895, 8192, (byte) -19 ); // Fill 7297 of value (byte) -19
-        Arrays.fill(XML11CHARS, 8192, 8204, (byte) 33 ); // Fill 12 of value (byte) 33
-        Arrays.fill(XML11CHARS, 8204, 8206, (byte) -19 ); // Fill 2 of value (byte) -19
-        Arrays.fill(XML11CHARS, 8206, 8232, (byte) 33 ); // Fill 26 of value (byte) 33
-        XML11CHARS[8232] = 35;
-        Arrays.fill(XML11CHARS, 8233, 8255, (byte) 33 ); // Fill 22 of value (byte) 33
-        Arrays.fill(XML11CHARS, 8255, 8257, (byte) -87 ); // Fill 2 of value (byte) -87
-        Arrays.fill(XML11CHARS, 8257, 8304, (byte) 33 ); // Fill 47 of value (byte) 33
-        Arrays.fill(XML11CHARS, 8304, 8592, (byte) -19 ); // Fill 288 of value (byte) -19
-        Arrays.fill(XML11CHARS, 8592, 11264, (byte) 33 ); // Fill 2672 of value (byte) 33
-        Arrays.fill(XML11CHARS, 11264, 12272, (byte) -19 ); // Fill 1008 of value (byte) -19
-        Arrays.fill(XML11CHARS, 12272, 12289, (byte) 33 ); // Fill 17 of value (byte) 33
-        Arrays.fill(XML11CHARS, 12289, 55296, (byte) -19 ); // Fill 43007 of value (byte) -19
-        Arrays.fill(XML11CHARS, 57344, 63744, (byte) 33 ); // Fill 6400 of value (byte) 33
-        Arrays.fill(XML11CHARS, 63744, 64976, (byte) -19 ); // Fill 1232 of value (byte) -19
-        Arrays.fill(XML11CHARS, 64976, 65008, (byte) 33 ); // Fill 32 of value (byte) 33
-        Arrays.fill(XML11CHARS, 65008, 65534, (byte) -19 ); // Fill 526 of value (byte) -19
-
-    } // <clinit>()
-
-    //
-    // Public static methods
-    //
-
-    /**
-     * Returns true if the specified character is a space character
-     * as amdended in the XML 1.1 specification.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11Space(int c) {
-        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_SPACE) != 0);
-    } // isXML11Space(int):boolean
-
-    /**
-     * Returns true if the specified character is valid. This method
-     * also checks the surrogate character range from 0x10000 to 0x10FFFF.
-     * <p>
-     * If the program chooses to apply the mask directly to the
-     * <code>XML11CHARS</code> array, then they are responsible for checking
-     * the surrogate character range.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11Valid(int c) {
-        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_VALID) != 0) 
-                || (0x10000 <= c && c <= 0x10FFFF);
-    } // isXML11Valid(int):boolean
-
-    /**
-     * Returns true if the specified character is invalid.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11Invalid(int c) {
-        return !isXML11Valid(c);
-    } // isXML11Invalid(int):boolean
-
-    /**
-     * Returns true if the specified character is valid and permitted outside
-     * of a character reference.  
-     * That is, this method will return false for the same set as
-     * isXML11Valid, except it also reports false for "control characters".
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11ValidLiteral(int c) {
-        return ((c < 0x10000 && ((XML11CHARS[c] & MASK_XML11_VALID) != 0 && (XML11CHARS[c] & MASK_XML11_CONTROL) == 0))
-            || (0x10000 <= c && c <= 0x10FFFF)); 
-    } // isXML11ValidLiteral(int):boolean
-
-    /**
-     * Returns true if the specified character can be considered 
-     * content in an external parsed entity.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11Content(int c) {
-        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_CONTENT) != 0) ||
-               (0x10000 <= c && c <= 0x10FFFF);
-    } // isXML11Content(int):boolean
-    
-    /**
-     * Returns true if the specified character can be considered 
-     * content in an internal parsed entity.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11InternalEntityContent(int c) {
-        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_CONTENT_INTERNAL) != 0) ||
-               (0x10000 <= c && c <= 0x10FFFF);
-    } // isXML11InternalEntityContent(int):boolean
-
-    /**
-     * Returns true if the specified character is a valid name start
-     * character as defined by production [4] in the XML 1.1
-     * specification.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11NameStart(int c) {
-        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_NAME_START) != 0)
-            || (0x10000 <= c && c < 0xF0000);
-    } // isXML11NameStart(int):boolean
-
-    /**
-     * Returns true if the specified character is a valid name
-     * character as defined by production [4a] in the XML 1.1
-     * specification.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11Name(int c) {
-        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_NAME) != 0) 
-            || (c >= 0x10000 && c < 0xF0000);
-    } // isXML11Name(int):boolean
-
-    /**
-     * Returns true if the specified character is a valid NCName start
-     * character as defined by production [4] in Namespaces in XML
-     * 1.1 recommendation.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11NCNameStart(int c) {
-        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_NCNAME_START) != 0)
-            || (0x10000 <= c && c < 0xF0000);
-    } // isXML11NCNameStart(int):boolean
-
-    /**
-     * Returns true if the specified character is a valid NCName
-     * character as defined by production [5] in Namespaces in XML
-     * 1.1 recommendation.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11NCName(int c) {
-        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_NCNAME) != 0)
-            || (0x10000 <= c && c < 0xF0000);
-    } // isXML11NCName(int):boolean
-    
-    /**
-     * Returns whether the given character is a valid 
-     * high surrogate for a name character. This includes
-     * all high surrogates for characters [0x10000-0xEFFFF].
-     * In other words everything excluding planes 15 and 16.
-     *
-     * @param c The character to check.
-     */
-    public static boolean isXML11NameHighSurrogate(int c) {
-        return (0xD800 <= c && c <= 0xDB7F);
-    }
-
-    /*
-     * [5] Name ::= NameStartChar NameChar*
-     */
-    /**
-     * Check to see if a string is a valid Name according to [5]
-     * in the XML 1.1 Recommendation
-     *
-     * @param name string to check
-     * @return true if name is a valid Name
-     */
-    public static boolean isXML11ValidName(String name) {
-        int length = name.length();
-        if (length == 0)
-            return false;
-        int i = 1;
-        char ch = name.charAt(0);
-        if( !isXML11NameStart(ch) ) {
-            if ( length > 1 && isXML11NameHighSurrogate(ch) ) {
-                char ch2 = name.charAt(1);
-                if ( !XMLChar.isLowSurrogate(ch2) || 
-                     !isXML11NameStart(XMLChar.supplemental(ch, ch2)) ) {
-                    return false;
-                }
-                i = 2;
-            }
-            else {
-                return false;
-            }
-        }
-        while (i < length) {
-            ch = name.charAt(i);
-            if ( !isXML11Name(ch) ) {
-                if ( ++i < length && isXML11NameHighSurrogate(ch) ) {
-                    char ch2 = name.charAt(i);
-                    if ( !XMLChar.isLowSurrogate(ch2) || 
-                         !isXML11Name(XMLChar.supplemental(ch, ch2)) ) {
-                        return false;
-                    }
-                }
-                else {
-                    return false;
-                }
-            }
-            ++i;
-        }
-        return true;
-    } // isXML11ValidName(String):boolean
-    
-
-    /*
-     * from the namespace 1.1 rec
-     * [4] NCName ::= NCNameStartChar NCNameChar*
-     */
-    /**
-     * Check to see if a string is a valid NCName according to [4]
-     * from the XML Namespaces 1.1 Recommendation
-     *
-     * @param ncName string to check
-     * @return true if name is a valid NCName
-     */
-    public static boolean isXML11ValidNCName(String ncName) {
-        int length = ncName.length();
-        if (length == 0)
-            return false;
-        int i = 1;
-        char ch = ncName.charAt(0);
-        if( !isXML11NCNameStart(ch) ) {
-            if ( length > 1 && isXML11NameHighSurrogate(ch) ) {
-                char ch2 = ncName.charAt(1);
-                if ( !XMLChar.isLowSurrogate(ch2) || 
-                     !isXML11NCNameStart(XMLChar.supplemental(ch, ch2)) ) {
-                    return false;
-                }
-                i = 2;
-            }
-            else {
-                return false;
-            }
-        }
-        while (i < length) {
-            ch = ncName.charAt(i);
-            if ( !isXML11NCName(ch) ) {
-                if ( ++i < length && isXML11NameHighSurrogate(ch) ) {
-                    char ch2 = ncName.charAt(i);
-                    if ( !XMLChar.isLowSurrogate(ch2) || 
-                         !isXML11NCName(XMLChar.supplemental(ch, ch2)) ) {
-                        return false;
-                    }
-                }
-                else {
-                    return false;
-                }
-            }
-            ++i;
-        }
-        return true;
-    } // isXML11ValidNCName(String):boolean
-
-    /*
-     * [7] Nmtoken ::= (NameChar)+
-     */
-    /**
-     * Check to see if a string is a valid Nmtoken according to [7]
-     * in the XML 1.1 Recommendation
-     *
-     * @param nmtoken string to check
-     * @return true if nmtoken is a valid Nmtoken 
-     */
-    public static boolean isXML11ValidNmtoken(String nmtoken) {
-        int length = nmtoken.length();
-        if (length == 0)
-            return false;
-        for (int i = 0; i < length; ++i ) {
-            char ch = nmtoken.charAt(i);
-            if( !isXML11Name(ch) ) {
-                if ( ++i < length && isXML11NameHighSurrogate(ch) ) {
-                    char ch2 = nmtoken.charAt(i);
-                    if ( !XMLChar.isLowSurrogate(ch2) || 
-                         !isXML11Name(XMLChar.supplemental(ch, ch2)) ) {
-                        return false;
-                    }
-                }
-                else {
-                    return false;
-                }
-            }
-        }
-        return true;
-    } // isXML11ValidName(String):boolean
-
-} // class XML11Char
-
+/*
+ * 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.xml.serializer.utils;
+
+import java.util.Arrays;
+
+/**
+ * THIS IS A COPY OF THE XERCES-2J CLASS org.apache.xerces.utls.XMLChar
+ *  
+ * This class defines the basic properties of characters in XML 1.1. The data
+ * in this class can be used to verify that a character is a valid
+ * XML 1.1 character or if the character is a space, name start, or name
+ * character.
+ * <p>
+ * A series of convenience methods are supplied to ease the burden
+ * of the developer.  Using the character as an index into the <code>XML11CHARS</code>
+ * array and applying the appropriate mask flag (e.g.
+ * <code>MASK_VALID</code>), yields the same results as calling the
+ * convenience methods. There is one exception: check the comments
+ * for the <code>isValid</code> method for details.
+ *
+ * @author Glenn Marcy, IBM
+ * @author Andy Clark, IBM
+ * @author Arnaud  Le Hors, IBM
+ * @author Neil Graham, IBM
+ * @author Michael Glavassevich, IBM
+ *
+ * @version $Id$
+ */
+public class XML11Char {
+
+    //
+    // Constants
+    //
+
+    /** Character flags for XML 1.1. */
+    private static final byte XML11CHARS [] = new byte [1 << 16];
+
+    /** XML 1.1 Valid character mask. */
+    public static final int MASK_XML11_VALID = 0x01;
+
+    /** XML 1.1 Space character mask. */
+    public static final int MASK_XML11_SPACE = 0x02;
+
+    /** XML 1.1 Name start character mask. */
+    public static final int MASK_XML11_NAME_START = 0x04;
+
+    /** XML 1.1 Name character mask. */
+    public static final int MASK_XML11_NAME = 0x08;
+
+    /** XML 1.1 control character mask */
+    public static final int MASK_XML11_CONTROL = 0x10;
+
+    /** XML 1.1 content for external entities (valid - "special" chars - control chars) */
+    public static final int MASK_XML11_CONTENT = 0x20;
+
+    /** XML namespaces 1.1 NCNameStart */
+    public static final int MASK_XML11_NCNAME_START = 0x40;
+
+    /** XML namespaces 1.1 NCName */
+    public static final int MASK_XML11_NCNAME = 0x80;
+    
+    /** XML 1.1 content for internal entities (valid - "special" chars) */
+    public static final int MASK_XML11_CONTENT_INTERNAL = MASK_XML11_CONTROL | MASK_XML11_CONTENT; 
+
+    //
+    // Static initialization
+    //
+
+    static {
+    	
+        // Initializing the Character Flag Array
+        // Code generated by: XML11CharGenerator.
+        
+        Arrays.fill(XML11CHARS, 1, 9, (byte) 17 ); // Fill 8 of value (byte) 17
+        XML11CHARS[9] = 35;
+        XML11CHARS[10] = 3;
+        Arrays.fill(XML11CHARS, 11, 13, (byte) 17 ); // Fill 2 of value (byte) 17
+        XML11CHARS[13] = 3;
+        Arrays.fill(XML11CHARS, 14, 32, (byte) 17 ); // Fill 18 of value (byte) 17
+        XML11CHARS[32] = 35;
+        Arrays.fill(XML11CHARS, 33, 38, (byte) 33 ); // Fill 5 of value (byte) 33
+        XML11CHARS[38] = 1;
+        Arrays.fill(XML11CHARS, 39, 45, (byte) 33 ); // Fill 6 of value (byte) 33
+        Arrays.fill(XML11CHARS, 45, 47, (byte) -87 ); // Fill 2 of value (byte) -87
+        XML11CHARS[47] = 33;
+        Arrays.fill(XML11CHARS, 48, 58, (byte) -87 ); // Fill 10 of value (byte) -87
+        XML11CHARS[58] = 45;
+        XML11CHARS[59] = 33;
+        XML11CHARS[60] = 1;
+        Arrays.fill(XML11CHARS, 61, 65, (byte) 33 ); // Fill 4 of value (byte) 33
+        Arrays.fill(XML11CHARS, 65, 91, (byte) -19 ); // Fill 26 of value (byte) -19
+        Arrays.fill(XML11CHARS, 91, 93, (byte) 33 ); // Fill 2 of value (byte) 33
+        XML11CHARS[93] = 1;
+        XML11CHARS[94] = 33;
+        XML11CHARS[95] = -19;
+        XML11CHARS[96] = 33;
+        Arrays.fill(XML11CHARS, 97, 123, (byte) -19 ); // Fill 26 of value (byte) -19
+        Arrays.fill(XML11CHARS, 123, 127, (byte) 33 ); // Fill 4 of value (byte) 33
+        Arrays.fill(XML11CHARS, 127, 133, (byte) 17 ); // Fill 6 of value (byte) 17
+        XML11CHARS[133] = 35;
+        Arrays.fill(XML11CHARS, 134, 160, (byte) 17 ); // Fill 26 of value (byte) 17
+        Arrays.fill(XML11CHARS, 160, 183, (byte) 33 ); // Fill 23 of value (byte) 33
+        XML11CHARS[183] = -87;
+        Arrays.fill(XML11CHARS, 184, 192, (byte) 33 ); // Fill 8 of value (byte) 33
+        Arrays.fill(XML11CHARS, 192, 215, (byte) -19 ); // Fill 23 of value (byte) -19
+        XML11CHARS[215] = 33;
+        Arrays.fill(XML11CHARS, 216, 247, (byte) -19 ); // Fill 31 of value (byte) -19
+        XML11CHARS[247] = 33;
+        Arrays.fill(XML11CHARS, 248, 768, (byte) -19 ); // Fill 520 of value (byte) -19
+        Arrays.fill(XML11CHARS, 768, 880, (byte) -87 ); // Fill 112 of value (byte) -87
+        Arrays.fill(XML11CHARS, 880, 894, (byte) -19 ); // Fill 14 of value (byte) -19
+        XML11CHARS[894] = 33;
+        Arrays.fill(XML11CHARS, 895, 8192, (byte) -19 ); // Fill 7297 of value (byte) -19
+        Arrays.fill(XML11CHARS, 8192, 8204, (byte) 33 ); // Fill 12 of value (byte) 33
+        Arrays.fill(XML11CHARS, 8204, 8206, (byte) -19 ); // Fill 2 of value (byte) -19
+        Arrays.fill(XML11CHARS, 8206, 8232, (byte) 33 ); // Fill 26 of value (byte) 33
+        XML11CHARS[8232] = 35;
+        Arrays.fill(XML11CHARS, 8233, 8255, (byte) 33 ); // Fill 22 of value (byte) 33
+        Arrays.fill(XML11CHARS, 8255, 8257, (byte) -87 ); // Fill 2 of value (byte) -87
+        Arrays.fill(XML11CHARS, 8257, 8304, (byte) 33 ); // Fill 47 of value (byte) 33
+        Arrays.fill(XML11CHARS, 8304, 8592, (byte) -19 ); // Fill 288 of value (byte) -19
+        Arrays.fill(XML11CHARS, 8592, 11264, (byte) 33 ); // Fill 2672 of value (byte) 33
+        Arrays.fill(XML11CHARS, 11264, 12272, (byte) -19 ); // Fill 1008 of value (byte) -19
+        Arrays.fill(XML11CHARS, 12272, 12289, (byte) 33 ); // Fill 17 of value (byte) 33
+        Arrays.fill(XML11CHARS, 12289, 55296, (byte) -19 ); // Fill 43007 of value (byte) -19
+        Arrays.fill(XML11CHARS, 57344, 63744, (byte) 33 ); // Fill 6400 of value (byte) 33
+        Arrays.fill(XML11CHARS, 63744, 64976, (byte) -19 ); // Fill 1232 of value (byte) -19
+        Arrays.fill(XML11CHARS, 64976, 65008, (byte) 33 ); // Fill 32 of value (byte) 33
+        Arrays.fill(XML11CHARS, 65008, 65534, (byte) -19 ); // Fill 526 of value (byte) -19
+
+    } // <clinit>()
+
+    //
+    // Public static methods
+    //
+
+    /**
+     * Returns true if the specified character is a space character
+     * as amdended in the XML 1.1 specification.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11Space(int c) {
+        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_SPACE) != 0);
+    } // isXML11Space(int):boolean
+
+    /**
+     * Returns true if the specified character is valid. This method
+     * also checks the surrogate character range from 0x10000 to 0x10FFFF.
+     * <p>
+     * If the program chooses to apply the mask directly to the
+     * <code>XML11CHARS</code> array, then they are responsible for checking
+     * the surrogate character range.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11Valid(int c) {
+        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_VALID) != 0) 
+                || (0x10000 <= c && c <= 0x10FFFF);
+    } // isXML11Valid(int):boolean
+
+    /**
+     * Returns true if the specified character is invalid.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11Invalid(int c) {
+        return !isXML11Valid(c);
+    } // isXML11Invalid(int):boolean
+
+    /**
+     * Returns true if the specified character is valid and permitted outside
+     * of a character reference.  
+     * That is, this method will return false for the same set as
+     * isXML11Valid, except it also reports false for "control characters".
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11ValidLiteral(int c) {
+        return ((c < 0x10000 && ((XML11CHARS[c] & MASK_XML11_VALID) != 0 && (XML11CHARS[c] & MASK_XML11_CONTROL) == 0))
+            || (0x10000 <= c && c <= 0x10FFFF)); 
+    } // isXML11ValidLiteral(int):boolean
+
+    /**
+     * Returns true if the specified character can be considered 
+     * content in an external parsed entity.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11Content(int c) {
+        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_CONTENT) != 0) ||
+               (0x10000 <= c && c <= 0x10FFFF);
+    } // isXML11Content(int):boolean
+    
+    /**
+     * Returns true if the specified character can be considered 
+     * content in an internal parsed entity.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11InternalEntityContent(int c) {
+        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_CONTENT_INTERNAL) != 0) ||
+               (0x10000 <= c && c <= 0x10FFFF);
+    } // isXML11InternalEntityContent(int):boolean
+
+    /**
+     * Returns true if the specified character is a valid name start
+     * character as defined by production [4] in the XML 1.1
+     * specification.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11NameStart(int c) {
+        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_NAME_START) != 0)
+            || (0x10000 <= c && c < 0xF0000);
+    } // isXML11NameStart(int):boolean
+
+    /**
+     * Returns true if the specified character is a valid name
+     * character as defined by production [4a] in the XML 1.1
+     * specification.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11Name(int c) {
+        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_NAME) != 0) 
+            || (c >= 0x10000 && c < 0xF0000);
+    } // isXML11Name(int):boolean
+
+    /**
+     * Returns true if the specified character is a valid NCName start
+     * character as defined by production [4] in Namespaces in XML
+     * 1.1 recommendation.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11NCNameStart(int c) {
+        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_NCNAME_START) != 0)
+            || (0x10000 <= c && c < 0xF0000);
+    } // isXML11NCNameStart(int):boolean
+
+    /**
+     * Returns true if the specified character is a valid NCName
+     * character as defined by production [5] in Namespaces in XML
+     * 1.1 recommendation.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11NCName(int c) {
+        return (c < 0x10000 && (XML11CHARS[c] & MASK_XML11_NCNAME) != 0)
+            || (0x10000 <= c && c < 0xF0000);
+    } // isXML11NCName(int):boolean
+    
+    /**
+     * Returns whether the given character is a valid 
+     * high surrogate for a name character. This includes
+     * all high surrogates for characters [0x10000-0xEFFFF].
+     * In other words everything excluding planes 15 and 16.
+     *
+     * @param c The character to check.
+     */
+    public static boolean isXML11NameHighSurrogate(int c) {
+        return (0xD800 <= c && c <= 0xDB7F);
+    }
+
+    /*
+     * [5] Name ::= NameStartChar NameChar*
+     */
+    /**
+     * Check to see if a string is a valid Name according to [5]
+     * in the XML 1.1 Recommendation
+     *
+     * @param name string to check
+     * @return true if name is a valid Name
+     */
+    public static boolean isXML11ValidName(String name) {
+        int length = name.length();
+        if (length == 0)
+            return false;
+        int i = 1;
+        char ch = name.charAt(0);
+        if( !isXML11NameStart(ch) ) {
+            if ( length > 1 && isXML11NameHighSurrogate(ch) ) {
+                char ch2 = name.charAt(1);
+                if ( !XMLChar.isLowSurrogate(ch2) || 
+                     !isXML11NameStart(XMLChar.supplemental(ch, ch2)) ) {
+                    return false;
+                }
+                i = 2;
+            }
+            else {
+                return false;
+            }
+        }
+        while (i < length) {
+            ch = name.charAt(i);
+            if ( !isXML11Name(ch) ) {
+                if ( ++i < length && isXML11NameHighSurrogate(ch) ) {
+                    char ch2 = name.charAt(i);
+                    if ( !XMLChar.isLowSurrogate(ch2) || 
+                         !isXML11Name(XMLChar.supplemental(ch, ch2)) ) {
+                        return false;
+                    }
+                }
+                else {
+                    return false;
+                }
+            }
+            ++i;
+        }
+        return true;
+    } // isXML11ValidName(String):boolean
+    
+
+    /*
+     * from the namespace 1.1 rec
+     * [4] NCName ::= NCNameStartChar NCNameChar*
+     */
+    /**
+     * Check to see if a string is a valid NCName according to [4]
+     * from the XML Namespaces 1.1 Recommendation
+     *
+     * @param ncName string to check
+     * @return true if name is a valid NCName
+     */
+    public static boolean isXML11ValidNCName(String ncName) {
+        int length = ncName.length();
+        if (length == 0)
+            return false;
+        int i = 1;
+        char ch = ncName.charAt(0);
+        if( !isXML11NCNameStart(ch) ) {
+            if ( length > 1 && isXML11NameHighSurrogate(ch) ) {
+                char ch2 = ncName.charAt(1);
+                if ( !XMLChar.isLowSurrogate(ch2) || 
+                     !isXML11NCNameStart(XMLChar.supplemental(ch, ch2)) ) {
+                    return false;
+                }
+                i = 2;
+            }
+            else {
+                return false;
+            }
+        }
+        while (i < length) {
+            ch = ncName.charAt(i);
+            if ( !isXML11NCName(ch) ) {
+                if ( ++i < length && isXML11NameHighSurrogate(ch) ) {
+                    char ch2 = ncName.charAt(i);
+                    if ( !XMLChar.isLowSurrogate(ch2) || 
+                         !isXML11NCName(XMLChar.supplemental(ch, ch2)) ) {
+                        return false;
+                    }
+                }
+                else {
+                    return false;
+                }
+            }
+            ++i;
+        }
+        return true;
+    } // isXML11ValidNCName(String):boolean
+
+    /*
+     * [7] Nmtoken ::= (NameChar)+
+     */
+    /**
+     * Check to see if a string is a valid Nmtoken according to [7]
+     * in the XML 1.1 Recommendation
+     *
+     * @param nmtoken string to check
+     * @return true if nmtoken is a valid Nmtoken 
+     */
+    public static boolean isXML11ValidNmtoken(String nmtoken) {
+        int length = nmtoken.length();
+        if (length == 0)
+            return false;
+        for (int i = 0; i < length; ++i ) {
+            char ch = nmtoken.charAt(i);
+            if( !isXML11Name(ch) ) {
+                if ( ++i < length && isXML11NameHighSurrogate(ch) ) {
+                    char ch2 = nmtoken.charAt(i);
+                    if ( !XMLChar.isLowSurrogate(ch2) || 
+                         !isXML11Name(XMLChar.supplemental(ch, ch2)) ) {
+                        return false;
+                    }
+                }
+                else {
+                    return false;
+                }
+            }
+        }
+        return true;
+    } // isXML11ValidName(String):boolean
+
+} // class XML11Char
+

Propchange: xalan/java/trunk/src/org/apache/xml/serializer/utils/XML11Char.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xalan/java/trunk/src/org/apache/xml/serializer/utils/XML11Char.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision



---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org