# This file contains error and warning messages related to XML
# The messages are arranged in key and value tuples in a ListResourceBundle.
#
# @version

        BadMessageKey = The error message corresponding to the message key can not be found.
        FormatFailed = An internal error occurred while formatting the following message:\n  
        
# Document messages
        PrematureEOF=Premature end of file.
# 2.1 Well-Formed XML Documents
        RootElementRequired = The root element is required in a well-formed document.
# 2.2 Characters

        InvalidCharInCDSect = An invalid XML character (Unicode: 0x{0}) was found in the CDATA section.
        InvalidCharInContent = An invalid XML character (Unicode: 0x{0}) was found in the element content of the document.
        TwoColonsInQName = An invalid second ':' was found in the element type or attribute name.
        ColonNotLegalWithNS = A colon is not allowed in the name ''{0}'' when namespaces are enabled.
        InvalidCharInMisc = An invalid XML character (Unicode: 0x{0}) was found in markup after the end of the element content.
        InvalidCharInProlog = An invalid XML character (Unicode: 0x{0}) was found in the prolog of the document.
        InvalidCharInXMLDecl = An invalid XML character (Unicode: 0x{0}) was found in the XML declaration.
# 2.4 Character Data and Markup
        CDEndInContent = The character sequence \"]]>\" must not appear in content unless used to mark the end of a CDATA section.
# 2.7 CDATA Sections
        CDSectUnterminated = The CDATA section must end with \"]]>\".
# 2.8 Prolog and Document Type Declaration
        XMLDeclMustBeFirst = The XML declaration may only appear at the very beginning of the document.
        EqRequiredInXMLDecl = The '' = '' character must follow \"{0}\" in the XML declaration.
        QuoteRequiredInXMLDecl = The value following \"{0}\" in the XML declaration must be a quoted string.
        XMLDeclUnterminated = The XML declaration must end with \"?>\".
        VersionInfoRequired = The version is required in the XML declaration.
        SpaceRequiredBeforeVersionInXMLDecl = White space is required before the version pseudo attribute in the XML declaration.
        SpaceRequiredBeforeEncodingInXMLDecl = White space is required before the encoding pseudo attribute in the XML declaration.
        SpaceRequiredBeforeStandalone = White space is required before the encoding pseudo attribute in the XML declaration.
        MarkupNotRecognizedInProlog = The markup in the document preceding the root element must be well-formed.
        MarkupNotRecognizedInMisc = The markup in the document following the root element must be well-formed.
        AlreadySeenDoctype = Already seen doctype.
        DoctypeNotAllowed = DOCTYPE is disallowed when the feature "http://apache.org/xml/features/disallow-doctype-decl" set to true.
        ContentIllegalInProlog = Content is not allowed in prolog.
        ReferenceIllegalInProlog = Reference is not allowed in prolog.
# Trailing Misc
        ContentIllegalInTrailingMisc=Content is not allowed in trailing section.
        ReferenceIllegalInTrailingMisc=Reference is not allowed in trailing section.
        
# 2.9 Standalone Document Declaration
        SDDeclInvalid = The standalone document declaration value must be \"yes\" or \"no\", not \"{0}\".
        SDDeclNameInvalid = The standalone name in XML declaration may be misspelled.
# 2.12 Language Identification
        XMLLangInvalid = The xml:lang attribute value \"{0}\" is an invalid language identifier.
# 3. Logical Structures
        ETagRequired = The element type \"{0}\" must be terminated by the matching end-tag \"</{0}>\".
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
        ElementUnterminated = Element type \"{0}\" must be followed by either attribute specifications, \">\" or \"/>\".
        EqRequiredInAttribute = Attribute name \"{1}\" associated with an element type \"{0}\" must be followed by the '' = '' character.
        OpenQuoteExpected = Open quote is expected for attribute \"{1}\" associated with an  element type  \"{0}\".
        CloseQuoteExpected = Close quote is expected for attribute \"{1}\" associated with an element type \"{0}\".
        AttributeNotUnique = Attribute \"{1}\" was already specified for element \"{0}\".
        AttributeNSNotUnique = Attribute \"{1}\" bound to namespace \"{2}\" was already specified for element \"{0}\".
        ETagUnterminated = The end-tag for element type \"{0}\" must end with a ''>'' delimiter.
        MarkupNotRecognizedInContent = The content of elements must consist of well-formed character data or markup.
        DoctypeIllegalInContent = A DOCTYPE is not allowed in content.
