<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>

     <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.internal.actions.ActionContributorXML"
            class="org.eclipse.wst.xml.ui.internal.provisional.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.internal.provisional.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.internal.views.properties.XMLPropertySheetConfiguration"
            target="org.eclipse.core.runtime.xml"/>
      <configuration
      		type="sourceeditingtexttools"
            class="org.eclipse.wst.xml.ui.internal.provisional.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.internal.provisional.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.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.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.ui.internal.tabletree.XMLMultiPageEditorActionBarContributor"
            class="org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart"
            id="org.eclipse.wst.xml.ui.internal.tabletree.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.ui.internal.tabletree.XMLMultiPageEditorPart">
         </part>
      </actionSetPartAssociation>
      <actionSetPartAssociation
            targetID="org.eclipse.ui.NavigateActionSet">
         <part
               id="org.eclipse.wst.xml.ui.internal.tabletree.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.xml.ui.internal.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.internal.validation.DelegatingSourceValidatorForXML"
            id="org.eclipse.wst.xml.ui.internal.validation.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> 


	<extension
		point="org.eclipse.ui.popupMenus">
		<viewerContribution
			targetID="org.eclipse.core.runtime.xml.source.RulerContext"
            id="org.eclipse.ui.texteditor.ruler.context.actions">
			<action
				label="%AddTask.label"
				helpContextId="org.eclipse.ui.AddTask_action_context"
				class="org.eclipse.ui.texteditor.TaskRulerAction"
				tooltip="%AddTask.tooltip"
				menubarPath="additions"
				id="org.eclipse.ui.texteditor.TaskRulerAction">
			</action>
			<action
				label="%AddBookmark.label"
				helpContextId="org.eclipse.ui.bookmark_action_context"
				class="org.eclipse.ui.texteditor.BookmarkRulerAction"
				tooltip="%AddBookmark.tooltip"
				menubarPath="additions"
				id="org.eclipse.ui.texteditor.BookmarkRulerAction">
			</action>
		</viewerContribution>
	</extension>
</plugin>
