<?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.ui.editors                 -->
<!-- Purpose: Specify editor for file with extension wsimsg. -->
<!-- ======================================================= -->
   <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%_UI_LOG_EDITOR"
            extensions="wsimsg"
            icon="icons/wsi_logfile_obj.gif"
            class="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart"
            id="org.eclipse.wst.wsi.ui.internal.WSILogEditor">
      </editor>
   </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>
