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


BadMessageKey = Hittar inte felmeddelandet som motsvarar meddelandenyckeln.
FormatFailed = Ett internt fel intr\u00E4ffade vid formatering av f\u00F6ljande meddelande:\n

# JAXP messages
schema-not-supported = Angivet schemaspr\u00E5k st\u00F6ds inte.
jaxp-order-not-supported = Egenskapen ''{0}'' m\u00E5ste anges f\u00F6re inst\u00E4llning av egenskapen ''{1}''. 
schema-already-specified = Egenskapen ''{0}'' kan inte anges om ett Schema-objekt som \u00E4r icke-null redan har angetts.

# feature messages
feature-not-supported = Funktionen ''{0}'' st\u00F6ds inte.
feature-not-recognized = Funktionen ''{0}'' \u00E4r ok\u00E4nd.
true-not-supported = True-tillst\u00E5nd f\u00F6r funktionen ''{0}'' st\u00F6ds inte.
false-not-supported = False-tillst\u00E5nd f\u00F6r funktionen ''{0}'' st\u00F6ds inte.
feature-read-only = Funktionen ''{0}'' \u00E4r skrivskyddad.
jaxp-secureprocessing-feature = FEATURE_SECURE_PROCESSING: Funktionen kan inte anges till false om s\u00E4kerhetshanteraren anv\u00E4nds.

# property messages
property-not-supported = Egenskapen ''{0}'' st\u00F6ds inte.
property-not-recognized = Egenskapen ''{0}'' \u00E4r ok\u00E4nd.
property-read-only = Egenskapen ''{0}'' \u00E4r skrivskyddad.
property-not-parsing-supported = Egenskapen ''{0}'' st\u00F6ds inte vid tolkning.
dom-node-read-not-supported = Kan inte l\u00E4sa egenskap f\u00F6r DOM-nod. Det finns inget DOM-tr\u00E4d.
incompatible-class = V\u00E4rdet angivet f\u00F6r egenskapen ''{0}'' kan inte omvandlas till {1}.

start-document-not-called=Egenskapen "{0}" b\u00F6r anropas efter startDocument-h\u00E4ndelsen utl\u00F6ses
nullparameter=namnparametern f\u00F6r "{0}" \u00E4r null
errorHandlerNotSet=Varning: valideringen startades, men det fanns ingen angiven org.xml.sax.ErrorHandler. Parser anv\u00E4nder ErrorHandler av standardtyp vid utskrift av de f\u00F6rsta {0} felen. Korrigera felet genom anrop av setErrorHandler-metoden.
errorHandlerDebugMsg=Fel: URI = "{0}", Rad = "{1}", : {2} 
