Zusammenführung der Microformate und Dublin Core Ideen

Dublin Core ist einer der ältesten Metadaten Standards des WWW. Es ist klassischerweise direkt verbunden mit dem meta Element. Doch wie bereits bei Dublin Core: Expressing Dublin Core in HTML/XHTML meta and link elements beschrieben, sind diese Attributwerte auch auf das link Element anwendbar.
Die Mikroformate hingegen beschreiben wesentlich Attribute und deren Werte, wie sie in der body Sektion eines html-Dokuments auftauchen. Dabei kann man recht gut Beides miteinander kombinieren.

Dieses Dokument ist ein Metadaten Profil im Sinne der HTML Spezifikationen, Sektion 7.4.4.3 Meta data profiles, genauer spezifiziert unter XMDP.


Klarstellung

Wie bei Dublin Core beschrieben, ist die Notation der Attributwerte wie folgt:

DC.attributwert

Also DC in Großbuchstaben, gefolgt von den Attributwerten in Kleinbuchstaben. Bei Verwendung ist genau diese Schreibweise anzuwenden. Dadurch ergibt sich bei Bedarf eine etwas aufwändigere Notation in CSS Stylesheets:

p[class="DC.description.abstract"] { ... }

Hauptziel dieser Spezifikation ist allerdings nicht das Styling per CSS, sondern die logische und semantische Auszeichnung entsprechenden Inhaltes.

Attributwerte

DC.title

Titel des Dokuments.

Die Verwendung im head Bereich ist redundant und daher überflüssig. Die folgenden Angaben haben die gleiche Bedeutung:

titleTitel der Seite/title meta name="DC.title" content="Titel der Seite"

Da das html Element title per Spezifikation sowieso notwendig ist, ist dieser Notation der Vorzug zu geben. Der Inhalt des title Elements kann genausogut als dc:title nach z.B. RDF extrahiert werden.

Interessant ist die Verwendung im body. In der Regel befindet sich in einem Dokument eine Überschrift, die im Unterschied zu den weiteren Überschriften dieses Dokuments als Titel dieses Dokuments definiert ist. Dies kann, muß aber nicht, der gleiche Inhalt sein wie der des title Elements. Mögliche Orte für diesen Titel können zum Beispiel die erste Überschrift erster Ordnung (h1) oder auch eine andere Überschrift auch niedrigerer Ordnung sein. So ist zum Beispiel denkbar, daß die erste Überschrift erster Ordnung als eine Art Banner den Firmen- oder Sitenamen enthält, und die darauf folgende erste Überschrift zweiter Ordnung den eigentlichen Seitentitel:

body h1Firma Müller und Co./h1 h2Unsere Produkte/h2 ... /body

Um den Titel eindeutig zu kennzeichnen, kann der Dublin Core Attributwert hinzugefügt werden. Dabei ist das id Attribut vorzuziehen, da eine Seite nur einen Titel besitzen sollte:

body h1Firma Müller und Co./h1 h2 id="DC.title"Unsere Produkte/h2 ... /body

DC.creator

Bezeichnet die Person oder Gruppe, die hauptsächlich für den Inhalt verantwortlich ist. Im Fall von Textdokumenten hat dies die gleiche Bedeutung wie der Attributwert author. Andere Arten von Erstellern können Künstler, Photographen oder Illustratoren sein.

head meta name="DC.creator" content="Siegfried Gipp" link rel="DC.creator" href="http://www.rorkvell.de/impressum" ... /head

Die erste Zeile zeigt den klassischen Fall der Nutzung im meta Element. Hier ist nicht spezifiziert, welchen Datentyp das Attribut "content" enthält. Es kann sich um einen einfachen Text (string) handeln, der um eine URL oder irgendwas Anderes. Am sinnvollsten ist hier die Verwendung des vollen Namens als einfacher Text.
Die zweite Zeile zeigt die Verwendung im link Element. Hier ist spezifiziert, daß das href Attribut ausschließlich eine URL enthalten kann. Der Wert unter href ist also die URL einer Webseite, wo Informationen über den Ersteller gefunden werden können. Diese Notation ist immer dann vorzuziehen, wenn eine solche URL angegeben werden kann. Natürlich lassen sich auch, so wie oben, beide Notationen miteinander kombinieren.

Die Verwendung im body ist ebenfalls interessant. Wie bei den XFN Mikroformaten lässt sich auch dieser Wert für ganz ähnliche Zwecke verwenden. Zunächst ein Beispiel nach XFN:

Diese Seite wurde von a href="http://www.rorkvell.de/impressum" rel="me"mir/a erstellt.

Die Verwendung von me impliziert in einer recht ungenauen Art, daß es sich bei der Person, um die es hier geht, um Denjenigen handelt, der diese Seite erstellt hat. Etwas präziser, aber syntaktisch ansonsten identisch, geht dies mit Dublin Core:

