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

<!--
 Copyright (c) 2005, 2009 IBM Corporation, Embarcadero Technologies, and others.
 All rights reserved.   This program and the accompanying materials
 are made available under the terms of the Eclipse Public License v1.0
 which accompanies this distribution, and is available at
 http://www.eclipse.org/legal/epl-v10.html

 Contributors:
   IBM - initial API and implementation
   Kenn Hussey (Embarcadero Technologies) - 156879, 215488, 226397, 204200, 247980

 $Id: plugin.xml,v 1.14 2009/03/13 20:34:37 khussey Exp $
-->

<plugin>

  <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http://www.eclipse.org/uml2/2.0.0/UML" 
       class = "org.eclipse.uml2.uml.UMLPackage" /> 
  </extension>

  <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http://www.eclipse.org/uml2/2.1.0/UML" 
       class = "org.eclipse.uml2.uml.UMLPackage" /> 
  </extension>
  
   <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http://www.eclipse.org/uml2/3.0.0/UML" 
       class = "org.eclipse.uml2.uml.UMLPackage"
       genModel = "model/UML.genmodel" /> 
  </extension>
  
  <extension point="org.eclipse.emf.ecore.extension_parser">
    <parser 
       type="uml" 
       class="org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl" />
  </extension>

  <extension point="org.eclipse.team.core.fileTypes">
    <fileTypes extension="uml" type="text" />
  </extension>

  <extension-point id="generated_package" name="%_UI_GeneratedPackageRegistry_extensionpoint" schema="schema/generated_package.exsd" />
  <extension-point id="dynamic_package" name="%_UI_DynamicPackageRegistry_extensionpoint" schema="schema/dynamic_package.exsd" />

  <extension
        point="org.eclipse.emf.ecore.content_parser">
     <parser
           contentTypeIdentifier="org.eclipse.uml2.uml"
           class="org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl" />
  </extension>

  <extension
        point="org.eclipse.core.contenttype.contentTypes">
     <content-type
           base-type="org.eclipse.emf.ecore.xmi"
           file-extensions="uml2"
           id="org.eclipse.uml2"
           name="%_UI_UML2_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://www.eclipse.org/uml2/1.0.0/UML" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.eclipse.emf.ecore.xmi"
           file-extensions="uml"
           id="org.eclipse.uml2.uml"
           name="%_UI_UML_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespacePattern"
                 value="http://www\.eclipse\.org/uml2/(2\.0\.0|2\.1\.0|3\.0\.0)/UML" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.eclipse.uml2.uml"
           file-extensions="uml"
           id="org.eclipse.uml2.uml_2_0_0"
           name="%_UI_UML_2_0_0_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://www.eclipse.org/uml2/2.0.0/UML" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.eclipse.uml2.uml"
           file-extensions="uml"
           id="org.eclipse.uml2.uml_2_1_0"
           name="%_UI_UML_2_1_0_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://www.eclipse.org/uml2/2.1.0/UML" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.eclipse.uml2.uml"
           file-extensions="uml"
           id="org.eclipse.uml2.uml_3_0_0"
           name="%_UI_UML_3_0_0_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://www.eclipse.org/uml2/3.0.0/UML" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
          
     <content-type
           base-type="org.eclipse.emf.ecore.xmi"
           file-extensions="xmi"
           id="org.omg.uml"
           name="%_UI_OMG_UML_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespacePattern"
                 value="http://schema\.omg\.org/spec/UML/(2\.1|2\.1\.1|2\.2)" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.omg.uml"
           file-extensions="xmi"
           id="org.omg.uml_2_1"
           name="%_UI_OMG_UML_2_1_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://schema.omg.org/spec/UML/2.1" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.omg.uml"
           file-extensions="xmi"
           id="org.omg.uml_2_1_1"
           name="%_UI_OMG_UML_2_1_1_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://schema.omg.org/spec/UML/2.1.1" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.omg.uml"
           file-extensions="xmi"
           id="org.omg.uml_2_2"
           name="%_UI_OMG_UML_2_2_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://schema.omg.org/spec/UML/2.2" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.eclipse.emf.ecore.xmi"
           file-extensions="cmof,xmi"
           id="org.omg.mof.cmof"
           name="%_UI_OMG_CMOF_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://schema.omg.org/spec/MOF/2.0/cmof.xml" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
  </extension>

</plugin>