# 4.1 Character and Entity References
        ReferenceUnterminated = The reference must be terminated by a ';' delimiter.
# 4.3.2 Well-Formed Parsed Entities
        ReferenceNotInOneEntity = The reference must be entirely contained within the same parsed entity.
        ElementEntityMismatch = The element \"{0}\" must start and end within the same entity.
        MarkupEntityMismatch=XML document structures must start and end within the same entity.
        
# Messages common to Document and DTD
# 2.2 Characters
        InvalidCharInAttValue = An invalid XML character (Unicode: 0x{2}) was found in the value of attribute \"{1}\" and element is \"{0}\".
        InvalidCharInComment = An invalid XML character (Unicode: 0x{0}) was found in the comment.
        InvalidCharInPI = An invalid XML character (Unicode: 0x{0}) was found in the processing instruction.
        InvalidCharInInternalSubset = An invalid XML character (Unicode: 0x{0}) was found in the internal subset of the DTD.
        InvalidCharInTextDecl = An invalid XML character (Unicode: 0x{0}) was found in the text declaration.
# 2.3 Common Syntactic Constructs
        QuoteRequiredInAttValue = The value of attribute \"{1}\" must begin with either a single or double quote character.
        LessthanInAttValue = The value of attribute \"{1}\" associated with an element type \"{0}\" must not contain the ''<'' character.
        AttributeValueUnterminated = The value for attribute \"{1}\" must end with the matching quote character.
# 2.5 Comments
        InvalidCommentStart = Comment must start with \"<!--\".
        DashDashInComment = The string \"--\" is not permitted within comments.
        CommentUnterminated = The comment must end with \"-->\".
        COMMENT_NOT_IN_ONE_ENTITY = The comment is not enclosed xin the same entity.
# 2.6 Processing Instructions
        PITargetRequired = The processing instruction must begin with the name of the target.
        SpaceRequiredInPI = White space is required between the processing instruction target and data.
        PIUnterminated = The processing instruction must end with \"?>\".
        ReservedPITarget = The processing instruction target matching \"[xX][mM][lL]\" is not allowed.
        PI_NOT_IN_ONE_ENTITY = The processing instruction is not enclosed in the same entity.
# 2.8 Prolog and Document Type Declaration
        VersionInfoInvalid = Invalid version \"{0}\".
        VersionNotSupported = XML version \"{0}\" is not supported, only XML 1.0 is supported.
        VersionNotSupported11 = XML version \"{0}\" is not supported, only XML 1.0 and XML 1.1 are supported.
        VersionMismatch= An entity cannot include another entity of a later version.
# 4.1 Character and Entity References
        DigitRequiredInCharRef = A decimal representation must immediately follow the \"&#\" in a character reference.
        HexdigitRequiredInCharRef = A hexadecimal representation must immediately follow the \"&#x\" in a character reference.
        SemicolonRequiredInCharRef = The character reference must end with the ';' delimiter.
        InvalidCharRef = Character reference \"&#{0}\" is an invalid XML character.
        NameRequiredInReference = The entity name must immediately follow the '&' in the entity reference.
        SemicolonRequiredInReference = The reference to entity \"{0}\" must end with the '';'' delimiter.
# 4.3.1 The Text Declaration
        TextDeclMustBeFirst = The text declaration may only appear at the very beginning of the external parsed entity.
        EqRequiredInTextDecl = The '' = '' character must follow \"{0}\" in the text declaration.
        QuoteRequiredInTextDecl = The value following \"{0}\" in the text declaration must be a quoted string.
        CloseQuoteMissingInTextDecl = closing quote in the value following \"{0}\" in the text declaration is missing.
        SpaceRequiredBeforeVersionInTextDecl = White space is required before the version pseudo attribute in the text declaration.
        SpaceRequiredBeforeEncodingInTextDecl = White space is required before the encoding pseudo attribute in the text declaration.
        TextDeclUnterminated = The text declaration must end with \"?>\".
        EncodingDeclRequired = The encoding declaration is required in the text declaration.
        NoMorePseudoAttributes = No more pseudo attributes are allowed.
        MorePseudoAttributes = More pseudo attributes are expected.
        PseudoAttrNameExpected = A pseudo attribute name is expected. 
