<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?><!--  Copyright (c) 2000-2005 MetaMatrix, Inc.  All rights reserved. --><plugin id="com.metamatrix.metamodels.xml" name="%pluginName" version="5.0.1"
        provider-name="%providerName"
        class="com.metamatrix.metamodels.xml.XmlDocumentPlugin">

   <runtime>
      <library name="metamodelsXml_PATCH.jar">
         <export name="*"/>
      </library>
      <library name="metamodelsXml.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.emf.ecore" export="true"/>
      <import plugin="com.metamatrix.modeler.core"/>
      <import plugin="org.jdom"/>
      <import plugin="org.aspectj.runtime"/>
      <import plugin="com.metamatrix.metamodels.xsd"/>
      <import plugin="com.metamatrix.core.aspectj"/>
   </requires>


   <extension point="org.eclipse.emf.ecore.generated_package">
      <package uri="http://www.metamatrix.com/metamodels/XmlDocument"
               class="com.metamatrix.metamodels.xml.XmlDocumentPackage">
      </package>
   </extension>
   <!--
   	Each extension below represents a single metamodel.  Each metmodel is
   	registered using under the specified <uri> value.  The <internalUri>
   	value defines the physical URI used when determining the necessary
   	resource factory used to create a resource of this type.  The <resource>
    value defines the location of the ecore XMI file within the archive.
   -->
   <extension id="xmldoc" name="%metamodelName" point="com.metamatrix.modeler.core.metamodel">
      <namespacePrefix>
         vxmldoc
      </namespacePrefix>
      <uri>
         http://www.metamatrix.com/metamodels/XmlDocument
      </uri>
      <internalUri>
         mtkplugin:///com.metamatrix.metamodels.XmlDocument
      </internalUri>
      <rootEntityClass name="com.metamatrix.metamodels.xml.XmlDocument">
      </rootEntityClass>
      <!-- Fragments are not supported in 4.0
      <rootEntityClass name="com.metamatrix.metamodels.xml.XmlFragment"/>
      -->
      <properties createAsPhysical="false" requiresProxies="false" participatoryOnly="false"
                  createAsVirtual="true"
                  supportsDiagrams="true"
                  supportsExtension="true">
      </properties>
      <allowableModelType>
      	VIRTUAL
      </allowableModelType>
      <factoryClass name="com.metamatrix.metamodels.xml.impl.XmlDocumentFactoryImpl">
      </factoryClass>
      <packageClass name="com.metamatrix.metamodels.xml.impl.XmlDocumentPackageImpl">
      </packageClass>
      <adapterClass name="com.metamatrix.metamodels.xml.provider.XmlDocumentItemProviderAdapterFactory">
      </adapterClass>
   </extension>
   <!-- MetamodelAspect extensions -->
   <extension id="xmlDocumentUmlAspect" point="com.metamatrix.modeler.core.umlDiagramAspect">
      <metamodelExtensionID>
         xmldoc
      </metamodelExtensionID>
      <factoryClass name="com.metamatrix.metamodels.xml.aspects.uml.XmlUmlAspectFactoryImpl">
      </factoryClass>
   </extension>
      <extension id="xmlValidationAspect" point="com.metamatrix.modeler.core.validationAspect">
      <metamodelExtensionID>
         xmldoc
      </metamodelExtensionID>
      <factoryClass name="com.metamatrix.metamodels.xml.aspects.validation.XmlValidationAspectFactoryImpl">
      </factoryClass>
   </extension>
   <!-- This extension defines the XML Modeling Preferences -->
   <extension id="xmlPreferences" point="com.metamatrix.modeler.core.modelValidation">
      <preference toolTip="Xml Elements/Attributes have a schema reference ?"
                  name="elementSchemaRef"
                  label="%elementSchemaRef"
                  default="warning"
                  category="XML">
      </preference>
      <preference toolTip="Exclude required element ?" name="requiredElementExclude"
                  label="%requiredElementExclude"
                  default="warning"
                  category="XML">
      </preference>
      <preference toolTip="Entity violates max occurs specified by schema ?"
                  name="maxOccursViolation"
                  label="%maxOccursViolation"
                  default="warning"
                  category="XML">
      </preference>
      <preference toolTip="Required elements should be mapped ?" name="requiredElementMapping"
                  label="%requiredElementMapping"
                  default="error"
                  category="XML">
      </preference>
      <preference toolTip="Should exclude element be mapped ?" name="excludeElementMapped"
                  label="%excludeElementMapped"
                  default="warning"
                  category="XML">
      </preference>
      <preference toolTip="Fixed/Default value element should not be mapped ?"
                  name="fixedDefaultElementMapped"
                  label="%fixedDefaultElementMapped"
                  default="warning"
                  category="XML">
      </preference>
      <preference toolTip="Element/Attribute with no ocuurances be mapped ? "
                  name="mappedElementZeroMinOccurs"
                  label="%mappedElementZeroMinOccurs"
                  default="ignore"
                  category="XML">
      </preference>
      <preference toolTip="Element with one maximum ocuurances be mapped ?"
                  name="mappedElementOneMaxOccurs"
                  label="%mappedElementOneMaxOccurs"
                  default="warning"
                  category="XML">
      </preference>
      <preference toolTip="Nillable Element/Attribute be mapped ?" name="mappedElementNillable"
                  label="%mappedElementNillable"
                  default="warning"
                  category="XML">
      </preference>
      <!-- Defect 18718 - Cannot find any reason we need this validation check or it's preference      
      <preference
            toolTip="Element/Attribute with Element/Attribute children be mapped ?"
            name="mappedElementChildren"
            label="%mappedElementChildren"
            default="warning"
            category="XML">
      </preference>
-->
<!-- This needs to be a check box in validation preferences, will be enabled depending on gui changes      
      <preference
            toolTip="Element/Attribute excluded from the document need to be validated ?"
            name="validateExcludedElements"
            label="%validateExcludedElements"
            default="false"
            category="XML">
      </preference>
-->      
   </extension>
   <!-- EObject Matcher extensions -->
   <extension id="xmlMatcherFactory"
              point="com.metamatrix.modeler.core.eobjectMatcherFactory">
      <class name="com.metamatrix.metamodels.xml.compare.XmlMatcherFactory">
      </class>
   </extension>
   <extension point="com.metamatrix.modeler.core.pasteContributor">
      <class name="com.metamatrix.metamodels.xml.PasteContributor"/>
   </extension>
</plugin>