blob: d78372f1efa912b301ed3f355b638078bb9c340d [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.help" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.help" id="contentProducer" name="Help Content Producer"/>
</appinfo>
<documentation>
For providing dynamic, generated at run time, help content. Content producers are registered per plug-in and only work within the plug-in scope. In order to reuse a content producer in another plug-in, &lt;code&gt;binding&lt;/code&gt; element should be used. This strategy prevents plug-ins from highjacking content producing for all the plug-ins. By binding to a content producer, a plug-in gives it permission to control content producing for all the documents in the granting plug-in.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="contentProducer"/>
<element ref="binding"/>
</choice>
<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="contentProducer">
<annotation>
<documentation>
A binding to a content producer class which will be used to produce content for all help documents in this plugin. A plugin may not contain more than one binding or contentProducer and may not contain both.
</documentation>
</annotation>
<complexType>
<sequence minOccurs="0" maxOccurs="1">
<element ref="producer"/>
</sequence>
<attribute name="producer" type="string">
<annotation>
<documentation>
the implementation class for the help content producer. This class must implement the &lt;samp&gt;org.eclipse.help.IHelpContentProducer&lt;/samp&gt; interface. This attribute may be omitted, and the nested &lt;samp&gt;producer&lt;/samp&gt; element may be provided instead.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.help.IHelpContentProducer"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="producer">
<complexType>
<sequence>
<element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
the implementation class for the help content producer. This class must implement the &lt;samp&gt;org.eclipse.help.IHelpContentProducer&lt;/samp&gt; interface.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.help.IHelpContentProducer"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="parameter">
<complexType>
<attribute name="name" type="string" use="required">
<annotation>
<documentation>
name of a parameter passed to the implementation class
</documentation>
</annotation>
</attribute>
<attribute name="value" type="string" use="required">
<annotation>
<documentation>
value of a parameter passed to the implementation class
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="binding">
<annotation>
<documentation>
A binding to a content producer defined in another plugin which will be used to produce content for all help documents in this plugin. A plugin may not contain more than one binding or contentProducer and may not contain both.
</documentation>
</annotation>
<complexType>
<attribute name="producerId" type="string" use="required">
<annotation>
<documentation>
a unique name of a content producer defined elsewhere using &lt;samp&gt;contentProducer&lt;/samp&gt; element. Binding allows a plug-in to reuse a content producer registered in another plug-in instead of defining its own.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
3.0
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
The following is a sample usage of the content producer extension point:
&lt;p&gt;
&lt;pre&gt;
&lt;extension point=&quot;org.eclipse.help.contentProducer&quot;
id=&quot;org.eclipse.myPlugin.myDynamicHelpProducer&quot;
name=&quot;My Dynamic Help Content&quot;&gt;
&lt;contentProducer producer=&quot;org.eclipse.myPlugin.myPackage.Myproducer&quot; /&gt;
&lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiInfo"/>
</appinfo>
<documentation>
The supplied content producer class must implement the &lt;samp&gt;org.eclipse.help.IHelpContentProducer&lt;/samp&gt; interface.
The producer is responsible for providing content for dynamic help resources from a plug-in. The method of content producer is called by help for every help resource obtained from the plug-in.
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
None. If a documentation plug-in does not provide help content producer or a call to it results in null, help system searches doc.zip and file system in the plug-in install location for a static document and displays its content.
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="copyright"/>
</appinfo>
<documentation>
Copyright (c) 2000, 2006 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>