###############################################################################
# Copyright (c) 2009 by SAP AG, Walldorf. 
# 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:
#     SAP AG - initial API and implementation
###############################################################################
###############################################################################
# Language File for this Plugin
###############################################################################

# Generic Label and Description
pluginName = WS Common Runtime
DomValidatorsExtension_Name = DOM Validator
Bundle-Name.0 = JAX-WS DOM runtime plug-in (Incubation)
DomRuntimesExtension_Name = DOM Runtimes
providerName = www.example.org
ExtensionPoint-Name.3 = JEE5 DOM contribution
ExtensionPoint-Name.5 = JEE5 DOM validation contribution
category.name.0 = JEE5 DOM constraint provider