blob: 3a92419abfe1844f4c74f868c827e860d6a4d11c [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.pde.ui" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.pde.ui" id="samples" name="Samples"/>
</appInfo>
<documentation>
&lt;p&gt;
This extension point should be used to register Eclipse code samples. A sample is one or more Eclipse projects that are packaged in a way suitable for subsequent import into the workspace.
&lt;p&gt;
Each sample has a name, one or more project elements and a final perspective. The sample wizard will create a project for each &lt;code&gt;project&lt;/code&gt; element, import the content from the archive, and open the final perspective if specified. Projects must be complete i.e. have correct nature and classpath (if Java or plug-in projects).
&lt;p&gt;If target view is specified and contains resource elements, it will be used to select and reveal those resources in the view after the sample has been created.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;This extension point is currently provided for internal Eclipse SDK usage only. It should not be used for anything else except Eclipse SDK examples.&lt;/b&gt;
&lt;/p&gt;
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<sequence>
<element ref="sample" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
extension point attribute - in this case &lt;code&gt;org.eclipse.pde.ui.samples&lt;/code&gt;.
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
not used.
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
not used.
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="sample">
<annotation>
<documentation>
an element that represents a single sample to be imported into the workspace.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="description"/>
<element ref="project" minOccurs="1" maxOccurs="unbounded"/>
<element ref="activity" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
a unique identifier of the sample
</documentation>
<appInfo>
<meta.attribute kind="identifier"/>
</appInfo>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
a translatable name of the sample
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
<attribute name="perspectiveId" type="string">
<annotation>
<documentation>
if specified, the sample wizard will switch to the perspective with the provided id at the end of the operation.
</documentation>
<appInfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.ui.perspectives/perspective/@id"/>
</appInfo>
</annotation>
</attribute>
<attribute name="launcher" type="string">
<annotation>
<documentation>
an optional launch shortcut to be used to run the sample. If not specified, it will be assumed that a new Eclipse instance needs to be launched in order to see the sample. If specified, it needs to be the fully qualified name of the Java class that implements &lt;code&gt;org.eclipse.debug.ui.ILaunchShortcut&lt;/code&gt; interface.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.debug.ui.ILaunchShortcut"/>
</appInfo>
</annotation>
</attribute>
<attribute name="targetViewId" type="string">
<annotation>
<documentation>
an optional attribute that indicates that target view in the workbench that contains resources to select and reveal after the sample has been created. The view must implement &lt;code&gt;org.eclipse.ui.part.ISetSelectionTarget&lt;/code&gt; interface. Resources listed in &lt;code&gt;project&lt;/code&gt; elements will be selected and revealed in the target view.
</documentation>
<appInfo>
<meta.attribute kind="identifier" basedOn="org.eclipse.ui.views/view/@id"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="project">
<annotation>
<documentation>
each project element will result in a workspace project being created with the content imported from the associated archive.
</documentation>
</annotation>
<complexType>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
name of the project to be created in the workspace for this sample
</documentation>
</annotation>
</attribute>
<attribute name="archive" type="string" use="required">
<annotation>
<documentation>
relative path to the ZIP file containing the content of the project to import
</documentation>
<appInfo>
<meta.attribute kind="resource"/>
</appInfo>
</annotation>
</attribute>
<attribute name="shared" type="boolean">
<annotation>
<documentation>
shared projects may be listed in more than one sample. When this attribute is &lt;code&gt;true&lt;/code&gt;, and the project with the same name already exists in the workspace, it will be silently skipped. Otherwise, users will be prompted for overwrite permission.
</documentation>
</annotation>
</attribute>
<attribute name="selectReveal" type="string">
<annotation>
<documentation>
a project-relative path of the resource to select and reveal in the target view after creation.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="description">
<annotation>
<documentation>
body text of this element should contain description of the sample.
</documentation>
</annotation>
<complexType>
<attribute name="helpHref" type="string">
<annotation>
<documentation>
an optional reference to the topic in Help that provides more information about the sample.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="activity">
<annotation>
<documentation>
specifies an activity that needs to be enabled for this sample
</documentation>
</annotation>
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
activity identifier to be used to enable the activity for this sample
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
&lt;p&gt;
If specified, the value of the attribute &lt;code&gt;launcher&lt;/code&gt; must represent a fully qualified name of the Java class that implements &lt;code&gt;org.eclipse.debug.ui.ILaunchShortcut&lt;/code&gt; interface.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
3.0
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
&lt;p&gt;
The following is an example of the extension point:
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.pde.ui.samples&quot;&gt;
&lt;sample
id=&quot;com.example.xyz.sample&quot;
name=&quot;My Sample&quot;&gt;
&lt;description helpHref=&quot;/com.example.xyz.doc/samples/com.example.xyz.sample1/doc-html/doc.html&quot;&gt;
A short description of the sample.
&lt;/description&gt;
&lt;project name=&quot;com.example.xyz.sample1&quot;
archive=&quot;samples/sample1.zip&quot;/&gt;
&lt;/sample&gt;
&lt;/extension&gt;
&lt;/pre&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
&lt;p&gt;
PDE UI supplies Runtime Workbench launcher for launching another instance of Eclipse.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2004, 2013 IBM Corporation and others.
&lt;br&gt;
This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0 which
accompanies this distribution, and is available at
&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0&quot;&gt;https://www.eclipse.org/legal/epl-v20.html&lt;/a&gt;/
SPDX-License-Identifier: EPL-2.0.
</documentation>
</annotation>
</schema>