Ich hab mal meine Microdata-Artikel an die letzten Änderungen angepasst:
Falls jemand noch einen Fehler entdeckt… sagt mir bitte bescheid!
Ich hoffe ich komme demnächst auch mal zu “Microdata – wie Microformats bloß besser… (Teil 2)”.
Ich hab mal meine Microdata-Artikel an die letzten Änderungen angepasst:
Falls jemand noch einen Fehler entdeckt… sagt mir bitte bescheid!
Ich hoffe ich komme demnächst auch mal zu “Microdata – wie Microformats bloß besser… (Teil 2)”.
Manu Sporny und die RDFa Task Force haben es doch noch nicht geschafft, Ian Hickson davon zu überzeugen RDFa in HTML5 zu integrieren und versuchen es jetzt im Alleingang. Es gibt auch schon einen ersten Editors Draft von HTML5+RDFa.
Besonders spannend finde ich folgenden Abschnitt aus Manu Spornys Blogpost zu dem neuen Draft:
I specifically did not remove the Microdata section from the HTML5+RDFa specification because it provides competition for RDFa – competition is a good thing. It forces the RDFa Task Force to re-think some assumptions we’ve made and to see if we can provide both backwards-compatibility and some of the features provided via Microformats as well as Ian’s Microdata proposal.
Ich versteh das jetzt mal so, dass endlich beide Parteien verstanden haben die RDFa Task Force verstanden hat dass sowohl RDFa als auch Microformats ihre Daseinsberechtigung haben und Microdata die Vorteile beider Standards schön vereint.
Mal schaun ob ich die Tage mal etwas Zeit finde, die einzelnen Standards nochmal detaillierter Vorzustellen bzw. zu Vergleichen und nochmal zu beschreiben warum die Idee hinter Microdata so großartig ist!
via Manu Sporny
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>
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.
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>
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.
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>
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="http://notizblog.org">
<span itemprop="fn">Matthias Pfefferle</span>
</a>
</div>
…als RDFa.
<div xmlns:foaf="http://xmlns.com/foaf/0.1/">
<span typeof="foaf:Person">
<a property="foaf:name" rel="foaf:homepage" href="http://notizblog.org">
Matthias
</a>
</span>
</div>
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
Ubiquity bietet (neben Operator) endlich einen echten Anwendungsfall für die Microformats Firefox API. Die Microformats API basiert auf JavaScript und lässt sich somit auch direkt (und ohne viel Aufwand) in die Ubiquity-Commands integrieren.
Das folgende wirklich sinnvolle Beispiel zählt alle hCards einer Seite und gibt das Ergebnis als System-Message aus:
Components.utils.import("resource://gre/modules/Microformats.js");
CmdUtils.CreateCommand({
name: "count-hcards",
execute: function() {
var doc = Application.activeWindow.activeTab.document;
var uFcount = Microformats.count('hCard', doc);
displayMessage( uFcount );
}
})
Martin McEvoy hat ein paar wesentlich schickere Commands gebaut, die mit Hilfe des Transformrs Mikroformate verarbeitet. Da für diese Verarbeitung ein Redirect (oder das öffnen einer zweiten Seite) notwendig ist, überprüft er mit Hilfe der Microformats-API zuerst ob sich die notwendigen Mikroformate überhaupt auf der Seite befinden.
Der folgende Code (von Martin) testet z.B. ob mind. ein hCalendar verfügbar ist, bevor er diesen verarbeitet:
CmdUtils.CreateCommand({
icon: "http://transformr.co.uk/favicon.ico",
name: "get-webcal",
author: {name: "Martin McEvoy", email: "weborganics@googlemail.com"},
help: "Subscribe to a webcal feed using the
<a href=\"http://microformats.org/wiki/hcalendar\">hCalendar</a> Microformat.",
preview: function ( pblock ) {
pblock.innerHTML = "Subscribe to web calendar";
},
execute: function() {
var doc = Application.activeWindow.activeTab.document;
var mFcount = Microformats.count('hCalendar', doc,{ showHidden : true });
if (mFcount > 0) {
var url = "webcal://transformr.co.uk/hcalendar/";
url += CmdUtils.getWindowInsecure().location ;
Utils.openUrlInBrowser(url);
} else {
displayMessage('Sorry No hCalendar Events Found!');
}
}
})
Quelle: http://transformr.co.uk/commands
Weitere großartige Ubiquity-Commands im Microfromats-Wiki…
Naja, nicht wirklich aber immerhin hat es RDFa bis dato nicht in die HTML5 Spezifikation geschafft. Es gibt zwar einen Milestone…
The HTML WG is encouraged to provide a mechanism to permit independently developed vocabularies such as Internationalization Tag Set (ITS), Ruby, and RDFa to be mixed into HTML documents.
…aber wer weiß wie lange das noch dauert. Das heißt wohl, dass die Microformats noch eine gewisse Zeit lang als Übergangslösung her halten müssen. Aber das ist ne andere Geschichte…
Eigentlich wollte ich auf zwei HTML5 – Elemente eingehen, die eine schicke Alternative zu den bisherigen (in vielen Microformats verwendeten) abbr-design-pattern bietet.
Das time Element ermöglicht das kennzeichnen eines Datums in z.B. Blogposts o.Ä.
The primary use cases for these elements are for marking up publication dates e.g. in blog entries, and for marking event dates in hCalendar markup.
Also:
<time datetime="2006-09-23">a Saturday</time>
statt:
<abbr title="2006-09-23">a Saturday</abbr>
Ein hCalendar könnte dann so aussehen:
<div class="vevent"> <span class="summary">event title</span> <time datetime="2006-09-23" class="dtstart dtend">a Saturday</time> </div>
Ein custom data attribute ist ein frei benutzbares Attribut um Elemente mit Metadaten anzureichern. Die einzige Vorgabe ist, dass es mit data- beginnen muss. Ein Beispiel:
<div class="monkey" data-arms="2"
data-legs="2" data-race="chimp">
Cheetah
</div>
Ideal auch als <abbr />-Ersatz bei z.B. dem Geo-Microformat.
Also:
<div class="geo" data-latitude="49.5483" data-longitude="8.6661">Weinheim</div>
statt:
<abbr class="geo" title="49.5483;8.6661">Weinheim</abbr>
(X)HTML (egal ob XHTML2 mit RDFa oder X/HTML5) wird also definitiv ein semantisches Feuerwerk, ganz im Sinne von Tim Berners Lee…
Ich freu mich