<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<plugin>

   <!-- The following extension point is internal, though likely to be promoted for public use, possibly with changes, in a future release. -->
   <extension-point id="locator" name="%XP_WEB_SERVICE_LOCATOR" schema="schema/webServiceLocator.exsd"/>

   <!-- Extension providing workspace WSDL discovery -->   
   <extension
         point="org.eclipse.wst.ws.locator">

      <webServiceLocatorCategory
            id="org.eclipse.wst.ws.internal.wsfinder.category.workspace"
            label="%X_WEB_SERVICE_LOCATOR_CATEGORY_WORKSPACE"/>

      <webServiceLocator
            class="org.eclipse.wst.ws.internal.wsfinder.WorkspaceWSDLLocator"
            id="org.eclipse.wst.ws.internal.wsfinder.WorkspaceWSDLLocator"
            category="org.eclipse.wst.ws.internal.wsfinder.category.workspace"
            label="%X_WEB_SERVICE_LOCATOR_WORKSPACE">
      </webServiceLocator>

   </extension>
   
   <!-- Extension to bind a file type to WSIL files -->
   <extension point="org.eclipse.team.core.fileTypes">
      <fileTypes
            type="text"
            extension="wsil"/>
   </extension>

   <!-- Extension to define a content type for WSIL files -->
   <extension point="org.eclipse.core.runtime.contentTypes">
      <content-type
            priority="high"
            name="%X_WSIL_CONTENT_TYPE"
            id="wsilsource"
            base-type="org.eclipse.core.runtime.xml"
            default-charset="UTF-8"
            file-extensions="wsil"/>
   </extension>
   
   <extension point="org.eclipse.wst.ws.service.policy.servicepolicy">
     <servicePolicy>
         <loadListener class="org.eclipse.wst.ws.internal.preferences.MigrateWSIpreferencesLoadListener"/>
     </servicePolicy>
   </extension> 
   
  <extension point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
      id="org.eclipse.wst.ws.service.ws.service.policy"
      type="org.eclipse.core.resources.IProject"
      namespace="org.eclipse.wst.ws.service.ws.service.policy"
      properties="projectHasWSDLfiles"
      class="org.eclipse.wst.ws.internal.preferences.WSDLFilePropertyTester">
    </propertyTester>
  </extension>
  
   <extension point="org.eclipse.wst.ws.service.policy.servicepolicy">
     <servicePolicy>
       <enablement>
         <test property="org.eclipse.wst.ws.service.ws.service.policy.projectHasWSDLfiles"/>
       </enablement>
       
       <policy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp">
         <!-- CONTEXT_ID PSPW0001 for the Service Policies WS-I Preferences category -->
         <descriptor longName="%PREFERENCE_SERVICEPOLICIES_CONTAINER_WSI_COMPLIANCE" iconPath="icons/full/obj16/wsicat.gif" contextHelpId="org.eclipse.wst.ws.service.policy.ui.PSPW0001"/>
       </policy>
       <policy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsiap" parentPolicyId="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp" enumListId="org.eclipse.wst.service.policy.suggestionEnum" defaultEnumId="org.eclipse.wst.sug.suggest">
         <!-- CONTEXT_ID PSPW0002 for the Service Policies WS-I AP 1.0 Preference -->
         <descriptor longName="%LABEL_WSI_AP" iconPath="icons/full/obj16/wsicat_child.gif" contextHelpId="org.eclipse.wst.ws.service.policy.ui.PSPW0002"/>
         <relationship enumList="org.eclipse.wst.sug.suggest">
           <targetPolicy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsissbp"
                   itemList="org.eclipse.wst.sug.suggest org.eclipse.wst.sug.require"/>
         </relationship>
         <relationship enumList="org.eclipse.wst.sug.require">
           <targetPolicy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsissbp"
                   itemList="org.eclipse.wst.sug.require"/>
         </relationship>
       </policy>
       <policy id="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsissbp" parentPolicyId="org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp" enumListId="org.eclipse.wst.service.policy.suggestionEnum" defaultEnumId="org.eclipse.wst.sug.suggest">
         <!-- CONTEXT_ID PSPW0003 for the Service Policies WS-I SSBP 1.0 Preference -->
         <descriptor longName="%LABEL_WSI_SSBP" iconPath="icons/full/obj16/wsicat_child.gif" contextHelpId="org.eclipse.wst.ws.service.policy.ui.PSPW0003"/>
       </policy>
     </servicePolicy>
   </extension>

   
</plugin>
