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

<!--
 Copyright (c) 2005, 2011 IBM Corporation, Embarcadero Technologies, CEA, 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
   Kenn Hussey (CEA) - 327039

 $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" /> 
  </extension>
  
   <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http://www.eclipse.org/uml2/4.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|4\.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.uml2.uml"
           file-extensions="uml"
           id="org.eclipse.uml2.uml_4_0_0"
           name="%_UI_UML_4_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/4.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|2\.3)|http://www\.omg\.org/spec/UML/20100901)" />
           <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.omg.uml"
           file-extensions="xmi"
           id="org.omg.uml_2_3"
           name="%_UI_OMG_UML_2_3_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.3" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.omg.uml"
           file-extensions="xmi"
           id="org.omg.uml_2_4"
           name="%_UI_OMG_UML_2_4_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://www.omg.org/spec/UML/20100901" />
           <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="namespacePattern"
                 value="(http://schema\.omg\.org/spec/MOF/2\.0/cmof.xml|http://www\.omg\.org/spec/MOF/20100901/cmof.xml)" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.omg.mof.cmof"
           file-extensions="cmof,xmi"
           id="org.omg.mof.cmof_2_0"
           name="%_UI_OMG_CMOF_2_0_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>
     <content-type
           base-type="org.omg.mof.cmof"
           file-extensions="cmof,xmi"
           id="org.omg.mof.cmof_2_4"
           name="%_UI_OMG_CMOF_2_4_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespace"
                 value="http://www.omg.org/spec/MOF/20100901/cmof.xml" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
  </extension>

</plugin>
