###############################################################################
# Copyright (c) 2004, 2007 Actuate Corporation.
# 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:
#  Actuate Corporation - initial API and implementation
#
###############################################################################
# Plug-in Configuration
#
oda.data.source.id=org.eclipse.datatools.enablement.oda.xml
oda.parent.category.id=org.eclipse.datatools.connectivity.oda.profileCategory
#
###############################################################################
# NLS String
###############################################################################
plugin.name=Eclipse Data Tools Platform XML ODA Runtime Driver
oda.data.source.category.name=XML Data Source

datasource.name=XML Data Source
dataset.name=XML Data Set

datasource.property.xmlFile=&XML Data Source File
datasource.property.xmlEncoding=XML Date Source &Encoding
datasource.property.schemaFile=XML &Schema File
oda.data.source.name=XML Data Source
connection.profile.name=XML Data Source Connection Profile
#
#  Below NLS messages apply to all ODA data sources; should be re-factored
#
oda.connection.factory.name=ODA Connection Factory
