<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.wst.xml.ui"
   name="%SSE_XML_Source_Editor.name"
   version="1.0.0"
   provider-name="IBM"
   class="org.eclipse.wst.xml.ui.XMLEditorPlugin">

   <runtime>
      <library name="xmleditor.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.core.runtime.compatibility"/>
      <import plugin="org.eclipse.ui.ide"/>
      <import plugin="org.eclipse.ui.views"/>
      <import plugin="org.eclipse.jface.text"/>
      <import plugin="org.eclipse.ui.workbench.texteditor"/>
      <import plugin="org.eclipse.ui.editors"/>
      <import plugin="org.eclipse.wst.sse.ui"/>
      <import plugin="org.eclipse.wst.dtd.ui"/>
      <import plugin="org.eclipse.wst.sse.core"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.wst.common.contentmodel"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.wst.common.encoding"/>
      <import plugin="org.eclipse.wst.xml.uriresolver.ui"/>
      <import plugin="org.eclipse.wst.common.uriresolver"/>
      <import plugin="org.eclipse.wst.xml.uriresolver"/>
      <import plugin="org.eclipse.wst.xml.core"/>
      <import plugin="org.eclipse.wst.common.ui"/>
   </requires>


   <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%XML_Source_Page_Editor.name"
            icon="icons/sourceEditor.gif"
            extensions="tld, nst, xmi, dadx, wsdl"
            contributorClass="org.eclipse.wst.xml.ui.actions.ActionContributorXML"
            class="org.eclipse.wst.xml.ui.StructuredTextEditorXML"
            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
            id="org.eclipse.wst.xml.ui.StructuredTextEditorXML2">
      </editor>
      <!-- Separate editor definition for xml source page to mark it as the default editor -->
      <editor
            name="%XML_Source_Page_Editor.name"
            icon="icons/sourceEditor.gif"
            extensions="xml"
            default="true"
            contributorClass="org.eclipse.wst.xml.ui.actions.ActionContributorXML"
            class="org.eclipse.wst.xml.ui.StructuredTextEditorXML"
            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
            id="org.eclipse.wst.xml.ui.StructuredTextEditorXML">
      </editor>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.extendedconfiguration">
      <textviewerconfiguration
            class="org.eclipse.wst.xml.ui.StructuredTextViewerConfigurationXML"
            target="org.eclipse.wst.xml.core.xmlsource">
      </textviewerconfiguration>
      <contentoutlineconfiguration
            class="org.eclipse.wst.xml.ui.views.contentoutline.XMLContentOutlineConfiguration"
            target="org.eclipse.wst.xml.core.xmlsource">
      </contentoutlineconfiguration>
      <propertysheetconfiguration
            class="org.eclipse.wst.xml.ui.views.properties.XMLPropertySheetConfiguration"
            target="org.eclipse.wst.xml.core.xmlsource">
      </propertysheetconfiguration>
      <spellchecktarget
            class="org.eclipse.wst.xml.ui.XMLSpellCheckTarget"
            target="org.eclipse.wst.xml.core.xmlsource">
      </spellchecktarget>
      <sourceeditingtexttools
            class="org.eclipse.wst.xml.ui.extensions.XMLSourceEditingTextTools"
            target="org.eclipse.wst.xml.core.xmlsource">
      </sourceeditingtexttools>
      <characterpairmatcher
            class="org.eclipse.wst.xml.ui.text.XMLDocumentRegionEdgeMatcher"
            target="org.eclipse.wst.xml.core.xmlsource">
      </characterpairmatcher>
      <preferencepages
            preferenceids="org.eclipse.wst.sse.ui.preferences/org.eclipse.wst.sse.ui.preferences.xml"
            target="org.eclipse.wst.xml.core.xmlsource">
      </preferencepages>
   </extension>
   <extension
      point="org.eclipse.core.filebuffers.annotationModelCreation">
      <factory
            contentTypeId="org.eclipse.wst.xml.core.xmlsource"
            class="org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModelFactory"/>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
      <adapterFactoryDescription
            class="org.eclipse.wst.xml.ui.registry.AdapterFactoryProviderForXML">
            <contentType id="org.eclipse.wst.xml.core.xmlsource"/>
      </adapterFactoryDescription>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.embeddedAdapterFactoryProvider">
      <embeddedAdapterFactoryProvider
            class="org.eclipse.wst.xml.ui.registry.AdapterFactoryProviderForEmbeddedXML">
      </embeddedAdapterFactoryProvider>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
