blob: f3da7ce327b4162155c41b0f126f7dd1763c9870 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.core.runtime">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.core.runtime" id="products" name="Products"/>
</appInfo>
<documentation>
Products are the Eclipse unit of branding. Product extensions are supplied by plug-ins wishing to define one or more products. There must be one product per extension as the extension id is used in processing and identifying the product.
&lt;p&gt;
There are two possible forms of product extension, static and dynamic. Static product extensions directly contain all relevant information about the product. Dynamic product extensions identify a class (an &lt;code&gt;IProductProvider&lt;/code&gt;) which is capable of defining one or more products when queried.
</documentation>
</annotation>
<element name="extension">
<complexType>
<sequence>
<choice>
<element ref="product"/>
<element ref="provider"/>
</choice>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="product">
<complexType>
<sequence>
<element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="application" type="string" use="required">
<annotation>
<documentation>
the default application to run when running this product
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
the human-readable name of this product
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
<attribute name="description" type="string">
<annotation>
<documentation>
the human-readable description of this product
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="property">
<annotation>
<appInfo>
<meta.element labelAttribute="name"/>
</appInfo>
</annotation>
<complexType>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
the key under which this property is stored
</documentation>
</annotation>
</attribute>
<attribute name="value" type="string" use="required">
<annotation>
<documentation>
the value of this property
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="provider">
<annotation>
<documentation>
details of a product provider
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="run"/>
</sequence>
</complexType>
</element>
<element name="run">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
the fully-qualified name of a class which implements
&lt;samp&gt;org.eclipse.core.runtime.IProductProvider&lt;/samp&gt;.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.core.runtime.IProductProvider"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
3.0
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
Following is an example of static product declaration:
&lt;p&gt;
&lt;pre&gt;
&lt;extension id=&quot;coolProduct&quot; point=&quot;org.eclipse.core.runtime.products&quot;&gt;
&lt;product name=&quot;%coolName&quot; application=&quot;coolApplication&quot; description=&quot;%coolDescription&quot;&gt;
&lt;property name=&quot;windowImages&quot; value=&quot;window.gif&quot;/&gt;
&lt;property name=&quot;aboutImage&quot; value=&quot;image.gif&quot;/&gt;
&lt;property name=&quot;aboutText&quot; value=&quot;%aboutText&quot;/&gt;
&lt;property name=&quot;appName&quot; value=&quot;CoolApp&quot;/&gt;
&lt;property name=&quot;welcomePage&quot; value=&quot;$nl$/welcome.xml&quot;/&gt;
&lt;property name=&quot;preferenceCustomization&quot; value=&quot;plugin_customization.ini&quot;/&gt;
&lt;/product&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
The following is an example of a dynamic product (product provider) declaration:
Following is an example of an application declaration:
&lt;p&gt;
&lt;pre&gt;
&lt;extension id=&quot;coolProvider&quot; point=&quot;org.eclipse.core.runtime.products&quot;&gt;
&lt;provider&gt;
&lt;run class=&quot;com.example.productProvider&quot;/&gt;
&lt;/provider&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiInfo"/>
</appInfo>
<documentation>
Static product extensions provided here are represented at runtime by instances of &lt;code&gt;IProduct&lt;/code&gt;. Dynamic product extensions must identify an implementor of &lt;code&gt;IProductProvider&lt;/code&gt;. See &lt;code&gt;org.eclipse.ui.branding.IProductConstants&lt;/code&gt;
for details of the branding related product properties defined by the Eclipse UI.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
No implementations of &lt;code&gt;IProductProvider&lt;/code&gt; are supplied.
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2004, 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>