# 4.3.2 Well-Formed Parsed Entities
        CommentNotInOneEntity = The comment must be entirely contained within the same parsed entity.
        PINotInOneEntity = The processing instruction must be entirely contained within the same parsed entity.
# 4.3.3 Character Encoding in Entities
        EncodingDeclInvalid = Invalid encoding name \"{0}\".
        EncodingByteOrderUnsupported = Given byte order for encoding \"{0}\" is not supported.
        InvalidByte = Invalid byte {0} of {1}-byte UTF-8 sequence.
        ExpectedByte = Expected byte {0} of {1}-byte UTF-8 sequence.  
        InvalidHighSurrogate = High surrogate bits in UTF-8 sequence must not exceed 0x10 but found 0x{0}.
        OperationNotSupported = Operation \"{0}\" not supported by {1} reader.
        InvalidASCII = Byte \"{0}\" is not a member of the (7-bit) ASCII character set.
        CharConversionFailure = An entity determined to be in a certain encoding must not contain sequences illegal in that encoding.
        
# DTD Messages
# 2.2 Characters
        InvalidCharInEntityValue = An invalid XML character (Unicode: 0x{0}) was found in the literal entity value.
        InvalidCharInExternalSubset = An invalid XML character (Unicode: 0x{0}) was found in the external subset of the DTD.
        InvalidCharInIgnoreSect = An invalid XML character (Unicode: 0x{0}) was found in the excluded conditional section.
        InvalidCharInPublicID = An invalid XML character (Unicode: 0x{0}) was found in the public identifier.
        InvalidCharInSystemID = An invalid XML character (Unicode: 0x{0}) was found in the system identifier.
# 2.3 Common Syntactic Constructs
        SpaceRequiredAfterSYSTEM = White space is required after keyword SYSTEM in DOCTYPE decl.
        QuoteRequiredInSystemID = The system identifier must begin with either a single or double quote character.
        SystemIDUnterminated = The system identifier must end with the matching quote character.
        SpaceRequiredAfterPUBLIC = White spaces are required after keyword PUBLIC in DOCTYPE decl.
        QuoteRequiredInPublicID = The public identifier must begin with either a single or double quote character.
        PublicIDUnterminated = The public identifier must end with the matching quote character.
        PubidCharIllegal = The character (Unicode: 0x{0}) is not permitted in the public identifier.
        SpaceRequiredBetweenPublicAndSystem = White spaces are required between publicId and systemId.
# 2.8 Prolog and Document Type Declaration
        MSG_SPACE_REQUIRED_BEFORE_ROOT_ELEMENT_TYPE_IN_DOCTYPEDECL = White space is required after \"<!DOCTYPE\" in the document type declaration.
        MSG_ROOT_ELEMENT_TYPE_REQUIRED = The root element type must appear after \"<!DOCTYPE\" in the document type declaration.
        DoctypedeclUnterminated = The document type declaration for root element type \"{0}\" must end with ''>''.
        DoctypedeclNotClosed = The document type declaration for root element type \"{0}\" must be closed with '']''.
        PEReferenceWithinMarkup = The parameter entity reference \"%{0};\" cannot occur within markup in the internal subset of the DTD.
        MSG_MARKUP_NOT_RECOGNIZED_IN_DTD = The markup declarations contained or pointed to by the document type declaration must be well-formed.
# 2.10 White Space Handling
        MSG_XML_SPACE_DECLARATION_ILLEGAL = The attribute declaration for \"xml:space\" must be given as an enumerated type whose only possible values are \"default\" and \"preserve\".
# 3.2 Element Type Declarations
        MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL = White space is required after \"<!ELEMENT\" in the element type declaration.
        MSG_ELEMENT_TYPE_REQUIRED_IN_ELEMENTDECL = The element type is required in the element type declaration.
        MSG_SPACE_REQUIRED_BEFORE_CONTENTSPEC_IN_ELEMENTDECL = White space is required after the element type \"{0}\" in the element type declaration.
        MSG_CONTENTSPEC_REQUIRED_IN_ELEMENTDECL = The constraint is required after the element type \"{0}\" in the element type declaration.
        ElementDeclUnterminated = The declaration for element type \"{0}\" must end with ''>''.
