Makeindex
Eine Liste von Elementen sortieren und aufteilen um einen Index zu erzeugen.
Kindelemente: (keine)
Elternelemente: SaveDataset
Erzeuge ein XML-Element mit diesem Namen für jeden Abschnitt (Buchstabe) in dem Index.
Der XPath-Ausdruck der die Elementstruktur für den Index enthält ($Variable).
Der Name des Attributs das den Indexeintrag enthält (der sortiert werden soll).
Die Indexerstellung funktioniert in zwei Schritten. Im ersten Schritt werden die Daten in eine Elementstruktur gespeichert und mit diesem Befehl sortiert. Im zweiten Schritt wird die Elementstruktur ausgegeben (LoadDataset).
<Record element="data"> <LoadDataset name="index"/> <SetVariable variable="indexeinträge"> <Element name="indexeintrag"> <Attribute name="name" select="'Giraffe'"/> <Attribute name="seite" select="1"/> </Element> <Element name="indexeintrag"> <Attribute name="name" select="'Garage'"/> <Attribute name="seite" select="2"/> </Element> <Element name="indexeintrag"> <Attribute name="name" select="'Grußwort'"/> <Attribute name="seite" select="3"/> </Element> <Element name="indexeintrag"> <Attribute name="name" select="'Aufzug'"/> <Attribute name="seite" select="4"/> </Element> </SetVariable> <SaveDataset filename="index" elementname="Index"> <Makeindex select="$indexeinträge" sortkey="name" section="teil"/> </SaveDataset> </Record> <Record element="Index"> <ForAll select="teil"> <PlaceObject column="1"> <Table width="3" dehnen="max"> <Tr> <Td border-bottom="0.4pt" colspan="2"> <Paragraph><Value select="@name"></Value></Paragraph> </Td> </Tr> <ForAll select="indexeintrag"> <Tr> <Td> <Paragraph><Value select="@name"/></Paragraph> </Td> <Td> <Paragraph><Value select="@seite"/></Paragraph> </Td> </Tr> </ForAll> </Table> </PlaceObject> </ForAll> </Record>