Die Funktion :preference[]
Die Funktion :preference[] erlaubt die Auswahl von Elementen
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[Element | Property | (without) | Schlüsselwort
| Vergleichsmuster]
Das erste Argument entspricht dem Namen des Element, dessen 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ß Elemente auch dann ausgegeben
werden, wenn ihnen keine bei Argument 2 genannte Property-Eigenschaft
zugeordnet ist. Das sind also auch diejenigen Elemente, die entweder überhaupt
keine Property-Eigenschaft oder keine Property-Eigenschaft des genannten
Namens aufweisen. Wenn without dagegen fehlt, werden folglich nur diejenigen
Elemente 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 Elemente,
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 das Element
ausgewählt, dessen Property-Eigenschaft dem Inhalt des erstgenannte
Vergleichsmuster entspricht. Wenn dieses nicht vorliegt dann wird das folgende
Vergleichsmuster herangezogen.
- 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 Elementen 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[:biblitem,authority, ordered,"Hollas"
"Zensus"]
write part=:preference[:biblitem,authority, without, ordered,"Hollas"
"Zensus"]
Der erste Befehl gibt alle Elemente :biblitem wieder, in denen Property-Eigenschaft
"authority" den Inhalt "Hollas" oder "Zensus" aufweist. Dabei werden jene
Elemente mit der Property-Eigenschaft des Inhalts "Hollas" zuerst ausgegeben.
Das zweite Beispiel gibt zusätzlich auch die Elemente ohne Property-Eigenschaft
des Namens "authority" wieder.