Table of contents (toc) files
Now that we have our sample content files we can create a table of contents (toc)
file. A toc file defines the key entry points into the HTML content files by mapping a topic
label to a reference in one of the HTML files.
Applications that are being migrated to the platform can reuse existing documentation by
using the toc file to define entry points into that documentation.
A plug-in can have one or more toc files. Our example documentation is organized into three main categories: concepts, tasks and reference. How do we make
toc files that represent this structure?
We could make one large toc file, or we could create a separate toc file for each main category of content. This decision should be made according to the way your documentation teams work together.
If a different author owns each category, it might be preferable to keep
separate toc files for each category. It is not dictated by the platform architecture.
In this example, we will create a toc file for each major content category. For such a small number of files,
having separate toc files for each category may not be necessary. We
will build this example as if we had many more files or had separate authors who
own each content category.
Our files look like this:
toc_Concepts.xml
<toc label="Concepts">
<topic label="Concept1" href="html/concepts/concept1.html">
<topic label="Concept1_1" href="html/concepts/concept1_1.html"/>
<topic label="Concept1_2" href="html/concepts/concept1_2.html"/>
</topic>
</toc>
toc_Tasks.xml
<toc label="Tasks">
<topic id="plainTasks" label="Plain Stuff">
<topic label="Task1" href="html/tasks/task1.html"/>
<topic label="Task2" href="html/tasks/task2.html"/>
</topic>
<topic id="funTasks" label="Fun Stuff" >
<topic label="Task3_1" href="html/tasks/task3_1.html"/>
<topic label="Task3_2" href="html/tasks/task3_2.html"/>
</topic>
</toc>
toc_Ref.xml
<toc label="Reference">
<topic label="Ref1" href="html/ref/ref1.html"/>
<topic label="Ref2" href="html/ref/ref2.html"/>
</toc>
A topic can be a simple link to content.
For example, "Task1" provides a label
and an href linking to the content. A
topic can also be a hierarchical grouping of sub topics with no content of its
own. For example, "Fun Stuff" has only a label
and sub topics, but no href . Topics can
do both, too. "Concept1" has an href
and sub topics.
Dynamic content
Dynamic content is available for the table of contents in the form of
filters and
extensions. For example, you may want a topic to show up in the table of contents
only when running on a specific operating system.
Includes are not supported here because they
are not needed; use
links instead.