################################################################################
# Copyright (c) 2010, 2011 Oracle. 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:
#     Oracle - initial API and implementation
################################################################################

CONTEXT_MODEL_SYNC_JOB_NAME=Synchronize JAXB project: ''{0}''
UPDATE_JOB_NAME=Update JAXB project: ''{0}''
PREFERENCES_FLUSH_JOB_NAME=Flush Preferences: {0}

ClassesGenerator_generatingClasses = Generating JAXB Classes from Schema
ClassesGenerator_generatingClassesTask = Generating classes

JaxbFacetConfig_validatePlatformNotSpecified = Platform must be specified
JaxbFacetConfig_validatePlatformDoesNotSupportFacetVersion = Platform does not support the current JAXB facet version

JreLibraryValidator_invalidPlatform = The JRE only provides implementation for a Generic JAXB platform.
JreLibraryValidator_invalidJavaFacet = The specified Java version of {0} is insufficient to provide an implementation for JAXB version {1}.  The JAXB implementation of a Java {0} runtime environment must be manually overridden by an endorsement mechanism of your choice.
JreLibraryValidator_invalidJavaLibrary = The configured runtime is insufficient to provide an implementation for JAXB {0}.

SchemaGenerator_creatingJAXBPropertiesFileTask = Creating jaxb.properties file

UserLibraryValidator_incompatibleJavaFacet = The specified Java version of {0} provides a JAXB implementation that conflicts with JAXB version {1}.  The JAXB implementation of a Java {0} runtime environment must be manually overridden by an endorsement mechanism of your choice.
UserLibraryValidator_incompatibleJavaLibrary = The configured runtime conflicts with JAXB version {0}.

XML_ATTRIBUTE_DESC = XML attribute declaration
XML_ELEMENT_DESC = XML element declaration
XML_TYPE_DESC = XML type definition
SUBSTITUTION_HEAD_DESC = XML element substitution head

XML_ELEMENT_DECL__SCOPE = in the scope of ''{0}''
