#
# Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code 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 the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

# This file stores localized messages for the Xerces
# DOM implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.

        BadMessageKey = \u627E\u4E0D\u5230\u5C0D\u61C9\u8A0A\u606F\u7D22\u5F15\u9375\u7684\u932F\u8AA4\u8A0A\u606F\u3002
        FormatFailed = \u683C\u5F0F\u5316\u4E0B\u5217\u8A0A\u606F\u6642\u767C\u751F\u5167\u90E8\u932F\u8AA4:\n

# DOM Core

# exception codes
DOMSTRING_SIZE_ERR = \u6307\u5B9A\u7684\u6587\u5B57\u7BC4\u570D\u7121\u6CD5\u7D0D\u5165 DOMString\u3002
HIERARCHY_REQUEST_ERR  = \u5617\u8A66\u5728\u4E0D\u5141\u8A31\u7684\u4F4D\u7F6E\u63D2\u5165\u7BC0\u9EDE\u3002
INDEX_SIZE_ERR = \u7D22\u5F15\u6216\u5927\u5C0F\u70BA\u8CA0\u503C\uFF0C\u6216\u662F\u5927\u65BC\u5141\u8A31\u7684\u503C\u3002
INUSE_ATTRIBUTE_ERR = \u5617\u8A66\u65B0\u589E\u5DF2\u7D93\u5728\u4ED6\u8655\u4F7F\u7528\u7684\u5C6C\u6027\u3002
INVALID_ACCESS_ERR  = \u5E95\u5C64\u7269\u4EF6\u4E0D\u652F\u63F4\u7684\u53C3\u6578\u6216\u4F5C\u696D\u3002
INVALID_CHARACTER_ERR = \u6307\u5B9A\u4E86\u7121\u6548\u7684 XML \u5B57\u5143\u3002
INVALID_MODIFICATION_ERR =  \u5617\u8A66\u4FEE\u6539\u5E95\u5C64\u7269\u4EF6\u7684\u985E\u578B\u3002
INVALID_STATE_ERR = \u5617\u8A66\u4F7F\u7528\u4E0D\u53EF\u7528\u6216\u7121\u6CD5\u518D\u4F7F\u7528\u7684\u7269\u4EF6\u3002
NAMESPACE_ERR = \u5C0D\u65BC\u547D\u540D\u7A7A\u9593\u800C\u8A00\uFF0C\u5617\u8A66\u4F7F\u7528\u4E0D\u6B63\u78BA\u7684\u65B9\u5F0F\u4F86\u5EFA\u7ACB\u6216\u8B8A\u66F4\u7269\u4EF6\u3002
NOT_FOUND_ERR = \u5617\u8A66\u5728\u76F8\u95DC\u8CC7\u8A0A\u74B0\u5883\u4E2D\u53C3\u7167\u4E0D\u5B58\u5728\u7684\u7BC0\u9EDE\u3002
NOT_SUPPORTED_ERR = \u5BE6\u884C\u4E0D\u652F\u63F4\u8981\u6C42\u7684\u7269\u4EF6\u6216\u4F5C\u696D\u985E\u578B\u3002
NO_DATA_ALLOWED_ERR = \u70BA\u4E0D\u652F\u63F4\u8CC7\u6599\u7684\u7BC0\u9EDE\u6307\u5B9A\u4E86\u8CC7\u6599\u3002
NO_MODIFICATION_ALLOWED_ERR = \u5617\u8A66\u4FEE\u6539\u4E0D\u5141\u8A31\u4FEE\u6539\u7684\u7269\u4EF6\u3002
SYNTAX_ERR = \u6307\u5B9A\u4E86\u7121\u6548\u7684\u5B57\u4E32\u3002
VALIDATION_ERR = \u5C0D\u65BC\u6587\u4EF6\u6587\u6CD5\u800C\u8A00\uFF0C\u547C\u53EB insertBefore \u6216 removeChild \u4E4B\u985E\u7684\u65B9\u6CD5\uFF0C\u6703\u4F7F\u5F97\u7BC0\u9EDE\u7121\u6548\u3002
WRONG_DOCUMENT_ERR = \u7BC0\u9EDE\u7528\u5728\u6709\u5225\u65BC\u5EFA\u7ACB\u8A72\u7BC0\u9EDE\u6587\u4EF6\u7684\u4E0D\u540C\u6587\u4EF6\u3002
TYPE_MISMATCH_ERR = \u6B64\u53C3\u6578\u540D\u7A31\u7684\u503C\u985E\u578B\u8207\u9810\u671F\u7684\u503C\u985E\u578B\u4E0D\u76F8\u5BB9\u3002
 
