<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wst.common.emfworkbench.integration">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.wst.common.emfworkbench.integration" id="editModel" name="EMF Resource Edit Model"/>
      </appInfo>
      <documentation>
         Edit models provide a framework for managing a set of EMF resources within a unit of work.  For example, a workspace operation may affect a change to multiple EMF resources. Edit models provide basic services such as loads, saves (when necessary), and validate edit for the managed resources.  Edit models are reference counted, therefore a single instance of an edit model can be shared by more than one operation or editor.  By declaring an edit model, a plugin provider enables other components to contribute resources to be managed by that edit model.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="editModel" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified identifier of the target extension point
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  an optional identifier of the extension instance
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  an optional name of the extension instance
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="editModel">
      <annotation>
         <documentation>
            The declaration for an edit model to be used in the workspace.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="editModelResource" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="editModelID" type="string" use="required">
            <annotation>
               <documentation>
                  A unique identifier for the edit model.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="factoryClass" type="string" use="required">
            <annotation>
               <documentation>
                  An optional factory class that is used for this edit model.  The class must implement the interface &lt;code&gt;org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory&lt;/code&gt;. If none is specified, then a generic &lt;code&gt;EditModel&lt;/code&gt; is created.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="loadUnknownResourcesAsReadOnly" type="boolean">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="parentModelID" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="editModelResource">
      <annotation>
         <documentation>
            This is an individual contribution of a resource to the edit model.  If more than one instance of the same URI is registered against an edit model id, the resource is still only loaded once.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="URI" type="string" use="required">
            <annotation>
               <documentation>
                  The URI of the resource relative to the root container from which EMF resources are loaded.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="autoload" type="boolean" use="default" value="false">
            <annotation>
               <documentation>
                  Indicator which determines whether this resource should be autoloaded when the edit model is created, or when an IFile corresponding to this resource is added.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>
   
   <element name="resourceExtension">
      <annotation>
         <documentation>
            This allows registration of files for autoloading according to file extension.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  The file extension itself (&quot;myxmi&quot;)
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         1.0
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         &lt;pre&gt;
   &lt;extension
         id=&quot;editModel.acme.parent&quot;
         name=&quot;Acme Parent Edit Model&quot;
         point=&quot;org.eclipse.wst.common.emfworkbench.integration.editModel&quot;&gt;
      &lt;editModel
            editModelID=&quot;com.acme.acmepro.parent.editModel&quot;
            factoryClass=&quot;org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory&quot;&gt;
        &lt;editModelResource URI=&quot;DIR/resource0.xml&quot;/&gt;
        &lt;editModelResource URI=&quot;DIR/resource1.xml&quot;/&gt;
      &lt;/editModel&gt;
   &lt;/extension&gt;

   &lt;extension
         id=&quot;editModel.acme.child&quot;
         name=&quot;Acme Child Edit Model&quot;
         point=&quot;org.eclipse.wst.common.emfworkbench.integration.editModel&quot;&gt;
      &lt;editModel
            editModelID=&quot;com.acme.acmepro.child.editModel&quot;
            factoryClass=&quot;org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory&quot;
            parentModelID=&quot;com.acme.acmepro.parent.editModel&quot;&gt;
        &lt;editModelResource URI=&quot;DIR/resource2.xml&quot;/&gt;
        &lt;editModelResource URI=&quot;DIR/resource3.xml&quot;/&gt;
      &lt;/editModel&gt;
   &lt;/extension&gt;
&lt;/pre&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         Edit Models can be accessed through the &lt;code&gt;org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext&lt;/code&gt;.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
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 &lt;a
href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
      </documentation>
   </annotation>

</schema>
