hcard-examples-fr
Exemples hCard
Exemples de hCards.
Auteurs
- Tantek Çelik
- Brian Suda
- (Traduction en cours et tentative de localisation francophone Christophe Ducamp - Attention : seul le lien hcard-examples fait référence)
Exemples Instructifs
Auteurs de Pages et de Posts
Selon la spécification HTML4.01, "les auteurs peuvent employer l'élément <address>
pour fournir les informations de contact du document ou d'une partie essentielle de celui-ci" c'est à dire
<address> <a href="http://tantek.com/">Tantek Çelik</a> </address>
En ajoutant hCard à un tel XHTML sémantique, vous pouvez indiquer explicitement le nom de la personne, son URL, etc. :
<address class="vcard"> <a class="fn url" href="http://tantek.com/">Tantek Çelik</a> </address>
Ceci pourrait être affiché comme :
Tantek Çelik
Ceci fonctionne non seulement pour l'ensemble de pages, mais aussi pour les "parties essentielles" des pages, par exemple les billets de blog.
Voir le blog microformats.org (visualisez la source) pour un exemple vivant. L'auteur de chaque billet de blog sur le blog microformats.org est balisé comme un élément <address class="vcard">
comme l'exemple montré ci-dessus.
Références aux Personnes et aux Organisations
Un modèle commun dans les posts de blog est de lier les citations des noms de personnes vers leurs blogs, et/ou les organisations vers leurs pages d'accueil. Par ex :
<cite><a href="http://meyerweb.com/">Eric Meyer</a></cite> a écrit un billet (<cite><a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">Tax Relief</a></cite>) à propos d'une lettre involontairement humoristique qu'il a reçue du <a href="http://irs.gov/">Internal Revenue Service</a>.
En ajoutant hCard à un tel balisage, vous pouvez explicitement indiquer à la fois la personne et l'organisation par le nom et l'URL :
<cite class="vcard"><a class="fn url" href="http://meyerweb.com/">Eric Meyer</a></cite> a écrit un billet (<cite><a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">Tax Relief</a></cite>) à propos d'une lettre involontairement humoristique qu'il a reçue du <span class="vcard"><a class="fn org url" href="http://irs.gov/">Internal Revenue Service</a></span>.
Remarquez les noms de classe "fn org url" sur l'hyperlien entourant IRS. Utiliser la même valeur (ou élément pour ce qui compte) pour "fn" et "org" indique que le hCard décrit une organisation plutôt qu'une personne.
Ceci pourrait être affiché comme :
Eric Meyer a écrit un billet (Tax Relief) à propos d'une lettre involontairement humoristique qu'il a reçue du Internal Revenue Service.
hCard et XFN
Références vers des Personnes dans les Billets de Blog
Dans l'exemple au-dessus, une personne (le blogueur) fait référence à une autre personne (Eric Meyer). En plus d'utiliser hCard pour baliser explicitement la référence comme une personne, le blogueur peut utiliser XFN (Le XHTML Friends Network) pour indiquer sa relation avec Eric Meyer, par ex. :
<cite class="vcard"><a class="fn url" rel="friend colleague met" href="http://meyerweb.com/">Eric Meyer</a></cite> a écrit un billet (<cite><a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">Tax Relief</a></cite>) à propos d'une lettre involontairement humoristique qu'il a reçue du <span class="vcard"><a class="fn org url" href="http://irs.gov/">Internal Revenue Service</a></span>.
Cela s'afficherait de la même façon que dans l'exemple précédent.
Références aux Personnes dans les Blogrolls
Beaucoup de blogueurs utilisent XFN (en utilisant souvent une interface utilisateur facile qui est construite dans WordPress) pour indiquer explicitement leurs relations avec les personnes dans leurs blogrolls :
<ul> <li><a href="http://meyerweb.com" rel="friend colleague met">Eric Meyer</a></li> <li><a href="http://photomatt.net" rel="friend colleague met">Matt Mullenweg</a></li> </ul>
En ajoutant le balisage hCard à une blogroll d'amis XFN, vous pouvez indiquer explicitement le nom et l'URL de la personne en plus de sa relation :
<ul> <li class="vcard"><a class="fn url" href="http://meyerweb.com" rel="friend colleague met">Eric Meyer</a></li> <li class="vcard"><a class="fn url" href="http://photomatt.net" rel="friend colleague met">Matt Mullenweg</a></li> </ul>
Ceci pourrait s'afficher comme :
Pour plus d'information sur XFN, voir la page d'accueil XFN, rejoindre XFN, et données de base sur XFN.
Cette technique est utilisée dans le plugin WP Microformatted Blogroll.
Nouveaux Types d'Information de Contact
Depuis que vCard a été conçu, il y a eu plusieurs autres services qui fournissent des individus avec des adresses ou d'autres moyens de contact, par ex. la messagerie instantanée, la voip, etc.
Est-ce que cela veut dire que vCard (et par conséquent hCard) doit être étendu pour les représenter ?
Grâce à la flexibilité de la propriété URL, la réponse est non, aucune extension n'est nécessaire. Au lieu de cela, nous utilisons l'URL appropriée pour le service qui identifie le service (protocole, machine et/ou chemin), et plaçon l'adresse de l'individu à l'intérieur de cela.
AOL Instant Messenger (AIM)
Les ids AOL Instant Messenger (AIM) peuvent être représentées en utilisant le protocole aim:
. Beaucoup de personnes qui publient leurs ids AIM le font ainsi avec des URLs cliquables par ex :
<a href="aim:goim?screenname=ShoppingBuddy">IM avec l'AIM ShoppingBuddy</a>
Par conséquent pour hCard, nous adopterons ce comportement existant d'éditeur, et le saisirons simplement comme un autre URL pour le hCard :
<a class="url" href="aim:goim?screenname=ShoppingBuddy">IM avec l'AIM ShoppingBuddy</a>
Yahoo Messenger
De la même manière, les ids de Yahoo Instant Messenger (YIM) peuvent être représentées en utilisant le protocole ymsgr:
. Et de la même manière, beaucoup publient leurs ids YIM comme des URLs cliquables par ex :
<a href="ymsgr:sendIM?QuelqueAmiYahoo">IM avec QuelqueAmiYahoo</a>
A nouveau, pour hCard, nous adopterons ce comportement de pubication de contenu existant, et le saisirons simplement comme un autre URL pour le hCard :
<a class="url" href="ymsgr:sendIM?QuelqueAmiYahoo">IM avec QuelqueAmiYahoo</a>
MSN Messenger
Malheureusement, à la limite de ce que je connais, il n'existe pas de protocole bricolé de facto pour ouvrir une session de messagerie instantanée MSN avec un identifiant utilisateur MSN (qui lui-même n'est qu'une adresse email). Par conséquent, nous devons simplement avoir recours à les baliser comme des adresses email, et s'attendre à ce que les consommateurs puissent utiliser quelque heuristique, telle que "les adresses email hotmail.com sont aussi des identifiants de MI MSN". -Tantek
Les ids de MSN Messenger (MSNIM) peuvent être représentées en utilisant le protocole msnim:
. Et de la même façon, beaucoup publient leurs ids MSNIM comme des URLs cliquables par ex :
<a href="msnim:chat?contact=jeandupont@hotmail.com">IM avec jeandupont@hotmail.com</a>
Pour hCard, nous adopterons ce comportement de publication existant et le saisirons simplement comme un autre URL pour le microformat hCard :
<a class="url" href="msnim:chat?contact=jeandupont@hotmail.com">IM avec jeandupont@hotmail.com</a>
Mis à jour le 14 mai 2006 - Ruben
Ruben, j'ai essayé ça, et "msnim:" est un protocole non reconnu sur MacOSX.4 (ceci avec le dernier MSN Messenger pour Mac installé, et en état de marché et connecté). Pourriez-vous fournir des liens vers la documentation à propos de "msnim:" et des liens vers de vrais pages qui publient leurs ids MSNIM de cette manière ? Je n'en connais pas - Tantek
- Tantek, L'historique de Windows Live Messenger sur wikipedia affirme que MSN Messenger 7.5 pour Windows, entre autre choses,, a présenté le : "the msnim protocol handler, permettant aux sites Web de fournir des liens qui ajoutent automatiquement un contact ou démarrent des conversations (par exemple cliquer sur une lien msnim:chat?contact=login@passport.net démarrera une conversation chat avec l'utilisateur login@passport.net).". La version pour Mac est malheureusement à la traîne derrière --chucker 11:33, 29 Jun 2006 (PDT)
Il semble aussi que le handler de protocole msnim ne soit supporté seulement que par Microsoft Internet Explorer 7 (pas pu essayer les versions précédentes) sur Windows. Les dernières versions de Firefox, Opera et Netscape Navigator ne reconnaissent pas le protocole. Au moins pour le moment. - Juha Liikala
XMPP (Jabber)
Extensible Messaging and Presence Protocol (XMPP) ids can be represented using the xmpp:
protocol, e.g.:
<a class="url" href="xmpp:username@jabberservice.com">IM with username@jammerservice.com</a>
The protocol allows much richer URLs, see RFC4622.
There are not many current clients supporting the protocol.
Skype
Skype can be represented using the skype:
protocol. It can be used to open a chat session or make a Skype call.
<a href="skype:echo-chinese?chat">IM with the Skype echo service (Chinese) </a>
<a href="skype:echo-chinese?call">Skype call to Skype echo service (Chinese) </a>
Thus for hCard, we could adopt this existing content publisher behavior, and simply capture it as another URL for the hCard:
<a class="url" href="skype:echo-chinese?chat">IM with the Skype echo service (Chinese)</a>
<a class="url" href="skype:echo-chinese?call">Skype call to Skype echo service (Chinese)</a>
Profils de Sites
Les bloggers indiquent souvent leur identité sur les services d'hébergement de contenu en utilisant l'URL de leur page d'accueil, fil ou profil sur ces services. En les étiquetant comme des propriétés d'URL, ces facettes supplémentaires d'identité peuvent être aussi bien publiées dans hCard.
- delicious:
<a class="url" href="http://del.icio.us/rbach">les liens de Robert Bachmann</a>
- Flickr:
<a class="url" href="http://flickr.com/photos/tantek/">Voir mes photos</a>
<a class="url" href="http://flickr.com/people/tantek/">Profil Flickr</a>
- Technorati:
<a class="url" href="http://technorati.com/profile/tantek/">Profil Technorati</a>
- Complétez ici...
- ....
Organisations et Départements
Les départements sont balisés en utilisant le nom de classe "organization-unit" à l'intérieur de l'élément "org", avec le nom de l'organisation "organization-name" spécifiquement balisé pur le distinguer du département :
<div class="vcard"> <div class="org fn"> <div class="organization-name">Pages Jaunes France</div> <div class="organization-unit">Apprentissage et Plomberie : Design Microformats</div> </div> </div>
Le département peut aussi faire partie de l'adresse, cas dans lequel vous pourrez vouloir le baliser explicitement comme "extended-address" (adresse étendue) en plus de "organization-unit".
<div class="vcard"> <div class="adr"> <div class="org fn"> <div class="organization-name">Pages Jaunes France</div> <div class="organization-unit extended-address">Apprentissage et Plomberie : Design Microformats</div> </div> <div class="street-address">7 avenue de la Cristallerie</div> <span class="locality">Sèvres</span>, <abbr title="Ile de France" class="region">Ile de France</abbr> <span class="postal-code">92310</span> </div> </div>
Noter qu'en imbriquant le org dans l'adresse, nous avons évité de dupliquer le nom du département.
Exemples RFC 2426 dans le hCard
Ce sont des exemples 1:1 de hCard pour chaque exemple dans la RFC 2426.
Mark Pilgrim a produit ces exemples de hCard disponibles sous des fichiers séparés :
2.4.2 VCARD
AGENT:BEGIN:VCARD\nFN:Jean Vendredi\nTEL:+1-919-555-7878\n TITLE:Administration Chantier\, Assistant\n EMAIL\;TYPE=INTERNET:\n jvendredi@host.com\nEND:VCARD\n
Ce fragment de vCard a une propriété dont la valeur est une autre vCard, et pourrait être représentée comme un fragment de hCard avec un Chard embarqué, littéralement (avec la valeur par défaut non nécessaire type=internet omise, et l'optimisation implicite n) :
<div class="agent vcard"> <a class="email fn" href="mailto:jvendredi@host.com">Jean Vendredi</a> <div class="tel">+1-919-555-7878</div> <div class="title">Administration Chantier, Assistant</div> </div>
Ce hCard pourrait être affiché comme :
Jean Vendredi
+1-919-555-7878
Administration Chantier, Assistant
3.1.1 Définition Type FN
FN:M. Jean Q. Public\, Dr.
ce fragment vCard comme un fragment hCard :
<span class="fn">M. Jean Q. Public, Dr.</span>
Ce fragment hCard pourrait être affiché comme :
M. Jean Q. Public, Dr.
3.1.2 Définition Type N
Exemple 1
N:Public;Jean;Quinlan;M.;Esq.
ce fragment vCard fragment comme un fragment hCard :
<span class="n"> <span class="honorific-prefix">M.</span> <span class="given-name">Jean</span> <span class="additional-name">Quinlan</span> <span class="family-name">Public</span>, <span class="honorific-suffix">Dr.</span> </span>
ce fragment hCard pourrait être affiché comme :
M. Jean Quinlan Public, Dr.
Exemple 2
N:Stevenson;Jean;Philippe,Paul;Dr.;Jr.,M.D.,A.C.P.
Ce fragment vCard sous un fragment hCard :
<span class="n"> <span class="honorific-prefix">Dr.</span> <span class="given-name">Jean</span> <span class="additional-name">Philippe</span> <span class="additional-name">Paul</span> <span class="family-name">Stevenson</span>, <span class="honorific-suffix">Jr.</span>, <span class="honorific-suffix">M.D.</span>, <span class="honorific-suffix">A.C.P.</span> </span>
ce fragment hCard serait affiché comme :
Dr. John Philip Paul Stevenson, Jr., M.D., A.C.P.
3.1.3 Définition Type NICKNAME (pseudo)
Exemple 1
NICKNAME:Robbie
Ce fragment vCard sous un fragment hCard :
<span class="nickname">Robbie</span>
ce fragment hCard serait affiché comme :
Robbie
Exemple 2
NICKNAME:Jim,Jimmie
Ce fragment vCard sous un fragment hCard :
<span class="nickname">Jim</span>, <span class="nickname">Jimmie</span>
ce fragment hCard serait affiché comme :
Jim, Jimmie
3.1.4 Définition Type PHOTO
Exemple 1
PHOTO;VALUE=uri:http://www.abc.com/pub/photos/jqpublic.gif
Ce fragment vCard sous un fragment hCard :
<img class="photo" src="http://www.abc.com/pub/photos/jqpublic.gif" alt="" />
Exemple 2
PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 <...remainder of "B" encoded binary data...>
Ce fragment vCard sous un fragment hCard : (sauts de ligne insérés dans la valeur src pour lisibilité) :
<img class="photo" src="data:image/jpeg;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 ...remainder of B encoded binary data..." alt="" />
3.1.5 Définition Type BDAY
Exemple 1
BDAY:1996-04-15
Ce fragment vCard sous un fragment hCard :
<abbr class="bday" title="1996-04-15">15 avril 1996</abbr>
ce fragment hCard pourrait s'afficher comme :
15 avril 1996
Exemple 2
BDAY:1953-10-15T23:10:00Z
Ce fragment vCard sous un fragment hCard :
<abbr class="bday" title="1953-10-15T23:10:00Z">15 octobre 1953</abbr>
ce fragment hCard pourrait s'afficher comme :
15 octobre 1953
Exemple 3
BDAY:1987-09-27T08:30:00-06:00
Ce fragment vCard sous un fragment hCard :
<abbr class="bday" title="1987-09-27T08:30:00-06:00">9 septembre 1987</abbr>
ce fragment hCard pourrait s'afficher comme :
9 septembre 1987
3.2.1 Définition Type ADR
ADR;TYPE=dom,home,postal,parcel:;;123 Rue Principale;UNE VILLE;IDF;92310
Ce fragment vCard sous un fragment hCard :
<div class="adr"> Adresse du <span class="type">domicile</span> en <abbr class="type" title="dom">France</abbr> pour le <abbr class="type" title="postal">courrier</abbr> et les <abbr class="type" title="parcel">colis</abbr> : <div class="street-address">123 Rue Principale</div> <span class="locality">UNE VILLE</span>, <span class="region">IDF</span>, <span class="postal-code">92310</span> </div>
ce fragment hCard pourrait s'afficher comme :
Adresse du domicile en France pour le courrier et les colis :
UNE VILLE, IDF, 92310
3.2.2 Définition Type LABEL
LABEL;TYPE=dom,home,postal,parcel:Mr.John Q. Public\, Esq.\n Mail Drop: TNE QB\n123 Main Street\nAny Town\, CA 91921-1234 \nU.S.A.
Ce fragment vCard sous un fragment hCard :
<nowiki> Merci d'utiliser l'étiquette adresse suivante pour la <div class="label"> <abbr class="type" title="dom">distribution locale</abbr> <abbr class="type" title="home">à mon domicile</abbr> <abbr class="type" title="postal">du courrier</abbr> <abbr class="type" title="parcel">et de colis :</abbr> <pre> Mr.John Q. Public, Esq. Mail Drop: TNE QB 123 Main Street Any Town, CA 91921-1234 U.S.A.
</nowiki>
Note : le fragment hCard au-dessus utilise un tag <pre> à l'intérieur d'une valeur de propriété pour capturer/représenter des retours explicites de transport (caractères "\n") extrait du fragment vCard.
ce fragment hCard pourrait s'afficher comme suit :
Merci d'utiliser l'étiquette adresse suivante pour la distribution locale à mon domicile de courrier et de colis :
Mr.John Q. Public, Esq. Mail Drop: TNE QB 123 Main Street Any Town, CA 91921-1234 U.S.A.
3.3.1 Définition Type TEL
TEL;TYPE=work,voice,pref,msg:+1-213-555-1234
ce fragment vCard sous un fragment hCard :
<span class="tel"> <abbr class="type" title="pref">mon</abbr> <abbr class="type" title="voice">téléphone</abbr> <span class="type">professionnel</span> avec <abbr class="type" title="msg">messagerie vocale</abbr> : <span class="value">+1-213-555-1234</span> </span>
ce fragment hCard pourrait s'afficher comme :
mon téléphone professionnel avec messagerie vocale : +1-213-555-1234
3.3.2 Définition Type EMAIL
Exemple 1
EMAIL;TYPE=internet:jqpublic@xyz.dom1.com
ce fragment vCard comme un fragment hCard :
<a class="email" href="mailto:jqpublic@xyz.dom1.com">email jqpublic</a>
ce fragment hCard pourrait s'afficher ainsi
Exemple 2
EMAIL;TYPE=internet:jdoe@isp.net
ce fragment vCard comme un fragment hCard :
<a class="email" href="mailto:jdoe@isp.net">email jdoe</a>
ce fragment hCard pourrait s'afficher ainsi
Exemple 3
EMAIL;TYPE=internet,pref:jeanne_doe@abc.com
ce fragment vCard comme un fragment hCard :
<a class="email" href="mailto:jeanne_doe@abc.com"> <abbr class="type" title="pref">preferred</abbr> email préféré pour jeanne_doe </a>
ce fragment hCard pourrait s'afficher ainsi
3.3.3 Définition Type MAILER
MAILER:PigeonMail 2.1
ce fragment vCard comme un fragment hCard :
Jeanne Doe utilise <span class="mailer">PigeonMail 2.1</span> pour l'email.
ce fragment hCard pourrait s'afficher ainsi
Jane Doe utilise PigeonMail 2.1 pour l'email.
3.4.1 Définition Type TZ
Exemple 1
TZ:-05:00
ce fragment vCard comme un fragment hCard :
<span class="tz">-05:00</span>
ce fragment hCard pourrait s'afficher ainsi
-05:00
Exemple 2
TZ;VALUE=text:-05:00; EST; Raleigh/North America ;This example has a single value, not a structure text value.
ce fragment vCard comme un fragment hCard :
<abbr class="tz" title="-05:00; EST; Raleigh/North America;This example has a single value, not a structure text value."> EST </abbr>
ce fragment hCard pourrait s'afficher ainsi
EST
3.4.2 Définition Type GEO
GEO:37.386013;-122.082932
ce fragment vCard comme un fragment hCard :
<span class="geo"> <span class="latitude">37.386013</span>, <span class="longitude">-122.082932</span> </span>
ce fragment hCard pourrait s'afficher ainsi
37.386013, -122.082932
3.5.1 Définition Type TITLE
TITLE:Directeur\, Recherche et Développement
ce fragment vCard comme un fragment hCard :
<span class="title">Directeur, Recherche et Développement</span>
ce fragment hCard pourrait s'afficher ainsi
Directeur, Recherche et Développement
3.5.2 Définition Type ROLE
ROLE:Programmeur
ce fragment vCard comme un fragment hCard :
<span class="role">Programmeur</span>
ce fragment hCard pourrait s'afficher ainsi :
Programmeur
3.5.3 Définition Type LOGO
Exemple 1
LOGO;VALUE=uri:http://www.abc.com/pub/logos/abccorp.jpg
ce fragment vCard comme un fragment hCard :
<img class="logo" src="http://www.abc.com/pub/logos/abccorp.jpg" alt="my logo" />
ce fragment hCard pourrait s'afficher ainsi : (note : j'ai utilisé un URL véritable pour l'image) :
Exemple 2
LOGO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 <...the remainder of "B" encoded binary data...>
ce fragment vCard comme un fragment hCard :
<img class="logo" src="data:image/jpeg;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 ...remainder of B encoded binary data..." alt="" />
aucun affichage équivalent donné, parce que ce sont des données : URL tiré de l'exemple original incomplet.
3.5.4 Définition Type AGENT
Exemple 1
AGENT;VALUE=uri: CID:JQPUBLIC.part3.960129T083020.xyzMail@host3.com
ce fragment vCard comme un fragment hCard :
<a class="agent" href="CID:JQPUBLIC.part3.960129T083020.xyzMail@host3.com">JQPUBLIC</a>
ce fragment hCard pourrait s'afficher comme :
JQPUBLIC
Exemple 2
AGENT:BEGIN:VCARD\nFN:Susan Thomas\nTEL:+1-919-555- 1234\nEMAIL\;INTERNET:sthomas@host.com\nEND:VCARD\n
ce fragment vCard comme un fragment hCard :
<span class="agent vcard"> <a class="email fn n" href="mailto:sthomas@host.com">Susan Thomas</a>, <span class="tel">+1-919-555-1234</span> </span>
ce fragment hCard pourrait s'afficher comme :
Susan Thomas, +1-919-555-1234
Note : la vCard dans la propriété AGENT du fragment vCard est en fait invalide parce qu'il lui manque la propriété "N". Néanmoins, la version hCard *est* valide, parce que j'ai ajouté le nom de classe "n" à l'exemple.
3.5.5 Définition Type ORG
ORG:ABC\, Inc.;North American Division;Marketing
ce fragment vCard comme un fragment hCard :
<span class="org"> <span class="organization-name">ABC, Inc.</span>, <span class="organization-unit">North American Division</span>, <span class="organization-unit">Marketing</span>, </span>
ce fragment hCard pourrait s'afficher comme :
ABC, Inc., North American Division, Marketing
3.6.1 Définition Type CATEGORIES
Exemple 1
CATEGORIES:TRAVEL AGENT
ce fragment vCard comme un fragment hCard :
<span class="category">TRAVEL AGENT</span>
ce fragment hCard pourrait s'afficher comme :
TRAVEL AGENT
Exemple 2
CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY
ce fragment vCard comme un fragment hCard :
<span class="category">INTERNET</span>, <span class="category">IETF</span>, <span class="category">INDUSTRY</span>, <span class="category">INFORMATION TECHNOLOGY</span>
ce fragment hCard pourrait s'afficher comme :
INTERNET, IETF, INDUSTRY, INFORMATION TECHNOLOGY
3.6.2 NOTE Type Definition
NOTE:This fax number is operational 0800 to 1715 EST\, Mon-Fri.
ce fragment vCard comme un fragment hCard :
<p class="note">This fax number is operational 0800 to 1715 EST, Mon-Fri.</p>
ce fragment hCard pourrait s'afficher comme :
This fax number is operational 0800 to 1715 EST, Mon-Fri.
3.6.3 PRODID Type Definition
PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN
Note, cette propriété vCard ne fait véritablement pas de sens comme propriété hCard, parce qu'elle devrait être vraiment remplie par tout ce que peut transformer le code hCard en vCard, par ex. Brian Suda's X2V.
3.6.4 Définition Type REV
Exemple 1
REV:1995-10-31T22:27:10Z
ce fragment vCard comme un fragment hCard :
<abbr class="rev" title="1995-10-31T22:27:10Z">Updated: 10/31 10:27p</abbr>
ce fragment hCard pourrait s'afficher comme :
Updated: 10/31 10:27p
Exemple 2
REV:1997-11-15
ce fragment vCard comme un fragment hCard :
<abbr class="rev" title="1997-11-15">Updated: November 15</abbr>
ce fragment hCard pourrait s'afficher comme :
Updated: November 15
3.6.5 Définition Type SORT-STRING
Exemple 1
FN:Rene van der Harten N:van der Harten;Rene;J.;Sir;R.D.O.N. SORT-STRING:Harten
ce fragment vCard comme un fragment hCard :
<span class="n" <span class="honorific-prefix">Sir</span> <span class="fn"> <span class="given-name">Rene</span> <span class="family-name"> van der <span class="sort-string">Harten</span> </span> </span> (<span class="additional-name">J.</span>), <span class="honorific-suffix">R.D.O.N.</span> </span>
Note : La chaîne "Harten" n'a PAS été répétée dans le hCard, même s'il ETAIT répété dans la vCard (3 fois ! dans N, FN, et SORT-STRING). La propriété "SORT-STRING" fournit une autre bonne démonstration sur la façon dont hCard permet une meilleure adhérence au principe DRY que la vCard.
ce fragment hCard pourrait s'afficher comme :
Sir Rene van der Harten (J.), R.D.O.N.
Exemple 2
FN:Robert Pau Shou Chang N:Pau;Shou Chang;Robert SORT-STRING:Pau
ce fragment vCard fragment comme un fragment hCard :
<span class="fn n"> <span class="additional-name">Robert</span> <span class="family-name sort-string">Pau</span> <span class="given-name">Shou Chang</span> </span>
Note : Non seulement la chaîne "Pau" n'était PAS répétée dans le hCard (meilleure adhérence à nouveau au better principe DRY), même s'il elle ETAIT répétée dans la vCard, mais dans ce cas du fait que "family-name" et "sort-string" sont les même, nous avons pu utiliser la conservation élément et n'utiliser qu'un élément pour les deux propriétés.
ce fragment hCard pourrait être affiché ainsi :
Robert Pau Shou Chang
Exemple 3
FN:Osamu Koura N:Koura;Osamu SORT-STRING:Koura
ce fragment vCard fragment comme un fragment hCard :
<span class="fn"> Osamu <span class="sort-string">Koura</span> </span>
Note : Cet exemple, en plus de mieux illustrer le meilleur support du principe DRY, fait aussi usage de l'optimisation implicite "N".
ce fragment hCard pourrait être affiché ainsi :
Osamu Koura
Exemple 4
FN:Oscar del Pozo N:del Pozo Triscon;Oscar SORT-STRING:Pozo
ce fragment vCard fragment comme un fragment hCard :
<span class="n"> <span class="fn"> <span class="given-name">Oscar</span> del <span class="sort-string">Pozo</span> </span> <span class="family-name" style="display:none"> del Pozo Triscon </span> </span>
Note : Malheureusement cet exemple pourrait ne pas complètement adhérer au principe DRY du fait du "FN" utilisant une *substring* du family-name, et en plus a dû par conséquent cacher la chaîne de valeur supplémentaire "family-name" en utilisant CSS display:none, ce qui en devrait être évité en général. Suggestion bienvenue pour améliorations de ce fragment hCard.
ce fragment hCard pourrait s'afficher comme :
Oscar del Pozo
Exemple 5
FN:Christine d'Aboville N:d'Aboville;Christine SORT-STRING:Aboville
ce fragment vCard comme un fragment hCard :
<span class="fn"> Christine d'<span class="sort-string">Aboville</span> </span>
Note : Cet exemple redémontre les avantages/l'efficacité démontrés dans l'exemple 3 au-dessus.
ce fragment hCard pourrait s'afficher comme :
Christine d'Aboville
3.6.6 Définition Type SOUND
Exemple 1
SOUND;TYPE=BASIC;VALUE=uri:CID:JOHNQPUBLIC.part8. 19960229T080000.xyzMail@host1.com
ce fragment vCard comme un fragment hCard :
<object class="sound" type="audio/basic" data="CID:JOHNQPUBLIC.part8.19960229T080000.xyzMail@host1.com"> pronounciation of "JOHN Q PUBLIC" </object>
ce fragment hCard pourrait s'afficher comme :
prononciation de "JOHN Q PUBLIC"
à la condition que votre navigateur supporte le type MIME "audio/basic" (défini dans la RFC2046 section 4.3) et ait quelque moyen de retrouver les urls "CID:".
Exemple 2
SOUND;TYPE=BASIC;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 <...the remainder of "B" encoded binary data...>
ce fragment vCard comme un fragment hCard :
<object class="sound" data="data:audio/basic;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 ...the remainder of "B" encoded binary data..."> pronounciation </object>
pas d'affichage équivalent donné, parce que des données : l'URL de l'exemple original est incomplète.
3.6.7 Définition Type UID
UID:19950401-080045-40000F192713-0052
ce fragment vCard comme un fragment hCard :
Unique id: <span class="uid">19950401-080045-40000F192713-0052</span>
ce fragment hCard pourrait s'afficher comme :
Unique id:19950401-080045-40000F192713-0052
Note : en pratique, je ne pense pas que j'ai vu globalement des IDs uniques pour des enregistrements de "contact info" publiés sur le web, mais peut-être que je ne considère pas assez d'exemples.
3.6.8 Définition Type URL
URL:http://www.swbyps.restaurant.french/~chezchic.html
ce fragment vCard comme un fragment hCard :
<a class="url" href="http://www.swbyps.restaurant.french/~chezchic.html">Chez Chic</a>
ce fragment hCard pourrait s'afficher comme :
3.7.1 Définition Type CLASS
Exemple 1
CLASS:PUBLIC
ce fragment vCard comme un fragment hCard :
<span class="class">PUBLIC</span>
ce fragment hCard pourrait s'afficher comme :
PUBLIC
Exemple 2
CLASS:PRIVATE
ce fragment vCard comme un fragment hCard :
<span class="class">PRIVATE</span>
ce fragment hCard pourrait s'afficher comme :
PRIVATE
Exemple 3
CLASS:CONFIDENTIAL
ce fragment vCard comme un fragment hCard :
<span class="class">CONFIDENTIAL</span>
ce fragment hCard pourrait s'afficher comme :
CONFIDENTIAL
3.7.2 Définition Type KEY
KEY;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYX Rpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNj E5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYD VQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAx MPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRz Y2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQ EBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2 dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MB EGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau +hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIP mx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//y rZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7 UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ==
ce fragment vCard comme un fragment hCard :
<object class="key" type="application/octet-stream" data="data:application/octet-stream;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYX Rpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNj E5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYD VQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAx MPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRz Y2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQ EBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2 dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MB EGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau +hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIP mx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//y rZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7 UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ=="> Key </object>
ce fragment hCard pourrait s'afficher comme :
Key
Note : Du fait du manque d'une valeur TYPE dans l'exemple RFC2426, j'ai substitué application/octet-stream. Clairement pour que ce soit de quelque utilité, le type spécifié doit être de quelque sorte de clé ou de "certificate mime type".
7. Adresses des Auteurs
BEGIN:vCard VERSION:3.0 FN:Frank Dawson ORG:Lotus Development Corporation ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive ;Raleigh;NC;27613-3502;U.S.A. TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515 TEL;TYPE=FAX,WORK:+1-919-676-9564 EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com EMAIL;TYPE=INTERNET:fdawson@earthlink.net URL:http://home.earthlink.net/~fdawson END:vCard BEGIN:vCard VERSION:3.0 FN:Tim Howes ORG:Netscape Communications Corp. ADR;TYPE=WORK:;;501 E. Middlefield Rd.;Mountain View; CA; 94043;U.S.A. TEL;TYPE=VOICE,MSG,WORK:+1-415-937-3419 TEL;TYPE=FAX,WORK:+1-415-528-4164 EMAIL;TYPE=INTERNET:howes@netscape.com END:vCard
Notez que ces deux vCards sont invalides parce qu'il manque la propriété REQUISE "N" qui est tout à fait ironique, parce que ce sont les vCards des auteurs eux-mêmes.
Néanmoins, ces vCards peuvent être représentées par les hCards suivantes :
<div class="vcard"> <a class="url fn" href="http://home.earthlink.net/~fdawson">Frank Dawson</a> <div class="org">Lotus Development Corporation</div> <div class="adr"> <span class="type">work</span> address (<abbr class="type" title="postal">mail</abbr> and <abbr class="type" title="parcel">packages</abbr>): <div class="street-address">6544 Battleford Drive</div> <span class="locality">Raleigh</span> <span class="region">NC</span> <span class="postal-code">27613-3502</span> <div class="country-name">U.S.A.</div> </div> <div class="tel"> <span class="value">+1-919-676-9515</span> (<abbr class="type" title="WORK">w</abbr>, <abbr class="type" title="VOICE">v</abbr><abbr class="type" title="MSG">m</abbr>) </div> <div class="tel"> <span class="value">+1-919-676-9564</span> (<abbr class="type" title="WORK">w</abbr><abbr class="type" title="FAX">f</abbr>) </div> <a class="email" href="mailto:Frank_Dawson@Lotus.com"> <span class="type">pref<span>erred</span> email</span> </a>, <a class="email" href="mailto:fdawson@earthlink.net"> alternate email </a> </div> <div class="vcard"> <a class="email fn" href="mailto:howes@netscape.com">Tim Howes</a> <div class="org">Netscape Communications Corp.</div> <div class="adr"> <span class="type">work</span> address: <div class="street-address">501 E. Middlefield Rd.</div> <span class="locality">Mountain View</span>, <span class="region">CA</span> <span class="postal-code">94043</span> <div class="country-name">U.S.A.</div> </div> <div class="tel"> <span class="value">+1-415-937-3419</span> (<abbr class="type" title="WORK">w</abbr>, <abbr class="type" title="VOICE">v</abbr><abbr class="type" title="MSG">m</abbr>) </div> <div class="tel"> <span class="value">+1-415-528-4164</span> (<abbr class="type" title="WORK">w</abbr><abbr class="type" title="FAX">f</abbr>) </div> </div>
ces hCards pourraient s'afficher comme :
work address (mail and packages):
Raleigh NC 27613-3502
+1-919-676-9515 (w, vm)
+1-919-676-9564 (wf)
work address:
Mountain View, CA 94043
+1-415-937-3419 (w, vm)
+1-415-528-4164 (wf)
Test de Casses
Ce sont des exemples hCard qui ont été trouvés particulièrement utiles pour trouver des bugs dans les parseurs hCard (par ex. X2V).
Problème avec Information BDAY
cet exemple :
<!-- birthday --> <div class="bday"> <dt>Birthday</dt> <dd> <abbr class="value" title="1985-10-27T00:00:00Z">October 27, 1985</abbr> </dd> </div>
devrait produire "BDAY:1985-10-27T00:00:00Z" mais il produit "BDAY:Birthday October 27\, 1985". Le fait intéressant est que le carnet d'adresses apple est encore en train de vouloir l'accpeter de cette façon.
INSENSIBILITE à la casse des valeurs type
- "home" vs. "Home"
cet exemple fonctionne avec X2V :
<div class="tel"> <dt>Phone (<span class="type">home</span>)</dt> <dd><span class="value">+438123418</span></dd> </div>
ceci non, mais le devrait. Mais au lieu de ça il devient simplement TEL sans un type dans la vcard
<div class="tel"> <dt>Phone (<span class="type">Home</span>)</dt> <dd><span class="value">+438123418</span></dd> </div>
GEO parsing
la hCard suivante :
<div class="vcard"> <span class="n"> <a class="url" href="http://t37.net"> <span class="given-name">Fréderic</span> <span class="family-name">de Villamil</span> </a> </span> <span class="nickname">neuro</span> <a class="email" href="mailto:neuroNOSPAM@t37.net"> <span class="type">pref<span>erred</span> email</span> </a> <span class="org">Omatis</span> <span class="adr"> <abbr class="type" title="dom">France</abbr> <span class="type">home</span> address <abbr class="type" title="postal">mail</abbr> and <abbr class="type" title="parcel">shipments</abbr>: <span class="street-address">12 rue Danton</span> <span class="locality">Le Kremlin-Bicetre</span> <span class="postal-code">94270</span> <span class="country-name">France</span> </span> <span class="geo"> <abbr class="latitude" title="48.816667">N 48° 81.6667</abbr> <abbr class="longitude" title="2.366667">E 2° 36.6667</abbr> </span> </div>
devrait être traduite dans la vCard suivante :
BEGIN:VCARD VERSION:3.0 URL:http://t37.net ORG:Omatis;; NICKNAME:neuro N:de Villamil;Frederic;;Mr.; EMAIL;TYPE=INTERNET,PREF:neuroNOSPAM@t37.net ADR;TYPE=HOME:;;12 rue danton;le Kremlin-Bicetre;;94270;France GEO:48.816667;2.366667 END:VCARD
X2V (2005-12-18) échoue à cette heure pour parser/exporter la propriété GEO.
Autre
- Voir hcard-brainstorming pour plus d'exemples (qui peuvent éventuellement être migrés ici) et une analyse.