<?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 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * 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.internet.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"
               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="org.eclipse.wst.validation.validator">
      <validator>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               caseSensitive="false"
               nameFilter="*.wsimsg">
         </filter>
         <helper      
               class="org.eclipse.wst.xml.core.internal.validation.core.Helper">
         </helper>
         <run
               class="org.eclipse.wst.wsi.ui.internal.WSIMessageValidator">
         </run>
      </validator>
   </extension>
   
   <!-- ======================================================= -->
   <!-- Extension point: org.eclipse.core.runtime.contentTypes  --> 
   <!-- Purpose: Specify file association for wsimsg.           -->
   <!-- ======================================================= -->
   <extension point="org.eclipse.core.contenttype.contentTypes"> 
      <file-association 
       content-type="org.eclipse.core.runtime.xml"
       file-extensions="wsimsg"/>
   </extension>
   
<!-- ====================================================== -->
<!-- Add validate action  to .wsimsg file                   -->
<!-- ====================================================== -->
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.wsimsg"
            id="org.eclipse.soap.validate.wsi.action">
         <action
               label="%_UI_ACTION_VALIDATE"
               class="org.eclipse.wst.wsi.ui.internal.actions.actionDelegates.ValidateWSILogFileActionDelegate"
               enablesFor="1"
               id="org.eclipse.wst.wsi.ui.internal.actions.actionDelegates.ValidateWSILogFileActionDelegate">
         </action>
      </objectContribution>
   </extension>
   
 </plugin>
