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

# Messages for message reporting
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

# XPointer Framework Error Messages
XPointerProcessingError = XPointerProcessingError: \u8655\u7406 XPointer \u8868\u793A\u5F0F\u6642\u767C\u751F\u932F\u8AA4\u3002
InvalidXPointerToken = InvalidXPointerToken: XPointer \u8868\u793A\u5F0F\u5305\u542B\u7121\u6548\u8A18\u865F ''{0}''
InvalidXPointerExpression = InvalidXPointerExpression: XPointer \u8868\u793A\u5F0F ''{0}'' \u7121\u6548\u3002
MultipleShortHandPointers = MultipleShortHandPointers: XPointer \u8868\u793A\u5F0F ''{0}'' \u7121\u6548\u3002\u5B83\u5177\u6709\u8D85\u904E\u4E00\u500B\u4EE5\u4E0A\u7684 ShortHand \u6307\u6A19\u3002
SchemeDataNotFollowedByCloseParenthesis = SchemeDataNotFollowedByCloseParenthesis: XPointer \u8868\u793A\u5F0F ''{0}'' \u7121\u6548\u3002\u7DCA\u63A5\u5728 SchemeData \u4E4B\u5F8C\u4E0D\u662F '')'' \u5B57\u5143\u3002
SchemeUnsupported = SchemeUnsupported: \u4E0D\u652F\u63F4 XPointer \u914D\u7F6E ''{0}''\u3002
InvalidShortHandPointer = InvalidShortHandPointer: ShortHand \u6307\u6A19 ''{0}'' \u7684 NCName \u7121\u6548\u3002
UnbalancedParenthesisInXPointerExpression = UnbalancedParenthesisInXPointerExpression: XPointer \u8868\u793A\u5F0F ''{0}'' \u7121\u6548\u3002\u5DE6\u62EC\u865F\u7684\u6578\u76EE ''{1}'' \u4E0D\u7B49\u65BC\u53F3\u62EC\u865F\u7684\u6578\u76EE ''{2}''\u3002
InvalidSchemeDataInXPointer = InvalidSchemeDataInXPointer: XPointer \u8868\u793A\u5F0F ''{0}'' \u5305\u542B\u7121\u6548\u7684 SchemeData\u3002

# XPointer Element Scheme Error Messages
InvalidElementSchemeToken = InvalidElementSchemeToken: element() \u914D\u7F6E XPointer \u8868\u793A\u5F0F\u5305\u542B\u7121\u6548\u8A18\u865F ''{0}''
InvalidElementSchemeXPointer = InvalidElementSchemeXPointer: \u5143\u7D20\u914D\u7F6E XPointer \u8868\u793A\u5F0F ''{0}'' \u7121\u6548\u3002
XPointerElementSchemeProcessingError = XPointerElementSchemeProcessingError: \u8655\u7406 XPointer element() \u914D\u7F6E\u8868\u793A\u5F0F\u6642\u767C\u751F\u932F\u8AA4\u3002
InvalidNCNameInElementSchemeData = InvalidNCNameInElementSchemeData: element() \u914D\u7F6E\u5305\u542B\u5177\u6709\u7121\u6548 NCName \u7684 ShortHand \u6307\u6A19 ''{0}''\u3002
InvalidChildSequenceCharacter = InvalidChildSequenceCharacter: element() \u914D\u7F6E\u5305\u542B\u7121\u6548\u5B50\u9805\u9806\u5E8F\u5B57\u5143 ''{0}''\u3002