Diese Seite wurde von a href="http://www.rorkvell.de/impressum" rel="DC.creator"mir/a erstellt.

Auch die Verwendung in einem Adressdatensatz auf z.B. einer Impressumsseite bietet sich an. Hier kann man gut mit dem hCard Mikroformat kombinieren:

address class="vcard" a rel="fn" href="http://www.rorkvell.de/impressum"Siegfried Gipp/a /address

Dies besagt lediglich, daß es sich hier um einen (sehr reduzierten) Adressdatensatz nach hCard handelt. Es wird aber keine Aussage gemacht darüber, um wessen Adresse es sich handelt. Dies lässt sich ändern:

address class="vcard DC.creator" a rel="fn" href="http://www.rorkvell.de/impressum" Siegfried Gipp/a /address

Da es i.d.R. wohl nur einen einzigen Ersteller gibt (im Gegensatz zu z.B. DC.contributor, ist auch folgende Konstruktion denkbar:

address class="vcard" id="DC.creator" a rel="fn" href="http://www.rorkvell.de/impressum" Siegfried Gipp/a /address

In beiden Fällen habe ich übrigens, entgegen den Beispielen bei hCard, auf die Verwendung des Wertes "url" verzichtet. Die Verwendung des Elementes a sowie des Attributes href implizieren bereits per Spezifikation eine url.

DC.subject

Thema der Seite. Typischerweise Schlüsselworte oder Schlüsselphrasen, die das Thema der Seite beschreiben.

Die Verwendung in der head Sektion ist redundant. In der Regel sollte man hier nur eine der beiden Varianten verwenden:

meta name="keywords" content="xml, metadata, xhtml, Dublin Core, Microformat" meta name="DC.subject" content="xml, metadata, xhtml, Dublin Core, Microformat"

Interessant ist hingegen die Verwendung im body Bereich. Hier können an jeder Stelle des Inhalts besondere Schlüsselworte oder Schlüsselsätze gekennzeichnet werden. Üblicherweise kann dafür das span Element herangezogen werden, aber auch jede Art von Überschrift:

Hier geht es um span class="DC.subject"Metadaten/span, speziell die Verwendung der span class="DC.subject"Dublin Core/span Attributwerte und deren Verwendung in span class="DC.subject"xhtml/span.

DC.description

Eine textuelle Beschreibung des Inhalts, einschließlich z.B. einer Zusammenfassung, eines Teasers, oder auch Inhaltsbeschreibungen bei Bildern, Filmen und Dergleichen.

Die Verwendung im head ist redundant, da es dazu auch description gibt. Im head Bereich sollte nur eine der beiden Varianten verwendet werden:

meta name="description" content="Beschreibung des Inhalts" meta name="DC.description" content="Beschreibung des Inhalts"

DC.description.abstract

Gut geeignet als Klassenname oder ID für einen einleitenden Paragraphen, der als Zusammenfassung, Einführung oder Teaser dient:

h2 id="DC.title"Klasse XHTML/h2 p id="DC.description.abstract" Hier geht es um XHTML und Klassennamen. ... /p

DC.publisher

Herausgeber eines Webdokuments wie z.B. ein Verlag, Universität oder Firma, aber auch Privatpersonen. Kann syntaktisch auf die gleiche Art verwendet werden wie DC.creator:

head meta name="DC.publisher" content="Siegfried Gipp" link rel="DC.publisher" href="http://www.rorkvell.de/impressum" ... /head

Auch verwendbar im body, z.B. in Adressdatensätzen:

address class="vcard DC.publisher" a rel="fn" href="http://www.rorkvell.de/impressum" Siegfried Gipp/a /address

Die Verwendung ist auch hier genau wie bei hCard in der Kombination mit XFN, nur daß hier statt mit XFN mit Dublin Core kombiniert wird. Die Aussage dieser Konstruktion ist etwas präziser. Da es wahrscheinlich auch nur einen Herausgeber gibt, ist, ähnlich wie bei DC.creator, auch folgende Konstruktion denkbar:

address class="vcard" id="DC.publisher" a rel="fn" href="http://www.rorkvell.de/impressum" Siegfried Gipp/a /address

DC.contributor

Verweist auf Jemanden, der signifikant zum Inhalt beigetragen hat, wie z.B. Übersetzer, Illustrator, Editor, ...

Auch hier ist die Verwendung syntaktisch identisch mit DC.creator und DC.publisher:

head meta name="DC.contributor" content="Siegfried Gipp" link rel="DC.contributor" href="http://www.rorkvell.de/impressum" ... /head

Ebenfalls möglich ist die Verwendung im body, z.B. in Adressdatensätzen in z.B. einer Impressumsseite:

address class="vcard DC.contributor" a rel="fn" href="http://www.rorkvell.de/impressum" Siegfried Gipp/a /address

Insbesondere können durch die Verwendung der verschiedenen Attributwerte mehrere Adressdatensätze in einer Impressumsseite präzise der Rolle des Eigentümers dieser Adresse zugeordnet werden.

DC.date

Datum der Erstellung oder Änderung oder Gültigkeitszeitpunkt. Dies überschneidet sich weitgehend mit den hCalendar Spezifikationen, bezieht sich jedoch explizit auf Daten und Ereignisse dieses Dokument betreffend. Das übliche hCalendar Markup kann daher einfach durch diese Klassennamen ergänzt (nicht ersetzt) werden.

DC.date.created
Datum der Erstellung der Seite.
DC.date.valid
Zeitpunkt, bis zu dem dieses Dokument gültig bleibt.
DC.date.available
Zeitraum (Intervall), in dem das Dokument verfügbar ist oder wird.
DC.date.issued
Zeitpunkt der formellen Herausgabe des Dokuments.
DC.date.modified
Zeitpunkt der letzten Änderung.

Im Fall der Verwendung in der head Sektion wird das Datum in der Form JJJJ-MM-DD geschrieben. Dies entspricht der maschinenlesbaren Schreibweise, die bei hCalendar als title Attribut des abbr Elements spezifiziert ist.

DC.type

Art oder Rolle des Dokuments (z.B. Homepage, Gedicht, Arbeitspapier, Verzeichnis, ...). Der Typ sollte aus dem Dublin Core Vokabular genommen werden. Nicht zu verwechseln mit dem HTML Attribut type, welches den mime-Typ aufnimmt.

Die Verwendung im body ist nicht trivial, da DC.type nicht einfach als Klassenname oder ID verwendet werden kann. Dieser Klassenname oder diese ID kann verwendet werden, wenn der Inhalt des jeweiligen Containers eines der Schlüsselworte aus dem Dublin Core Vokabular ist. Im Fall nicht-englischer oder nicht identischer Begriffe kann der Begriff in ein span Element eingebettet werden, dessen title Attribut den Dublin Core Begriff enthält.

DC.format

Bezeichnet den mime-Typ des Inhalts. Ist i.d.R. in html-Dokumenten redundant. Für das aktuelle Dokument wird diese Angabe im http Header gemacht sowie eventuell zusätzlich im meta Element. Bei Linkzielen wird diese Angabe durch das type Attribut vorgenommen, ebenso bei img und object. Umgekehrt können diese html-Attribute resp. deren Werte bei der Umformung nach xml in Elemente der Form dc:format übertragen werden.

DC.identifier

Diese Angabe macht im Wesentlichen im head Sinn als Wert des Attributes rel des link Elements und bezeichnet, ähnlich wie das base Element die eindeutige URL dieses Dokuments:

link rel="DC.identifier" href="http://www.rorkvell.de/tech/dc.xhtml.de" type="application/xhtml+xml" title="Zusammenführung der Microformate und Dublin Core Ideen" lang="de" hreflang="de"

Dies bezeichnet z.B. eindeutig das vorliegende Dokument in der deutschen xhtml Version.

DC.source

Verweist auf eine Webseite, die als Quelle für das aktuelle Dokument dient. Das aktuelle Dokument kann z.B. eine Übersetzung des Quelldokumentes sein oder ein Dokument, dessen Inhalt zu dem Inhalt des aktuellen Dokuments angeregt hat.

DC.language

Dieses Attribut ist sowohl im head als auch im body redundant und daher zu vermeiden. In html wird das Gleiche erreicht durch das lang Attribut, soweit es Texte im aktuellen Dokument betrifft, oder durch das hreflang Attribut, soweit es sich um die Sprache von Zieldokumenten bei Verweisen handelt. In xml-Dokumenten kann dieser Wert durch xml:lang ausgedrückt werden.

DC.relation

Dieses Attribut ist ebenfalls besser direkt in html aufgehoben, und zwar durch die Verwendung der rel und rev Attribute. Umgekehrt jedoch können bei der Umformung von xhtml-Dokumenten nach xml diese Attribute in entsprechende Elemente der Art dc:relation übertragen werden.

DC.coverage

Bezeichnet eine örtliche oder zeitliche Gültigkeit des Dokuments. Bei örtlichen Einschränkungen handelt es sich um ein Dokument, das nur für die genannte Region relevant ist. Zeitliche Einschränkungen sind z.B. sinnvoll bei Dokumenten über geschichtliche Ereignisse.

Dieser Wert macht i.d.R nur Sinn im meta Element, das aktuelle Dokument betreffend.

DC.rights
Die Bedeutung ist identisch zu dem inzwischen weiter verbreiteten rel="license" und kann alternativ verwendet werden.