Die Funktion preference[]
Die Funktion preference[] erlaubt die Auswahl von Gruppen entsprechend
dem Inhalt ihrer jeweiligen
Property
-Eigenschaften. Im Unterschied zu den Funktionen
:view[]
oder :version[]
bewirkt preference[] aber nicht die Ausgabe des Inhalts
der Property-Eigenschaft selbst.
Die Funktion verwendet mehrere Argumente, die jeweils durch Kommata
getrennt angegeben werden müssen, und gehorcht der folgenden Syntax:
preference[Gruppe | Property | (without) | Schlüsselwort
| Vergleichsmuster]
Das erste Argument entspricht dem Namen der Gruppe, deren Property abgefragt
wird.
Das zweite Argument gibt den Namen der Property-Eigenschaft wieder,
auf deren Inhalt preference[] Bezug nehmen soll.
Das Schlüsselwort "without" ist optional und kann folglich weggelassen
werden. Die Angabe von without bewirkt, daß Gruppen auch dann ausgewählt
werden, wenn ihnen keine bei Argument 2 genannte Property-Eigenschaft
zugeordnet ist. Das sind also auch diejenigen Gruppen, die entweder überhaupt
keine Property-Eigenschaft oder keine Property-Eigenschaft des genannten
Namens aufweisen. Wenn without dagegen fehlt, werden folglich nur diejenigen
Gruppen ausgegeben, die explizit die Bedingung des Vergleichsmusters erfüllen.
Argumente mit fehlender Property-Eigenschaft bleiben unberücksichtigt.
Es kann jeweils eines der folgenden Schlüsselwörter
angegeben werden: all, first, ordered
, collected .
- all: Das Schlüsselwort all ordnet an, daß alle Gruppen,
die die Bedingung(en) des Vergleichmusters erfüllen, ausgegeben werden.
- first: Das Schlüsselwort first legt eine Prioritätensetzung
fest. Nach Möglichkeit wird jeweils ausschließlich die Gruppe
ausgewählt, deren Property-Eigenschaft dem Inhalt des erstgenannte Vergleichsmuster
entspricht. Wenn dieses nicht vorliegt dann das wird folgende Vergleichsmuster
herangezogen usw.
- ordered: Das Schlüsselwort ordered gibt an, daß die Informationsgruppen
entsprechend der Reihenfolge der Vergleichsmuster ausgegeben werden.
- collected: Das Schlüsselwort collected legt fest, daß
der Inhalt von Gruppen mit verschiedenen Property-Eigenschaften nach den
Regeln der Funktion
collection[]
behandelt wird
Als Vergleichsmuster muß wenigstens eine Zeichenkette angegeben
werden, die in Hochkommata eingeschlossen sein muß.
Ein Beispiel für den korrekten Einsatz von :preference[] stellen
die folgenden Befehle dar:
write part=preference[bibl,authority, ordered,"Hollas"
"Zensus"] :biblitem
write part=preference[bibl,authority, without, ordered,"Hollas" "Zensus"]:biblitem
Der erste Befehl gibt aus allen Gruppe bibl, in denen Property-Eigenschaft
"authority" den Inhalt "Hollas" oder "Zensus" aufweist, das Elemente :biblitem
wieder. Dabei werden Elemente aus Gruppen mit der Property-Eigenschaft des
Inhalts "Hollas" zuerst ausgegeben.
Das zweite Beispiel gibt zusätzlich auch die Gruppen bibl ohne Property-Eigenschaft
des Namens "authority" wieder.