blob: 5cb58714060647768011a9d724965a7e7884ce05 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.tigerstripe.annotation.ui" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.tigerstripe.annotation.ui" id="annotationType" name="annotationType"/>
</appInfo>
<documentation>
This extension point allows clients to contribute new annotation types class, i.e. define which EMF objects can be used as annotation content. It can be any EMF class, it need not implement any interface or something else.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<sequence>
<element ref="definition" 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>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="definition">
<complexType>
<sequence>
<element ref="target" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
A human-readable name that will be used in the UI
</documentation>
</annotation>
</attribute>
<attribute name="epackage-uri" type="string" use="required">
<annotation>
<documentation>
Identity of the EMF package contains annotation object
</documentation>
</annotation>
</attribute>
<attribute name="eclass" type="string" use="required">
<annotation>
<documentation>
EMF class name from the specified package which will be used as an annotation object
</documentation>
</annotation>
</attribute>
<attribute name="description" type="string">
<annotation>
<documentation>
An annotation type description
</documentation>
</annotation>
</attribute>
<attribute name="unique" type="boolean" use="default" value="true">
<annotation>
<documentation>
When set to &apos;true&apos; indicates that in the absence of target elements the annotation defined by the definition is unique, and when set &apos;false&apos; multiple instances of the annotation may be attached to a target.
In the absence of this attribute and of target elements, it is assumed that the annotation is unique.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="target">
<annotation>
<documentation>
target allow to add annotations with the specified type only for specified annotable objects. If there are no one target defined, annotation of this type can be attached to any annotable objects
</documentation>
</annotation>
<complexType>
<attribute name="type" type="string" use="required">
<annotation>
<documentation>
target type
</documentation>
<appInfo>
<meta.attribute kind="java"/>
</appInfo>
</annotation>
</attribute>
<attribute name="unique" type="boolean" use="default" value="true">
<annotation>
<documentation>
create no more than one unique annotation of the same type
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
0.3
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
Example of the Person annotation type declaration:
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.tigerstripe.annotation.core.annotationType&quot;&gt;
&lt;definition
id=&quot;org.eclipse.tigerstripe.annotation.example.person&quot;
name=&quot;Person&quot;
description=&quot;Personal information, like a full name, e-mail address, telephone number and so on&quot;
epackage-uri=&quot;http:///org/eclipse/tigerstripe/annotation/example/person.ecore&quot;
eclass=&quot;Person&quot;&gt;
&lt;target
type=&quot;org.eclipse.core.resources.IResource&quot; unique=&quot;true&quot;/&gt;
&lt;/definition&gt;
&lt;/extension&gt;
&lt;/pre&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2008 xored software, Inc.&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;&lt;br&gt;
Contributors:&lt;br&gt;
&amp;nbsp;&amp;nbsp;xored software, Inc. - initial API and Implementation (Yuri Strot)
</documentation>
</annotation>
</schema>