<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.wst.xsd.ui"
   name="%_UI_PLUGIN_NAME"
   version="1.0.0"
   provider-name="Eclipse.org"
   class="org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin">

   <runtime>
      <library name="xsdeditor.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.core.runtime.compatibility"/>
      
      <import plugin="org.eclipse.wst.xml.uriresolver"/>
      <import plugin="org.eclipse.wst.sse.ui"/>
      <import plugin="org.eclipse.wst.sse.core"/>
      <import plugin="org.eclipse.wst.xml.core"/>
      <import plugin="org.eclipse.wst.xml.ui"/>
      <import plugin="org.eclipse.wst.common.contentmodel"/>
      <import plugin="org.eclipse.wst.common.ui"/>
      
      <import plugin="org.eclipse.jface.text"/>
      <import plugin="org.eclipse.xsd"/>
      <import plugin="org.eclipse.gef"/>
      <import plugin="org.eclipse.jface"/>
      <import plugin="org.eclipse.ui.editors"/>
      <import plugin="org.eclipse.ui.workbench.texteditor"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.ui.views"/>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.wst.common.ui.properties"/>
      <import plugin="org.eclipse.xsd.edit"/>
      <import plugin="org.eclipse.emf.edit"/>
      <import plugin="org.eclipse.emf.edit.ui"/> 
   </requires>


   <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%_UI_EDITOR_NAME"
            default="true"
            icon="icons/XSDFile.gif"
            extensions="xsd"
            contributorClass="org.eclipse.wst.xsd.ui.internal.XSDActionBarContributor"
            class="org.eclipse.wst.xsd.ui.internal.XSDEditor"
            id="org.eclipse.wst.xsd.ui.XSDEditor">
      </editor>
   </extension>
<!-- drop targets for XSDTextEditor-->
   <extension
         point="org.eclipse.wst.sse.ui.dropTargetTransfers">
      <dropTargetContribution
            targetID="org.eclipse.wst.xsd.ui.internal.XSDTextEditor"
            id="org.eclipse.wst.xsd.ui.ExtendedTransfers">
         <transfer
               priority="mid"
               singleton="true"
               class="org.eclipse.swt.dnd.FileTransfer"
               method="getInstance"
               id="org.eclipse.swt.dnd.FileTransfer">
         </transfer>
         <dropAction
               class="org.eclipse.wst.sse.ui.extension.FileDropAction"
               transferID="org.eclipse.swt.dnd.FileTransfer"
               id="org.eclipse.wst.sse.ui.extension.FileDropAction">
         </dropAction>
         <transfer
               priority="low"
               singleton="true"
               class="org.eclipse.swt.dnd.TextTransfer"
               method="getInstance"
               id="org.eclipse.swt.dnd.TextTransfer">
         </transfer>
         <dropAction
               class="org.eclipse.wst.sse.ui.extension.TextDropAction"
               transferID="org.eclipse.swt.dnd.TextTransfer"
               id="corg.eclipse.wst.sse.ui.extension.TextDropAction">
         </dropAction>
      </dropTargetContribution>
   </extension>

   <extension point="org.eclipse.ui.newWizards">
     <wizard id = "org.eclipse.wst.xsd.ui.internal.wizards.NewXSDWizard"
        name = "%_UI_WIZARD_NEW_XSD"
        class = "org.eclipse.wst.xsd.ui.internal.wizards.NewXSDWizard"
        category = "org.eclipse.wst.XMLCategory"
        icon = "icons/XSDFile.gif">
      <description>%_UI_CREATE_A_NEW_SCHEMA</description>
      <selection class = "org.eclipse.core.resources.IResource" />
      </wizard>
   </extension>

   <extension point="org.eclipse.ui.preferencePages">
      <page
            name="%_UI_XML_SCHEMA_PREFERENCE"
            category="org.eclipse.wst.sse.ui.preferences"
            class="org.eclipse.wst.xsd.ui.internal.preferences.XSDPreferencePage"
            id="org.eclipse.wst.xsd.ui.internal.preferences.XSDPreferencePage">
      </page>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.extendedconfiguration">
      <preferencepages
            preferenceids="org.eclipse.wst.sse.ui.preferences/org.eclipse.wst.xsd.ui.internal.preferences.XSDPreferencePage"
            target="org.eclipse.wst.xsd.ui.internal.XSDEditor.source" />
   </extension>
   
   <!-- ==================================================== -->
<!-- Support help on the tags                             -->
<!-- ==================================================== -->
<!--   <extension
         point="org.eclipse.wst.common.contentmodel.annotationFiles">
      <annotationFile
            location="/w3c/schemaForCodeAssist-annotations.xml"
            publicId="http://www.w3.org/2001/XMLSchema">
      </annotationFile>
   </extension>
-->
   <extension
         point="org.eclipse.wst.common.ui.properties.propertyContributor">
      <propertyContributor
            contributorId="org.eclipse.wst.xsd.ui.internal.XSDEditor"
            sectionDescriptorProvider="org.eclipse.wst.xsd.ui.internal.properties.section.XSDSectionDescriptorProvider"
            labelProvider="org.eclipse.wst.xsd.ui.internal.properties.section.XSDSectionLabelProvider">
         <propertyCategory
               category="general">
         </propertyCategory>
         <propertyCategory
               category="namespace">
         </propertyCategory>
         <propertyCategory
               category="other">
         </propertyCategory>
         <propertyCategory
               category="attributes">
         </propertyCategory>
         <propertyCategory
               category="enumerations">
         </propertyCategory>
         <propertyCategory
               category="documentation">
         </propertyCategory>
         <propertyCategory
               category="facets">
         </propertyCategory>
      </propertyContributor>
   </extension>
   <extension
         point="org.eclipse.wst.common.ui.properties.propertyTabs">
      <propertyTabs
            contributorId="org.eclipse.wst.xsd.ui.internal.XSDEditor">
         <propertyTab
               label="%_UI_LABEL_GENERAL"
               category="general"
               id="com.ibm.xmlwebservices.general">
         </propertyTab>
         <propertyTab
               label="%_UI_LABEL_NAMESPACE"
               category="namespace"
               afterTab="com.ibm.xmlwebservices.general"
               id="com.ibm.xmlwebservices.namespace">
         </propertyTab>
         <propertyTab
               label="%_UI_LABEL_OTHER"
               category="other"
               id="com.ibm.xmlwebservices.other">
         </propertyTab>
         <propertyTab
               label="%_UI_LABEL_ATTRIBUTES"
               category="attributes"
               id="com.ibm.xmlwebservices.attributes">
         </propertyTab>
         <propertyTab
               label="%_UI_LABEL_ENUMERATIONS"
               category="enumerations"
               id="com.ibm.xmlwebservices.enumerations">
         </propertyTab>
         <propertyTab
               label="%_UI_LABEL_DOCUMENTATION"
               category="documentation"
               id="com.ibm.xmlwebservices.documentation">
         </propertyTab>
         <propertyTab
               label="%_UI_SECTION_ADVANCED_ATTRIBUTES"
               category="facets"
               id="com.ibm.xmlwebservices.facets">
         </propertyTab>
      </propertyTabs>
   </extension>
   
    <extension point="org.eclipse.wst.xml.uriresolver.catalogContributor">
     <catalogContributor catalogId="default">
       <mappingInfo key="http://www.w3.org/2001/XMLSchema" uri="w3c/XMLSchema.xsd"/>
      </catalogContributor>
  </extension>
 
</plugin>
