hcard-validator.jpg

Der hCard Validator…is an unofficial validator/conformance checker of the hCard microformat„. Während der Optimus-Validator ein breites Spektrum an Microformats unterstützt, bring der hCard Validator (wie der Name schon sagt) ein paar schicke extra Features zum validieren von hCards mit sich.

Im Gegensatz zu Optimus, muss die hCard nicht zwingend über eine URL erreichbar sein, sondern kann auch bequem über ein Textfeld oder einen statischen Upload überprüft werden.

Weitere tolle Features sind z.B. der Profile-URI check:

<head> uses profile “http://gmpg.org/xfn/11” which is unrelated to 'http://www.w3.org/2006/03/hcard'
This may suggest that document does not use hCard microformat.

oder der E-Mail – Adressen – Check:

Value of email property doesn’t look like an e-mail
Found “webmaster-at-notiz.blog”, but expected simple syntax in form mailto:joe@example.com?subject=is%20optional.

(Test-hCard)

Zum Test habe ich die gleiche URL auch noch mit dem Chef-Transformer validiert, dem aber (leider) diese Liebe fürs Detail fehlt…

transformr.png

Martin McEvoy von WebOrganics hat gerade den Microformats Transformr angekündigt. Die Daseinsberechtigung des Transformr neben Optimus, dem Chef-Transformer (ich hoffe die Transformers sind euch ein Begriff 🙂 ), ist die umfassende hAudio-Unterstützung, was wohl daran liegt dass Martin McEvoy aktiv an diesem Standard mitarbeitet.

hAudio Features:

  • hAudio to RSS
  • hAudio to RSS2
  • hAudio to XSPF

XSPF („spiff“) steht für XML Shareable Playlist Format und ist ein offener XML-Standard für Playlisten.

Ein weiteres interessantes Feature ist hFoaF welches hCards und XFN in FoaF wandelt.

In den letzten Tagen wurde in der Microformats-Community viel über das Thema standardisiertes Parsen und einheitliches Darstellen der verschiedenen Mikroformate (hCard im speziellen) diskutiert.

Leider gab es bisher keinen einheitlichen „Microformats-Acid-Tests“ sondern nur vereinzelte (projektspezifische) Seiten um einige Spezialfälle zu testen.

microformats-testsuites.jpg

Glenn Jones, einer der Macher von ufXtract hat jetzt eine sehr schöne Microformats-Testsuite erstellt, die parser-unabhängig funktionieren soll um eventuelle Interpretationsfehler erkennen und vergleichen zu können.

The Testrunner

Um die Tests so einfach wie möglich zu gestalten, hat Glenn einen einen JavaScript-Testrunner entwickelt (siehe Screenshot). Testen kann man den Runner unter z.B. http://ufxtract.com/testsuite/hcard/1.0/hcard1.htm in dem man einfach Alt + X drückt (CTRL + ALT + X auf dem Mac).

Hier sei nochmal erwähnt warum es so wichtig ist, dass jeder Parser das gleiche (micro)JSON-Format nutzt:

Please note that at this stage the JSON standardisation process can cause a test to be marked as failed when it could be judged to have passed. #

Nur bei einer gleichen JSON-Struktur kann der Output sinnvoll verglichen werden. Eine erste Version der jCard (danke nochmal an Gordon Oheim für sein Engagement) findet man im Microformats-Wiki.

Testsuite-API

Wer die Testsuite für seinen eigenen Parser einsetzen will, sollte sich mal die Testsuite-API zu Gemüte führen.

Rather than just build something in isolation I thought it would be nice to find a way to share this work with the community. #

Großartige Arbeit!

Interessante Links zu dem Thema:

So, nachdem sich doch einiges bei Optimus[1] und Operator[2] geändert hat, hab ich auch mal mein Optimus User Script auf den neusten Stand gebracht.

Änderungen seit der letzten Version:

  • URL von document.commandDispatcher.focusedWindow.document.URL auf semanticObject.node.ownerDocument.URL umgestellt.
  • Support für hAudio und hListing hinzugefügt

Den Download findet ihr hier: Optimus User Script

[1] Optimus ist ein Microformats-Parser auf Basis von XSLT.
[2] Operator ist ein Firefox-Addon zum visualisieren und verarbeiten von Microformats.

Optimus Transformer hat ne ganze Menge neuer Features spendiert bekommen, unter anderem auch Support für zwei der neueren Microformats hListing und hAudio.

Alle neuen Features:

  • support of nested microformats
  • support of multiple includes
  • support of nested includes
  • support of anchor (you can use URL like http://example.com#my-vcard to narrow the target)
  • support of @couldbe attribute (internal feature, now item in hreview, for example, could be vcard or vevent)
  • hfeed now is optional
  • support for vcalendar
  • fix for text spacing
  • fix for empty tags in output
  • hListing support
  • hAudio support
  • general performance improvement
  • add RSS as an output format
  • rewrite validator from scratch
  • better UTF-8 support

Das ist mittlerweile ne ganz stattliche Liste an unterstützten Mikroformaten, wenn jetzt nur noch alle Optimus-Ähnlichen-Services ein einheitliches JSON-Format zurückgeben würden…

…und ich sollte mich definitiv mal etwas mehr mit XSLT beschäftigen!

Wie in meinem letzten Post über den hCardMapper beschrieben, war es in der Tat nicht möglich den Microformats-Parser/Proxy ohne weitere Probleme auszutauschen. Die generierten JSON Formate der einzelnen Parser (ufXtract, hKit, mofo) unterscheiden sich an einigen Stellen zu sehr um sie alle gleich behandeln zu können. Soweit zur schlechten Nachricht…

Die gute Nachricht ist, dass sich Gordon Oheim (der Macher des hCardMappers) nochmal alle JSON Formate vorgenommen und eine neue Version gebastelt hat:

v0.94 – Added better support for JSON returned by Optimus, ufXtract and hKit.

Der Mapper sollte also mit mofo, Optimus, ufXtract and hKit problemlos funktionieren.

Die nächste tolle Nachricht ist, dass Gordon auch auf einen kleinen Änderungswunsch von mir sofort eingegangen ist, so dass wir euch jetzt eine hCardMapper Edition von dem WordPress hCard-Commenting Plugin anbieten können :).

Download: hCardMapper for WordPress v0.1 hCardMapper bei WordPress.org

Wenn ihr immer die aktuelle Version haben wollt, hier ist der Link zum SVN.

Ich hab das Plugin auch mal auf notizBlog aktiviert und würde mich über euer Feedback freuen. Macht es Sinn über das Admin-Menü zwischen beiden Versionen (hCard-Commenting und hCardMapper-Commenting) zu wechseln?

Ein dickes Danke nochmal an Gordon für seine tolle und schnelle Arbeit… tolles Script.

optimus transformer

I wrote a small User Script for the Operator Toolbar (Firefox Plugin to handle Microformats), so you can transform the detected microformats using the Optimus transformer. Optimus supports two kinds of transformations (microformats to jSON or to XML) and a basic microformats validation.

The User Script supports the transformations and the validation for the following Microformats: hCard, hCalendar, adr, hReview, hResume, tag, geo, XFN, xFolk, license and hAtom-hFeed.

Download: Optimus User Script for Operator V .1 Latest Version

If you find a bug, please report it through the comments…