Weitere Metadaten in Atom

(Auszug aus "Newsfeeds mit RSS und Atom" von Heinz Wittenbrink, erschienen bei Galileo Press, 2005)

Charakterisierung eines Feeds mit atom:subtitle, atom:icon und atom:logo

Anders als bei RSS-Dokumenten, in denen innerhalb von channel zwingend ein Element des Typs description vorgeschrieben ist, muss ein Atom-Dokument nicht unbedingt ein Element subtitle enthalten, das description in seiner Funktion entspricht. Den Inhalt von subtitle bildet eine kurze Charakterisierung des Feeds. subtitle ist ein Element, das nur als direkter Nachkomme von feed, nicht aber innerhalb von entry vorkommen kann. Dort gibt es stattdessen das Element summary, das aber andere Aufgaben hat. In einem Atom-Dokument erhalten Elemente nur dann dieselbe Bezeichnung, wenn sie dieselbe Bedeutung und einen Inhalt gleicher Art haben. Zu subtitle siehe die Seite atom:subtitle der Atom-Elemente-Referenz.

Zusätzlich lassen sich mit den Elementen logo (bei Atom 0.8 noch image) und icon ein Logo bzw. Bild und ein kleines Icon angeben. Sie dienen dazu, einen Feed visuell zu charakterisieren, etwa indem ein Bild in einem Newsreader angezeigt wird. Der Inhalt beider Elemente ist ein URI. Von den Bildern, auf die die URIs in logo und icon verweisen, fordert die Spezifikation ein Höhen-/Breitenverhältnis von 1:2, dieses ist aber nicht zwingend. icon verweist dabei auf ein Bild, das in Größe und Funktion dem favicon einer HTML-Seite entspricht (aber im Gegensatz zu einem typischen Favicon nicht quadratisch ist). Zu logo und icon siehe die Seiten atom:logo und atom:icon der Atom-Elemente-Referenz.

Das folgende Dokument-Fragment zeigt, wie der Beginn des Atom-Beispiels aussieht, wenn man die Elemente subtitle, icon und logo hinzufügt.

<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Webtrends</title>
   <subtitle>Nachrichten über kommerzielle Websites und Online-Werbung</subtitle>
   <icon>http://www.celawi.com/webtrends/images/feed_icon.png </icon>
   <logo>http://www.celawi.com/webtrends/images/feed_icon.png </logo> 
   ...
</feed>

Code-Beispiel: Beginn eines Atom-Dokuments mit den Elementen title, subtitle, icon und logo

atom:author und atom:contributor

Die Atom-Spezifikation fordert zwingend, dass der Autor eines Eintrags angegeben wird. Dazu wird das Element author verwendet, das ein Unter-Element von feed und entry sein kann. feed wie entry können nur einen Autor haben. Die Angabe des Autors bei einem entry darf nur entfallen, wenn der für einen feed angegebene Autor der Autor aller Einträge ist. Zu author siehe auch die Seite atom:author der Atom-Elemente-Referenz.

Inhalt dieses Elements ist eines der Personenkonstrukte (vgl. Seite Atom-Konstrukte der Referenz), die für Atom typisch sind. Personenkonstrukte bestehen aus einem Namen sowie optional der Angabe einer E-Mail-Adresse und eines URI sowie der Angabe von Erweiterungselementen. Die Angabe des Namens ist sprachabhängig.

Während ein Eintrag oder ein Feed nur einen Autor haben kann, ist die Zahl anderer an seiner Erstellung beteiligter Personen unbegrenzt. Sie werden innerhalb des Elements contributor aufgeführt, das ebenfalls ein Personenkonstrukt enthält. Zu contributor siehe die Seite atom:contributor der Atom-Elemente-Referenz.

Identifikation mit atom:id

Zu den Elementen, die obligatorisch für jeden Feed und für jeden Eintrag sind, gehört id. Dieses Element ist so definiert, dass bei seiner korrekten Verwendung sichergestellt ist, dass die Ressource, auf die es sich bezieht, eindeutig und unverwechselbar identifiziert ist. Der Wert des Elements ist ein URI (korrekter: ein IRI), der so erzeugt werden muss, dass Einzigartigkeit garantiert ist. Relative URIs sind nicht erlaubt. Um zu entscheiden, ob zwei URIs identisch sind oder nicht, spielt es keine Rolle, ob sie zu derselben Ressource führen, wenn man sie dereferenziert. Es zählt allein, ob sie Zeichen für Zeichen identisch sind oder nicht. Die Spezifikation enhält als Beispiel-URIs unter anderem "http://www.example.org/thing" und "http://www.example.org/Thing", die sich als Identifizierer voneinander unterscheiden, auch wenn ihre Verarbeitung derzeit zu derselben Ressource führt.