#error messages or exceptions
FEATURE_NOT_SUPPORTED = \u53EF\u8FA8\u8B58\u53C3\u6578 {0}\uFF0C\u4F46\u7121\u6CD5\u8A2D\u5B9A\u8981\u6C42\u7684\u503C\u3002
FEATURE_NOT_FOUND = \u7121\u6CD5\u8FA8\u8B58\u53C3\u6578 {0}\u3002
STRING_TOO_LONG   = \u7D50\u679C\u5B57\u4E32\u592A\u9577\uFF0C\u7121\u6CD5\u7D0D\u5165 DOMString: ''{0}''\u3002

#DOM Level 3 DOMError codes
wf-invalid-character =  {1} \u7BC0\u9EDE\u7684\u6587\u5B57 {0} \u5305\u542B\u7121\u6548\u7684 XML \u5B57\u5143\u3002
wf-invalid-character-in-node-name = \u540D\u7A31\u70BA {1} \u7684 {0} \u7BC0\u9EDE\u5305\u542B\u7121\u6548\u7684 XML \u5B57\u5143\u3002
cdata-sections-splitted =  \u5305\u542B CDATA \u6BB5\u843D\u7D42\u6B62\u6A19\u8A18 '']]>'' \u7684 CDATA \u6BB5\u843D
doctype-not-allowed = \u4E0D\u5141\u8A31 DOCTYPE \u5BA3\u544A\u3002
unsupported-encoding = \u4E0D\u652F\u63F4\u7DE8\u78BC {0}\u3002

#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = \u6B63\u898F\u5316\u671F\u9593\u5728 DOM \u4E2D\u627E\u5230\u7121\u6548\u7684 XML \u5B57\u5143 (Unicode: 0x{0})\u3002
UndeclaredEntRefInAttrValue = \u5C6C\u6027 "{0}" \u503C "{1}" \u53C3\u7167\u672A\u5BA3\u544A\u7684\u5BE6\u9AD4\u3002
NullLocalElementName = \u5143\u7D20 {0} \u547D\u540D\u7A7A\u9593\u6B63\u898F\u5316\u671F\u9593\uFF0C\u51FA\u73FE\u7A7A\u503C\u5340\u57DF\u540D\u7A31\u3002
NullLocalAttrName = \u5C6C\u6027 {0} \u547D\u540D\u7A7A\u9593\u6B63\u898F\u5316\u671F\u9593\uFF0C\u51FA\u73FE\u7A7A\u503C\u5340\u57DF\u540D\u7A31\u3002

#Error codes used in DOMParser
InvalidDocumentClassName = \u7528\u65BC\u5EFA\u69CB DOM \u6A39\u72C0\u7D50\u69CB\u7684\u6587\u4EF6\u8655\u7406\u7AD9 "{0}" \u985E\u5225\u540D\u7A31\u4E26\u975E\u985E\u578B org.w3c.dom.Document\u3002
MissingDocumentClassName = \u627E\u4E0D\u5230\u7528\u65BC\u5EFA\u69CB DOM \u6A39\u72C0\u7D50\u69CB\u7684\u6587\u4EF6\u8655\u7406\u7AD9 "{0}" \u985E\u5225\u540D\u7A31\u3002
CannotCreateDocumentClass = \u540D\u7A31\u70BA "{0}" \u7684\u985E\u5225\u7121\u6CD5\u5EFA\u69CB\u70BA org.w3c.dom.Document\u3002

# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = \u8A2D\u5B9A\u5C6C\u6027 ''{1}'' \u4E4B\u524D\uFF0C\u5FC5\u9808\u8A2D\u5B9A\u5C6C\u6027 ''{0}''\u3002
jaxp-null-input-source = \u6307\u5B9A\u7684\u4F86\u6E90\u4E0D\u53EF\u70BA\u7A7A\u503C\u3002

#Ranges
BAD_BOUNDARYPOINTS_ERR = \u7BC4\u570D\u7684\u754C\u9650\u9EDE\u4E0D\u7B26\u5408\u7279\u5B9A\u7684\u9700\u6C42\u3002
INVALID_NODE_TYPE_ERR = \u7BC4\u570D\u7684\u754C\u9650\u9EDE\u5BB9\u5668\u88AB\u8A2D\u70BA\u7121\u6548\u985E\u578B\u7684\u7BC0\u9EDE\uFF0C\u6216\u662F\u7956\u7CFB\u70BA\u7121\u6548\u985E\u578B\u7684\u7BC0\u9EDE\u3002


#Events
UNSPECIFIED_EVENT_TYPE_ERR = \u547C\u53EB\u65B9\u6CD5\u4E4B\u524D\u8D77\u59CB\u4E8B\u4EF6\uFF0C\u4E0D\u6703\u6307\u5B9A\u4E8B\u4EF6\u7684\u985E\u578B\u3002


jaxp-schema-support=\u540C\u6642\u4F7F\u7528 setSchema \u65B9\u6CD5\u8207 schemaLanguage \u5C6C\u6027

jaxp_feature_not_supported=\u4E0D\u652F\u63F4\u529F\u80FD "{0}"\u3002
