<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
 <extension-point id="annotationFiles" name="annotationFiles" schema="schema/annotationFiles.exsd"/>
 <extension-point id="symbolSourceProvider" name="JSF EL Symbol Source Provider" schema="schema/symbols.exsd"/>
 <extension-point id="contextSymbolFactory" name="Contextual Symbol Factory" schema="schema/contextSymbolFactory.exsd"/>
 <extension-point id="domainLoadingStrategies" name="Metadata Domain Loading Strategies (internal)" schema="schema/DomainLoadingStrategies.exsd"/>
 <extension-point id="domainSourceModelTypes" name="Metadata Domain Source Model Types (internal)" schema="schema/DomainSourceModelTypes.exsd"/>
 <extension-point id="domainSourceModelTypeTranslators" name="Metadata Domain Source Model Type Translators (internal)" schema="schema/DomainSourceModelTypeTranslators.exsd"/>
 <extension-point id="standardMetaDataFiles" name="Standard Metadata Files" schema="schema/StandardMetaDataFiles.exsd"/>
   <extension
         point="org.eclipse.jst.jsf.common.domainLoadingStrategies">
      <domainLoader
            domainId="TagLibraryDomain"
            domainLoadingStrategy="org.eclipse.jst.jsf.common.metadata.internal.JSPTagLibDomainLoadingStrategy"/>
   </extension>
   <extension
         point="org.eclipse.jst.jsf.common.domainSourceModelTypes">
      <domainSourceModelTypes
            domainId="TagLibraryDomain"
            domainSourceModelTypeId="DefaultMetaDataTagLibraryHandler"
            locator="org.eclipse.jst.jsf.common.metadata.internal.StandardMetaDataLocator"
            ordinal="10">
      </domainSourceModelTypes>
   
   </extension>
  <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http:///org/eclipse/jst/jsf/context/symbol.ecore" 
       class = "org.eclipse.jst.jsf.context.symbol.SymbolPackage"
       genModel = "model/symbol.genmodel" /> 
	<package 
       uri = "http://org.eclipse.jst.jsf.common.metadata/metadata.ecore" 
       class = "org.eclipse.jst.jsf.common.metadata.internal.provisional.MetadataPackage"
       genModel = "model/metadata.genmodel" />        
  </extension>
  <extension
        point="org.eclipse.emf.edit.itemProviderAdapterFactories">
        <factory 
       uri = "http:///org/eclipse/jst/jsf/context/symbol.ecore" 
       class = "org.eclipse.jst.jsf.context.symbol.internal.provider.SymbolItemProviderAdapterFactory" 
       supportedTypes = 
         "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
          org.eclipse.emf.edit.provider.IStructuredItemContentProvider
          org.eclipse.emf.edit.provider.ITreeItemContentProvider
          org.eclipse.emf.edit.provider.IItemLabelProvider
          org.eclipse.emf.edit.provider.IItemPropertySource
          org.eclipse.jst.jsf.context.symbol.internal.provisional.provider.IContentProposalProvider" />
  </extension>
 
 <extension
        point="org.eclipse.wst.xml.core.catalogContributions">
     <catalogContribution>
        <system
              systemId="org.eclipse.jst.jsf.common/grammarAnnotationSchema"
              uri="schema/grammar-annotations.xsd"/>
     </catalogContribution>
  </extension>
</plugin>
