###############################################################################
# Copyright (c) 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
###############################################################################
XMLTableTreeViewer_0=Design
XMLMultiPageEditorPart_0=Source
XMLTreeExtension_0=Structure
XMLTreeExtension_1=Value
XMLTreeExtension_3=The document is empty.
XMLTreeExtension_4=Right mouse click here to insert content.
XMLTableTreeActionBarContributor_0=&XML
XMLTableTreeActionBarContributor_1=&Expand All
XMLTableTreeActionBarContributor_2=&Collapse All
XMLTableTreeActionBarContributor_3=Turn Grammar Constraints Off
XMLTableTreeActionBarContributor_4=&Turn Grammar Constraints Off
XMLTableTreeActionBarContributor_5=Turn Grammar Constraints On
XMLTableTreeActionBarContributor_6=&Turn Grammar Constraints On
XMLTableTreeActionBarContributor_7=Reload Dependencies
XMLTableTreeActionBarContributor_8=&Reload Dependencies
##
An_error_has_occurred_when1_ERROR_=An error has occurred when initializing the input for the the editor's source page.
Resource__does_not_exist=Resource {0} does not exist.
Editor_could_not_be_open=Editor could not be open on {0}
TreeExtension_0=Cannot display document contents.