<!-- XML PREFERENCE PAGES -->
      <page
            name="%XML_Files.name"
            category="org.eclipse.wst.sse.ui.preferences"
            class="org.eclipse.wst.xml.ui.preferences.XMLFilesPreferencePage"
            id="org.eclipse.wst.sse.ui.preferences.xml">
      </page>
      <page
            name="%XML_Source.name"
            category="org.eclipse.wst.sse.ui.preferences.xml"
            class="org.eclipse.wst.xml.ui.preferences.XMLSourcePreferencePage"
            id="org.eclipse.wst.sse.ui.preferences.xml.source">
      </page>
      <page
            name="%XML_Templates.name"
            category="org.eclipse.wst.sse.ui.preferences.xml"
            class="org.eclipse.wst.xml.ui.preferences.XMLTemplatePreferencePage"
            id="org.eclipse.wst.sse.ui.preferences.xml.templates">
      </page>
      <page
            name="%XML_Styles.name"
            category="org.eclipse.wst.sse.ui.preferences.xml"
            class="org.eclipse.wst.xml.ui.preferences.XMLColorPage"
            id="org.eclipse.wst.sse.ui.preferences.xml.colors">
      </page>
   </extension>
<!-- Editor actionsets -->
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
         <part
               id="org.eclipse.wst.xml.ui.StructuredTextEditorXML">
         </part>
		<part
               id="org.eclipse.wst.xml.ui.StructuredTextEditorXML2">
         </part>
      </actionSetPartAssociation>
      <actionSetPartAssociation
            targetID="org.eclipse.ui.NavigateActionSet">
         <part
               id="org.eclipse.wst.xml.ui.StructuredTextEditorXML">
         </part>
		<part
               id="org.eclipse.wst.xml.ui.StructuredTextEditorXML2">
         </part>
      </actionSetPartAssociation>
   </extension>
   
<!-- add a default open on action for xml content type -->
   <extension
         point="org.eclipse.wst.sse.ui.openon">
      <openon
            class="org.eclipse.wst.xml.ui.openon.DefaultOpenOnXML"
            id="org.eclipse.wst.xml.ui.openon.DefaultOpenOnXML">
         <contenttypeidentifier
               id="org.eclipse.wst.xml.core.xmlsource">
         </contenttypeidentifier>
      </openon>
   </extension>
<!-- Templates -->
   <extension
         point="org.eclipse.ui.editors.templates">
      <contextType
            name="All XML context type"
            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXML"
            id="xml_all">
      </contextType>
      <contextType
            name="XML Tag context type"
            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLTag"
            id="xml_tag">
      </contextType>
      <contextType
            name="XML Attribute context type"
            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLAttribute"
            id="xml_attribute">
      </contextType>
      <contextType
            name="XML Attribute value context type"
            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLAttributeValue"
            id="xml_attribute_value">
      </contextType>
      <include
      		file="templates/xmldefault-templates.xml"
      		translations="templates/xmldefault-templates.properties">
      </include>
   </extension>
   
   
   
   
   
      <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%XML_Editor.name"
            icon="icons/xmldoc.gif"
            extensions="xml, tld, nst, xmi"
            contributorClass="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorActionBarContributor"
            class="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart"
            id="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart">
      </editor>
   </extension>
<!-- Editor actionsets -->
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
         <part
               id="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart">
         </part>
      </actionSetPartAssociation>
      <actionSetPartAssociation
            targetID="org.eclipse.ui.NavigateActionSet">
         <part
               id="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart">
         </part>
      </actionSetPartAssociation>
   </extension>
   
   
   
