###############################################################################
# Copyright (c) 2004, 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 Corporation - initial API and implementation
###############################################################################
JSPIndexManager_0=Updating JSP Index
JSPIndexManager_2=JSP Indexer indexing {0} files
JSP_Search=JSP Search - 
JSPDocumentLoader_1=Program Error: structured model had no structuredDocument
JSPEL_Syntax=EL Syntax Error 
JSPEL_Token=Unable to analyze EL expression due to lexical analysis error
MESSAGE_JSP_VALIDATING_MESSAGE_UI_=JSP Validator validating {0}
JSPFContentPropertiesManager_Updating=Updating JSP Fragment Content Settings
JSPFContentPropertiesManager_Problems_Updating=Problem saving JSP Fragment Content Settings for {0}
JSPDirectiveValidator_0={0} is a reserved prefix.  Try another
JSPDirectiveValidator_1=Can not find the tag library descriptor for "{0}"
JSPDirectiveValidator_2=The prefix "{0} "is used more than once
JSPDirectiveValidator_3=A {0} value is required in this directive
JSPDirectiveValidator_4=Fragment "{0}" was not found at expected path {1}
JSPDirectiveValidator_5=Missing required attribute "{0}"
JSPDirectiveValidator_6=Undefined attribute name "{0}"
JSPDirectiveValidator_7=A {0} or {1} value is required in this directive
JSPDirectiveValidator_8=The superclass "{0}" was not found on the Java Build Path
JSPDirectiveValidator_9=Can not find the tag library descriptor for "{0}".  Try increasing the version of the Dynamic Web Module project facet.
JSPDirectiveValidator_10=Can not find the tag library descriptor for "{0}".  Try using a newer grammar or declared version in the Web Deployment Descriptor.
JSPDirectiveValidator_10=Can not find the tag directory "{0}"
JSPActionValidator_0=Tag ({0}) must be empty
JSPBatchValidator_0=Gathering files in {0}
TaglibHelper_0=The TagExtraInfo class for "{0}" ({1}) was not found on the Java Build Path
TaglibHelper_1=The TagExtraInfo class for "{0}" ({1}) could not be instantiated
TaglibHelper_2=A problem was encountered using TagExtraInfo class {1} for '{0}' 
TaglibHelper_3=The tag handler class for "{0}" ({1}) was not found on the Java Build Path
JSPTranslator_0=Invalid identifier: "{0}"
JSPTranslator_1=Undefined type: {0}
JSPTranslator_2=Can not declare both "class" and "beanName" attributes
JSPTranslator_3=Unknown type for identifier "{0}"
JSPTranslator_4=Missing start tag for "{0}"
JSPTranslator_5=Missing end tag for "{0}"
TLDValidator_MissingValidator=The TagLibraryValidator subclass '{0}' was not found on the Java Build Path
TLDValidator_MissingVariable=The variable class '{0}' was not found on the Java Build Path
TLDValidator_MissingListener=The listener class '{0}' was not found on the Java Build Path