# 3.2.1 Element Content
        MSG_OPEN_PAREN_OR_ELEMENT_TYPE_REQUIRED_IN_CHILDREN = A ''('' character or an element type is required in the declaration of element type \"{0}\".
        MSG_CLOSE_PAREN_REQUIRED_IN_CHILDREN = A '')'' is required in the declaration of element type \"{0}\".
# 3.2.2 Mixed Content
        MSG_ELEMENT_TYPE_REQUIRED_IN_MIXED_CONTENT = An element type is required in the declaration of element type \"{0}\".
        MSG_CLOSE_PAREN_REQUIRED_IN_MIXED = A '')'' is required in the declaration of element type \"{0}\".
        MixedContentUnterminated = The mixed content model \"{0}\" must end with \")*\" when the types of child elements are constrained.
# 3.3 Attribute-List Declarations
        MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ATTLISTDECL = White space is required after \"<!ATTLIST\" in the attribute-list declaration.
        MSG_ELEMENT_TYPE_REQUIRED_IN_ATTLISTDECL = The element type is required in the attribute-list declaration.
        MSG_SPACE_REQUIRED_BEFORE_ATTRIBUTE_NAME_IN_ATTDEF = White space is required before the attribute name in the attribute-list declaration for element \"{0}\".
        AttNameRequiredInAttDef = The attribute name must be specified in the attribute-list declaration for element \"{0}\".
        MSG_SPACE_REQUIRED_BEFORE_ATTTYPE_IN_ATTDEF = White space is required before the attribute type in the declaration of attribute \"{1}\" for element \"{0}\".
        AttTypeRequiredInAttDef = The attribute type is required in the declaration of attribute \"{1}\" for element \"{0}\".
        MSG_SPACE_REQUIRED_BEFORE_DEFAULTDECL_IN_ATTDEF = White space is required before the attribute default in the declaration of attribute \"{1}\" for element \"{0}\".
        MSG_DUPLICATE_ATTRIBUTE_DEFINITION = More than one attribute definition is provided for the same attribute \"{1}\" of a given element \"{0}\".
# 3.3.1 Attribute Types
        MSG_SPACE_REQUIRED_AFTER_NOTATION_IN_NOTATIONTYPE = White space must appear after \"NOTATION\" in the \"{1}\" attribute declaration.
        MSG_OPEN_PAREN_REQUIRED_IN_NOTATIONTYPE = The ''('' character must follow \"NOTATION\" in the \"{1}\" attribute declaration.
        MSG_NAME_REQUIRED_IN_NOTATIONTYPE = The notation name is required in the notation type list for the \"{1}\" attribute declaration.
        NotationTypeUnterminated = The notation type list must end with '')'' in the \"{1}\" attribute declaration.
        MSG_NMTOKEN_REQUIRED_IN_ENUMERATION = The name token is required in the enumerated type list for the \"{1}\" attribute declaration.
        EnumerationUnterminated = The enumerated type list must end with '')'' in the \"{1}\" attribute declaration.
        MSG_DISTINCT_TOKENS_IN_ENUMERATION = The enumeration value \"{1}\" was specified more than once in the declaration of attribute \"{2}\" for element \"{0}\". The NMTOKENS in a single Enumeration attribute declaration must all be distinct.
        MSG_DISTINCT_NOTATION_IN_ENUMERATION = The enumeration value \"{1}\" was specified more than once in the declaration of attribute \"{2}\" for element \"{0}\". The NOTATION names in a single NotationType attribute declaration must all be distinct.
# 3.3.2 Attribute Defaults
        MSG_SPACE_REQUIRED_AFTER_FIXED_IN_DEFAULTDECL = White space must appear after \"FIXED\" in the \"{1}\" attribute declaration.
# 3.4 Conditional Sections
        IncludeSectUnterminated = The included conditional section must end with \"]]>\".
        IgnoreSectUnterminated = The excluded conditional section must end with \"]]>\".
# 4.1 Character and Entity References
        NameRequiredInPEReference = The entity name must immediately follow the '%' in the parameter entity reference.
        SemicolonRequiredInPEReference = The parameter entity reference \"%{0};\" must end with the '';'' delimiter.
