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

   <runtime>
      <library name="htmleditor.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.ui"/>
      <import plugin="org.eclipse.wst.sse.ui"/>
      <import plugin="org.eclipse.wst.xml.ui"/>
      <import plugin="org.eclipse.wst.css.ui"/>
      <import plugin="org.eclipse.wst.sse.core"/>
      <import plugin="org.eclipse.wst.css.core"/>
      <import plugin="org.eclipse.wst.html.core"/>
      <import plugin="org.eclipse.wst.xml.core"/>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.jdt.ui"/>
      <import plugin="org.eclipse.wst.common.uriresolver"/>
      <import plugin="org.eclipse.wst.validation"/>
      <import plugin="org.eclipse.wst.javascript.ui"/>
   </requires>


   <extension-point id="deviceProfileEntryProvider" name="%Device_Profile_Entry_Provider_Extension.name"/>

   <extension
         point="org.eclipse.ui.editors">
      <editor
            name="%HTML_Source_Page_Editor.name"
            icon="icons/sourceEditor.gif"
            extensions="html, htm, xhtml, jhtml, shtml, shtm, html-ss, wml"
            contributorClass="org.eclipse.wst.html.ui.edit.ui.ActionContributorHTML"
            class="org.eclipse.wst.html.ui.StructuredTextEditorHTML"
            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
            id="org.eclipse.wst.html.ui.StructuredTextEditorHTML">
      </editor>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.extendedconfiguration">
      <configuration
      		type="textviewerconfiguration"
            class="org.eclipse.wst.html.ui.StructuredTextViewerConfigurationHTML"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <configuration
      		type="contentoutlineconfiguration"
            class="org.eclipse.wst.html.ui.views.contentoutline.HTMLContentOutlineConfiguration"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <configuration
      		type="propertysheetconfiguration"
            class="org.eclipse.wst.xml.ui.views.properties.XMLPropertySheetConfiguration"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <configuration
      		type="spellchecktarget"
            class="org.eclipse.wst.xml.ui.XMLSpellCheckTarget"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <configuration
      		type="sourceeditingtexttools"
            class="org.eclipse.wst.xml.ui.extensions.XMLSourceEditingTextTools"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <configuration
      		type="characterpairmatcher"
            class="org.eclipse.wst.html.ui.text.HTMLDocumentRegionEdgeMatcher"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <configuration
      		type="structuredtextfoldingprovider"
            class="org.eclipse.wst.html.ui.internal.projection.StructuredTextFoldingProviderHTML"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <definition 
      		type="preferencepages"
            value="org.eclipse.wst.html.ui.preferences"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <definition 
      		type="preferencepages"
            value="org.eclipse.wst.html.ui.preferences.source"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <definition 
      		type="preferencepages"
            value="org.eclipse.wst.html.ui.preferences.templates"
            target="org.eclipse.wst.html.core.htmlsource"/>
      <definition 
      		type="preferencepages"
            value="org.eclipse.wst.html.ui.preferences.styles"
            target="org.eclipse.wst.html.core.htmlsource"/>
   </extension>
   <extension
      point="org.eclipse.core.filebuffers.annotationModelCreation">
      <factory
            contentTypeId="org.eclipse.wst.html.core.htmlsource"
            class="org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModelFactory"/>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
      <adapterFactoryDescription
            class="org.eclipse.wst.html.ui.registry.AdapterFactoryProviderForHTML">
            <contentType id="org.eclipse.wst.html.core.htmlsource"/>
      </adapterFactoryDescription>
   </extension>
   <extension
         point="org.eclipse.wst.sse.ui.embeddedAdapterFactoryProvider">
      <embeddedAdapterFactoryProvider
            class="org.eclipse.wst.html.ui.registry.AdapterFactoryProviderForEmbeddedHTML">
      </embeddedAdapterFactoryProvider>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
