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

BadMessageKey = Die zum Meldungsschl\u00FCssel geh\u00F6rige Fehlermeldung kann nicht gefunden werden.
FormatFailed = Beim Formatieren der folgenden Meldung ist ein interner Fehler aufgetreten:\n  

# DOM Core

# exception codes
DOMSTRING_SIZE_ERR = Der angegebene Textbereich passt nicht in eine DOMString. 
HIERARCHY_REQUEST_ERR  = Es wurde versucht, einen Knoten an einer Stelle einzuf\u00FCgen, an der dies nicht zul\u00E4ssig ist. 
INDEX_SIZE_ERR = Index oder Gr\u00F6\u00DFe ist negativ oder gr\u00F6\u00DFer als der zul\u00E4ssige Wert.
INUSE_ATTRIBUTE_ERR = Es wurde versucht, ein Attribut hinzuzuf\u00FCgen, das bereits an einer anderen Stelle verwendet wird.
INVALID_ACCESS_ERR  = Ein Parameter oder Vorgang wird nicht vom zugrunde liegenden Objekt unterst\u00FCtzt. 
INVALID_CHARACTER_ERR = Ung\u00FCltiges XML-Zeichen angegeben. 
INVALID_MODIFICATION_ERR =  Es wurde versucht, den Typ des zugrunde liegenden Objekts zu \u00E4ndern. 
INVALID_STATE_ERR = Es wurde versucht, ein Objekt zu \u00E4ndern, das nicht verwendet werden kann. 
NAMESPACE_ERR = Es wurde versucht, ein Objekt auf eine Weise zu erstellen oder zu \u00E4ndern, die falsch in Bezug auf Namespaces ist.
NOT_FOUND_ERR = Es wurde versucht, einen Knoten in einem Kontext zu referenzieren, in dem er nicht vorhanden ist.
NOT_SUPPORTED_ERR = Der angeforderte Typ des Objekts oder Vorgangs wird nicht von der Implementierung unterst\u00FCtzt. 
NO_DATA_ALLOWED_ERR = Daten wurden f\u00FCr einen Knoten angegeben, der keine Daten unterst\u00FCtzt.
NO_MODIFICATION_ALLOWED_ERR = Es wurde versucht, ein Objekt zu \u00E4ndern, bei dem \u00C4nderungen nicht zul\u00E4ssig sind.
SYNTAX_ERR = Ung\u00FCltige Zeichenfolge angegeben. 
VALIDATION_ERR = Aufruf einer Methode wie insertBefore oder removeChild w\u00FCrde die Dokumentgrammatik des Knotens ung\u00FCltig machen.
WRONG_DOCUMENT_ERR = Ein Knoten wird in einem anderen Dokument verwendet als dem, von dem er erstellt wurde.
TYPE_MISMATCH_ERR = Der Werttyp f\u00FCr diesen Parameternamen ist nicht mit dem erwarteten Werttyp kompatibel. 
 
#error messages or exceptions
FEATURE_NOT_SUPPORTED = Parameter {0} wird erkannt, aber der angeforderte Wert kann nicht festgelegt werden.
FEATURE_NOT_FOUND = Parameter {0} ist unbekannt.
STRING_TOO_LONG   = Die resultierende Zeichenfolge ist zu lang, um in eine DOMString zupassen: "{0}".

#DOM Level 3 DOMError codes
wf-invalid-character =  Text {0} des {1}-Knotens enth\u00E4lt ung\u00FCltige XML-Zeichen.
wf-invalid-character-in-node-name = {0}-Knoten mit dem Namen {1} enth\u00E4lt ung\u00FCltige XML-Zeichen.
cdata-sections-splitted =  CDATA-Abschnitt mit dem CDATA-Abschnittsabschlusszeichen "]]>"
doctype-not-allowed = DOCTYPE-Deklaration ist nicht zul\u00E4ssig.
unsupported-encoding = Codierung {0} wird nicht unterst\u00FCtzt.

#Error codes used in DOM Normalizer
InvalidXMLCharInDOM = Ung\u00FCltiges XML-Zeichen (Unicode: 0x{0}) wurde bei der Normalisierung im DOM gefunden.
UndeclaredEntRefInAttrValue = Attribut "{0}" Wert "{1}" referenzierte eine nicht deklarierte Entity.
NullLocalElementName = Lokaler Nullname wurde bei der Namespace-Normalisierung von Element {0} gefunden.
NullLocalAttrName = Lokaler Nullname wurde bei der Namespace-Normalisierung von Attribut {0} gefunden.

#Error codes used in DOMParser
InvalidDocumentClassName = Der Klassenname der Dokument-Factory "{0}", mit dem der DOM-Baum erstellt wurde, hat nicht den Typ org.w3c.dom.Document.
MissingDocumentClassName = Der Klassenname der Dokument-Factory "{0}", mit dem der DOM-Baum erstellt wurde, konnte nicht gefunden werden.
CannotCreateDocumentClass = Die Klasse mit dem Namen "{0}" konnte nicht als org.w3c.dom.Document erstellt werden.

# Error codes used by JAXP DocumentBuilder
jaxp-order-not-supported = Eigenschaft "{0}" muss vor der Eigenschaft "{1}" festgelegt werden.
jaxp-null-input-source = Angegebene Quelle darf nicht null sein.

#Ranges
BAD_BOUNDARYPOINTS_ERR = Grenzwerte eines Bereichs entsprechen nicht den speziellen Anforderungen.
INVALID_NODE_TYPE_ERR = Container eines Grenzwertes eines Bereichs wird entweder auf einen Knoten mit einem ung\u00FCltigen Typ oder auf einen Knoten mit einem Vorg\u00E4nge eines ung\u00FCltigen Typs gesetzt.


#Events
UNSPECIFIED_EVENT_TYPE_ERR = Der Ereignistyp wurde nicht durch Initialisieren des Ereignisses vor dem Aufruf der Methode angegeben. 


jaxp-schema-support=setSchema-Methode und schemaLanguage-Eigenschaft werden verwendet

jaxp_feature_not_supported=Feature "{0}" wird nicht unterst\u00FCtzt.
