###############################################################################
# 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_2=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.
AnnotationTagRegistry_ERROR_1=