################################################################################
# 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
################################################################################

SchemaGenerator_creatingJAXBPropertiesFileTask = Creating jaxb.properties file

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}.

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}''

PREFERENCES_FLUSH_JOB_NAME=Flush Preferences: {0}