# 4.2 Entity Declarations
        MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_ENTITYDECL = White space is required after \"<!ENTITY\" in the entity declaration.
        MSG_SPACE_REQUIRED_BEFORE_PERCENT_IN_PEDECL = White space is required between \"<!ENTITY\" and the '%' character in the parameter entity declaration.
        MSG_SPACE_REQUIRED_BEFORE_ENTITY_NAME_IN_PEDECL = White space is required between the '%' and the entity name in the parameter entity declaration.
        MSG_ENTITY_NAME_REQUIRED_IN_ENTITYDECL = The name of the entity is required in the entity declaration.
        MSG_SPACE_REQUIRED_AFTER_ENTITY_NAME_IN_ENTITYDECL = White space is required between the entity name \"{0}\" and the definition in the entity declaration.
        MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_UNPARSED_ENTITYDECL = White space is required between \"NDATA\" and the notation name in the declaration for the entity \"{0}\".
        MSG_SPACE_REQUIRED_BEFORE_NDATA_IN_UNPARSED_ENTITYDECL = White space is required before \"NDATA\" in the declaration for the entity \"{0}\".
        MSG_NOTATION_NAME_REQUIRED_FOR_UNPARSED_ENTITYDECL = The notation name is required after \"NDATA\" in the declaration for the entity \"{0}\".
        EntityDeclUnterminated = The declaration for the entity \"{0}\" must end with ''>''.
	MSG_DUPLICATE_ENTITY_DEFINITION = Entity \"{0}\" is declared more than once.        
# 4.2.2 External Entities
        ExternalIDRequired = The external entity declaration must begin with either \"SYSTEM\" or \"PUBLIC\".
        MSG_SPACE_REQUIRED_BEFORE_PUBIDLITERAL_IN_EXTERNALID = White space is required between \"PUBLIC\" and the public identifier.
        MSG_SPACE_REQUIRED_AFTER_PUBIDLITERAL_IN_EXTERNALID = White space is required between the public identifier and the system identifier.
        MSG_SPACE_REQUIRED_BEFORE_SYSTEMLITERAL_IN_EXTERNALID = White space is required between \"SYSTEM\" and the system identifier.
        MSG_URI_FRAGMENT_IN_SYSTEMID = The fragment identifier should not be specified as part of the system identifier \"{0}\".
# 4.7 Notation Declarations
        MSG_SPACE_REQUIRED_BEFORE_NOTATION_NAME_IN_NOTATIONDECL = White space is required after \"<!NOTATION\" in the notation declaration.
        MSG_NOTATION_NAME_REQUIRED_IN_NOTATIONDECL = The name of the notation is required in the notation declaration.
        MSG_SPACE_REQUIRED_AFTER_NOTATION_NAME_IN_NOTATIONDECL = White space is required after the notation name \"{0}\" in the notation declaration.
        ExternalIDorPublicIDRequired = The declaration for the notation \"{0}\" must include a system or public identifier.
        NotationDeclUnterminated = The declaration for the notation \"{0}\" must end with ''>''.
        
