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

   <!-- An extension for contributing a XML validation error customizer. -->
   <extension-point id="errorCustomizer" name="%XML_Validation_Error_Customizer.name" schema="schema/errorCustomizer.exsd"/>

	<extension point="org.eclipse.wst.sse.core.modelHandler">
		<modelHandler
			default="true"
			class="org.eclipse.wst.xml.core.internal.modelhandler.ModelHandlerForXML"
			associatedContentTypeId="org.eclipse.core.runtime.xml"
			id="org.eclipse.wst.xml.core.internal.modelhandler">
		</modelHandler>
	</extension>
	<extension point="org.eclipse.wst.sse.core.modelHandler">
		<modelHandler
			default="true"
			class="org.eclipse.wst.xml.core.internal.modelhandler.ModelHandlerForXML"
			associatedContentTypeId="org.eclipse.wst.xml.core.xmlsource"
			id="org.eclipse.wst.xml.core.internal.modelhandler2">
		</modelHandler>
	</extension>
	
	<extension point="org.eclipse.wst.sse.core.embeddedTypeHandler">
		<embeddedTypeHandler
			class="org.eclipse.wst.xml.core.internal.modelhandler.EmbeddedXML">
		</embeddedTypeHandler>
	</extension>

	<extension point="org.eclipse.wst.sse.core.taskscanner">
		<scanner
			id="org.eclipse.wst.xml.core.internal.tasks.XMLFileTaskScanner"
			class="org.eclipse.wst.xml.core.internal.tasks.XMLFileTaskScanner:org.eclipse.wst.xml.core.taskMarker"
			contentTypeIds="org.eclipse.core.runtime.xml" />
	</extension>
	<extension
		id="taskMarker"
		name="%_taskMarker.name"
		point="org.eclipse.core.resources.markers">
		<super type="org.eclipse.core.resources.taskmarker"/>
		<persistent value="true"/>
	</extension>
	 
   <!-- Here we define a new extension point.  This extension point is used
        to programmatically contribute catalog entries to the XML Catalog. -->
   <extension-point id="catalogContributions" name="%XML_Catalog_Contributions_Extension_Point.name" schema="schema/catalogContributions.exsd"/>

   <!-- This extension point extends the Common Extensbile URI Resolver so that
        the XML Catalog can participare in resolving processes. -->
   <extension point="org.eclipse.wst.common.uriresolver.resolverExtensions">
      <resolverExtension
            stage="postnormalization"
            class="org.eclipse.wst.xml.core.internal.catalog.XMLCatalogURIResolverExtension">
      </resolverExtension>
   </extension>

	<extension
		point="org.eclipse.core.filebuffers.documentCreation"
		id="org.eclipse.wst.xml.core.documentfactories"
		name="%Structured_XML_Document_Factory_Extension.name">
		<factory
			contentTypeId="org.eclipse.core.runtime.xml"
			class="org.eclipse.wst.sse.core.internal.filebuffers.BasicStructuredDocumentFactory" />
	</extension>
	<extension
		point="org.eclipse.core.filebuffers.documentCreation"
		id="org.eclipse.wst.xml.core.documentfactories2"
		name="%Structured_XML_Document_Factory_Extension.name">
		<factory
			contentTypeId="org.eclipse.wst.xml.core.xmlsource"
			class="org.eclipse.wst.sse.core.internal.filebuffers.BasicStructuredDocumentFactory" />
	</extension>
	<extension point="org.eclipse.team.core.fileTypes">
		<fileTypes
			type="text"
			extension="xsl">
		</fileTypes>
		<fileTypes
			type="text"
			extension="xslt">
		</fileTypes>
		<fileTypes
			type="text"
			extension="dadx">
		</fileTypes>
		<fileTypes
			type="text"
			extension="wsdl">
		</fileTypes>
		<fileTypes
			type="text"
			extension="nst">
		</fileTypes>
		<fileTypes
			type="text"
			extension="xmi">
		</fileTypes>
		<fileTypes
			type="text"
			extension="xsd">
		</fileTypes>
	</extension>
	
	<extension point="org.eclipse.wst.sse.core.formatProcessors">
		<processor
			class="org.eclipse.wst.xml.core.internal.formatter.XMLFormatterFormatProcessor"
			contentTypeId="org.eclipse.core.runtime.xml">
		</processor>
	</extension>

	<!--  https://bugs.eclipse.org/bugs/show_bug.cgi?id=103083 -->\
	<!--  FYI: this xmi type *should* be defined in EMF, but, since isn't
			we will here. In future versions is could be removed -->
	<extension point="org.eclipse.core.runtime.contentTypes">
		<content-type
			file-extensions="xmi"
			priority="low"
			name="%XMI_Content_Type"
			id="xmisource"
			base-type="org.eclipse.core.runtime.xml">
		</content-type>

		<content-type
			file-extensions="xml,xsl,xslt,wsdl,xsd,exsd,xmi"
			priority="low"
			name="%XML_Content_Type_Extension_Element.name"
			id="xmlsource"
			base-type="org.eclipse.core.runtime.text"
			default-charset="UTF-8">
			<describer class="org.eclipse.wst.xml.core.internal.contenttype.ContentDescriberForXML" />
		</content-type>

		<content-type
			file-extensions="xsl,xslt"
			priority="high"
			name="%XSL_Content_Type_Extension_Element.name"
			id="xslsource"
			base-type="org.eclipse.core.runtime.xml"
			default-charset="UTF-8">
		</content-type>
	</extension>


	<!-- initialize xml core preferences -->
	<extension point="org.eclipse.core.runtime.preferences">
		<initializer class="org.eclipse.wst.xml.core.internal.preferences.XMLCorePreferenceInitializer" />
	</extension>

	<extension-point id="documentFactories" name="%Content_Model_Document_Factories_Extension.name" schema="schema/documentFactories.exsd"/>

	<extension-point id="modelQueryExtensions" name="%Model_Query_Extension.name" schema="schema/modelQueryExtensions.exsd"/>

	<extension-point id="annotationFiles" name="%Content_Model_Annotation_Files_Extension.name" schema="schema/annotationFiles.exsd"/>	
		
	<extension 
       point="org.eclipse.jem.util.uiContextSensitiveClass">
       <uiContextSensitiveClass
            context="UI"
            key="rendererFactory"
            className="org.eclipse.wst.xml.core.internal.emf2xml.EMF2DOMSSERendererFactory">
       </uiContextSensitiveClass>
  </extension>
  <!-- ====================================================== -->
	<!-- Register the XML validator with the validation 		-->
	<!-- framework. 										    -->
	<!-- ====================================================== -->

 <extension
         id="validationMarker"
         name="%_validationMarker.name"
         point="org.eclipse.core.resources.markers">
      <super type="org.eclipse.wst.validation.problemmarker"/>
      <persistent value="true"/>
 </extension>

   <extension id="xml" name="%XML_Validator.name" point="org.eclipse.wst.validation.validatorV2">
      <validator
            build="true"
            class="org.eclipse.wst.xml.core.internal.validation.eclipse.Validator"
            manual="true"
            sourceid="org.eclipse.wst.xml.ui.internal.validation.DelegatingSourceValidatorForXML"
            version="3"
            markerId="org.eclipse.wst.xml.core.validationMarker">
         <include>
            <rules>
               <contentType id="org.eclipse.core.runtime.xml"></contentType>
               <contentType id="org.eclipse.wst.xml.core.xmlsource"></contentType>
               <contentType id="org.eclipse.wst.xml.core.xslsource"></contentType>
               <contentType id="org.eclipse.jst.jsp.core.tldsource"></contentType>
               <fileext
                     caseSensitive="false"
                     ext="xml">
               </fileext>
               <fileext
                     caseSensitive="false"
                     ext="gph">
               </fileext>
               <fileext
                     caseSensitive="false"
                     ext="wdo-connections">
               </fileext>
            </rules>
         </include>
         <exclude>
            <rules>
				<projectNature id="org.eclipse.jst.j2ee.ejb.EJBNature"/>
				<projectNature id="org.eclipse.jst.j2ee.EARNature"/>
    			<file caseSensitive="true" name=".project" type="file"/>
    			<file caseSensitive="true" name=".classpath" type="file"/>
    			<file caseSensitive="true" name=".settings"  type="folder"/>
            </rules>
         </exclude>
      </validator>
   </extension>
</plugin>
