###############################################################################
# Copyright (c) 2001, 2007 Oracle 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:
#     Oracle Corporation - initial API and implementation
###############################################################################
AbstractDataModelVariableFactory.DataModel.Symbol.RowVariable.DetailedDescription=Row variable for dataTable
JSPDefaultSymbolFactory.Resource.bundle.map.detailedDescription=Resource bundle map for bundle <i>
JSPDefaultSymbolFactory.Problem.ErrorCreatingVariable=Error creating loadBundle variable
ResourceBundleSymbolSourceProvider.DetailedDescription=Resource bundle map for bundle <i>
DefaultBeanSymbolSourceProvider.AdditionalInformation.Name=Name:
DefaultBeanSymbolSourceProvider.AdditionalInformation.Type=Type:
DefaultBeanSymbolSourceProvider.AdditionalInformation.Scope=Scope:
DefaultBeanSymbolSourceProvider.AdditionalInformation.Description=Description:
