# 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 = No se ha encontrado el mensaje de error que corresponde a la clave de mensaje.
FormatFailed = Se ha producido un error interno al formatear el siguiente mensaje:\n  

# XPointer Framework Error Messages
XPointerProcessingError = XPointerProcessingError: Se ha producido un error al procesar la expresi\u00F3n XPointer.
InvalidXPointerToken = InvalidXPointerToken: La expresi\u00F3n XPointer contiene el token no v\u00E1lido ''{0}''
InvalidXPointerExpression = InvalidXPointerExpression: La expresi\u00F3n XPointer ''{0}'' no es v\u00E1lida.
MultipleShortHandPointers = MultipleShortHandPointers:  La expresi\u00F3n XPointer ''{0}'' no es v\u00E1lida. Tiene m\u00E1s de un puntero abreviado. 
SchemeDataNotFollowedByCloseParenthesis = SchemeDataNotFollowedByCloseParenthesis: La expresi\u00F3n XPointer ''{0}'' no es v\u00E1lida. SchemeData no viene seguido de un car\u00E1cter '')''. 
SchemeUnsupported = SchemeUnsupported: El esquema XPointer ''{0}'' no est\u00E1 soportado.
InvalidShortHandPointer = InvalidShortHandPointer: El valor de NCName del puntero abreviado ''{0}'' no es v\u00E1lido.
UnbalancedParenthesisInXPointerExpression = UnbalancedParenthesisInXPointerExpression: La expresi\u00F3n XPointer ''{0}'' no es v\u00E1lida. El n\u00FAmero de par\u00E9ntesis de apertura ''{1}'' no es igual al n\u00FAmero de par\u00E9ntesis de cierre ''{2}''.
InvalidSchemeDataInXPointer = InvalidSchemeDataInXPointer: La expresi\u00F3n XPointer ''{0}'' contiene un valor de SchemeData no v\u00E1lido.

# XPointer Element Scheme Error Messages
InvalidElementSchemeToken = InvalidElementSchemeToken: La expresi\u00F3n XPointer del esquema de element() contiene el token no v\u00E1lido ''{0}''
InvalidElementSchemeXPointer = InvalidElementSchemeXPointer: La expresi\u00F3n XPointer del esquema de elemento ''{0}'' no es v\u00E1lida.
XPointerElementSchemeProcessingError = XPointerElementSchemeProcessingError: Se ha producido un error al procesar la expresi\u00F3n de esquema XPointer element().
InvalidNCNameInElementSchemeData = InvalidNCNameInElementSchemeData: El esquema element() contiene un puntero abreviado ''{0}'' con un valor de NCName no v\u00E1lido.
InvalidChildSequenceCharacter = InvalidChildSequenceCharacter: El esquema element() contiene un car\u00E1cter de secuencia secundaria no v\u00E1lido ''{0}''. 