# Validation messages
        DuplicateTypeInMixedContent = The element type \"{1}\" was already specified in the content model of the element decl \"{0}\".
        ENTITIESInvalid = Attribute value \"{1}\" of type ENTITIES must be the names of one or more unparsed entities.
        ENTITYInvalid = Attribute value \"{1}\" of type ENTITY must be the name of an unparsed entity.
        IDDefaultTypeInvalid = The ID attribute \"{0}\" must have a declared default of \"#IMPLIED\" or \"#REQUIRED\".
        IDInvalid = Attribute value \"{0}\" of type ID must be a name.
        IDInvalidWithNamespaces = Attribute value \"{0}\" of type ID must be an NCName when namespaces are enabled.
        IDNotUnique = Attribute value \"{0}\" of type ID must be unique within the document.
        IDREFInvalid = Attribute value \"{0}\" of type IDREF must be a name.
        IDREFInvalidWithNamespaces = Attribute value \"{0}\" of type IDREF must be an NCName when namespaces are enabled.
        IDREFSInvalid = Attribute value \"{0}\" of type IDREFS must be one or more names.
        ILL_FORMED_PARAMETER_ENTITY_WHEN_USED_IN_DECL = The replacement text of parameter entity \"{0}\" must include properly nested declarations when the entity reference is used as a complete declaration.
        ImproperDeclarationNesting = The replacement text of parameter entity \"{0}\" must include properly nested declarations.
        ImproperGroupNesting = The replacement text of parameter entity \"{0}\" must include properly nested pairs of parentheses.
        INVALID_PE_IN_CONDITIONAL = The replacement text of parameter entity \"{0}\" must include the entire conditional section or just INCLUDE or IGNORE.
        MSG_ATTRIBUTE_NOT_DECLARED = Attribute \"{1}\" must be declared for element type \"{0}\".
        MSG_ATTRIBUTE_VALUE_NOT_IN_LIST = Attribute \"{0}\" with value \"{1}\" must have a value from the list \"{2}\".
        MSG_ATTVALUE_CHANGED_DURING_NORMALIZATION_WHEN_STANDALONE = The value \"{1}\" of attribute \"{0}\" must not be changed by normalization (to \"{2}\") in a standalone document.
        MSG_CONTENT_INCOMPLETE = The content of element type \"{0}\" is incomplete, it must match \"{1}\".
        MSG_CONTENT_INVALID = The content of element type \"{0}\" must match \"{1}\".
        MSG_CONTENT_INVALID_SPECIFIED = The content of element type \"{0}\" must match \"{1}\".  Children of type \"{2}\" are not allowed.
        MSG_DEFAULTED_ATTRIBUTE_NOT_SPECIFIED = Attribute \"{1}\" for element type \"{0}\" has a default value and must be specified in a standalone document.
        MSG_DUPLICATE_ATTDEF = Attribute \"{1}\" is already declared for element type \"{0}\".
        MSG_ELEMENT_ALREADY_DECLARED = Element type \"{0}\" must not be declared more than once.
        MSG_ELEMENT_NOT_DECLARED = Element type \"{0}\" must be declared.
        MSG_GRAMMAR_NOT_FOUND = Document is invalid: no grammar found.
        MSG_ELEMENT_WITH_ID_REQUIRED = An element with the identifier \"{0}\" must appear in the document.
        MSG_EXTERNAL_ENTITY_NOT_PERMITTED = The reference to external entity \"{0}\" is not permitted in a standalone document.
        MSG_FIXED_ATTVALUE_INVALID = Attribute \"{1}\" with value \"{2}\" must have a value of \"{3}\".
        MSG_MORE_THAN_ONE_ID_ATTRIBUTE = Element type \"{0}\" already has attribute \"{1}\" of type ID, a second attribute \"{2}\" of type ID is not permitted.
        MSG_MORE_THAN_ONE_NOTATION_ATTRIBUTE = Element type \"{0}\" already has attribute \"{1}\" of type NOTATION, a second attribute \"{2}\" of type NOTATION is not permitted.
        MSG_NOTATION_NOT_DECLARED_FOR_NOTATIONTYPE_ATTRIBUTE = The notation \"{1}\" must be declared when referenced in the notation type list for attribute \"{0}\".
        MSG_NOTATION_NOT_DECLARED_FOR_UNPARSED_ENTITYDECL = The notation \"{1}\" must be declared when referenced in the unparsed entity declaration for \"{0}\".
        MSG_REFERENCE_TO_EXTERNALLY_DECLARED_ENTITY_WHEN_STANDALONE = The reference to entity \"{0}\" declared in an external parsed entity is not permitted in a standalone document.
        MSG_REQUIRED_ATTRIBUTE_NOT_SPECIFIED = Attribute \"{1}\" is required and must be specified for element type \"{0}\".
        MSG_WHITE_SPACE_IN_ELEMENT_CONTENT_WHEN_STANDALONE = White space must not occur between elements declared in an external parsed entity with element content in a standalone document.
        NMTOKENInvalid = Attribute value \"{0}\" of type NMTOKEN must be a name token.
        NMTOKENSInvalid = Attribute value \"{0}\" of type NMTOKENS must be one or more name tokens.
        NoNotationOnEmptyElement = Element type \"{0}\" which was declared EMPTY cannot declare attribute \"{1}\" of type NOTATION.
        RootElementTypeMustMatchDoctypedecl = Document root element \"{1}\", must match DOCTYPE root \"{0}\".
        UndeclaredElementInContentSpec = The content model of element \"{0}\" refers to the undeclared element \"{1}\".
        UniqueNotationName = The declaration for the notation \"{0}\" is not unique. A given Name must not be declared in more than one notation declaration.
        ENTITYFailedInitializeGrammar =  ENTITYDatatype Validator: Failed Need to call initialize method with a valid Grammar reference. 	
        ENTITYNotUnparsed = ENTITY \"{0}\" is not unparsed.
        ENTITYNotValid = ENTITY \"{0}\" is not valid.
        EmptyList = Value of type ENTITIES, IDREFS, and NMTOKENS cannot be empty list.

