'Diese Seite beschreibt eine experimentelle Version des BEACON-Format. Die Aktuelle Version steht unter Wikipedia:BEACON/Format
Einführung
BearbeitenBEACON ist ein minimalistisches Datenformat zum Austausch von Links und Trefferlisten. Die Grundstruktur einer BEACON-Datei ist:
#META1: Wert1 #META2: Wert2 123456789|123 123456789|77
Die Datei unterteilt sich in #Meta-Zeilen, die mit # beginnen und #ID-Zeilen, die mit einem Identifikator beginnen.
Meta-Zeilen
BearbeitenEine Meta-Zeile beginnt mit #
gefolgt von einem Feldnamen und einem Wert.
#FELDNAME: WERT
Der Feldname darf nur die Zeichen A-Z, Minus (-) und Unterstrich (_) enthalten, sonst wird die Meta-Zeile (ggf. mit einer Warnung) ignoriert. Der Doppelpunkt hinter dem Feldnamen ist optional und kann auch durch ein Gleichheitszeichen ersetzt werden. Groß-und Kleinschreibung im Feldnamen wird nicht unterschieden, aber Großschreibung wird empfohlen. Vor und nach Feldname und Wert können zusätzliche Leerzeichen stehen, die ignoriert werden.
Die Reihenfolge der Meta-Zeilen ist beliebig. Jeder Feldname darf nur einmal vorkommen. Bei Wiederholungen sollte das letzte Vorkommen eines Feldes zählen und eine Warnung ausgegeben werden. Felder mit leerer Zeichenkette als Wert werden ignoriert.
Pflichtfelder
BearbeitenPrinzipiell gibt es keine Pflichtfelder. Es wird jedoch empfohlen, zumindest die Felder FORMAT und TARGET anzugeben, damit eine Verlinkung möglich ist.
Feldbeschreibung
Bearbeiten#FORMAT: BEACON #FORMAT: XY-BEACON
Mit #FORMAT: BEACON
sollte angegeben werden, dass es sich um eine Datei im BEACON Format handelt. Stattdessen kann auch eine konkrete BEACON-Anwendung, z.B. PND-BEACON verwendet werden - statt der Zeichenkette XY kann eine beliebige Buchstabenkombination stehen. Es wird jedoch empfohlen, nicht davon auszugehen, dass ein bestimmtes Kürzel bekannt ist, weshalb Felder wie PREFIX nicht weggelassen werden sollten.
#TARGET: http://www.domain.tld/dir/{ID}
Mit dem Feld TARGET wird angegeben, wie ein Identifikator verlinkt werden kann. Alternativ ist es möglich, statt {ID}
auch noch $PND
anzugeben. Dieses Format ist aber deprecated und sollte auf keinen Fall mehr benutzt werden.
#FEED: [URL]
[URL] ist die URL der BEACON-Datei. Optional.
#CONTACT: Name <name@domain.tld>
Irgendeine Kontaktinformation (bevorzugt Email, Name, aber auch Jabber, Skype, Telefon, ICQ oder Postadresse) bei Problemen. Es wird empfohlen das Format "Name <name@domain.tld>" zu verwenden.
#INSTITUTION: Institution
Einrichtung, die die Daten bereitstellt. Optional.
#MESSAGE: Text
Text, der bei der Verlinkung angezeigt werden soll. Die Zeichenkette {hits} wird durch die Anzahl der Treffer (falls bekannt) ersetzt. Wenn kein MESSAGE field vorhanden ist, wird das INSTITUTION Feld verwendet. Beispiele: "Literatur im Katalog der XY-Bibliothek", "Eintrag in der XY-Datenbank". Optional.
#DESCRIPTION: Text
Kurze Infos, was in dieser Liste zu finden ist. Optional.
#UPDATE: Text
Hier kann angegeben werden, wie oft die Liste aktualisiert wird. Nur sinnvoll, wenn #FEED definiert ist. Optional.
#REVISIT: YYYY-MM-DDTHH:MM:SSZ
Voraussichtliches Datum, wann die Datei das nächste mal aktualisiert wurde. Nur sinnvoll, wenn #TIMESTAMP definiert ist, besonders sinnvoll, wenn #FEED definiert ist. Die Zeit ist in UTC/GMT anzugeben.
#TIMESTAMP: YYYY-MM-DDTHH:MM:SSZ
Timestamp, wann diese Datei erstellt wurde. Die Zeit ist in UTC/GMT anzugeben.
#EXAMPLES: ID1|ID2|...
Eine durch senkrechte Striche getrennte Liste von IDs, zu denen etwas zu Finden ist. Die IDs sollten in den nachfolgenden ID-Zeilen enthalten sein.
#ONEMESSAGE: Text
Text, der bei der Verlinkung angezeigt werden soll, wenn genau ein Treffer vorhanden ist.
#SOMEMESSAGE: Text
Text, der bei der Verlinkung angezeigt werden soll, wenn die Anzahl der Treffer nicht bekannt ist.
#PREFIX: URI-prefix
Eine Zeichenkette, die jedem Identifier vorangestellt werden kann, um daraus eine URI zu erhalten. Ohne Prefix ist nicht ersichtlich um welche Art von Identifier es sich handelt.
#COUNT: Anzahl
Anzahl der in einer BEACON-Datei enthaltenen Links. Die Zahl kann dazu verwendet werden, die tatsächlich enthaltene Anzahl mit der erwarteten Anzahl zu überprüfen.
#REMARK: Text
Für weitergehende, technische Anmerkungen, wenn man den Text im #DESCRIPTION-Feld eng als inhaltliche Beschreibung der durch die BEACON-Datei zugänglich gemachten Datensammlung (Anwendung, Datenbank) auslegt.
ID-Zeilen
BearbeitenÜber jede ID-Zeile wird mitgeteilt, für welche ID Informationen vorhanden sind. Im einfachsten Fall enthält die Zeile nur eine ID:
12345
Somit ist bekannt, dass es zur ID 12345 Eintragungen gibt. Zusätzlich können getrennt mit einem senkrechten Strich weitere Angaben gemacht werden, z.B. die Anzahl der Treffer:
12345|23
Somit ist bekannt, dass es 23 Treffer zur ID 12345 gibt. Wenn die Anzahl Null ist oder nur eine Anzahl ohne ID angegeben ist, wird die Zeile ignoriert:
12345|0 |23
Steht nach dem senkrechten Strich keine ganze Anzahl, so ist lediglich bekannt, dass es für die ID Eintragungen gibt. Die folgenden ID-Zeilen sagen also über Anzahl der Treffer zur ID 12345 das Gleiche aus:
12345 12345| 12345|blabla 12345|0x 12345|-
Neben oder statt der Anzahl kann auch ein direkter Link angegeben werden, der ebenfalls mit einem senkrechten Strich abgetrennt wird:
12345|23|http://example.com 12345|http://example.com
Schließlich kann zwischen der Anzahl und dem Link noch eine weitere Beschreibung angegeben werden, die nicht weiter ausgewertet wird:
12345|23|Sondersammlung|http://example.com 12345||Sondersammlung|http://example.com 12345|23|Sondersammlung
Zusätzliche Leerzeichen vor und nach der ID, der Anzahl, der Beschreibung und dem Link sind möglich und werden ignoriert. Falls ein Link angegeben ist, steht er immer am Ende einer ID-Zeile.
Sonstige Vereinbarungen
Bearbeiten- Als Zeilenumbruch sind alle Kombinationen der Zeichen CARRIAGE RETURN (#xD, \r) und LINE FEED (#xA, \n) erlaubt. Am Ende der letzten Zeile kann, muss aber kein Zeilenumbruch stehen.
- Die Zeichenkodierung einer BEACON-Datei ist immer UTF-8.
- Meta-Zeilen und ID-Zeilen dürfen nicht gemischt werden. Alle Zeilen nach der ersten ID-Zeile werden als ID-Zeile interpretiert, auch wenn sie mit # beginnen.