<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.wst.xml.ui"
   name="%pluginName"
   version="1.0.0"
   provider-name="%providerName"
   class="org.eclipse.wst.xml.ui.internal.XMLUIPlugin">

   <runtime>
      <library name="xmleditor.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <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, xsl"
            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">
      <configuration
      		type="textviewerconfiguration"
            class="org.eclipse.wst.xml.ui.StructuredTextViewerConfigurationXML"
            target="org.eclipse.wst.xml.core.xmlsource"/>
      <configuration
      		type="contentoutlineconfiguration"
            class="org.eclipse.wst.xml.ui.views.contentoutline.XMLContentOutlineConfiguration"
            target="org.eclipse.wst.xml.core.xmlsource"/>
      <configuration
      		type="propertysheetconfiguration"
            class="org.eclipse.wst.xml.ui.views.properties.XMLPropertySheetConfiguration"
            target="org.eclipse.wst.xml.core.xmlsource"/>
      <configuration
      		type="spellchecktarget"
            class="org.eclipse.wst.xml.ui.XMLSpellCheckTarget"
            target="org.eclipse.wst.xml.core.xmlsource"/>
      <configuration
      		type="sourceeditingtexttools"
            class="org.eclipse.wst.xml.ui.extensions.XMLSourceEditingTextTools"
            target="org.eclipse.wst.xml.core.xmlsource"/>
      <configuration
      		type="characterpairmatcher"
            class="org.eclipse.wst.xml.ui.text.XMLDocumentRegionEdgeMatcher"
            target="org.eclipse.wst.xml.core.xmlsource"/>
      <definition
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences/org.eclipse.wst.sse.ui.preferences.xml"
            target="org.eclipse.wst.xml.core.xmlsource"/>
   </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_Extension_Element.name"
            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXML"
            id="xml_all">
      </contextType>
      <contextType
            name="%XML_Tag_context_type_Extension_Element.name"
            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLTag"
            id="xml_tag">
      </contextType>
      <contextType
            name="%XML_Attribute_context_type_Extension_Element.name"
            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLAttribute"
            id="xml_attribute">
      </contextType>
      <contextType
            name="%XML_Attribute_value_context_type_Extension_Element.name"
            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="%_UI_WIZARD_NEW_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">
         <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.createXMLFromDTDAction">
         </action>
      </objectContribution>
   </extension>
   
<!-- =============================================================================== -->
<!-- Contribute a New->Example... entry for Editing and Validating XML files         -->
<!-- =============================================================================== -->
 
  <!-- define the XMLSamples project wizard -->  
  <extension point="org.eclipse.ui.newWizards"> 
       <category
            name="%_UI_WIZARD_NEW_XML"
            parentCategory="org.eclipse.ui.Examples"
            id="org.eclipse.wst.xml.examples">
       </category>
       <wizard
            name="%XMLExample.name"
            class="org.eclipse.wst.common.ui.wizards.ExampleProjectCreationWizard"
            category="org.eclipse.ui.Examples/org.eclipse.wst.xml.examples"
            id="org.eclipse.wst.xml.ui.XMLExampleProjectCreationWizard"
            project="true" 
            icon="icons/newSampleProject_wiz.gif">
         <description>
           %XMLExampleProjectCreationWizard.description
         </description>  
       </wizard>
   </extension>
   
   <!-- configure the XMLSamples project wizard -->
   <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"/>
		    </projectsetup>
		</wizard>
	</extension>
   
</plugin>
