<?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.sse.core"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.core.runtime"/>
      <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"/>
      <import plugin="org.eclipse.wst.validation"/>

   </requires>

   <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%XML_Source_Page_Editor.name"
            icon="icons/sourceEditor.gif"
            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.core.runtime.xml.source">
      <contentTypeBinding contentTypeId="org.eclipse.core.runtime.xml" />
      <contentTypeBinding contentTypeId="org.eclipse.wst.xml.core.xmlsource" />
      </editor>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.extendedconfiguration">
      <configuration
      		type="textviewerconfiguration"
            class="org.eclipse.wst.xml.ui.StructuredTextViewerConfigurationXML"
            target="org.eclipse.core.runtime.xml"/>
      <configuration
      		type="contentoutlineconfiguration"
            class="org.eclipse.wst.xml.ui.views.contentoutline.XMLContentOutlineConfiguration"
            target="org.eclipse.core.runtime.xml"/>
      <configuration
      		type="propertysheetconfiguration"
            class="org.eclipse.wst.xml.ui.views.properties.XMLPropertySheetConfiguration"
            target="org.eclipse.core.runtime.xml"/>
      <configuration
      		type="sourceeditingtexttools"
            class="org.eclipse.wst.xml.ui.extensions.XMLSourceEditingTextTools"
            target="org.eclipse.core.runtime.xml"/>
      <configuration
      		type="characterpairmatcher"
            class="org.eclipse.wst.xml.ui.text.XMLDocumentRegionEdgeMatcher"
            target="org.eclipse.core.runtime.xml"/>
      <configuration
      		type="structuredtextfoldingprovider"
            class="org.eclipse.wst.xml.ui.internal.projection.StructuredTextFoldingProviderXML"
            target="org.eclipse.core.runtime.xml"/>
      <definition
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences.xml"
            target="org.eclipse.core.runtime.xml"/>
      <definition
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences.xml.source"
            target="org.eclipse.core.runtime.xml"/>
      <definition
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences.xml.templates"
            target="org.eclipse.core.runtime.xml"/>
      <definition
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences.xml.colors"
            target="org.eclipse.core.runtime.xml"/>
   </extension>
   <extension
      point="org.eclipse.core.filebuffers.annotationModelCreation">
      <factory
            contentTypeId="org.eclipse.core.runtime.xml"
            class="org.eclipse.wst.sse.ui.internal.StructuredResourceMarkerAnnotationModelFactory"/>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
      <adapterFactoryDescription
            class="org.eclipse.wst.xml.ui.registry.AdapterFactoryProviderForXML">
            <contentType id="org.eclipse.core.runtime.xml"/>
      </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.core.runtime.xml.source">
         </part>
		<part
               id="org.eclipse.core.runtime.xml.source2">
         </part>
      </actionSetPartAssociation>
      <actionSetPartAssociation
            targetID="org.eclipse.ui.NavigateActionSet">
         <part
               id="org.eclipse.core.runtime.xml.source">
         </part>
		<part
               id="org.eclipse.core.runtime.xml.source2">
         </part>
      </actionSetPartAssociation>
   </extension>

<!-- Templates -->
   <extension
         point="org.eclipse.ui.editors.templates">
      <contextType
            name="%All_XML_context_type_Extension_Element.name"
            class="org.eclipse.wst.xml.ui.internal.templates.TemplateContextTypeXML"
            id="xml_all">
      </contextType>
      <contextType
            name="%XML_New_context_type_Extension_Element.name"
            class="org.eclipse.wst.xml.ui.internal.templates.TemplateContextTypeXML"
            id="xml_new">
      </contextType>
      <contextType
            name="%XML_Tag_context_type_Extension_Element.name"
            class="org.eclipse.wst.xml.ui.internal.templates.TemplateContextTypeXML"
            id="xml_tag">
      </contextType>
      <contextType
            name="%XML_Attribute_context_type_Extension_Element.name"
            class="org.eclipse.wst.xml.ui.internal.templates.TemplateContextTypeXML"
            id="xml_attribute">
      </contextType>
      <contextType
            name="%XML_Attribute_value_context_type_Extension_Element.name"
            class="org.eclipse.wst.xml.ui.internal.templates.TemplateContextTypeXML"
            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"
            contributorClass="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorActionBarContributor"
            class="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart"
            id="org.eclipse.wst.xml.internal.ui.XMLMultiPageEditorPart">
      <contentTypeBinding contentTypeId="org.eclipse.core.runtime.xml" />
      </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>
	
	<!-- initialize xml ui preferences -->
	<extension point="org.eclipse.core.runtime.preferences">
	   <initializer class="org.eclipse.wst.xml.ui.internal.preferences.XMLUIPreferenceInitializer"/>
	</extension>

	 <extension
         point="org.eclipse.wst.sse.ui.sourcevalidation">
      <validator
            scope="total"
            class="org.eclipse.wst.xml.ui.reconcile.DelegatingSourceValidatorForXML"
            id="org.eclipse.wst.xml.ui.reconcile.DelegatingSourceValidatorForXML">
         <contentTypeIdentifier
               id="org.eclipse.core.runtime.xml">
            <partitionType
                  id="org.eclipse.wst.xml.XML_DEFAULT">
            </partitionType>
         </contentTypeIdentifier>      
      </validator>
   </extension>

	<!--======================================================================================-->
	<!-- Document provider for ExternalFileEditorInput                                        -->
	<!--======================================================================================-->
	<extension point="org.eclipse.ui.editors.documentProviders"> 
		<provider 
			inputTypes="org.eclipse.wst.xml.ui.internal.hyperlink.ExternalFileEditorInput" 
			class="org.eclipse.ui.editors.text.TextFileDocumentProvider" 
			id="org.eclipse.wst.xml.ui.internal.ExternalFileDocumentProvider"> 
		</provider> 
	</extension> 

</plugin>
