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


BadMessageKey = No se ha encontrado el mensaje de error correspondiente a la clave de mensaje.
FormatFailed = Se ha producido un error interno al formatear el siguiente mensaje:\n

# JAXP messages
schema-not-supported = El idioma del esquema especificado no est\u00E1 soportado.
jaxp-order-not-supported = La propiedad ''{0}'' debe definirse antes de definir la propiedad ''{1}''. 
schema-already-specified = La propiedad ''{0}'' no puede definirse cuando un objeto de esquema no nulo ya se haya especificado.

# feature messages
feature-not-supported = La funci\u00F3n "{0}" no est\u00E1 soportada.
feature-not-recognized = La funci\u00F3n "{0}" no se ha reconocido.
true-not-supported = El estado true para la funci\u00F3n ''{0}'' no est\u00E1 soportado.
false-not-supported = El estado false para la funci\u00F3n ''{0}'' no est\u00E1 soportado.
feature-read-only = La funci\u00F3n "{0}" es de s\u00F3lo lectura.
jaxp-secureprocessing-feature = FEATURE_SECURE_PROCESSING: no se puede definir la funci\u00F3n en false cuando est\u00E1 presente el gestor de seguridad.

# property messages
property-not-supported = La propiedad "{0}" no est\u00E1 soportada.
property-not-recognized = La propiedad "{0}" no se ha reconocido.
property-read-only = La propiedad "{0}" es de s\u00F3lo lectura.
property-not-parsing-supported = La propiedad "{0}" no est\u00E1 soportada durante el an\u00E1lisis.
dom-node-read-not-supported = No se puede leer la propiedad del nodo DOM. No existe el \u00E1rbol DOM.
incompatible-class = El valor especificado para la propiedad ''{0}'' no se puede convertir en {1}.

start-document-not-called=La propiedad "{0}" debe llamarse despu\u00E9s de que se haya devuelto el evento startDocument
nullparameter=el par\u00E1metro de nombre para "{0}" es nulo
errorHandlerNotSet=Advertencia: se activ\u00F3 la validaci\u00F3n pero no se defini\u00F3 un org.xml.sax.ErrorHandler, lo cual probablemente sea un resultado no deseado. El analizador utilizar\u00E1 un ErrorHandler por defecto para imprimir los primeros {0} errores. Llame al m\u00E9todo ''setErrorHandler'' para solucionarlo.
errorHandlerDebugMsg=Error: URI = "{0}", L\u00EDnea = "{1}", : {2} 
