<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.wst.wsdl.validation"
   name="%_PLUGIN_NAME"
   version="1.0.0"
   provider-name="%_PROVIDER_NAME"
   class="org.eclipse.wst.wsdl.validation.internal.ui.eclipse.ValidateWSDLPlugin">

   <runtime>
      <library name="wsdlvalidateui.jar">
         <export name="*"/>
      </library>
      <library name="wsdlvalidate.jar">
         <export name="*"/>
      </library>
      <library name="lib/wsdl4j.jar">
         <export name="*"/>
      </library>
      <library name="lib/qname.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.wst.common.dependencychecker"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.apache.ant"/>
      <import plugin="org.eclipse.core.runtime.compatibility"/>
      <import plugin="org.eclipse.wst.common.uriresolver"/>
      <import plugin="org.eclipse.wst.validation"/>
      <import plugin="org.eclipse.wst.xml.validation" export="true"/>
   </requires>
   
   <extension point="org.eclipse.wst.common.dependencychecker.requiredFiles">
      <requiredFile
            pluginRelativePath="lib/qname.jar"
            locationURL="http://prdownloads.sourceforge.net/wsdl4j/wsdl4j-bin-1.4.zip?download"/>
      <requiredFile
            pluginRelativePath="lib/wsdl4j.jar"
            locationURL="http://prdownloads.sourceforge.net/wsdl4j/wsdl4j-bin-1.4.zip?download"/>
   </extension>

   <!-- WSDL extension validator. This is an extension that will run
        after WSDL validation if WSDL validation is successful.  -->
   <extension-point id="extvalidator" name="WSDL Extension Validator" schema="exsd/extvalidator.exsd"/>
   
   <!-- WSDL 1.1 validator extension. To provide a namespace specific WSDL 1.1
        validator. -->
   <extension-point id="wsdl11validator" name="WSDL 1.1 Extension Validator" schema="exsd/wsdl11validator.exsd"/>
   
   <!-- An extension to add XML catalog entries to the WSDL validator.
        Many entires can be added as seen below. -->
   <extension-point name="WSDL XML Catalog" id="xmlcatalog" schema="exsd/xmlcatalog.exsd"/>

   <!-- An extension to add a URI resolver to the WSDL validator. URI resolvers
        are used to resolve the location of imported documents such as WSDL and
        XSD through the WSDL and schema import mechanisms. 
        This is how this extension point is used.
        <extension point="org.eclipse.wsdl.validate.uriresolver">
          <uriresolver class="full name of your class"/>
        </extension>                                                             -->
   <extension-point name="WSDL URI Resolver" id="uriresolver" schema="exsd/uriresolver.exsd"/>

   <!-- ====================================================== -->
   <!-- Set the Validate WSDL File context menu item. This     -->
   <!-- menu item should be removed once the validation        -->
   <!-- framework is modified to create the item.              -->
   <!-- ====================================================== -->
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.wsdl"
            id="org.eclipse.wst.wsdl.validation.wsdlaction">
         <action
               label="%_UI_MENU_VALIDATE_WSDL"
               class="org.eclipse.wst.wsdl.validation.internal.ui.eclipse.ValidateWSDLActionDelegate"
               enablesFor="1"
               id="org.eclipse.wst.wsdl.validation.internal.ui.eclipse.ValidateWSDLActionDelegate">
         </action>
      </objectContribution>
   </extension>
   
   <!-- ====================================================== -->
   <!-- Set the XML Catalog entries.                           -->
   <!-- These entries are commented out until such time as     -->
   <!-- permission is granted to include them in this plugin.  -->
   <!-- ====================================================== -->
   <!--extension point="org.eclipse.wst.wsdl.validation.xmlcatalog"-->
     <!--entity
       publicId="http://schemas.xmlsoap.org/wsdl/" 
       location="xsd/wsdl.xsd" /-->
     <!--entity
       publicId="http://schemas.xmlsoap.org/wsdl/http/" 
       location="xsd/http.xsd" /-->
     <!--entity
       publicId="http://schemas.xmlsoap.org/wsdl/soap/" 
       location="xsd/soap.xsd" /-->
     <!--entity
       publicId="http://schemas.xmlsoap.org/wsdl/mime/" 
       location="xsd/wsdl-mime.xsd" /-->
     <!--entity 
       publicId="http://schemas.xmlsoap.org/soap/encoding/" 
       location="xsd/soapenc.xsd" /-->
     <!-- The xml-soap does not exist but is used in certain documents.
          It is included here so the validator will recognize it. -->
     <!--entity
       publicId="http://xml.apache.org/xml-soap" 
       location="xsd/xml-soap.xsd" /-->
   <!--/extension-->
   
   <!-- ====================================================== -->
   <!-- An extension for adding the URI resolver from          -->
   <!-- org.eclipse.wst.common.uriresolver to the WSDL         -->
   <!-- validator.											   -->
   <!-- ====================================================== -->
   <extension point="org.eclipse.wst.wsdl.validation.uriresolver">
     <uriresolver class="org.eclipse.wst.wsdl.validation.internal.ui.eclipse.URIResolverWrapper"/>
   </extension>
   
   <!-- ====================================================== -->
   <!-- An extension for adding the WSDL validator to the      -->
   <!-- validation framework. 						           -->										   -->
   <!-- ====================================================== -->
   <extension
         id="wsdlValidator"
         name="%_UI_WSDL_VALIDATOR"
         point="org.eclipse.wst.validation.validator">
      <validator>
         <filter
               objectClass="org.eclipse.core.resources.IFile"
               caseSensitive="false"
               nameFilter="*.wsdl">
         </filter>
         <helper
               class="org.eclipse.wst.xml.validation.internal.core.Helper">
         </helper>
         <run
               class="org.eclipse.wst.wsdl.validation.internal.ui.eclipse.Validator">
         </run>
      </validator>
   </extension>
</plugin>
