<?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">
		<definition 
			type="preferencepages"
			value="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>