<!-- ================================================== -->
<!-- Contribute a 'New Wizard' for XML files            -->
<!-- ================================================== -->
   <extension
         point="org.eclipse.ui.newWizards">
      <category
            name="XML"
            id="org.eclipse.wst.XMLCategory">
      </category>
      <wizard
            name="%_UI_WIZARD_NEW_XML"
            icon="icons/XMLFile.gif"
            category="org.eclipse.wst.XMLCategory"
            class="org.eclipse.wst.xml.ui.internal.wizards.NewXMLWizard"
            id="org.eclipse.wst.xml.ui.internal.wizards.NewXMLWizard">
         <description>
            %_UI_CREATE_NEW_XML_FILE
         </description>
         <selection
               class="org.eclipse.core.resources.IResource">
         </selection>
      </wizard>
   </extension>
   
<!-- =============================================================================== -->
<!-- Allow the 'New XML' wizard to be accessed via the 'Generate' menu on a XSD file -->
<!-- =============================================================================== -->
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.xsd"
            id="org.eclipse.wst.xmlwizard.createXMLFromXSD">
         <menu
               label="%genMenuLabel"
               path="additions"
               id="generateXMLArtifacts">
            <separator name="xml"/>
         </menu>
         <action
               label="%_UI_ACTION_CREATE_XML"
               class="org.eclipse.wst.xml.ui.internal.wizards.XMLImportActionDelegate"
               menubarPath="generateXMLArtifacts/xml"
               enablesFor="1"
               id="org.eclipse.wst.xmlwizard.createXMLFromXSDAction">
         </action>
      </objectContribution>
   </extension>

<!-- =============================================================================== -->
<!-- Allow the 'New XML' wizard to be accessed via the 'Generate' menu on a DTD file -->
<!-- =============================================================================== -->
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.dtd"
            id="org.eclipse.wst.xmlwizard.createXMLFromDTD">
         <action
               label="%_UI_ACTION_CREATE_XML"
               class="org.eclipse.wst.xml.ui.internal.wizards.XMLImportActionDelegate"
               menubarPath="generateXMLArtifacts/xml"
               enablesFor="1"
               id="org.eclipse.wst.xmlwizard.createXMLFromDTDAction">
         </action>
      </objectContribution>
   </extension>
   
<!-- =============================================================================== -->
<!-- Contribute a New->Example... entry for Editing and Validating XML files         -->
<!-- =============================================================================== -->
   
  <extension point="org.eclipse.ui.newWizards"> 
       <category
            name="XML"
            parentCategory="org.eclipse.ui.Examples"
            id="org.eclipse.wst.xml.examples">
        </category>
       <wizard
            name="%XMLExample.name"
            class="org.eclipse.wst.xml.ui.internal.wizards.XMLExampleProjectCreationWizard"
            category="org.eclipse.ui.Examples/org.eclipse.wst.xml.examples" 
            finalPerspective="org.eclipse.ui.resourcePerspective"
            id="org.eclipse.wst.xml.ui.XMLExampleProjectCreationWizard"
            project="true" 
            icon="icons/newSampleProject_wiz.gif">
         <description>
           %XMLExampleProjectCreationWizard.description
         </description>  
      </wizard> 
   </extension>
   
   <extension point="org.eclipse.wst.common.ui.exampleProjectCreationWizard"
   		id="XMLExampleProjectCreationWizardExtension"> 
  	 <wizard
           id="org.eclipse.wst.xml.ui.XMLExampleProjectCreationWizard"
           banner="icons/newSampleProject_wizbanner.gif">
        <projectsetup
           	pagetitle="%XMLExampleProjectCreationWizard.pagetitle"
           	name="%XMLExampleProjectCreationWizard.projectname"
           	label="%XMLExampleProjectCreationWizard.label"
           	pagedescription="%XMLExampleProjectCreationWizard.pagedescription"
           	open="readme.html">
            <import
                  dest=""
                  src="examples/EditingAndValidatingXML.zip">
            </import>
        </projectsetup>
     </wizard>
   </extension>
   
</plugin>
