# /**
#  * Copyright (c) 2002-2009 IBM Corporation and others.
#  * All rights reserved.   This program and the accompanying materials
#  * are made available under the terms of the Eclipse Public License v1.0
#  * which accompanies this distribution, and is available at
#  * http://www.eclipse.org/legal/epl-v10.html
#  * 
#  * Contributors: 
#  *   IBM - Initial API and implementation
#  */

# NLS_MESSAGEFORMAT_VAR

pluginName = XSD Model
providerName = Eclipse Modeling Project

_EXC_CompareNotSupported = Order comparison is not supported for the simple type

_UI_DiagnosticFileLineColumn_message = {0}: URI {1} Line {2} Column {3}

_UI_IOError_message = IO: {0}
_UI_ParserError_message = DOM: {0}
_UI_XSDError_message = XSD: {0}

_UI_ResourceLoad_progress = Loading XML Schemas 
_UI_XML_SCHEMA_name = XML Schema 

_UI_XMLSchemaDiagnostic_marker = XML Schema Problem

_UI_XSDDiagnosticSeverity_fatal = Fatal
_UI_XSDDiagnosticSeverity_error = Error
_UI_XSDDiagnosticSeverity_warning = Warning
_UI_XSDDiagnosticSeverity_information = Information

_UI_UnresolvedAttributeDeclaration_message = Attribute reference ''{0}'' is unresolved
_UI_UnresolvedAttributeGroupDefinition_message = Attribute group reference ''{0}'' is unresolved
_UI_UnresolvedElementDeclaration_message = Element reference ''{0}'' is unresolved
_UI_UnresolvedIdentityConstraintDefinition_message = Key reference ''{0}'' is unresolved
_UI_UnresolvedModelGroupDefinition_message = Model group reference ''{0}'' is unresolved
_UI_UnresolvedTypeDefinition_message = Type reference ''{0}'' is unresolved
_UI_UnresolvedSchemaDirective_message = The schema directive failed to resolve ''{0}''

cvc-complex-type.3 = The attribute ''{0}'' is not permitted
cvc-complex-type.4 = The attribute ''{0}'' is required
cvc-datatype-valid.1.2.1 = The value ''{0}'' of {1} ''{2}'' must be of type ''{3}''
cvc-enumeration-valid = The value ''{0}'' of {1} ''{2}'' must be one of {3} as constrained by ''{4}''
cvc-fractionDigits-valid= The value ''{0}'' of {1} ''{2}'' must have at most {3} fraction digits as constrained by ''{4}''
cvc-length-valid = The value ''{0}'' of {1} ''{2}'' must have length {3} as constrained by ''{4}''
cvc-maxExclusive-valid = The value ''{0}'' of {1} ''{2}'' must be less than ''{3}'' as constrained by ''{4}''
cvc-maxInclusive-valid = The value ''{0}'' of {1} ''{2}'' must be less than or equal to ''{3}'' as constrained by ''{4}''
cvc-maxLength-valid = The value ''{0}'' of {1} ''{2}'' must have length at most {3} as constrained by ''{4}''
cvc-minExclusive-valid = The value ''{0}'' of {1} ''{2}'' must be greater than ''{3}'' as constrained by ''{4}''
cvc-minInclusive-valid = The value ''{0}'' of {1} ''{2}'' must be greater than or equal to ''{3}'' as constrained by ''{4}''
cvc-minLength-valid = The value ''{0}'' of {1} ''{2}'' must have length at least {3} as constrained by ''{4}''
cvc-pattern-valid = The value ''{0}'' of {1} ''{2}'' must conform to pattern ''{3}'' as constrained by ''{4}''
cvc-totalDigits-valid= The value ''{0}'' of {1} ''{2}'' must have at most {3} digits as constrained by ''{4}''
cvc-datatype-valid.1.2.3 = The value ''{0}'' of {1} ''{2}'' must be of one of the members types of ''{3}''

st-props-correct.2 = The type is circularly defined

