At a glance, here are the main changes:
Here are the files:
plugin.xml
|
<plugin id="MyPlugin">
</plugin>
|
|
<toc label="My
Plugin Documentation">
</toc>
|
The Help library consists of the following navigation structure
|
Compiling
Java files C++ files |
The basic markup is to add an <link toc="../another_pluginID/another_toc_section.xml"> at the desired point in a table of contents. This basically links (integrates) the "another_toc.xml" navigation. The effect of this is that the help system now has just one big table of contents that is made up of smaller ones.
Here are the files:
plugin.xml in PluginA and PluginB
|
<plugin
id="PluginA">
</plugin>
|
<plugin
id="PluginB">
</plugin>
|
|
<toc
label="PluginA Documentation">
</topic>
|
<toc label="PluginB Documentation">
</topic>
|
Help should display the following table of contents
|
Compiling
Java files JavaScriptC++ filesNetscape |
The markup for this kind of linking is simply specifying the link_to attribute on the <toc> element inside the table of contents file:
<toc label="PluginA docs" link_to="../PluginB/toc.xml#anchor_id" >
The net effect should be the same as if the target navigation file <link>-ed the ISV navigation component at the specified anchor.
Here are the files:
plugin.xml in PluginA and PluginB
|
<plugin id="PluginA">
</plugin>
|
<plugin id="PluginB">
</plugin>
|
|
<toc label=" PluginA Documentation">
</topic>
|
<toc label=" PluginB Documentation" link_to="../PluginA/toc.xml#other"
>
</topic>
|
|
Compiling
Java files JavaScriptNetscape C++ files |
<!ELEMENT
extension (toc)* >
<!ATTLIST
extension point CDATA "org.eclipse.help.toc" #FIXED>
<!--
Each
toc extension point can define any number of toc files.
-->
<!ELEMENT
toc EMPTY>
<!ATTLIST
toc file CDATA #REQUIRED>
<!ATTLIST
toc primary (true | false) "false" >
<!--
Each
toc file definition specifies the toc file by its relative path (href)
to the plugin and whether the plugin contributes it as a section or a table
of contents or as a standalone or master table of contents.
-->
Example:
<extension point="org.eclipse.help.toc">
<!-- this defines a standalone table of contents -->
<toc file="toc.xml" primary="true"/></extension>
<extension point=" org.eclipse.help.toc"><!-- this defines two sections -->
<toc file="tocWSAD.xml"/
<toc href="referencesWSAD.xml" /></extension>
The DTD for the table of contents file follows:
<!ELEMENT toc (topic | anchor | link)* >
<!ATTLIST toc link_to CDATA #IMPLIED>
<!ATTLIST toc label CDATA #REQUIRED>
<!--
A toc element is the root of the tree of topics defined in the table of
contents file. It can optionally attach to another topics file by providing
its "link_to" attribute. The value of this attribute should be an href to
an anchor defined in this plugin or in another plugin.
Href's to anchors in a table of contents in other plugins
are specified as ../other_plugin_id/path_to_toc_file.xml#anchor_id
Each toc element must define a label to be used in its presentation. The
label is only shown when the table of contents is primary and not integrated
into another table of contents (i.e. it is part of the library of the tables
of contents for the product). When linked, the toc element gets bypassed,
and its topics are directly connected to topics at the link point .
A TOC file consist of any number of (nested) topics, anchor
points or links of other TOC files.
-->
<!ELEMENT topic (topic | anchor | link )* >
<!ATTLIST topic label CDATA #REQUIRED>
<!ATTLIST topic href CDATA #IMPLIED>
<!--
Each topic is a node in a table of contents tree and can contain topics, anchor points
or can include the topics form other tables of contents.
For presentaton purposes, each topic must have a label.
Most topics have a corresponding help content, identified by the href
value. In general the href is a relative path to a file in the same plugin
(in doc.zip or a regular file) or can point to content in another plugin
using the ../another_plugin_id/path_to_content_file.html form.
Topics with no href are there for grouping other topics, for cleaner
tree presentation.
-->
<!ELEMENT anchor EMPTY>
<!ATTLIST anchor id ID #REQUIRED>
<!--
An anchor is really an insertion point for other tables of contents
to link into the structure defined in the current file. If multiple
topics files linked to the same topic, they will be linked in the processing
order. In other words, the order is not guaranteed. Multiple, adjacent anchors
may be used to differentiate among topics that should be linked before or
after the others.
-->
<!ELEMENT link EMPTY>
<!ATTLIST link toc CDATA #REQUIRED>
<!--
A link is used to link the topics from another table of content
s.
-->