hcard-examples: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (Reverted edits by 766nj57 (Talk) to last version by Tantek)
No edit summary
Line 1: Line 1:
<entry-title>hCard examples</entry-title>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


Example [[hcard|hCards]].
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


== Authors ==
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
* [http://tantek.com/ Tantek Çelik]
* Brian Suda


== Instructive Examples ==
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


=== Authors of Pages and Posts ===
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
[http://www.w3.org/TR/html401/struct/global.html#h-7.5.6 Per the HTML4.01 specification], authors should be using the <code>&lt;address&gt;</code> element to indicate the "contact information for a document or a major part of a document." E.g.


<pre><nowiki>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
<address>
<a href="http://tantek.com/">Tantek Çelik</a>
</address>
</nowiki></pre>


By adding [[hcard|hCard]] to such existing semantic XHTML, you can explicitly indicate the name of the person, their URL, etc.:
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


<pre><nowiki>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
<address class="vcard">
<a class="fn url" href="http://tantek.com/">Tantek Çelik</a>
</address>
</nowiki></pre>


This could be displayed as:
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


[http://tantek.com/ Tantek Çelik]
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


This works not only for whole pages, but also for "major part[s]" of pages, e.g. blog posts.
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


See the [http://microformats.org/blog/ microformats.org blog] (view the source) for a live example.  The author of every blog post on the microformats.org blog is marked up as an <code>&lt;address class="vcard"&gt;</code> element like the example shown above.
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


=== References to People and Organizations ===
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
A common pattern in blog posts is to link mentions of people's names to their blogs, and/or organizations to their home pages.  E.g.:


<pre><nowiki>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
<cite>
<a href="http://meyerweb.com/">Eric Meyer</a>
</cite> wrote a post
(<cite>
  <a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">
  Tax Relief
  </a>
</cite>)
about an unintentionally humorous letter he received from the
<a href="http://irs.gov/">Internal Revenue Service</a>.
</nowiki></pre>


By adding hCard to such markup, you can explicitly indicate both the person and the organization by name and URL:
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


<pre><nowiki>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
<cite class="vcard">
<a class="fn url" href="http://meyerweb.com/">Eric Meyer</a>
</cite> wrote a post
(<cite>
  <a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">
  Tax Relief
  </a>
</cite>)
about an unintentionally humorous letter he received from the
<span class="vcard">
<a class="fn org url" href="http://irs.gov/">Internal Revenue Service</a>
</span>.
</nowiki></pre>


Note the class names "fn org url" on the hyperlink surrounding the IRS.  Using the same value (or element for that matter) for "fn" and "org" indicates that the hCard describes an organization rather than a person.
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


This could be displayed as:
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


''[http://meyerweb.com/ Eric Meyer]'' wrote a post (''[http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/ Tax Relief]'') about an unintentionally
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
humorous letter he received from the [http://irs.gov/ Internal Revenue Service].


==== a person who works for an organization ====
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
People often associate themselves with a company or organization that they work for. E.g.


<pre><nowiki>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
<span class="vcard">
<span class="fn">Jeremy Keith</span>,
<span class="org">Clearleft</span>
</span>
</nowiki></pre>


Of course in this day and age, nearly everybody has a URL both for themselves and for their company. It's easy to add a URL for the person in the above hCard example:
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


<pre><nowiki>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
<span class="vcard">
<a class="fn url" href="http://adactio.com/">Jeremy Keith</a>,
<span class="org">Clearleft</span>
</span>
</nowiki></pre>


But to add a URL to the company, there is no "org-url" property (nor should there be), instead, use modularity and a nested hCard for the company itself:
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


<pre><nowiki>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
<span class="vcard">
<a class="fn url" href="http://adactio.com/">Jeremy Keith</a>,
<span class="org vcard"><a class="url fn org" href="http://clearleft.com">Clearleft</a></span>
</span>
</nowiki></pre>


Furthermore, if this person hCard is on a page that represent them (e.g. is a [[representative hCard]]), then you can also use the experimental [[rel-group]] relationship on the hyperlink to the company to indicate that the company is a "group" that the person belongs to.
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


<pre><nowiki>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
<span class="vcard">
<a class="fn url" href="http://adactio.com/">Jeremy Keith</a>,
<span class="org vcard"><a class="url fn org" rel="group" href="http://clearleft.com">Clearleft</a></span>
</span>
</nowiki></pre>


=== hCard and XFN ===
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
==== References to People in Blog Posts ====


In the above example, one person (the blogger) is referring to another person (Eric Meyer).  In addition to using hCard to explicitly mark up the reference as a person, the blogger can use [http://gmpg.org/xfn/ XFN] (the XHTML Friends Network) to indicate their relationship to Eric Meyer, e.g.:
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


<pre><nowiki>
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
<cite class="vcard">
<a class="fn url" rel="friend colleague met" href="http://meyerweb.com/">
  Eric Meyer
</a>
</cite> wrote a post
(<cite>
  <a href="http://meyerweb.com/eric/thoughts/2005/12/16/tax-relief/">
  Tax Relief
  </a>
</cite>)
about an unintentionally humorous letter he received from the
<span class="vcard">
<a class="fn org url" href="http://irs.gov/">Internal Revenue Service</a>
</span>.
</nowiki></pre>


It would be displayed the same as the previous example.
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST


==== References to People in Blogrolls ====
I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST
Many bloggers are using XFN (often using an easy user interface like that built into [http://wordpress.org WordPress]) to explicitly indicate their relationships to the people in their blogrolls:
 
<pre><nowiki>
<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>
</nowiki></pre>
 
By adding hCard markup to an XFN Friendly blogroll, you can explicitly indicate the name and URL of the person in addition to their relationship:
 
<pre><nowiki>
<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>
</nowiki></pre>
 
Which could be displayed as:
* [http://meyerweb.com Eric Meyer]
* [http://photomatt.net Matt Mullenweg]
 
This is referred to as [[hcard-xfn-supporting-friends-lists]], and is a key building block of [[social-network-portability]].
 
For more information on XFN, see the [http://gmpg.org/xfn/ XFN home page], [http://gmpg.org/xfn/join joining XFN], and [http://gmpg.org/xfn/background background on XFN].
 
The technique is used in the [http://factorycity.net/projects/wp-microformatted-blogroll/ WP Microformatted Blogroll] plugin for WordPress.
 
=== New Types of Contact Info ===
Since [[vCard3]] was designed, there have been numerous other services that provide individuals with addresses or other means of contact, e.g. instant messaging, voip, etc.
 
Does this mean that vCard (and hence hCard) must be extended to represent these?
 
Thanks to the flexibility of the URL property, the answer is no, no extensions are necessary.  Instead, we use the proper URL for the service which identifies the service (protocol, machine, and/or path), and place the individual's address inside that.
 
<div class="discussion">
* vCard ''has'' been [ftp://ftp.rfc-editor.org/in-notes/rfc4770.txt extended] for this. Should we adopt the new "IMPP" property? [[User:TobyInk|TobyInk]] 10:03, 17 Mar 2008 (PDT)
** 'impp' is in [[vCard4]] and included in [[uf2#h-card|h-card]]. It may be used for some (but not all, not yet anyway) of the following. [[User:Tantek|Tantek]] 18:17, 24 November 2012 (UTC)
</div>
 
==== AOL Instant Messenger (AIM) ====
[http://dashboard.aim.com/aim AOL Instant Messenger] (AIM) ids can be represented using the <code>aim:</code> protocol.  Many  who publish their AIM ids do so with clickable URLs e.g.:
 
<pre><nowiki>
<a href="aim:goim?screenname=ShoppingBuddy">IM with the AIM ShoppingBuddy</a>
</nowiki></pre>
 
Thus for hCard, we will adopt this existing content publisher behavior, and simply capture it as another URL for the hCard:
 
<pre><nowiki>
<a class="url" href="aim:goim?screenname=ShoppingBuddy">IM with the AIM ShoppingBuddy</a>
</nowiki></pre>
 
==== Yahoo! Messenger ====
Similarly, [http://messenger.yahoo.com/ Yahoo! Instant Messenger] (YIM) ids can be represented using the <code>ymsgr:</code> protocol.  And similarly many publish their YIM ids as clickable URLs e.g.:
 
<pre><nowiki>
<a href="ymsgr:sendIM?SomeYahooFriend">IM with SomeYahooFriend</a>
</nowiki></pre>
 
Again, for hCard, we will adopt this existing content publisher behavior, and simply capture it as another URL for the hCard:
 
<pre><nowiki>
<a class="url" href="ymsgr:sendIM?SomeYahooFriend">IM with SomeYahooFriend</a>
</nowiki></pre>
 
==== MSN Messenger ====
[http://en.wikipedia.org/wiki/Windows_Live_Messenger MSN Messenger] (MSNIM) ids can be represented using the <code>msnim:</code> protocol. And similarly many publish their MSNIM ids as clickable URLs e.g.:
 
<pre><nowiki>
<a href="msnim:chat?contact=joebob@hotmail.com">IM with joebob@hotmail.com</a>
</nowiki></pre>
 
For hCard, we will adopt this existing content publisher behavior, and simply capture it as another URL for the hCard:
 
<pre><nowiki>
<a class="url" href="msnim:chat?contact=joebob@hotmail.com">IM with joebob@hotmail.com</a>
</nowiki></pre>
 
See related [[hcard-examples-issues#MSN_Messenger|issue(s)]].
 
==== XMPP (Jabber) ====
[http://www.xmpp.org/ Extensible Messaging and Presence Protocol (XMPP)] ids can be represented using the <code>xmpp:</code> protocol, e.g.:
 
<pre><nowiki>
<a class="url" href="xmpp:username@jabberservice.com">IM with username@jammerservice.com</a>
</nowiki></pre>
 
The protocol allows much richer URLs, see [http://www.faqs.org/rfcs/rfc4622.html RFC4622].
 
There are many current [http://www.jabber.org/clients clients supporting the protocol].
 
==== Skype ====
Accounts on the Voice-over-IP service [http://www.skype.com Skype] can be represented using the <code>skype:</code> protocol. It can be used to open a chat session or make a Skype call.
 
<pre><nowiki>
<a href="skype:echo-chinese?chat">IM with the Skype echo service (Chinese)</a>
</nowiki></pre>
 
 
<pre><nowiki>
<a href="skype:echo-chinese?call">Skype call to Skype echo service (Chinese)</a>
</nowiki></pre>
 
Thus for hCard, we could adopt this existing content publisher behavior, and simply capture it as another URL for the hCard:
 
<pre><nowiki>
<a class="url" href="skype:echo-chinese?chat">IM with the Skype echo service (Chinese)</a>
</nowiki></pre>
 
<pre><nowiki>
<a class="url" href="skype:echo-chinese?call">Skype call to Skype echo service (Chinese)</a>
</nowiki></pre>
 
==== ICQ ====
[http://www.icq.com/ ICQ] does not have a URL scheme.  Rather ICQ links on the web use HTTP hyperlinks to download a resource of content-type <code>application/x-icq</code> which then the operating system opens with the user's ICQ client.
 
Thus we can markup those HTTP hyperlinks with the content-type set explicitly to communicate the ICQ semantic:
 
<pre><nowiki>
<a class="url"
  type="application/x-icq"
  href="http://www.icq.com/people/cmd.php?uin=[ICQNUMBER]&amp;action=message">
Contact with ICQ</a>
</nowiki></pre>
 
Replacing [ICQNUMBER] with the user's actual ICQ number.
 
=== Site profiles ===
Bloggers often indicate their identity on content hosting services using the URL to their home page, feed or profile on those services.  By labeling them as URL properties, these additional facets of identity can be published in an hCard as well.
 
* <code>[http://del.icio.us delicious]:</code>
** <code>&lt;a class="url" href="http://del.icio.us/rbach"&gt;Robert Bachmann's links&lt;/a&gt;</code>
* <code>[http://flickr.com Flickr]:</code>
** <code>&lt;a class="url" href="http://flickr.com/photos/tantek/"&gt;See my photos&lt;/a&gt;</code>
** <code>&lt;a class="url" href="http://flickr.com/people/tantek/"&gt;Flickr profile&lt;/a&gt;</code>
* <code>[http://technorati.com/ Technorati]:</code>
** <code>&lt;a class="url" href="http://technorati.com/profile/tantek/"&gt;Technorati profile&lt;/a&gt;</code>
* Add more here...
** ....
 
==== listing your other profiles ====
The most common case of sites listing other profiles is a blogger listing their own other profiles, or a site enabling a user to list on his or her profile on that site, links to his or her other profiles.  Since clearly the author/user is indicating that all those profiles mean the same person, it's best to mark them up with [[XFN]]'s <code>rel="me"</code> for explicit identity consolidation, e.g. if those links were on Tantek's blog or other social network profile:
 
* <code>[http://del.icio.us delicious]:</code>
** <code>&lt;a class="url" href="http://del.icio.us/rbach"&gt;Robert Bachmann's links&lt;/a&gt;</code>
* <code>my [http://flickr.com Flickr]:</code>
** <code>&lt;a class="url" href="http://flickr.com/photos/tantek/"&gt;See my photos&lt;/a&gt;</code>
** <code>&lt;a rel="me" class="url" href="http://flickr.com/people/tantek/"&gt;Flickr profile&lt;/a&gt;</code>
*<code>[http://30boxes.com/user/8214086/Lucyloo/ 30boxes]:</code>
* <code>[http://technorati.com/ Technorati]:</code>
** <code>my &lt;a rel="me" class="url" href="http://technorati.com/profile/tantek/"&gt;Technorati profile&lt;/a&gt;</code>
* Add more here...
 
** ....
 
Such explicit user-driven identity consolidation is also a key building block for [[social-network-portability]] that is further explained in the context of [[hcard-xfn-supporting-friends-lists]].
 
=== Canonical Profiles on Sites ===
Sites sometimes have different pages for the "home" page for a person, and that person's user profile page.
 
For example Flickr has:
* your home page is at a URL like: <code>http://flickr.com/photos/</code> followed by your username, e.g.:
** http://flickr.com/photos/tantek/
* your profile page is at a URL like: <code>http://flickr.com/people/</code> followed by your username, e.g.:
** http://flickr.com/people/tantek/
 
In addition, sites often have a <em>canonical</em> URL for a person, and several alternate URLs.
 
As noted above, links to these URLs inside hCards that represent those people should have classname "url". 
 
In addition, such link(s) in hCards to the canonical URL for a person on that site should also have the classname of "uid".  This technique was proposed Ryan King at the first [[events/2007-08-28-social-network-portability-today|Social Network Portability Today lunchtime meetup]].
 
Building on the example(s) from the previous section:
* [http://flickr.com Flickr]:
** <code>&lt;a class="url" href="http://flickr.com/photos/tantek/"&gt;See my photos&lt;/a&gt;</code>
** <code>&lt;a rel="me" class="url uid" href="http://flickr.com/people/tantek/"&gt;Flickr profile&lt;/a&gt;</code>
 
Such a "url" + "uid" property could also be used by a site as that person's [[OpenID]] URL.
 
This work has been developed into [[representative-hcard|representative hCards]]. Go there for the latest on this line of thinking.
 
=== Organizations and Departments ===
 
Departments are marked up using the "organization-unit" class name inside the "org" element, with the "organization-name" specifically marked up to distinguish it from the department:
 
<pre><nowiki>
<div class="vcard">
<div class="org fn">
  <div class="organization-name">Sprinkler Fitters U.A. Local 483</div>
  <div class="organization-unit">Apprenticeship Training Center</div>
</div>
</div>
</nowiki></pre>
 
The department may also be part of the address, in which case, you may want to explicitly mark it up as the "extended-address" in addition to the "organization-unit".
 
<pre><nowiki>
<div class="vcard">
<div class="adr">
  <div class="org fn">
  <div class="organization-name">Sprinkler Fitters U.A. Local 483</div>
  <div class="organization-unit extended-address">Apprenticeship Training Center</div>
  </div>
  <div class="street-address">2531 Barrington Court</div>
  <span class="locality">Hayward</span>,
  <abbr title="California" class="region">CA</abbr>
  <span class="postal-code">94545</span>
</div>
</div>
</nowiki></pre>
 
Note that by nesting the org inside the address we avoided having to duplicate the department name.
 
=== Lists of Organizations ===
Similar to [[hcard-examples#References_to_People_in_Blogrolls|lists of people]], lists of organizations (e.g. music bands) should use a list (unordered unless there is a specific reason to order it) with list items and hyperlink to the respective organization home pages.
 
E.g. this simple [[POSH]]:
 
<pre><nowiki>
<ul>
<li>
  <a href="http://microformats.org/">microformats.org</a>
</li>
<li>
  <a href="http://technorati.com/">Technorati</a>
</li>
<li>
  <a href="http://www.w3.org/">World Wide Web Consortium</a>
  (W3C)
  </a>
</li>
</ul>
</nowiki></pre>
 
can be easily enhanced with hCard:
 
<pre><nowiki>
<ul>
<li class="vcard">
  <a class="fn org url" href="http://microformats.org/">microformats.org</a>
</li>
<li class="vcard">
  <a class="fn org url" href="http://technorati.com/">Technorati</a>
</li>
<li class="vcard">
  <a class="fn org url" href="http://www.w3.org/">World Wide Web Consortium</a>
  (<span class="nickname">W3C</span>)
  </a>
</li>
</ul>
</nowiki></pre>
 
== <nowiki>RFC 2426</nowiki> examples in hCard ==
See: [[hcard-examples-rfc2426]]
 
== Test Cases ==
 
These are [[hcard|hCard]] examples which have been found to be particularly useful in finding bugs in hCard parsers (e.g. X2V).
 
=== Problem with BDAY Information ===
 
this example:
 
<pre>
    <!-- birthday -->
    <div class="bday">
    <dt>Birthday</dt>
    <dd>
        <abbr class="value" title="1985-10-27T00:00:00Z">October 27, 1985</abbr>
    </dd>
    </div>
</pre>
 
ought to produce "BDAY:1985-10-27T00:00:00Z" but it produces "BDAY:Birthday October 27\, 1985" [in what? this statement appears meaningless]. interesting is that the apple addressbook is still willing to accept it in this way.
 
* Perhaps caused by an HTML parsing error, as <code>&lt;dt></code> and <code>&lt;dd></code> are not allowed as children of <code>&lt;div></code>.
 
=== case-INSENSITIVITY of type values ===
 
* "home" vs. "Home"
 
this example works with X2V:
 
<pre>
    <div class="tel">
    <dt>Phone (<span class="type">home</span>)</dt>
    <dd><span class="value">+438123418</span></dd>
    </div>
</pre>
 
this does not, but should. but instead it becomes just TEL without a type in the vcard
 
<pre>
    <div class="tel">
    <dt>Phone (<span class="type">Home</span>)</dt>
    <dd><span class="value">+438123418</span></dd>
    </div>
</pre>
 
=== GEO parsing ===
The following hCard:
 
<pre><nowiki>
<div class="vcard">
  <span class="fn 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><span>erred 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>
</nowiki>
</pre>
 
Should be translated into the following vCard:
 
<pre><nowiki>
BEGIN:VCARD
VERSION:3.0
URL:http://t37.net
ORG:Omatis;;
NICKNAME:neuro
FN:Fréderic de Villamil
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
</nowiki></pre>
 
X2V currently (2005-12-18) fails to parse/export the GEO property at all.
 
== Related Pages ==
* [[hcard-examples-issues]]
{{hcard-related-pages}}
 
== Translations ==
* [[hcard-examples-zh|漢語]]

Revision as of 03:53, 22 September 2013

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST

I MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LISTI MADE THOUSANDS OF ACCOUNTS IN MICROFORMATS WIKI GO TO CHECK OUT THE USER LIST