Indexbereiche

(Auszug aus "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" von Thomas Schraitle)

Für Themen, die sich über mehrere Absätze oder sogar Abschnitte erstrecken, ist es für den Leser hilfreich dieses zu verdeutlichen. Ein daraus entstandenes gedrucktes Werk enthält die Start- und Endseite des Indexbereiches. Bei einem Onlineformat werden die jeweiligen Abschnitte des Start- bzw. Endpunktes verwendet. Um solche Indexbereiche anzugeben, sind in DocBook zwei Methoden vorgesehen:

startofrange, startref und endofrange

Fügen Sie am Anfang eines Bereiches ein indexterm mit dem Attribut class ein, das den Wert startofrange besitzt. Weisen Sie diesem indexterm einen Anker zu. Am Ende des Bereiches setzen Sie ein zweites (allerdings leeres!) <indexterm/>. Fügen Sie diesem das Attribut startref ein mit dem Anker des ersten indexterm.

zone

Fügen Sie zuerst einen Anker in den Elementen ein, die Sie indizieren möchten. Setzen Sie an passender Stelle (für gewöhnlich am Anfang eines Kapitels) ein indexterm. Verwenden Sie dabei zusätzlich das Attribut zone, das die durch Leerzeichen getrennten Attributwerte der vorher indizierten Elemente enthält. Der Attributtyp von zone ist ein IDREFS, somit können Sie auf mehrere Anker verweisen.

Das folgende Beispiel veranschaulicht diesen auf den ersten Blick etwas komplizierten Mechanismus:

Beispiel: Indexbereiche mit startofrange, endofrange und startref

<chapter>
 <title>DocBook</title>
 <indexterm ANKER="id.chap.xml"class="startofrange">
   <primary>DocBook</primary>
 </indexterm>
 <!-- weiterer Inhalt -->
 <indexterm startref="id.chap.xml"class="endofrange"/>
</chapter>

Ersetzen Sie den Platzhalter ANKER durch id in DocBook 4 und xml:id in DocBook 5.

Anmerkung: Platzieren des leeren <indexterm/>
Achten Sie darauf, leere <indexterm/> an die richtige Stelle zu setzen. Haben Sie Abschnitte in einem Kapitel, Anhang, usw. müssen Sie das <indexterm/>-Element im letzten Abschnitt einfügen, da es sonst zu Validierungsfehlern führt.

Im obigen Beispiel wird im Index mit dieser Methode ein "von ... bis" angelegt. In gedruckten Dokumenten wird eine Seitenangabe verwendet.

Die zweite Methode verwendet das zone-Attribut. Dies kann sehr praktisch sein, wenn Sie alle Indexeinträge zentral an einem Ort sammeln möchten:

Beispiel: Indexbereiche mit zone

<chapter>
  <title>DocBook</title>
  <indexterm zone="sec.install sec.config">
    <primary>DocBook</primary>
  </indexterm>
  <sect1 ANKER="sec.install">
    <title>Installation</title>
    <para>...</para>
  </sect1>
  <sect1 ANKER="sec.config">
    <title>Konfiguration</title>
    <para>...</para>
  </sect1>
</chapter>

Ersetzen Sie den Platzhalter ANKER durch id in DocBook 4 und xml:id in DocBook 5.

Im vorigen Beispiel wird ein Haupteintrag "DocBook" mit zwei Untereinträgen ("Installation" und "Konfiguration") erzeugt.

  

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema DocBook bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2009 Millin Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Millin Verlag, Siebengebirgsring 36, 53797 Lohmar, info(at)millin.de