<?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.internal.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.XMLSourceEditingTextTools"
            target="org.eclipse.core.runtime.xml"/>
      <configuration
      		type="characterpairmatcher"
            class="org.eclipse.wst.xml.ui.internal.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.internal.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.internal.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.internal.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.internal.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.internal.preferences.XMLFilesPreferencePage"
            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.internal.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>
