<?xml version="1.0" encoding="UTF-8"?>
<!-- 
/*******************************************************************************
 * 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
 *******************************************************************************/
--> 

<plugin>

    
<!-- ======================================================= -->
<!-- Purpose: Add validator action to TCPIP monitor.         -->
<!-- Extension point: org.eclipse.ui.viewActions             -->
<!-- ======================================================= -->
<!--   <extension
         point="org.eclipse.ui.viewActions">
      <viewContribution
            targetID="org.eclipse.wst.monitor.view"
            id="org.eclipse.ui.articles.action.contribution.view">
         <action
               label="WS-I Profile Validator"
               icon="icons/full/obj16/validate.gif"
               tooltip="%_UI_WIZARD_VALIDATE_LOG_TITLE"
               class="org.eclipse.wst.wsi.ui.internal.actions.actionDelegates.ValidateWSIProfileActionDelegate"
               toolbarPath="group1"
               enablesFor="*"
               id="org.eclipse.wst.wsi.ui.internal.actions.actionDelegates.ValidateWSIProfileActionDelegate">
         </action>
      </viewContribution>
   </extension-->

<!-- ======================================================= -->
<!-- Purpose: To register WS-I message validator.            -->
<!-- Extension point: org.eclipse.ui.viewActions             -->
<!-- ======================================================= -->
<!--extension
         id="wsiValidator"
         name="%_UI_WSI_VALIDATOR"
         point="com.ibm.etools.validation.validator">
      <validator>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               caseSensitive="false"
               nameFilter="*.wsimsg">
         </filter>
         <helper
               class="com.ibm.etools.xml.tools.validation.Helper">
         </helper>
         <run
               class=" com.ibm.etools.wsi.test.tools.validate.WSIMessageValidator">
         </run>
      </validator>
   </extension-->
</plugin>
