hcard-cheatsheet

From Microformats Wiki
Revision as of 00:30, 1 August 2011 by Tantek (talk | contribs) (update profile section to use link rel, and move head profile attribute to deprecated section)
Jump to navigation Jump to search

hCard cheatsheet

hCard properties and how to use them.

Profile

Place the following into the <head> of your document:

<link rel="profile" href="http://microformats.org/profile/hcard">

See rel-profile for details.

Properties (Class Names)

  • vcard {1}
    • adr*
      • type [work|home|pref|postal|dom|intl]?
      • post-office-box?
      • street-address*
      • extended-address?
      • region?
      • locality?
      • postal-code?
      • country-name?
    • agent*
    • bday? (ISO date)
    • class? confidentiality/access classification of the entire hCard
    • category*
    • email*
      • type?
      • value?
    • fn {1}
    • geo?
      • latitude?
      • longitude?
    • key*
    • label*
    • logo*
    • mailer*
    • n?
      • honorific-prefix*
      • given-name*
      • additional-name*
      • family-name*
      • honorific-suffix*
    • nickname*
    • note*
    • org*
      • organization-name?
      • organization-unit*
    • photo*
    • rev? datetime of the revision of the entire hCard
    • role*
    • sort-string?
    • sound*
    • tel* (Note E.123 for formatting info.)
      • type [home|work|pref|fax|cell|pager]?
      • value?
    • title*
    • tz? timezone of the person
    • uid? applies to the entire hCard
    • url*

Key

Based on Perl's standard quantifiers:

bold {1} MUST be present exactly once
italic* OPTIONAL, and MAY occur more than once
+ MUST be present, and MAY occur more than once
? OPTIONAL, but MUST NOT occur more than once
[square brackets] list of common values
(parentheses) data format
# comment
! awaiting documentation
pref preferred
dom domestic
intl international
cell mobile

Notes

  • The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
  • URL in vCard becomes <a class="url" href=...>...</a> inside the element with class vcard in hCard.
  • Similarly, EMAIL in vCard becomes <a class="email" href="mailto:...">...</a>
  • FN is an abbreviation of "formatted name".
  • PHOTO in vCard becomes <img class="photo" src=... alt="Photo of ..." /> or <object class="photo" data=... type=...>Photo of ...</object>
  • UID in vCard simply becomes another semantic applied to a specific URL (or EMAIL) for an hCard.
  • Compare TITLE of "Wing Commander" with ROLE of "pilot".

Adr

  • At least one child-property MUST be present in adr.
  • If an adr-child (e.g street-address) is present it will ONLY be considered part of the adr data IF it is inside an adr.
  • FAQ: "why 'adr'?"

Geo

  • Coordinates MUST use the datum of WGS84.
  • If latitude is present, so MUST be longitude, and vice versa.
  • Coordinates MAY be combined a single <abbr> element; then the latitude and longitude MUST be separated by a semicolon in the title attribute and latitude MUST be first:
<abbr class="geo" title="37.386013;-122.082932">home</abbr>

Deprecated

profile attribute

Previously this cheatsheet advised adding a profile attribute to the <head> like this:

<head profile="http://www.w3.org/2006/03/hcard" />

This technique is valid for HTML4.x and XHTML1.x, however this is invalid for HTML5, thus authors are advised to use <link rel=profile ...> instead as described above See hCard:Profile for more information.

Related pages

The hCard specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. These thoughts, issues, and questions are kept in separate pages.