###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

Model.model_may_not_be_changed=model may not be changed once its contents have been requested
Model.***UNKNOWN***_2=<UNKNOWN>
NfmParser.Ambiguous=Ambiguous content model starting with {0}
SchemaFactory.Doubly_defined=Element {0} is doubly defined
SchemaFactory.Start_with_left_parenthesis=Element {0} model does not start with left parenthesis
SchemaFactory.Expecting_operator_or_right_parenthesis=Expecting operator or right parenthesis in element {0} model {1}
SchemaFactory.Unexpected_end=Unexpected end of content model for element {0}: {1}
