<?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.validation.internal.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
            default="true"
            name="%_UI_LOG_EDITOR"
            extensions="wsimsg"
            icon="icons/wsi_logfile_obj.gif"
            class="org.eclipse.ui.editors.text.TextEditor"
            id="org.eclipse.wst.wsi.ui.internal.WSILogEditor">
      </editor>
   </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>
