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

   <runtime>
      <library name="dtdeditor.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.xml.core"/>
      <import plugin="org.eclipse.wst.dtd.core"/>
      <import plugin="org.eclipse.wst.sse.core"/>
      <import plugin="org.eclipse.ui"/>
      <import plugin="org.eclipse.ui.workbench"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.wst.common.encoding"/>
      <import plugin="org.eclipse.wst.common.ui"/>
   </requires>


   <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%DTD_Source_Page_Editor.name"
            icon="icons/DTDFile.gif"
            extensions="dtd,ent,mod"
            contributorClass="org.eclipse.wst.dtd.ui.ActionContributorDTD"
            class="org.eclipse.wst.dtd.ui.StructuredTextEditorDTD"
            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
            id="org.eclipse.wst.dtd.ui.StructuredTextEditorDTD">
      </editor>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.extendedconfiguration">
      <configuration
      		type="contentoutlineconfiguration"
            class="org.eclipse.wst.dtd.ui.views.contentoutline.DTDContentOutlineConfiguration"
            target="org.eclipse.wst.dtd.core.dtdsource"/>
      <configuration
      		type="textviewerconfiguration"
            class="org.eclipse.wst.dtd.ui.StructuredTextViewerConfigurationDTD"
            target="org.eclipse.wst.dtd.core.dtdsource"/>
      <configuration
      		type="characterpairmatcher"
            class="org.eclipse.wst.dtd.ui.text.DTDDocumentRegionEdgeMatcher"
            target="org.eclipse.wst.dtd.core.dtdsource"/>
      <definition
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences.dtd"
            target="org.eclipse.wst.dtd.core.dtdsource"/>
      <definition
      		type="preferencepages"
            value="org.eclipse.wst.sse.ui.preferences.dtd.styles"
            target="org.eclipse.wst.dtd.core.dtdsource"/>
   </extension>
   <extension
      point="org.eclipse.core.filebuffers.annotationModelCreation">
      <factory
            contentTypeId="org.eclipse.wst.dtd.core.dtdsource"
            class="org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModelFactory"/>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
      <adapterFactoryDescription
            class="org.eclipse.wst.dtd.ui.registry.AdapterFactoryProviderForDTD">
            <contentType id="org.eclipse.wst.dtd.core.dtdsource"/>
      </adapterFactoryDescription>
   </extension>
<!-- Editor actionsets -->
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
         <part
               id="org.eclipse.wst.dtd.ui.StructuredTextEditorDTD">
         </part>
      </actionSetPartAssociation>
      <actionSetPartAssociation
            targetID="org.eclipse.ui.NavigateActionSet">
         <part
               id="org.eclipse.wst.dtd.ui.StructuredTextEditorDTD">
         </part>
      </actionSetPartAssociation>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            name="%_UI_LABEL_DTD_FILES"
            category="org.eclipse.wst.sse.ui.preferences"
            class="org.eclipse.wst.dtd.ui.preferences.DTDFilesPreferencePage"
            id="org.eclipse.wst.sse.ui.preferences.dtd">
      </page>
      <page
            name="%_UI_LABEL_DTD_STYLES"
            category="org.eclipse.wst.sse.ui.preferences.dtd"
            class="org.eclipse.wst.dtd.ui.preferences.DTDColorPage"
            id="org.eclipse.wst.sse.ui.preferences.dtd.styles">
      </page>
   </extension>
	<!-- initialize dtd ui preferences -->
	<extension point="org.eclipse.core.runtime.preferences">
	   <initializer class="org.eclipse.wst.dtd.ui.internal.preferences.DTDUIPreferenceInitializer"/>
	</extension>
</plugin>
