###############################################################################
# Copyright (c) 2003, 2004 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
###############################################################################
TagSpec.3=Unknown tag scope:
TagSpec.4=Null tag scope.
TagSpec.5=Unknown tag multiplicity:
TagSpec.6=Null tag multiplicity.
TagAttribSpec.1=Unknown 'unique' scope value:
TagAttribSpec.1=More than one 'unique' tag defined:
AnnotationTagParser.0=Null event handler.
AnnotationTagParser.1=
AnnotationTagRegistry.0=More than one 'AnnotationTagInfo' tag for the tag '
AnnotationTagRegistry.9=parseTagAttribs: unknown 'use' value:
AnnotationTagRegistry.10=Incomplete element AnnotationTagInfo in plugin {0}
AnnotationTagRegistry.11=parseTagAttribs: unknown 'isJavaTypeIdentifier' value:
AnnotationsControllerManager_ERROR_0=IWAE0001E Invalid IConfigurationElement used to create AnnotationsControllerRegistry.Descriptor.