Um zu verhindern, dass es zu Verwechslungen von URIs kommt, die bei der Dereferenzierung zu derselben Ressource führen, sich aber in ihrem Zeichenwert unterscheiden, führt die Spezifikation eine Reihe von Regeln auf, z. B. die Regel, Schema und Host grundsätzlich in Kleinbuchstaben anzugeben. Zu id siehe die Seite atom:id der Atom-Elemente-Referenz.

Rechteangaben mit atom:rights

Das Atom-Element rights (bei Atom 0.8 hieß das Element noch copyright) enthält lediglich eine für Menschen verwendbare Copyright-Angabe. Maschinenlesbare Rechte-und Lizenzinformationen müssen in Erweiterungselementen untergebracht werden! Wenn ein Eintrag keine eigene Copyright-Angabe besitzt, ist – sofern vorhanden – die Angabe für den Feed gültig. Zu rights siehe auch die Seite atom:rights der Atom-Elemente-Referenz.

Angabe von Publikationsdaten mit atom:updated und atom:published

Das Element updated bezieht sich auf das letzte Datum, an dem ein Eintrag in einer Weise verändert wurde, die die veröffentlichende Person oder Institution für relevant hält. Es ändert sich also nicht bei jeder Veränderung eines Eintrags, und auch nicht, wenn der Feed einfach neu generiert wird. Inhalt dieses Elements ist ein Datumskonstrukt. Zu updated siehe auch die Seite atom:updated der Atom-Elemente-Referenz.

published dagegen gibt, grob gesagt, das Datum an, an dem ein Eintrag erstmals publiziert wurde. Die Spezifikation spricht etwas blumig von einem Datum, das mit einem frühen Ereignis im Lebenszyklus eines Eintrags assoziiert ist. Zu published siehe auch die Seite atom:published der Atom-Elemente-Referenz.

Metadaten von Quellen: atom:source

Zu den Ausdrucksmöglichkeiten, bei denen Atom weit über die übrigen Feed-Formate hinausgeht, gehört es, dass man einen Eintrag aus einem Feed in einen anderen Feed übernehmen und dabei die Metadaten des ursprünglichen Feeds in einem eigenem Element source mitführen kann. Das Element source enthält bei Atom nicht nur den Namen und den URI des ursprünglichen Feeds wie bei RSS 2.0. Es kann als Nachkommen alle Elemente aufnehmen, die Nachkommen des Elements feed im ursprünglichen Feed waren – abgesehen von den Elementen namens entry.

Die Spezifikation empfiehlt, dabei die Elemente author, category, rights und contributor in jedem Fall aus dem Ursprungsfeed in den Zielfeed zu kopieren, sofern diese Elemente vorhanden sind. Auch hierbei folgt Atom dem Prinzip, ein Minimum an Metadaten in jedem Fall zu erhalten.

Durch die Möglichkeit, Metadaten von einem Feed in einen anderen zu übernehmen, ermöglicht Atom aggregierte Feeds, also Feeds, die Einträge aus einer Menge von Feeds nach bestimmten Kriterien in einen neuen Feed übernehmen. Solche aggregierten Feeds dürften in den kommenden Jahren ein immer wichtigeres Mittel werden, um aktuelle Informationen aus heterogenen Quellen zu organisieren. So lässt sich ein Feed zu einem Thema aus verschiedenen Weblogs generieren; ein Weblog wie Planet RDF ließe sich als ein synthetisierter Feed produzieren. Auch die Feeds "prospektiver Suchmaschinen" wie PubSub werden von dieser Möglichkeit Gebrauch machen. Zu source siehe auch die Seite atom:source der Atom-Elemente-Referenz.

Einordnung von Inhalten mit atom:category

Auch wenn es darum geht, Inhalte zu kategorisieren, ist Atom präziser als RSS 2.0. category ist bei Atom ein leeres Element mit drei Attributen: term, scheme und label. Das Attribut term ist obligatorisch, es identifiziert die Kategorie, der ein entry oder feed zugeordnet wird. scheme definiert das Schema, dem die Kategorisierung folgt. Es ist ebenso optional wie das sprach-sensitive Attribut label, das eine für Menschen lesbare Bezeichnung der Kategorie aufnehmen kann. Der Identifizierer der Kategorie ist in diesem Schema also nicht identisch mit der Bezeichnung für einen Leser. So wird es etwa möglich, dem englischen Kategoriensystem des Open Directory Project (DMOZ) zu folgen, der entsprechenden Kategorie aber einen deutschen Namen zu geben. Zu category siehe auch die Seite atom:category der Atom-Elemente-Referenz.

Identifikation der Erzeuger-Software mit atom:generator

Das Element generator erfüllt bei Atom dieselbe Funktion wie bei RSS. Es gibt die Software an, mit der ein Feed erzeugt wurde, bei Fehlern der Software können ihre Produzenten informiert werden. Angegeben werden der URI der Software und ihre Version. Zu generator siehe auch die Seite atom:generator der Atom-Elemente-Referenz.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Newsfeeds mit RSS und Atom bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: