#
# Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

#
# English diagnostic messages (and fragments) for Sun's XML parser.
#
# P-NNN ... parser messages
# F-NNN ... message fragments (sometimes associated with more
#               than one message, but usually just with one)
# V-NNN ... validation related messages
#
# Most messages can be produced in only one way.
#


#
# Generic parsing messages, not specific to validation
#
P-000 = No parser input source!
P-001 = Illegal character at end of document, &#x{0};
P-002 = Expansion of entity "&{0};" is not well formed
P-003 = Premature end of input
P-004 = Missing whitespace {0}
P-005 = Only whitespace allowed {0}

        #
        # unadorned "missing whitespace", with P-004 only
        #
        F-000 = after element name declaration
        F-001 = between attribute name and type
        F-002 = after NOTATION type name
        F-003 = between attribute type and default value
        F-004 = after #FIXED
        F-005 = after <!ENTITY declaration
        F-006 = after % in parameter entity declaration
        F-007 = after entity name
        F-008 = before SYSTEM literal URI
        F-009 = after PUBLIC keyword
        # F-010 ... identifier can be reused
        F-011 = after notation name
        # F-012 ... identifier can be reused
        # F-013 ... identifier can be reused

        #
        # in declaration, in "S Name", with P-004 and P-005
        #
        F-014 = before name in <!DOCTYPE declaration
        F-015 = before name in <!ELEMENT declaration
        F-016 = before name in <!ATTLIST declaration
        F-017 = before name in <!ENTITY declaration
        F-018 = before NDATA notation name in <!ENTITY declaration
        F-019 = before name in <!NOTATION declaration

P-006 = Name tokens must not start with "{0}" characters
P-007 = Value must be quoted
P-008 = Next character must be "{0}" {1} {2}

        F-020 = terminating reference to entity
        F-021 = terminating reference to parameter entity
        F-022 = terminating comment
        F-023 = in XML Declaration
        F-024 = terminating internal DTD subset
        F-025 = terminating <!DOCTYPE ...> declaration
        F-026 = after attribute name
        F-027 = terminating element
        F-028 = starting content model for element
        F-029 = starting list of attribute NOTATIONS
        F-030 = beginning condition DTD subset
        F-031 = terminating <!ENTITY ...> declaration
        F-032 = terminating <!NOTATION ...> declaration

P-009 = Illegal character or entity reference syntax

P-010 = Only external parameter entities may use "%{0};" in entity values
P-011 = Illegal parameter entity reference syntax
P-012 = Use "&lt;" for "<" in attribute values
P-013 = Illegal reference to external entity "&{0};" in attribute
P-014 = Reference to undefined entity "&{0};"
P-015 = Expecting quoted value for {0}

        F-033 = PUBLIC identifier
        F-034 = SYSTEM identifier
        F-035 = attribute value {0}

P-016 = Illegal character in PUBLIC identifier:  "{0}"
P-017 = End of entity while processing comment
P-018 = Processing instruction target is missing
P-019 = XML declaration may only begin entities

P-020 = Illegal processing instruction target:  "{0}"
P-021 = End of input inside processing instruction
P-022 = Illegal processing instruction name, or missing whitespace
P-023 = Illegal character "&#x{0};" ({1}) at end of XML Declaration
P-024 = Expected "{0}=..."
P-025 = XML version "{0}" should be declared
P-026 = Illegal XML version string "{0}"
P-027 = XML version "{0}" is recognized, but not "{1}"
P-028 = Internal DTD subset must not have "<![..." constructs
P-029 = Standalone declaration must be "yes" or "no", not "{0}"

P-030 = Whitespace required before attributes
P-031 = Attribute names must not start with "{0}" characters
P-032 = Attribute "{0}" already appeared in this tag
P-033 = Illegal xml:lang value "{0}"
P-034 = Expected "</{0}>" to terminate element starting on line {1}
P-035 = End of entity not allowed; an end tag is missing
P-036 = ">" must terminate <!ELEMENT {0} ...> declaration, not "{1}"
P-037 = Sequence content model must not contain "{0}"
P-038 = Choice content model must not contain "{0}"
P-039 = No content model may contain "{0}"

P-040 = Need right parenthesis or "{1}" in content model, not "{0}"
P-041 = Need right parenthesis, ",", or "|" in content model, not "{0}"
P-042 = Illegal mixed content model for "{0}", next char = &#x{1};
P-043 = Mixed content model for "{0}" must end with ")*", not "{1}"
P-044 = Either an attribute declaration or ">" is expected, not "{0}"
P-045 = Illegal type (starts with "{1}") for attribute "{0}"
P-046 = Need keyword in conditional DTD section
P-047 = Unterminated conditional DTD section
P-048 = Only INCLUDE and IGNORE are allowed, not "{0}"
P-049 = Illegal decimal character reference

P-050 = Illegal hexadecimal character reference
P-051 = Illegal XML character &#x{0};
P-052 = Internal entity "&{0};" has characters after content
P-053 = Unparsed entities such as "&{0};" must not be included
P-054 = Using original entity definition for "&{0};"
P-055 = Relative URI "{0}"; can not be resolved without a document URI
P-056 = URI "{0}" has a fragment ID
P-057 = Need "?>" to terminate XML declaration
P-058 = External entity "&{0};" has characters after content
P-059 = External parameter entity "%{0};" has characters after markup

P-060 = Illegal character "{0}" in encoding name
P-061 = Declared encoding "{0}" does not match actual one "{1}"; \
        this might not be an error
P-062 = Notation must be PUBLIC or SYSTEM
P-063 = Using first definition of notation "{0}"
P-064 = Premature end of parameter entity "%{0};"
P-065 = Entity Resolver did not provide SYSTEM id; may affect relative URIs
# P-066 ... ID available
P-067 = Document root element is missing
P-068 = Notation name is required
P-069 = Expansion of entity "{0}" is recursive

P-070 = Malformed second part of surrogate pair:  &#x{0};
P-071 = Illegal XML character:  &#x{0};
P-072 = Character data cannot have "]]>"
P-073 = EOF while parsing <![CDATA[ section
P-074 = Illegal Unicode surrogate pair:  &#x{0}; &#x{1};
P-075 = Unsupported encoding: "{0}" (line number may be too low)
P-076 = Character conversion error: "{0}" (line number may be too low)
P-077 = Maximum symbol length ({0} characters) exceeded
P-078 = No messages for locale "{0}" are available
P-079 = The content beginning "<{1}" is not legal markup \
        Perhaps the "{1}" (&#{0};) character should be a letter

P-080 = Parameter entity references must not appear within \
        markup declarations in the internal DTD subset
P-081 = Incomplete Unicode surrogate pair:  &#x{0}

#
# Validation messages, won't normally show up unless validation is
# being performed.  Note that V-022 relates to a spec bug:  there
# are both a WFC and VC on undefined PEs.  If that's a WVC violation
# there's no need for the VC, ever; and "standalone" would then affect
# WF-ness.  For the moment this assumes it's to be a VC not a WFC
#
V-000 = Validation is disabled
V-001 = Valid documents must have a <!DOCTYPE declaration
V-002 = This document is standalone, so it must not refer to "&{0};"
V-003 = Undeclared notation "{0}" is used by an <!ENTITY...> declaration
V-004 = Undeclared notation "{0}" is used by an <!ATTLIST...> declaration
V-005 = Element type "{0}" is not declared
V-006 = Root element type is "{0}", but was declared to be "{1}"
V-007 = Attribute "{0}" is not declared for element "{1}"
V-008 = Attribute "{0}" of element "{1}" must only have value "{2}"
V-009 = Attribute value for "{0}" is #REQUIRED

V-010 = This document is standalone, \
        so attribute "{0}" must not be defaulted
V-011 = This document is standalone, \
        so element "{0}" must not have ignorable whitespace
V-012 = Element "{0}" was already declared
V-013 = Parameter entities must not contain partial declarations
V-014 = Parameter entity nesting error in content model for "{0}"
V-015 = Mixed content model repeats element "{0}"
V-016 = This element already has an ID attribute, "{0}"
V-017 = ID attribute "{0}" must not be #FIXED
V-018 = ID attribute "{0}" must not be defaulted
V-019 = This document is standalone; this attribute needs to be pre-normalized

V-020 = Parameter entities must not contain partial conditional DTD sections
V-021 = Parameter entities must not contain partial comments
V-022 = Reference to undefined parameter entity "%{0};"
V-023 = This document is standalone; this ignorable CDATA whitespace is forbidden
V-024 = No element has an ID attribute with value "{0}"
V-025 = ID values must be XML names; "{0}" is not a name
V-026 = Another element already has an ID attribute with value "{0}"
V-027 = IDREF/IDREFS values must be XML names; "{0}" is not a name
V-028 = NMTOKEN/NMTOKENS values must be XML name tokens; "{0}" is not one
V-029 = Value "{0}" is not one of the enumerated values for this attribute

V-030 = Attribute value "{0}" does not name a notation
V-031 = Attribute value "{0}" does not name an unparsed entity
V-032 = NMTOKENS attributes must have at least one value
V-033 = EMPTY content models must have no content
V-034 = Element "{0}" does not allow "{1}" -- {2}
V-035 = Element "{0}" allows no further input; "{1}" is not allowed
V-036 = Element "{0}" does not allow "{1}" here
V-037 = Element "{0}" does not allow text
V-038 = Element "{0}" requires additional elements
V-039 = IDREFS attributes must have at least one value

V-040 = ENTITIES attributes must have at least one value
