###############################################################################
# Copyright (c) 2001, 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
#     Jens Lukowski/Innoopract - initial renaming/restructuring
#     Jesper Steen Moeller - Added XML Catalogs 1.1 support
#     
###############################################################################
Invalid_character_lt_fo_ERROR_=Invalid character ('<') found
Invalid_character_gt_fo_ERROR_=Invalid character ('>') found
Invalid_character_amp_fo_ERROR_=Invalid character ('&') found
Invalid_character__f_EXC_=Invalid character ('\"') found
###############################################################################
# contentmodel strings
loading=loading 
# catalog strings
Catalog_entry_key_not_set=Catalog entry key is not set
Catalog_entry_uri_not_set=Catalog entry URI is not set
Catalog_rewrite_startString_not_set=Catalog rewrite start string is not set
Catalog_rewrite_prefix_not_set=Catalog rewrite prefix is not set
Catalog_suffix_string_not_set=Catalog suffix string is not set
Catalog_suffix_uri_not_set=Catalog suffix URI is not set
Catalog_delegate_prefix_not_set=Catalog delegate prefix is not set
Catalog_delegate_catalog_not_set=Catalog delegate URI is not set
Catalog_next_catalog_location_uri_not_set=Next catalog location URI is not set
Catalog_resolution_null_catalog=Catalog resolution attempted with null catalog; ignored
Catalog_resolution_malformed_url=Malformed URL exception trying to resolve
Catalog_resolution_io_exception=I/O exception trying to resolve
