Die Funktion iterate

Die Funktion iterate ermöglicht einzelne Items der Datenausgabe zu zählen und das Resultat der Zählung in einer lokalen Variable abzulegen. Die Funktion gehorcht folgender Syntax:

iterate[Variablenname,Schlüsselwort,Zahl]

Als lokale Variable kann eine beliebiger Name angegeben werden, der den Regeln für Namen unter kleio folgen muß.

Als Schlüsselworte können jeweils die Begriffe

angegeben werden. Die Schlüsselworte können jeweils auf den ersten Buchstaben abgekürzt werden.

Das Schlüsselwert initialize erlaubt, den Wert der Variable zu initialisieren. Der Wert der angegebenen Zahl entspricht in diesem Falle dem Startwert. Wird die Variable nicht expliziert initialisiert, so gilt automatisch der Ausgangswert "0". Die Angabe

iterate[zahl,initialize,10]

weist also der Variable "zahl" den Wert "10" zu.

Das Schlüsselwert add ordnet an, daß die jeweilige Items der Ausgabe addiert werden sollen. Der Wert von Zahl gibt an, welchen Wert jedes der addierten items haben soll. Die folgende Aufgabe addiert jedes Vorkommen des Elements "kuenstler". Dabei wird jeder Mehrfacheintrag mit "1" gezählt. Der Startwert ist "0":

query name=piranesi;part=:kuenstler
write part=/iterate[wert,add,1]:kuenstler,:number[:dump[wert],text]


Diese Aufgabe liefert folgendes Resultat:

row (1 = "38") : kuenstler    Giovanni Battista Piranesi
  1
row (2 = "39") : kuenstler    Giovanni Battista Piranesi
  2
row (3 = "40") : kuenstler    Giovanni Battista Piranesi
  3

...

row (534 = "33858") : kuenstler    Andrea Palladio
  517
row (535 = "33859") : kuenstler    Andrea Palladio
  518
row (536 = "33861") : kuenstler    Andrea Palladio
  519

Es heißt also, daß alle Elemente in der Ausgabe bis zum letzten (Nr. 519) durchgezählt worden sind. Der Wert wurde mit der Funktion dump[] zurückgegeben.

Das Schlüsselwort sub ordnet analog eine Subtraktion an. Stattdessen könnten freilich auch das Wort add angegeben und bei Zahl ein negativer Wert gesetzt werden.

Das Schlüsselwort multiply ordnet eine Multiplikation an. In diesem Fall ist der Wert von Zahl der gegebene Multiplikator.

Das Schlüsselwort divide ordnet eine Division an. In diesem Fall ist der Wert von Zahl der gegebene Divisor.

Als Zahlenwert bei "Zahl" kann eine beliebige ganze Zahl mit positivem oder negativem Vorzeichen eingetragen werden.