Nachdem die Inhaltsdateien für das Plug-in-Beispiel vorliegen, können Sie jetzt eine Themendatei erstellen. Eine Themendatei definiert die Schlüsseleingangspunkte in den HTML-Inhaltsdateien, indem einem Verweis in einer der HTML-Dateien eine Themen-ID und eine Bezeichnung zugeordnet werden. Die Funktionsweise einer Themendatei entspricht in etwa einem Inhaltsverzeichnis für eine Gruppe mit HTML-Inhalt.
Anwendungen, die auf die Plattform migriert werden, können die vorhandene Dokumentation wiederverwenden. Hierzu werden mit Hilfe der Themendatei Eingangspunkte für diese Dokumentation definiert.
Ein Plug-in kann eine oder mehrere Themendateien umfassen. Themendateien werden manchmal auch als Navigationsdateien bezeichnet, weil sie die Navigation im HTML-Inhalt beschreiben. Die Beispieldokumentation ist in drei Hauptkategorien unterteilt: Konzepte, Tasks und Referenzinformationen. Diese Struktur soll nun in den Themendateien dargestellt werden.
Zu diesem Zweck könnten Sie entweder eine große Themendatei oder aber separate Themendateien für jede Hauptkategorie des Inhalts erstellen. Die Entscheidung sollte darauf basieren, wie Ihre Dokumentationsteams zusammenarbeiten. Wenn jede Kategorie einen anderen Autor hat, kann es sinnvoll sein, für jede Kategorie separate Themendateien beizubehalten. Vorgegeben wird dies durch die Plattformarchitektur jedoch nicht.
Im Beispiel wird für jede Hauptkategorie des Inhalts eine Themendatei erstellt. Bei so wenigen Dateien ist es möglicherweise nicht erforderlich, separate Themendateien zu verwenden. Die Einbindung im Beispiel erfolgt so, als ob weitaus mehr Dateien oder separate Autoren für jede Inhaltskategorie vorhanden wären.
Die Dateien sehen so aus:
<topics id="conceptsAll">
<topic label="Concept1" href="doc/concepts/concept1.html">
<topic label="Concept1_1" href="doc/concepts/concept1_1.html"/>
<topic label="Concept1_2" href="doc/concepts/concept1_2.html"/>
</topic>
</topics>
<topics id="tasksAll">
<topic id="plainTasks" label="Plain Stuff">
<topic label="Task1" href="doc/tasks/task1.html"/>
<topic label="Task2" href="doc/tasks/task2.html"/>
</topic> <topic id="funTasks" label="Fun Stuff" >
<topic label="Task3_1" href="doc/tasks/task3_1.html"/>
<topic label="Task3_2" href="doc/tasks/task3_2.html"/>
</topic>
</topics>
<topics id="refAll">
<topic label="Ref1" href="doc/ref/ref1.html"/>
<topic label="Ref2" href="doc/ref/ref2.html"/>
</topics>
Themen werden im Rahmen des Themencontainerelements ergänzt. Ein Thema kann einfach ein Link auf den Inhalt sein. "Task1" stellt beispielsweise eine Bezeichnung (label) sowie einen href-Link zum Inhalt zur Verfügung. Ein Thema kann aber auch eine hierarchische Gruppierung von Unterthemen sein und selbst keinen Inhalt haben. Das Thema "Fun Stuff" hat beispielsweise nur eine Bezeichnung und Unterthemen, aber keinen href-Link. Themen können jedoch auch beide Funktionen übernehmen. Das Thema "Concept1" hat einen href-Link und Unterthemen.
Bei einer Verwendung als Link wird davon ausgegangen, dass sich das Argument in einem Wert href auf das aktuelle Plug-in bezieht.
Sobald Sie diese Themen in das gesamte Dokumentationsnetz einbinden wollen, müssen Sie zum Verweis die entsprechenden IDs der Themen verwenden. Nur Themen mit einer ID können verarbeitet werden. Um alle Unterthemen eines bestimmten Themas einzubinden, kann eine Einbindung des übergeordneten Themas erfolgen. Die Einbindung von "Concept1" würde "Concept1_1" und "Concept1_2" ebenfalls einbinden.
Die Datei "plugin.xml" wird später noch geändert, um die tatsächlichen Ergänzungen hinzuzufügen, die auf diese Dateien verweisen.