# Entity related messages
# 3.1 Start-Tags, End-Tags, and Empty-Element Tags
        ReferenceToExternalEntity = The external entity reference \"&{0};\" is not permitted in an attribute value.
        AccessExternalDTD = External DTD: Failed to read external DTD ''{0}'', because ''{1}'' access is not allowed due to restriction set by the accessExternalDTD property.
        AccessExternalEntity = External Entity: Failed to read external document ''{0}'', because ''{1}'' access is not allowed due to restriction set by the accessExternalDTD property.

# 4.1 Character and Entity References
        EntityNotDeclared = The entity \"{0}\" was referenced, but not declared.
        ReferenceToUnparsedEntity = The unparsed entity reference \"&{0};\" is not permitted.
        RecursiveReference = Recursive entity reference \"{0}\". (Reference path: {1}),
        RecursiveGeneralReference = Recursive general entity reference \"&{0};\". (Reference path: {1}),
        RecursivePEReference = Recursive parameter entity reference \"%{0};\". (Reference path: {1}),
# 4.3.3 Character Encoding in Entities
        EncodingNotSupported = The encoding \"{0}\" is not supported.
        EncodingRequired = A parsed entity not encoded in either UTF-8 or UTF-16 must contain an encoding declaration.
        
# Namespaces support
# 4. Using Qualified Names
        IllegalQName = Element or attribute do not match QName production: QName::=(NCName':')?NCName. 
        ElementXMLNSPrefix = Element \"{0}\" cannot have \"xmlns\" as its prefix.
        ElementPrefixUnbound = The prefix \"{0}\" for element \"{1}\" is not bound.
        AttributePrefixUnbound = The prefix \"{2}\" for attribute \"{1}\" associated with an element type \"{0}\" is not bound.
        EmptyPrefixedAttName = The value of the attribute \"{0}\" is invalid. Prefixed namespace bindings may not be empty.
        PrefixDeclared = The namespace prefix \"{0}\" was not declared.
        CantBindXMLNS = The prefix "xmlns" cannot be bound to any namespace explicitly; neither can the namespace for "xmlns" be bound to any prefix explicitly.
        CantBindXML = The prefix "xml" cannot be bound to any namespace other than its usual namespace; neither can the namespace for "xml" be bound to any prefix other than "xml".
        MSG_ATT_DEFAULT_INVALID = The defaultValue \"{1}\" of attribute \"{0}\" is not legal as for the lexical constraints of this attribute type.

# REVISIT: These need messages
        MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID=MSG_SPACE_REQUIRED_AFTER_SYSTEMLITERAL_IN_EXTERNALID
        OpenQuoteMissingInDecl=OpenQuoteMissingInDecl
        InvalidCharInLiteral=InvalidCharInLiteral


# Implementation limits
        EntityExpansionLimit=JAXP00010001: The parser has encountered more than \"{0}\" entity expansions in this document; this is the limit imposed by the JDK.
        ElementAttributeLimit=JAXP00010002:  Element \"{0}\" has more than \"{1}\" attributes, \"{1}\" is the limit imposed by the JDK.
        MaxEntitySizeLimit=JAXP00010003: The length of entity \"{0}\" is \"{1}\" that exceeds the \"{2}\" limit set by \"{3}\".
        TotalEntitySizeLimit=JAXP00010004: The accumulated size of entities is \"{0}\" that exceeded the \"{1}\" limit set by \"{2}\".
        MaxXMLNameLimit=JAXP00010005: The length of entity \"{0}\" is \"{1}\" that exceeds the \"{2}\" limit set by \"{3}\".
        MaxElementDepthLimit=JAXP00010006: The element \"{0}\" has a depth of \"{1}\" that exceeds the limit \"{2}\" set by \"{3}\".
        EntityReplacementLimit=JAXP00010007: The total number of nodes in entity references is \"{0}\" that is over the limit \"{1}\" set by \"{2}\".

