Der Inhalt wure an die neusten Änderungen der Microdata-Spezifikation angepasst. Letztes Update 30.01.2010.
In dem Punkt, dass HTML semantischer werden muss, ist sich die Web-Welt einig, nur das „Wie“ ist noch nicht ganz klar. Aus verschiedenen Gründen (die alle sehr, sehr technisch sind) ist die WHATWG-Community bzw. Ian Hickson im speziellen, nicht sehr begeistert von dem bisherigen De-facto-Standard RDFa und hat deshalb vor ein paar Wochen Microdata als eine mögliche Alternative vorgestellt.
Microdata-Objekte bestehen eigentlich nur aus einer Vielzahl von Key/Value-Paaren. Ein Object wird durch einen umschließenden HTML-Tag mit einem itemscope
-Attribut gekennzeichnet und hat mehrere Properties ausgezeichnet durch itemprop
-Attribute.
<div itemscope>
<p>Mein Name ist <span itemprop="name">Matthias</span>.</p>
</div>
Code-Sprache: HTML, XML (xml)
Microdata ist für mich die gelungene Weiterentwicklung der Microformats-Idee unter Berücksichtigung von RDFa und prinzipiell lassen sich auch beide Standards mit Microdata umsetzen. Wie generell von HTML5 gewohnt, kann man auch Microdata auf viele verschiedene Weisen benutzen ohne den Standard zu verletzen.
Microdata im Microformats-Stil
Um z.B. eine hCard mit Microdata abzubilden muss man eigentlich nur die bisher verwendeten class
durch itemprop
-Attribute zu ersetzen und mit itemtype
das Format festlegen.
<div itemscope itemtype="http://microformats.org/profile/hcard">
<span itemprop="fn">Matthias Pfefferle</span>
<img itemprop="photo" src="avatar.png" alt="Avatar" />
</div>
Code-Sprache: HTML, XML (xml)
HTML5 und Microdata bieten außerdem eine ganze Reihe weiterer Tags und Attribute die alle bisherigen Microformats-Probleme beheben sollten. Aber darauf werde ich in einem extra Artikel noch detaillierter darauf eingehen.
Microdata im RDFa-Stil
item
und itemprop
können aber auch durch URIs (ähnlich wie RDFa) ausgezeichnet werden und würden sich dadurch relativ leicht (durch z.B. GRDDL) in klassisches RDF konvertieren lassen.
<div itemscope itemtype="http://www.w3.org/2001/vcard-rdf/3.0#">
<span itemprop="http://www.w3.org/2001/vcard-rdf/3.0#fn">
Matthias Pfefferle
</span>
<img itemprop="http://www.w3.org/2001/vcard-rdf/3.0#photo"
src="avatar.png" alt="Avatar" />
</div>
Code-Sprache: HTML, XML (xml)
Fazit
Trotz anfänglicher Skepsis bin ich immer begeisterter von dem neuen HTML5 Draft! Microdata fühlt sich einfach viel mehr nacht HTML an…
<div itemscope itemtype="http://microformats.org/profile/hcard">
<a itemprop="url" href="https://notiz.blog">
<span itemprop="fn">Matthias Pfefferle</span>
</a>
</div>
Code-Sprache: HTML, XML (xml)
…als RDFa.
<div xmlns:foaf="http://xmlns.com/foaf/0.1/">
<span typeof="foaf:Person">
<a property="foaf:name" rel="foaf:homepage" href="https://notiz.blog">
Matthias
</a>
</span>
</div>
Code-Sprache: HTML, XML (xml)
Trotzdem hoffe ich, dass man sich doch noch irgendwie einigen kann und sich vielleicht in der Mitte trifft. Zwei neue HTML-Spezifikationen (XHTML2 & (X)HTML5) sind schon verwirrend genug, da brauchen wir nicht auch noch zwei unterschiedliche Semantik-HTML-Standards
Interessant. Ich schätze allerdings, dass man RDFa auch aus HTML5 wird pasen können, selbst wenn es vom Standard her nicht unterstützt wird. Im Endeffekt wird eine Nutzung von URIs notwendig sein, weshalb ich die item und itemprop-Schreibweise für genauso sperrig halte wie die von RDFa – im Endeffekt sollen solche Werte sowiso früher oder später durch Tools eingefügt werden, und nicht per Hand (… denn kaum jemand würde sich die Arbeit machen). In meiner Diplomarbeit, die ich etwa Ende des Monats abgebe, habe ich beispielsweise einen Online-Rich-Text-Editor erweitert, mit dem ohne Kenntnis der Standards (und unter Berücksichtigung der Usability) RDFa in den Quelltext integrieren kann. Ähnliche Editoren werden meiner Ansicht nach in Zukunft in alle HTML-Editoren eingebaut und mehr und mehr verfeinert und automatisiert, um die Anreicherung von Webseiten mit Semantik massentauglich zu machen.
Aber welcher Standard sich im Endeffekt durchsetzt weiß man natürlich einfach noch nicht.
Ich denke auch, dass URIs immer wichtiger werden, deshalb finde ich Microdata ja so interessant. Microdata bietet eine ideale Übergangslösung zwischen POSH/Microformats und RDFa, da sowohl die klassischen Key/Value-Paare möglich sind.
Ian Davis hat eine ganz schicke Demo-Anwendung geschrieben, die sehr schön veranschaulicht, dass man Microdata auch sehr schön in klassische Triple konvertieren kann.
Der einzige Haken an der Geschichte ist, dass es wieder ein neuer Standard ist. Mir wäre auch lieber man hätte RDFa einfach etwas vereinfacht… Wir werden sehen 🙂
Das mit dem Editor klingt übrigens sehr interessant, gibt’s da schon irgendwas zu sehen?
Ihc halte nicht so viel davon. Oder besser: Sehr wenig. Und zwar vor Allem aus dem Grund, weil ich es ablehne, ständig neue Vokabularien zu erfinden, um immer die selbe Sache zu unterstützen.
Gut, RDFa (http://en.wikipedia.org/wiki/RDFa) ist für XHTML geeignet, kaum für HTML. Insoweit stimme ich zu. Für XHTML ist der RDFa Ansatz jedoch konsistent und öffnet jede Menge an Möglichkeiten. Und zwar Möglichkeiten, die weit über das hinausgehen, was Microformats oder eben jetzt Microdata jemals können werden. Daher wäre es angebracht, bevor man das Kind mit dem Bade ausschüttet, RDFa etwas genauer zu prüfen.
Einen m.M.n. besseren Ansatz, eine für HTML geeignete Version zu finden, gibt es bei eRDF (http://en.wikipedia.org/wiki/Embedded_RDF). Es gibt also schon ein gut durchdachtes Konzept, das man bei HTML gut anbringen könnte. Warum also jetzt noch einen weiteren, davon abweichenden Standard erfinden? Besser wäre es, den eRDF Ansatz auszuarbeiten und an die Erfordernisse anzupassen. Der Sinn von Standards ist es ja schließlich nicht, tausende unterschiedliche zu haben, sondern möglichst wenige, am besten einen.
Die Geschichte ist dazu verdammt, sich ständig zu wiederholen. Früher hieß das Browser war, heute heisst das wohl standards war.
Hallo Siegfried, natürlich muss ich dir in dem Punkt zustimmen… Wieso einen neuen Standard schaffen wenn es schon einen gibt der alle Anforderungen erfüllt. Ich hab übrigens gerade heute entdeckt, dass Manu Sporny es wohl doch geschafft hat, die HTML5 WG zu überzeugen: http://dev.w3.org/html5/rdfa/Overview.html#rdfa
Trotz allem finde ich Microdata einen schönen Ansatz, gerade weil er Microformats und RDFa/eRDF so schön vereint.
hmmm, ich werde mir Microdata mal in nächster Zeit in Ruhe ansehen. Wenn es wirklich so sein sollte, dass dadurch Microformats und RDF zusammengebracht werden, wäre das nicht schlecht. Trotzdem: Schon wieder ein neues Vokabular?
Aber danke für die Info, dass RDFa nun doch Bestandteil von HTML5 werden wird. Ich halte das zwar für problematisch (wegen der Namespaces), aber ansonsten sehr interessant.