'Diese Seite beschreibt eine experimentelle Version des BEACON-Format. Die Aktuelle Version steht unter Wikipedia:BEACON/Format

Einführung

Bearbeiten

BEACON 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

Bearbeiten

Eine 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

Bearbeiten

Prinzipiell 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.