<!-- HTML PREFERENCE PAGES-->
      <page
            name="%HTML_Files.name"
            category="org.eclipse.wst.sse.ui.preferences"
            class="org.eclipse.wst.html.ui.preferences.ui.HTMLFilesPreferencePage"
            id="org.eclipse.wst.html.ui.preferences">
      </page>
      <page
            name="%HTML_Source.name"
            category="org.eclipse.wst.html.ui.preferences"
            class="org.eclipse.wst.html.ui.preferences.ui.HTMLSourcePreferencePage"
            id="org.eclipse.wst.html.ui.preferences.source">
      </page>
      <page
            name="%HTML_Templates.name"
            category="org.eclipse.wst.html.ui.preferences"
            class="org.eclipse.wst.html.ui.preferences.ui.HTMLTemplatePreferencePage"
            id="org.eclipse.wst.html.ui.preferences.templates">
      </page>
      <page
            name="%HTML_Styles.name"
            category="org.eclipse.wst.html.ui.preferences"
            class="org.eclipse.wst.html.ui.preferences.ui.HTMLColorPage"
            id="org.eclipse.wst.html.ui.preferences.styles">
      </page>
   </extension>
<!-- Web content settings -->
   <extension
         point="org.eclipse.ui.propertyPages">
<!-- for j2ee web project -->
      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%WebContentSettings.name"
            class="org.eclipse.wst.html.ui.contentproperties.ui.ProjectContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.dynamicprojectpropertypage">
         <filter
               name="nature"
               value="org.eclipse.wst.webproject.WebNature">
         </filter>
      </page>
<!-- for static web project -->
      <page
            objectClass="org.eclipse.core.resources.IProject"
            adaptable="true"
            name="%WebContentSettings.name"
            class="org.eclipse.wst.html.ui.contentproperties.ui.ProjectContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.staticprojectpropertypage">
         <filter
               name="nature"
               value="org.eclipse.wst.webproject.StaticWebNature">
         </filter>
      </page>
      <page
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            name="%WebContentSettings.name"
            nameFilter="*.htm*"
            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.htmlpropertypage">
      </page>
      <page
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            name="%WebContentSettings.name"
            nameFilter="*.shtml"
            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.htmlpropertypage">
      </page>
      <page
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            name="%WebContentSettings.name"
            nameFilter="*.xhtml"
            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.htmlpropertypage">
      </page>
      <page
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            name="%WebContentSettings.name"
            nameFilter="*.jhtml"
            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.htmlpropertypage">
      </page>
      <page
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            name="%WebContentSettings.name"
            nameFilter="*.jsp"
            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.htmlpropertypage">
      </page>
      <page
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            name="%WebContentSettings.name"
            nameFilter="*.jspf"
            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.htmlpropertypage">
      </page>
      <page
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            name="%WebContentSettings.name"
            nameFilter="*.jsf"
            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.htmlpropertypage">
      </page>
      <page
            objectClass="org.eclipse.core.resources.IFile"
            adaptable="true"
            name="%WebContentSettings.name"
            nameFilter="*.wml"
            class="org.eclipse.wst.html.ui.contentproperties.ui.HTMLContentSettingsPropertyPage"
            id="org.eclipse.wst.html.ui.htmlpropertypage">
      </page>
   </extension>
<!-- Editor actionsets -->
   <extension
         point="org.eclipse.ui.actionSetPartAssociations">
      <actionSetPartAssociation
            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
         <part
               id="org.eclipse.wst.html.ui.StructuredTextEditorHTML">
         </part>
      </actionSetPartAssociation>
      <actionSetPartAssociation
            targetID="org.eclipse.ui.NavigateActionSet">
         <part
               id="org.eclipse.wst.html.ui.StructuredTextEditorHTML">
         </part>
      </actionSetPartAssociation>
   </extension>

