Wer schonmal versucht hat hCard Profile zu importieren wird sicherlich auf ein Problem stoßen: Welche hCard ist die richtige?

Vor ein paar Tagen habe ich ein Gespräch zwischen Dirk Olbertz und Tantek Çelik via Twitter verfolgt, bei dem es genau um dieses Problem ging…

Das Problem der representative hCard kann auf zwei verschiedene Weisen gelöst werden:

…in short 1. url==uid==source. 2. url has rel-me

url==uid==source

Die einfachste Möglichkeit ist, zu überprüfen ob eine der (unter der angegebenen Source-URL) gefundenen hCards als URL die die Source-URL enthält. Wenn man sicher gehen will, sollte man die URL zusätzlich noch als UID (RFC2426) auszeichnen.

Ein Beispiel für eine representative hCard für wäre:

<span class="vcard">
	<span class="fn">Carsten Pötter</span>
	<span class="url uid">http://notsorelevant.com</span>
</span>Code-Sprache: HTML, XML (xml)

rel-me

Die zweite Möglichkeit ist, nach hCards mit rel="me" URLs zu suchen.

Diese Variante lässt sich natürlich auch mit der Ersten verbinden:

<span class="vcard">
	<span class="fn">Carsten Pötter</span>
	<span class="url uid" rel="me">http://notsorelevant.com</span>
</span>Code-Sprache: HTML, XML (xml)

Wer also ganz sicher gehen möchte sollte das letzte Beispiel nutzen 🙂

Für Web-Seiten die gar keine Profile oder zumindest keine Profile auf der Startseite haben, könnte rel="me" auch als Delegation zu einer (anderen) Seite mit einer representative hCard genutzt werden.

Beispiel: <link rel="me" href="http://www.notsorelevant.com/ueber/" />

Da es für PHP (meines Wissens) noch keinen XFN-Parser gibt, habe ich mich beim hCard-Commenting WordPress Plugin für die erste Variante (url==uid==source) entschieden… Ich hoffe es funktioniert 🙂

Weitere Informationen zu representative hCards im Microformats-Wiki:

Ein Kommentar zu “Welche hCard ist die richtige?

  1. Ich gestehe, ich kapier die Variante 1 einfach nicht! Trotz oftmaligem Lesen dieses Posts und der diversen Dokumenten auf dem Mikroformats Wiki will es nicht in meinen Schädel, was

    uid == src == url

    bedeuten soll.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert