<?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.wst.sse.core.task"/>
		<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="xmlValidator"
		name="%XML_Validator.name"
       point="org.eclipse.wst.validation.validator">
    <validator>
			<!-- There is a custom XML validator for EJBs -->
			<projectNature
				include="false"
				id="org.eclipse.jst.j2ee.ejb.EJBNature"/>
			<!-- There is a custom XML validator for EARs -->
			<projectNature
				include="false"
				id="org.eclipse.jst.j2ee.EARNature"/>
			<filter
				objectClass="org.eclipse.core.resources.IFile"
				caseSensitive="false"
				nameFilter="*.xml">
			</filter>
			<filter
				objectClass="org.eclipse.core.resources.IFile"
				caseSensitive="false"
				nameFilter="*.gph">
			</filter>
			<filter
				objectClass="org.eclipse.core.resources.IFile"
				caseSensitive="false"
				nameFilter="*.wdo-connections">
			</filter>
         	<contentTypeBinding contentTypeId="org.eclipse.core.runtime.xml"/>
         	<!-- needed until bug 181443 is implemented -->
         	<contentTypeBinding contentTypeId="org.eclipse.wst.xml.core.xmlsource"/>
         	<contentTypeBinding contentTypeId="org.eclipse.wst.xml.core.xslsource"/>
         	<contentTypeBinding contentTypeId="org.eclipse.jst.jsp.core.tldsource"/>
			<helper class="org.eclipse.wst.xml.core.internal.validation.core.Helper"/>
			<run
				async="true"
				class="org.eclipse.wst.xml.core.internal.validation.eclipse.Validator"
				enabled="true"
				fullBuild="true"
				incremental="true"/>
         <markerId markerIdValue="org.eclipse.wst.xml.core.validationMarker"/>
      </validator>
 </extension>
 <extension
         id="validationMarker"
         name="%_validationMarker.name"
         point="org.eclipse.core.resources.markers">
      <super type="org.eclipse.wst.validation.problemmarker"/>
      <persistent value="true"/>
 </extension>

</plugin>