dt-regex = The regular expression ''{0}'' failed to validate{1,choice,-1#|0# at location {1}}: {2}

cos-applicable-facets = The {0} facet is not permitted in a type based on ''{1}''
cos-list-of-atomic = The item type of the list is not atomic or union
cos-no-circular-unions = The union type is circularly defined
cos-valid-default.2.2.2 = An element with a value constraint must have simple content, or mixed, emptiable content
cos-ct-derived-ok = The base type ''{0}'' has a derivation method excluded by the substitution group
cos-ct-extends.1.1 = The base type ''{0}'' is final for extension
cos-ct-extends.1.2.1 = The attribute ''{0}'' must present as in the base
cos-ct-extends.1.2.2 = The attribute ''{0}'' must have type ''{1}'' as in the base
cos-ct-extends.1.3 = The attribute wildcard must be a superset of that of the base 
cos-ct-extends.1.4.1 = The content type must be the same simple type ''{0}'' as that of the base
cos-ct-extends.1.4.2.2.2.1 = The basetype has ''{0}'' content so this extended type must also
cos-ct-extends.1.5.1 = The attribute ''{0}'' is prohibited in by prior restriction
cos-ct-extends.2.1 = The base type must be the content type
cos-all-limited.2 = The maxOccurs of a particle in an 'all' group must be 0 or 1
cos-element-consistent = The element ''{0}'' may not have both type ''{1}'' and type ''{2}''
cos-st-restricts.1.2 = The base type ''{0}'' is final for restriction
cos-st-restricts.2.0 = The base type ''{0}'' is final for list
cos-st-restricts.3.0 = The base type ''{0}'' is final for union
cos-ct-retricts.0 = The type ''{0}'' is not a valid base type
cos-st-retricts.0.0 = The type ''{0}'' is not a valid base type outside the schema for schemas
cos-st-retricts.0.1 = The type ''{0}'' is not a valid item type 
cos-st-retricts.0.2 = The type ''{0}'' is not a valid member type 

src-single-facet-value = The {0} facet cannot be repeated
src-attribute.1 = The attributes 'fixed' and 'default' may not both be present
src-attribute.2 = The 'use' must be 'optional' when a 'default' is present
src-attribute.3.1 = An attribute reference may not have a name
src-attribute.3.2.1 = An attribute reference may not have a form
src-attribute.3.2.2 = An attribute reference may not have a type
src-attribute.4 = An attribute may not have both a type and an anonymous type
src-element.1 = The attributes 'fixed' and 'default' may not both be present
src-element.2.1 = An element reference may not have a name
src-element.2.2.1 = An element reference may only have an id, minOccurs, or maxOccurs
src-element.2.2.2 = An element reference may only contain an annotation
src-element.3 = An element may not have both a type and an anonymous type
src-attribute_group.2 = The intensional intersection of the attribute wildcards is not expressible
src-attribute_group.3 = The attribute group may not be circularly defined
src-ct.1 = The base type ''{0}'' must be complex to support complex content
src-ct.2.1 = The base type ''{0}'' must have simple content to support simple content 
src-ct.2.2 = The base type ''{0}'' may not be simple to support a restriction
src-ct.4 = The intensional intersection of the attribute wildcards is not expressible 
src-import.0 = The location ''{0}'' has not been resolved
src-import.0.1 = There is no xmlns declaration for namespace ''{0}''
src-import.0.2 = The location ''{0}'' has not been resolved because the import is unused
src-import.1 = The namespace ''{0}'' conflicts with that of the importing schema
src-import.2 = The location ''{0}'' may not resolve to something other than a schema
src-import.3 = The target namespace ''{0}'' of the resolved schema conflicts with ''{1}''
src-include.0 = The location ''{0}'' has not been resolved
src-include.1 = The location ''{0}'' may not resolve to something other than a schema
src-include.2 = The target namespace ''{0}'' of the resolved schema conflicts with that of the including schema
src-redefine.0 = The location ''{0}'' has not been resolved
src-redefine.1 = The location ''{0}'' must resolve for the redefinitions to be meaningful
src-redefine.2 = The location ''{0}'' may not resolve to something other than a schema
src-redefine.3 = The target namespace ''{0}'' of the resolved schema conflicts with that of the including schema
src-redefine.4 = The base type must be ''{0}''
src-redefine.5 = The type ''{0}'' must resolve in the redefined schema
src-redefine.6.1.1 = The model group may not have more than one self reference
src-redefine.6.1.2 = The value of both 'minOccurs' and 'maxOccurs' must 1
src-redefine.6.2.1 = The group ''{0}'' must resolve in the redefined schema
src-redefine.6.2.2 = The group must be a valid restriction of the version in the redefined schema
src-redefine.7.1 = The attribute group may not have more than one self reference
src-redefine.7.2.1 = The attribute group ''{0}'' must resolve in the redefined schema
src-list-itemType-or-simpleType = The 'itemType' attribute conflicts with the contained item type
src-list-itemType-or-simpleType.0 = The 'itemType' attribute or a contained item type must be present
src-restriction-base-or-simpleType =  The 'base' attribute conflicts with the contained base type
src-restriction-base-or-simpleType.0 =  The 'base' attribute or a contained base type must be present
src-union-memberTypes-or-simpleTypes = The 'memberTypes' attribute must be present or there must be contained member types

# These words used to compose phrases along with a proper noun
#
attribute_noun = attribute
element_noun = element
attributeGroup_noun = attribute group
modelGroup_noun = model group
type_noun = type
identityConstraint_noun = identity constraint
notation_noun = notation

# This uses the nouns above
coss-schema.2 = The {0} may not have duplicate name and target namespace ''{1}''
coss-attribute.3 = An attribute with an 'ID' type may not have a value constraint
coss-attruse.2 = The ''fixed'' value ''{0}'' must be equal to the ''fixed'' value ''{1}'' of the referenced attribute
coss-attrGroup.2 = The attribute name ''{0}'' collides with that of another
coss-attrGroup.3 = The attribute ''{0}'' may not be an ID because ''{1}'' is the ID
coss-modelGroup.2 = The group may not be circularly defined
coss-particle.0.1 = The content model with {0} states is too large
coss-particle.0.2 = The <all> content model with {0} options is too large
coss-particle.2.1 = The value of 'minOccurs' may not be greater than the value of 'maxOccurs'

e-props-correct.3 = The element''s type does not derive from ''{0}'' as required by the substitution group
e-props-correct.4 = An attribute with an 'ID' type may not have a value constraint

ct-props-correct.3 = The type may not be circularly defined
ct-props-correct.4 = The attribute name ''{0}'' collides with that of another 
ct-props-correct.5 = The attribute ''{0}'' may not be an ID because ''{1}'' is the ID 

derivation-ok-restriction.1 = The base type ''{0}'' is final for restriction
derivation-ok-restriction.2.1.1 = The attribute ''{0}'' must be ''required'' as in the base 
derivation-ok-restriction.2.1.2 = The type of attribute ''{0}'' must derive from ''{1}''
derivation-ok-restriction.2.2 = The attribute target namespace of ''{0}'' must be allowed by the base type wildcard
derivation-ok-restriction.3 = The attribute ''{0}'' must be declared since it is required in the base type
derivation-ok-restriction.4 = The attribute wildcard must be a subset of that of the base type
derivation-ok-restriction.5.1.1 = The simple content type ''{0}'' must derive from ''{1}''
derivation-ok-restriction.5.1.2 = The base content type must be mixed and emptiable to support simple content
derivation-ok-restriction.5.2 = The restricted content type many not be empty because the base isn't empty or emptiable
derivation-ok-restriction.5.3.1 = A type with complex content may not restrict a base type with simple or empty content
derivation-ok-restriction.5.3.2 = A type with mixed content may only restrict a base type with mixed content 
derivation-ok-restriction.5.3.3 = The restricted content type must accept a subset of the content accepted by the base type

key-overlap.1 = The element ''{0}'' may not overlap with another element 
key-overlap.2 = The element ''{0}'' may not overlap with a wildcard allowing its namespace
key-overlap.3 = A wildcard that allows ''{0}'' may not overlap with a wildcard allowing the same namespace

c-props-correct.2 = The keyref must contain the same number of fields as the referenced key

rcase-NameAndTypeOK.2 = The element ''{0}'' must be ''nillable'' as in the base
rcase-NameAndTypeOK.4 = The ''fixed'' value ''{0}'' of element ''{1}'' must be the same as in the base
rcase-NameAndTypeOK.6 = The ''disallowed substitutions'' of ''{0}'' must be a superset of those in the base
rcase-NameAndTypeOK.7 = The type of element ''{0}'' must derive from ''{1}''

fractionDigits-valid-restriction = The value ''{0}'' is not less than or equal to the value ''{1}'' of the fractionDigits facet of ''{2}''
length-minLength-maxLength = The length facet is not permitted in the same type as a minLength or maxLength facet
length-valid-restriction = The value ''{0}'' is not equal to the value ''{1}'' of the length facet of ''{2}''
maxExclusive-valid-restriction.2 = The value ''{0}'' is not less than or equal to the value ''{1}'' of the maxExclusive facet of ''{2}''
maxExclusive-valid-restriction.4 = The value ''{0}'' is not greater than the value ''{1}'' of the minExclusive facet of ''{2}''
maxInclusive-maxExclusive = The maxExclusive facet cannot appear in the same type as a maxInclusive facet
maxInclusive-valid-restriction.2 = The value ''{0}'' is not less than or equal to the value ''{1}'' of the maxExclusive facet of ''{2}''
maxInclusive-valid-restriction.4 = The value ''{0}'' is not greater than the value ''{1}'' of the minExclusive facet of ''{2}''
maxLength-valid-restriction = The value ''{0}'' is not less than or equal to the value ''{1}'' of the maxLength facet of ''{2}''
minExclusive-less-than-equal-to-maxExclusive = The value ''{0}'' is not less than or equal to the value ''{1}'' of the maxExclusive facet
minExclusive-less-than-maxInclusive = The value ''{0}'' is not less than the value ''{1}'' of the maxExclusive facet
minExclusive-valid-restriction.2 = The value ''{0}'' is not greater than or equal to the value ''{1}'' of the minExclusive facet of ''{2}''
minExclusive-valid-restriction.4 = The value ''{0}'' is not less than the value ''{1}'' of the maxExclusive facet of ''{2}''
minInclusive-less-than-equal-to-maxInclusive = The value ''{0}'' is not less than or equal to the value ''{1}'' of the maxInclusive facet
minInclusive-less-than-maxExclusive = The value ''{0}'' is not less than the value ''{1}'' of the maxExclusive facet
minInclusive-less-than-maxInclusive = The value ''{0}'' is not less than the value ''{1}'' of the maxInclusive facet
minInclusive-minExclusive= The minExclusive facet cannot appear in the same type as a minInclusive facet
minInclusive-valid-restriction.2 = The value ''{0}'' is not greater than or equal to the value ''{1}'' of the minExclusive facet of ''{2}''
minInclusive-valid-restriction.4 = The value ''{0}'' is not less than the value ''{1}'' of the maxExclusive facet of ''{2}''
minLength-less-than-equal-to-maxLength = The value ''{0}'' is not less than or equal to the value ''{1}'' of the maxlength facet
minLength-valid-restriction = The value ''{0}'' is not greater than or equal to the value ''{1}'' of the minLength facet of ''{2}''
totalDigits-valid-restriction = The value ''{0}'' is not less than or equal to the value ''{1}'' of the totalDigits facet of ''{2}''
whiteSpace-valid-restriction = The value ''{0}'' is less constraining than the value ''{1}'' of the whiteSpace facet of ''{2}''
facet-fixed-valid-restriction = The value ''{0}'' is not equal to the fixed value ''{1}'' of the {2} facet of ''{3}''
fractionDigits-less-than-equal-to-totalDigits = The value ''{0}'' is not less than or equal to the value ''{1}'' of the totalDigits facet

# Used in content-valid.1 for {2}
expecting_nothing = nothing
content-valid.1 = The element ''{0}'' is not permitted as constrained by ''{1}''; expecting {2}
content-valid.2 = The content is incomplete as constrained by ''{0}''; expecting {1}
content-valid.3 = The mixed content ''{0}'' is not permitted as constrained by ''{1}''; expecting whitespace

no-xmlns = An attribute may not have the name 'xmlns'
no-xsi = An attribute with target namespace 'http://www.w3.org/2001/XMLSchema-instance' may not be declared 

cos-all-limited.1 = An <all> content model may not be nested within another content model
_UI_XSD_content_type = XML Schema File
