<?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.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.runtime.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>
