blob: 3a103a794cc6b457030a236185b5023bdf8d03c8 [file] [log] [blame]
<?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>
<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>