# /*******************************************************************************
#  * Copyright (c) 2002-2005 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 - Initial API and implementation
#  *******************************************************************************/
!-- Constants for strings  

_PLUGIN_NAME                  = Soap Monitor
_PROVIDER_NAME                = Eclipse.org
_UI_WSI_VALIDATOR             = WS-I Message Validator
_UI_ACTION_VALIDATE           = Validate WS-I Log File
_UI_WIZARD_VALIDATE_LOG_TITLE = Validate WS-I Message Log File
_UI_LOG_EDITOR                = XML Editor