<!-- Templates -->
   <extension
         point="org.eclipse.ui.editors.templates">
      <contextType
            name="%All_HTML_context_type_Extension_Element.name"
            class="org.eclipse.wst.html.ui.internal.templates.TemplateContextTypeHTML"
            id="html_all">
      </contextType>
      <contextType
            name="%HTML_New_context_type_Extension_Element.name"
            class="org.eclipse.wst.html.ui.internal.templates.TemplateContextTypeHTML"
            id="html_new">
      </contextType>
      <contextType
            name="%HTML_Tag_context_type_Extension_Element.name"
            class="org.eclipse.wst.html.ui.internal.templates.TemplateContextTypeHTML"
            id="html_tag">
      </contextType>
      <contextType
            name="%HTML_Attribute_context_type_Extension_Element.name"
            class="org.eclipse.wst.html.ui.internal.templates.TemplateContextTypeHTML"
            id="html_attribute">
      </contextType>
      <contextType
            name="%HTML_Attribute_value_context_type_Extension_Element.name"
            class="org.eclipse.wst.html.ui.internal.templates.TemplateContextTypeHTML"
            id="html_attribute_value">
      </contextType>
      <include
      		file="templates/htmldefault-templates.xml"
      		translations="templates/htmldefault-templates.properties">
      </include>
   </extension>
	<!-- initialize html ui preferences -->
	<extension point="org.eclipse.core.runtime.preferences">
	   <initializer class="org.eclipse.wst.html.ui.internal.preferences.HTMLUIPreferenceInitializer"/>
	</extension>
	
	<!--======================================================================================-->
	<!-- Document provider for ExternalFileEditorInput                                        -->
	<!--======================================================================================-->
	<extension point="org.eclipse.ui.editors.documentProviders"> 
		<provider 
			inputTypes="org.eclipse.wst.html.ui.internal.hyperlink.ExternalFileEditorInput" 
			class="org.eclipse.ui.editors.text.TextFileDocumentProvider" 
			id="org.eclipse.wst.html.ui.internal.ExternalFileDocumentProvider"> 
		</provider> 
	</extension> 
	
	<!--======================================================================================-->
	<!-- Workbench validation                                       						  -->
	<!--======================================================================================-->
   <extension
		id="HTMLValidator"
		name="%HTML_Syntax_Validator.name"
		point="org.eclipse.wst.validation.validator">
      <validator>
	<!--
   	  <projectNature
		id="org.eclipse.wst.web.WebNature">
	  </projectNature>
	  <projectNature
		id="org.eclipse.wst.web.StaticWebNature">
	  </projectNature>
	-->	
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.html">
	  </filter>
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.htm">
	  </filter>
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.xhtml">
	  </filter>
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.htpl">
	  </filter>
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.wml">
	  </filter>
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.jsp">
	  </filter>
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.jspf">
	  </filter>
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.jsf">
	  </filter>
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.jsv">
	  </filter>
	  <filter
		objectClass="org.eclipse.core.resources.IFile"
		nameFilter="*.jtpl">
	  </filter>
	  <helper
		class="org.eclipse.wst.html.validation.HTMLValidationWorkbenchHelper">
	  </helper>
	  <run
	  	enabled="false"
		class="org.eclipse.wst.html.validation.HTMLValidator">
	  </run>
	</validator>
   </extension>

	<!--======================================================================================-->
	<!-- As you type validation                                      						  -->
	<!--======================================================================================-->
	
   <extension
         point="org.eclipse.wst.sse.ui.reconcileValidator">
      <validator
            scope="total"
            class="org.eclipse.wst.html.validation.HTMLValidator"
            id="org.eclipse.wst.html.htmlreconcilevalidator">
         <contentTypeIdentifier
               id="org.eclipse.wst.html.core.htmlsource">
            <partitionType
                  id="org.eclipse.wst.html.DEFAULT_HTML">
            </partitionType>
         </contentTypeIdentifier>
         <contentTypeIdentifier
               id="org.eclipse.jst.jsp.core.jspsource">
            <partitionType
                  id="org.eclipse.wst.html.DEFAULT_HTML">
            </partitionType>
         </contentTypeIdentifier>
      </validator>
   </extension>
	

	<!-- New JSP wizard -->
	<extension point="org.eclipse.ui.newWizards">
		<wizard id="org.eclipse.wst.html.ui.internal.wizard.NewHTMLWizard"
			name="%_UI_WIZARD_NAME"
			class="org.eclipse.wst.html.ui.internal.wizard.NewHTMLWizard"
			category="org.eclipse.wst.web.ui"
			icon="icons/full/ctool16/newhtml_wiz.gif">
			<description>%_UI_WIZARD_CREATE_NEW_FILE</description>
			<selection class="org.eclipse.core.resources.IResource" />
		</wizard>
	</extension>
</plugin>
