https://microformats.org/wiki/api.php?action=feedcontributions&user=ChiefRA&feedformat=atom
Microformats Wiki - User contributions [en]
2024-03-28T13:23:17Z
User contributions
MediaWiki 1.38.4
https://microformats.org/wiki/index.php?title=hcard-advocacy&diff=65622
hcard-advocacy
2016-06-24T09:07:42Z
<p>ChiefRA: /* User Profiles */ http://vidler.com link has been taken down due to Owner request http://screencast.com/t/25XPoS5pcC</p>
<hr />
<div><entry-title>hCard advocacy</entry-title><br />
{{TOC-right}}<br />
Part of the larger microformats [[advocacy]] effort. Adding [[hcard|hCard]] to these sites would improve their usability and ambient findability.<br />
<br />
== Online Profiles ==<br />
=== Sites to check ===<br />
The following sites may have hCard or XFN support and need to be checked and placed into lists on [[hcard-supporting-user-profiles]] and [[hcard-xfn-supporting-friends-lists]] as well. Feel free to add icons/logos for each of these as well.<br />
* http://amazon.com<br />
* http://aol.com<br />
* http://bebo.com<br />
* http://bloglines.com<br />
* http://blogspot.com<br />
* http://connotea.org<br />
* http://hi5.com<br />
* http://ilike.com<br />
* http://imageshack.us<br />
* http://librarything.com<br />
* http://meetup.com<br />
* http://mugshot.org<br />
* http://multiply.com<br />
* http://myspace.com<br />
* http://network.nature.com<br />
* http://picasaweb.google.com<br />
* http://pictures.aol.com<br />
* http://reader.google.com<br />
* http://reddit.com<br />
* http://smugmug.com<br />
* http://socializr.com<br />
* http://spaces.live.com<br />
* http://stumbleupon.com<br />
* http://touchlocal.com<br />
* http://travelpod.com<br />
* http://tribe.net<br />
* http://tumblr.com<br />
* http://webshots.com<br />
* http://xanga.com<br />
* http://yelp.com<br />
* http://ziki.com<br />
<br />
=== User Profiles ===<br />
Nearly every website that has a login has a page representing the public profile of the user that other users can see and interact with. Many such sites already [[hcard-supporting-user-profiles|support hCard]] (e.g. ClaimID.com, Flickr.com, Technorati.com). Here are some that I think would benefit from the addition of hCard to their profile / user pages, making them [[hcard-supporting-user-profiles]].<br />
<br />
Feel free to add more such sites (please keep alphabetically sorted!) that have a social network profile-like component and we'll see what we can do, as well as add icons/logos for each of these as well.<br />
<br />
* http://360.yahoo.com<br />
* http://alexa.com has online profiles for domains with contact information. Would be great if they could add hCard to those. 2007-04-18 [[User:Tantek]] requested of [[User:BenWest]] e.g.:<br />
** http://www.alexa.com/data/details?url=alexa.com/<br />
** http://www.alexa.com/data/details?url=w3.org/<br />
* http://amazon.com <br />
* [http://anobii.com Anobii] - I asked them if they could implement hCard-supporting profiles and XFN on 2007-10-05 - [[User:JulianStahnke|Julian Stahnke]]<br />
** Response: We will definitely spend some time to consider the suggestion.<br />
** Got another mail from one of their developers, they’re looking into it.<br />
* http://aol.com <br />
* http://bebo.com<br />
* http://bloglines.com <br />
* http://del.icio.us<br />
* [http://www.facebook.com Facebook] is a very popular (over 13 million members) community.<br />
**Requested support of microformats in [http://flickr.com/photos/56624456@N00/1399881855/ openly asked question to Mark Zuckerberg (founder of Facebook) during Q&A at TechCrunch40 conference], and got [http://therealmccrea.wordpress.com/2007/09/18/facebook-to-support-open-standards/ lukewarm reply]. Glimmer of hope: "When it's important to our users, we'll do it." Thus if you are a Facebook user, please make a request to them to support microformats and tell them it is important to you. Feel free to add your name below. 2007-09-17 [[User:Tantek|Tantek]]<br />
*** Additional notes of Mark's response to Q above: "fits into context of push to open up in more ways, but keep in mind we're a really small company, under 300, so with respect to open standards, it's a matter of priorities. When it's important to our users we'll do it." Notes taken by John McCrea of Plaxo at TechCrunch40 conference.<br />
**Requested in message to developer, 2007-09-28 [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.icq.com/people ICQ people], where they show people's profiles and have a few ways of contacting and/or connection to people.<br />
* http://instagram.com/ e.g. http://instagram.com/mikeyk/ should have hCard<br />
** 2012-11-05 contacted mikeyk. [[User:Tantek|Tantek]] 23:02, 5 November 2012 (UTC)<br />
*** requested [[rel-me]] support. "will get rolled out with next push." (!)<br />
*** requested [[hCard]] support (offered to help add markup). - [[User:Tantek|Tantek]]<br />
* http://picasaweb.google.com <br />
* http://pictures.aol.com <br />
* http://socializr.com <br />
* Wikimedia - including this site, Wikipedia (See [http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Microformats WikiProject Microformats]), Wikitravel, etc.<br />
**It would be nice if <nowiki>[[User:YOURNAME]]</nowiki> links generated proper (mini)hCards. ([http://microformats.org/wiki?title=to-do&diff=12177&oldid=12173#Lazyweb per SteveIvy]; moved from 'to-do')<br />
* http://yelp.com <br />
* http://youtube.com The very popular YouTube has profiles that do include some information (username) that uses [[hcard|hCard]].<br />
* http://zooomr.com<br />
<br />
==== appear to be offline ====<br />
* [http://dodgeball.com/ Dodgeball] - see [[dodgeball-advocacy]] - taken offline in 2009<br />
* [http://idubyou.com/ i dub you] - appears to be 404 as of 2008-02-02 [[User:Tantek|Tantek]] 20:28, 2 Feb 2008 (PST)<br />
<br />
=== XFN rel me ===<br />
These sites have a field for the user to enter a URL to their home page or blog, and thus should support [[rel-me]] in addition to class="url" on those links inside the user's hCard profile.<br />
* [http://del.icio.us/ del.icio.us]<br />
* [http://myspace.com Myspace]<br />
<br />
=== hCard XFN friends lists ===<br />
In addition, if sites with people profiles have friends lists, we should encourage them to add support for [[hcard-xfn-supporting-friends-lists]]. Both of these help [[social-network-portability]] and help the site become a node on the [[open-social-web]]. Feel free to add icons/logos for each of these as well.<br />
* http://360.yahoo.com<br />
<br />
==== appear to be offline ====<br />
* [http://dodgeball.com/ Dodgeball] - see [[dodgeball-advocacy]] - taken offline in 2009<br />
<br />
=== Company Profiles ===<br />
* [http://getsatisfaction.com/ Satisfaction Unlimited], has company profiles, e.g. http://getsatisfaction.com/satisfaction/ that could be marked up with hCards. <br />
** Contacted Ted Grubb at the company and requested hCards for company and its employees for all their company profiles. [[User:Tantek|Tantek]] 11:24, 2 Sep 2007 (PDT)<br />
<br />
== Online Address Books ==<br />
* ...<br />
<br />
== Online Venues ==<br />
There are many sites that offer pages that represent organizations and venues that could benefit from being marked up with hCard. [http://local.yahoo.com/ Yahoo Local] venues are marked up with hCards for example. Here are some more sites that have venues that would benefit from hCard markup.<br />
* http://opentable.com - a site for making restaurant reservations<br />
** [[hcard|hCard]] for restaurants<br />
** [[hcalendar|hCalendar]] for free busy times at restaurants<br />
** [[hcalendar|hCalendar]] for your reservations<br />
** Tantek has emailed a friend who is a former employee of OpenTable with the above three requests, in the hopes she can pass on the message. In addition, Ryan King may know someone in marketing there. [[User:Tantek|Tantek]] 16:57, 30 Sep 2007 (PDT)<br />
*[http://www.wikioutdoors.com/ WikiOutdoors]<br />
**Could use hCard, Geo, and others<br />
** Requested, 2007-03-14<br />
**[http://www.wikioutdoors.com/forums/viewtopic.php?p=80#80 Considering] [[User:AndyMabbett|Andy Mabbett]] 04:17, 15 Mar 2007 (PDT)<br />
* [http://www.MotorwayServices.info Motorway Services Info] (UK)<br />
**hCard (& Geo) and hReviewRequested by e-mail, 2007-09-21 [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
== Plugins for and modifications of web-applications ==<br />
Many web-applications use plugin-systems to change their behavior and content. Most notable is probably web-forums and blogs. Many of these have a community of coders that develop plugins or code to modify the default behavior of these web-applications. Here are some sites where it might be interesting to develop hcard-related plugins/mods.<br />
<br />
=== WYSIWYG buttons ===<br />
In addition to getting them to markup obvious references to users/usernames with hCard, it would be great to see them update their WYSIWYG authoring interfaces (little creator/style buttons that often line up just above the top of a blog post editing textarea for creating links, lists etc.) to add a "person" button (perhaps with an icon http://microformats.org/wiki/skins/monobook/user.gif) which simply inserts [[hCard]] markup for you, or better yet, lets you pick someone from your address book, and then inserts an inline hCard with their name, URL (and perhaps even your [[XFN]] relationship to them) for you. While they're at it, perhaps a similar button/feature for easily inserting an [[hCalendar]] event.<br />
<br />
=== Tools ===<br />
* forum-software<br />
** http://www.phpbb.com<br />
* blog-software<br />
** http://b2evolution.net<br />
** WordPress<br />
** Moveable Type<br />
** LiveJournal<br />
<br />
==Telephone Directory Listings==<br />
Telephone Directory Listings could usefully apply hCard to their results pages, e.g. (please add other examples!):<br />
<br />
* [http://www.thephonebook.bt.com/ BT]<br />
** '''Requested''' via [http://tinyurl.com/yhtdjy BT feedback form], 2006-11-13 [[User:AndyMabbett|Andy Mabbett]] <br />
** BT confirm that they will consider this at their next re-build. 2006-12 [[User:AndyMabbett|Andy Mabbett]]<br />
** A BT [http://monkeyformats.org Monkeyformat] is available at [http://userscripts.org/scripts/show/24705 Userscripts.org] which will add hcard markup through GreaseMonkey.<br />
* [http://118118.com 118118.com]<br />
** '''Requested''' via e-mail, 2006-11-13. [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://192.com/ 192.com]<br />
** '''Requested''' via [http://www.192.com/support/feedback.cfm 192.com feedback form], 2007-03-07 [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.skype.com/intl/en-gb/download/features/skypefind/ SkypeFind]<br />
** ''Requested''' via [http://support.skype.com/?_a=tickets&_m=submit Skype feedback form], 2007-03-16 [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.whitepages.com/ White Pages (USA/ Canada)]<br />
* [http://www.whitepages.com.au/ White Pages (Australia)]<br />
* [http://www.switchboard.com/ Stitchboard (USA)]]<br />
* [http://www.whowhere.com/ Lycos People Search (USA)]<br />
* [http://www.bsnl.co.in/map.htm BSNL (India)]<br />
* [http://www.saynoto0870.com/ saynoto0870.com] (UK listings of geo vs. non-geo equivalents)<br />
** '''Requested''' by feedback form, 2007-10-13. [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.farangfriendly.com/ Farang Friendly (Thailand)]]<br />
* [http://www.411locate.com/ 411 Locate (USA)]<br />
<br />
==Postal (ZIP) code Finders==<br />
Postal code Finders could usefully apply hCard to their results pages. [[User:AndyMabbett|Andy Mabbett]] 12:09, 13 Nov 2006 (PST)<br />
<br />
e.g. (please add other examples!):<br />
*[http://pol.royalmail.com/dda/txt/pf.asp Royal Mail] (UK)<br />
**Requested via [http://tinyurl.com/ya4hzu Royal Mail feedback form], 2006-11-13 [[User:AndyMabbett|Andy Mabbett]]<br />
**Acknowledged 2006-11-30. [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
==Government hCard==<br />
===UK Gov. hCard===<br />
* Parliament: [http://www.parliament.uk/directories/hciolists/alms.cfm Alphabetical List of Members of Parliament] (see also [http://www.parliament.uk/directories/directories.cfm other lists of MPs and Lords]). [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
===Europe Gov. hCard===<br />
* e.g. [http://www.europarl.org.uk/uk_meps/westmidlands.asp UK MEPs]<br />
<br />
=== MAPLight ===<br />
http://maplight.org/ can use a bunch of hCard markup, e.g.<br />
* individual politicians, like [http://www.maplight.org/map/us/legislator/408/individuals Nancy Pelosi]<br />
* mentions of politicians on interest pages like [http://www.maplight.org/map/us/interest/L1300 Teachers unions]<br />
* their contact info of course: http://www.maplight.org/contact<br />
Requested by [[User:Tantek|Tantek]] 12:13, 30 May 2007 (PDT) in person at the NetSquared2007 conference.<br />
<br />
== Organization Contacts ==<br />
Many companies and organizations have about or contact pages that could benefit from being marked up with hCard. [http://technorati.com/about/contact.html Technorati's contact page] for example is both marked up with hCard and has a convenient "Add to Address Book" hCard to vCard converter link. The following company sites could benefit from similar markup (and, until user agents support hCards natively, "Add to Address Book" links). [[User:Tantek|Tantek]] 17:44, 13 Dec 2006 (PST)<br />
*Adobe<br />
**[http://www.adobe.com/aboutadobe/offices.html Adobe offices]<br />
***Requested using contact form, 2006-12-14. [[User:AndyMabbett|Andy Mabbett]]<br />
*claimID<br />
**[http://claimid.com/people claimID people]<br />
***requested via instant message with Terrell Russell (co-founder) 2007-11-20. [[User:Tantek|Tantek]]<br />
*Google <br />
**Contacts, e.g. <br />
*** [http://www.google.com/intl/en/contact/index.html Google.com contact page]<br />
**** Requested by asking Google Employee KevinMarks via instant messaging to add hCard to that page along with a "Add to Address Book" link [[User:Tantek|Tantek]] 11:32, 10 Apr 2007 (PDT) and RyanKing in IRC<br />
**** Gmail [http://www.google.com/support/forum/p/gmail/thread?tid=6021050d0038e8e0&hl=en feature requested] in ''Help Forum > Buzz & Contact'' category to have hCard included as 'contact sharing/export' feature, [[User:Gdibble|Gabriel Dibble]] 22:56, 29 Jul 2011 (PST)<br />
*** [http://www.google.co.uk/intl/en/contact/index.html Google UK], etc.<br />
*[http://ibm.com/ IBM]<br />
**[http://www.ibm.com/contact/us/ IBM contact page]<br />
*** Requested by asking IBM employee Michael Kaply via IRC 2007-07-31 08:57am PDT: "how about getting hCard and 'Add to address book' links on the IBM contact page?"<br />
*[http://www.mozilla.com/ Mozilla]<br />
**[http://www.mozilla.com/en-US/about/legal.html Mozilla legal notices]<br />
*Opera <br />
**People, e.g. [http://people.opera.com/howcome/ Håkon Wium Lie]; could also be hResume<br />
*W3C<br />
**[http://www.w3.org/Consortium/contact W3C contact]<br />
**[http://www.w3.org/People/all W3C Staff listing] and individual pages, e.g. [http://www.w3.org/People/Berners-Lee/ Tim Berners-Lee]<br />
***Requested by e-mail. [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
== Individual hCards ==<br />
Getting these sites to at least add hCard to their home page or contact info page would be an excellent start with getting them some experience with microformats and thinking about adding microformats to other places in their sites that make sense:<br />
* [http://metaweb.com/ Metaweb Technologies]<br />
** [http://www.freebase.com/ Freebase ]<br />
<br />
==Trade directories==<br />
* [http://www.booktrust.org.uk/info/search_publishers.php BookTrust (UK book publishers)]<br />
* [http://www.gepir.org/ Global Electronic Party Information Register] (GEPIR) over 1 million companies<br />
** Requested 2007-08-31 [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.journa-list.com/ Journa-list]<br />
** hCard, rel-tag requested 2007-10-13, by e-mail. [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
==Store locators==<br />
(see [http://www.google.com/search?q=%22store+locator%22 Google search for "store locator"]; "about 2,000,000" results!)<br />
* [http://www.argos.co.uk/webapp/wcs/stores/servlet/ArgosGSGiftModeExitCmd?action=ArgosStoreLocatorMain?langId=-1&storeId=10001 Argos (UK)]<br />
* [http://www.multimap.com/clients/places.cgi?client=asda_sf Asda (UK; part of WalMart)]<br />
* [http://www.boots.com/storelocator/store_search.jsp Boots (UK)]<br />
* [http://www.mcdonalds.co.uk/asp/locator/index.asp McDonalds (UK)]<br />
* [http://www.tesco.com/storelocator/ Tesco (UK)]<br />
<br />
== people search ==<br />
* [http://www.spock.com/ SPOCK]<br />
** primarily could use hCard on the search results (this is a search engine for people after all)<br />
** rel-tag namespace possibly<br />
** VoteLinks<br />
**'''Requested''', 2007-09-13 [[User:DavidMead|David Mead]]<br />
<br />
==Other hCard==<br />
* [http://www.imdb.com/ Internet Movie Database] (IMDb) for people (real, not characters), e.g. [http://www.imdb.com/name/nm0000007/ Humphrey Bogart]. [[User:AndyMabbett|Andy Mabbett]] 02:49, 13 Nov 2006 (PST)<br />
**Can't find contact info! [[User:AndyMabbett|Andy Mabbett]]<br />
**See also example, below.<br />
*Wikitravel<br />
**e.g. [http://wikitravel.org/en/Birmingham_%28England%29 Wikitravel - Birmingham]<br />
***[http://microformats.org/wiki?title=User_talk:MarkJaroski&curid=2699&diff=0&oldid=10663&rcid=19955 Wikitravel is about to hugely roll out hCard] Mark Jaroski<br />
***See also [http://wikitravel.org/en/Wikitravel:Microformats Wikitravel:Microformats]<br />
*[http://orlabs.oclc.org/Identities/ WorldCat Identities]<br />
**The recently prototyped WorldCat Identities provides pages for 20 million 'identities', mainly authors and people who are the subjects of published titles.<br />
**Requested by feedback form, 2007-03-09 [[User:AndyMabbett|Andy Mabbett]]<br />
** No reply, as of 02:02, 13 Jun 2007 (PDT)<br />
*[http://geonames.org GeoNames]<br />
**Requested by e-mail, 2007-06-07 [[User:AndyMabbett|Andy Mabbett]]<br />
**Reply confirms that they will deploy hCard and Geo<br />
**Geo noted in use, 06:08, 30 Jul 2007 (PDT)<br />
*[http://www.oup.com/oxforddnb/info/ Oxford Dictionary of National Biography] (ODNB); subscription based, but [http://www.oxforddnb.com/public/lotw/ some ODNB articles available free]. All 56,000+ entries have Date of Death.<br />
*[http://www.findagrave.com/ Find-a-Grave] e.g. [http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GRid=680 Karl Marx]. Most entries have Date of Death.<br />
*[http://www.biography.com/ Biography.com] e.g. [http://www.biography.com/impressionists/monet-bio.jsp Camille Monet] Most posthumous entries have Date of Death.<br />
*[http://www.cwgc.org/ Commonwealth War Graves Commission] (1.75 million people's details)<br />
**E-mail sent 2007-08-24. [[User:AndyMabbett|Andy Mabbett]]<br />
*Civil Aviation Authority; UK aircraft register<br />
** e.g [http://www.caa.co.uk/application.aspx?catid=60&pagetype=65&appid=1&mode=detailnosummary&fullregmark=G-MOUR G-MOUR]<br />
*[http://chicago.everyblock.com/ Chicago Everyblock]<br />
<br />
== Successes ==<br />
Perhaps we can consider moving successes to a separate page, like [[hcard-advocacy-successes]]. [[User:Tantek|Tantek]]<br />
=== in 2012 ===<br />
* [http://foursquare.com Foursquare] - a location based checkin site<br />
** 2009-272 [[User:Tantek|Tantek]] requested and sent sample marked up HTML code from their site to their lead dev HarryH<br />
** 2012-200 verified that venues have hCards and HarryH confirmed that "they've been there for quite some time now."<br />
...<br />
<br />
...<br />
=== in 2010 ===<br />
==== BrightKite ====<br />
* http://brightkite.com<br />
** 2010-05-16 requested their front-end developer to support hCards for user profiles and venues - [[User:Tantek|Tantek]]<br />
** 2010-06-09 front-end developer noted that they support hCard for profiles but have problems with vCard conversion - [[User:Tantek|Tantek]]<br />
** 2010-06-11 followed up and gave advice to fix their hCard (and rel-me) support on user profiles - [[User:Tantek|Tantek]] 16:31, 10 June 2010 (UTC)<br />
** 2010-06-11 followed up and gave advice for minor fixex to their hCard support on venues - [[User:Tantek|Tantek]] 16:32, 10 June 2010 (UTC)<br />
** 2010-06-17 success on both! [[User:Tantek|Tantek]] 05:25, 13 July 2010 (UTC)<br />
*** noted in blog post: http://microformats.org/2010/07/08/microformats-org-at-5-hcards-rich-snippets<br />
<br />
==== Basecamp ====<br />
As requested in the Basecamp Customer Forum (was at <nowiki>http://forum.37signals.com/basecamp/forums/3/topics/9091</nowiki>), "It would be really nice (and stupid easy!) to add microformats to Basecamp, such as hCard on the ‘People’ page. ... constantly looking up phone numbers there, it would be nice to have the option to export into ... address book. ... they could also go in the ‘Who’s talking about this message?’ column too!."<br />
<br />
Tweets in support: [http://twitter.com/energy0m/statuses/920692130 energy0m]<br />
<br />
* 2010-07-03 [http://answers.37signals.com/basecamp/556-any-chance-of-adding-hcards#reply_5105 success]! Thanks [[User:Adactio]]!<br />
<br />
=== in 2009 ===<br />
* 2009-05<br />
** Yelp.com added hCard to all venues.<br />
<br />
=== in 2008 ===<br />
* ...<br />
<br />
=== in 2007 ===<br />
*W3C<br />
**'''W3C webmaster''' [http://www.w3.org/People/Jean-Gui/ Jean-Guilhem Rouel] now has an hCard. [[User:AndyMabbett|Andy Mabbett]] 15:41, 4 Apr 2007 (PDT)<br />
* [http://jpgmag.com/ JPG magazine] - have sent email to their web developer with sample marked up member profile with [[hcard|hCard]] and [[xfn]] [[rel-me|rel="me"]]. [[User:Tantek|Tantek]] 23:48, 21 Feb 2007 (PST)<br />
** [[hcard|hCard]]+[[xfn]] [[rel-me|rel="me"]] support as of March 2007.<br />
* Twitter.com - working on it [[User:Tantek|Tantek]] 17:44, 13 Dec 2006 (PST). <br />
** Completed [[hcard|hCard]]+[[xfn]]+[[hatom|hAtom]] support last week with help from Chris Messina. [[User:Tantek|Tantek]] 12:01, 16 May 2007 (PDT)<br />
* Consumating.com - working on it [[User:Tantek|Tantek]] 17:44, 13 Dec 2006 (PST)<br />
** [[hcard|hCard]] profiles, [[hcalendar|hCalendar]] events as of March 2007.<br />
* [http://sunlightlabs.com/api/ SunlightLabs API] provides profiles for US Congresspeople. Their [http://sunlightlabs.com/api/masterref/megatable.php megatable] could easily be marked up with hCard, and their APIs could return hCards and hCard fields.<br />
** [[User:Tantek|Tantek]] 12:30, 20 Apr 2007 (PDT) contacted them and requested that they add hCard to megatable, consider a GethCard API method, and potentially a GethResume API method for each person.<br />
** [[User:CarlAnderson|CarlAnderson]] 26 Apr 2007: http://sunlightlabs.com/api does now have a people.getHCard.php API method to get an hCard for every member of congress. See the documentation at http://sunlightlabs.com/api/people.getHCard.php. An example call: http://api.sunlightlabs.com/people.getHCard.php?id=fakeopenID1 <br />
** [[User:CarlAnderson|CarlAnderson]] 30 Apr 2007: I created a page of hCards for every member of congress: http://sunlightlabs.com/api/hcards/index.php<br />
* [http://pownce.com Pownce] - I'm talking with them, and have requested the following (and a bit more) as of 2007-07-29 - [[User:Tantek|Tantek]]<br />
** needs to add class="photo" to image icon<br />
*** 2007-09-02 success!<br />
** needs to add class="note" to description<br />
*** 2007-09-02 success!<br />
** needs to add hCard+XFN to friends lists.<br />
*** 2007-09-02 partial success, friends lists have hCard, have asked Daniel Burka to add rel="acquaintance" per [[xfn-clarifications#are_you_my_friend_yes_or_no|XFN clarifications for yes/no friend relationships]]. [[User:Tantek|Tantek]] 10:41, 3 Sep 2007 (PDT)<br />
**** 2008-01 success!<br />
** 2007-09-02 note also XFN rel="me" success: http://pownce.com/t/notes/644806/<br />
<br />
====Wikpedia hCard====<br />
*Infobox Templates for people mostly now have [[hcard|hCard]] in their generated markup<br />
** [http://en.wikipedia.org/wiki/Template:Infobox_Person Infobox_Person]; e.g. [http://en.wikipedia.org/wiki/E._O._Wilson E. O. Wilson]<br />
** [http://en.wikipedia.org/wiki/Template:Infobox_actor Infobox_actor]; e.g. [http://en.wikipedia.org/wiki/Humphrey_Bogart Humphrey Bogart]<br />
*Addressable buildings e.g. [http://en.wikipedia.org/wiki/The_Old_Crown%2C_Birmingham The Old Crown, Birmingham]<br />
*Tourist attractions, e.g. [http://en.wikipedia.org/wiki/Cadbury_World%2C_Birmingham Cadbury World]<br />
*Companies, e.g. [http://en.wikipedia.org/wiki/Tesco Tesco] (note headquarters address in infobox)<br />
*Railway Stations, e.g. [http://en.wikipedia.org/wiki/Perry_Barr_railway_station Perry Barr]<br />
*etc.<br />
*See also [http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Microformats WikiProject Microformats] [[User:AndyMabbett|Andy Mabbett]] 13:10, 28 Jan 2007 (PST)<br />
* See also [[persondata|discussion of Wikipedia's Persondata]], which aligns very closely with hCard, but has additional date and place of birth & death fields. [[User:AndyMabbett|Andy Mabbett]] 13:23, 28 Mar 2007 (PDT)<br />
<br />
Some microformat data is now (2007-09-14) being removed from Wikipedia; see, for example [http://en.wikipedia.org/w/index.php?title=List_of_Gaudi_Buildings&diff=prev&oldid=157704557 List_of_Gaudi_Buildings]<br />
<br />
=== in 2006 ===<br />
*Details of hCard should be added to the [http://www.imc.org/pdi/ Internet Mail Consortium's vCard page]<br />
**Requested by e-mail, 2006-11-24 [[User:AndyMabbett|Andy Mabbett]]<br />
**'''Success''' achieved 2006-11-25. [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
==See also==<br />
*[[advocacy]] (in particular see [[advocacy#Geo|Geo advocacy]] - for the Geo microformat, including cases where it may be used inside hCard)<br />
*[[advocacy-email-samples]]<br />
{{hcard-related-pages}}</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-brainstorming&diff=65085
hlisting-brainstorming
2015-07-01T09:57:34Z
<p>ChiefRA: /* Revised Base Schema Elements (proposed, revised by Arthur Radulescu 14:25, 29 Jun 2015 (UTC)) */ replaced . . . with a proper property: "housing" within the code examples.</p>
<hr />
<div><entry-title>listing microformat brainstorming </entry-title><br />
This is brainstorming for a [[hlisting]] microformat per the [[process]].<br />
<br />
== proposed schema revisions ==<br />
<br />
=== Revised Base Schema Elements (proposed, revised by [[User:ChiefRA|Arthur Radulescu]] 14:25, 29 Jun 2015 (UTC)) ===<br />
<br />
*hListing (hlisting)<br />
<br />
Clearing the confusions from the draft.<br />
<br />
The first confusion comes from the fact that "item" (currently is a non-existing property) and "listing" elements are not hierachically defined among the other microformat elements. They have to obtain a pre-defined hierarchical role. I come with the following proposals:<br />
<br />
1) Non-existing elements:<br />
''item'' - although it is used as a stand-alone element in the hListing microformat examples, it is nither defined nor mentioned as a mandatory element within hListing properties. Therefore I propose to define it and use it in conjunction with "item type" attribute:<br />
<br />
* ''item''. '''required'''. encapsulates all the properties of the item being listed. It is used in conjunction with ''item type''.<br />
<br />
See the below proposal for changing the "item type" definition and the new "hListing properties" section modified to include this element: [[hlisting-duplicated-for-discussions#Properties | hListing properties page]]:<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item housing"><br />
. . . <br />
</nowiki></pre><br />
<br />
2) Existing elements:<br />
* ''item type'' - now optional, should become REQUIRED - it's a descriptive attribute for the "item", such as: opening, housing, product, business, event, person, place, website, url. Should be placed in the same HTML element with the "item" in order for parsers to get all the needed information by parsing this line, e.g.:<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item housing"><br />
. . .<br />
</nowiki></pre><br />
<br />
3) Existing elements:<br />
* ''listing type'' - required - indicates the desired type of listing, something that the lister already have or wants: offer | want(ed?) | intermediate(NEW! - there are a lot of businesses intermediating between buyers and sellers).<br />
* ''listing action'' - required - one or more tags, suggested set: sale | rent | trade | meet | announce | event | service.<br />
<br />
These 2 properties of the listing should allways be used together and linked by a dash within the same HTML element, as they are seen as a completion to one another. Linking them together is meant to avoid confusion/accidental duplication with other classes:<br />
<br />
a) - they can be placed within the same declaration with "item": div class="item ... offer-sale" - when, as an exception, there is no visible text on the page attached to this tag (such as in the case of Real Estate where the action - sale, rental, etc. - where this "for sale, for rental" text is not visible on the page, but is inherited from the visited category / URL / visited menu).<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item housing offer-sale"><br />
. . .<br />
</nowiki></pre><br />
<br />
OR<br />
<br />
b) - they can be placed on a lower level within the same declaration with "item": span class="item ... offer-sell" - to markup the visible text attribute to follow (such as parking place for sale, books rental, etc.).<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item housing"><br />
<span class="offer-sale">for sale</span><br />
. . .<br />
</nowiki></pre><br />
<br />
* ''lister'' - should be subordonated hierarchically to the hListing microformat, and in line with the "item" element (see the "Proposed hierarchical level structure" diagram).<br />
<br />
* ''version'' - now optional, should be removed as deprecated - because the version should be deduced from the name of the microformat itself: hListing (version 1), h-Listing (version 2), h-Listing3 - could become version 3, etc.<br />
<br />
<br />
----<br />
<br />
=== Revised Base Schema Elements (proposed, revised by [[User:JayMyers|Jay Myers]] 16:55, 29 Jun 2009 (UTC)) ===<br />
<br />
*hListing (hlisting)<br />
** listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service<br />
** '''lister.''' required. hCard | (fn || email || url || tel).<br />
** dtlisted. optional. ISO8601 absolute date time.<br />
** dtexpired. optional. ISO8601 absolute date time.<br />
** price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal<br />
** item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).<br />
** summary. optional. text.<br />
** '''description.''' required. text with optional valid XHTML markup.<br />
** item tags. optional. keywords or phrases describing the item being offered, using rel-tag<br />
** permalink. optional.<br />
** availability. optional. text.<br />
** condition. optional. text. examples: 'new', 'used', 'refurbished'.<br />
** shipping. optional. text. text describing shipping and fulfillment<br />
<br />
==== Notes ====<br />
<br />
Please see [[hlisting-examples|hListing examples page]] for analysis of 80/20 use case for new attributes availability, condition and shipping. I believe condition should still be considered even though it misses the 80/20 use case mark (71.2% based on current analysis) as it is included in most product-specific data submission services (e.g., Yahoo Product Submit, Google Base). <br />
<br />
----<br />
<br />
<br />
=== Revised Base Schema Elements (proposed) ===<br />
<br />
*hListing (hlisting)<br />
** listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service<br />
** lister. optional. hCard | (fn || email || url || tel).<br />
** dtlisted. optional. ISO8601 absolute date time.<br />
** dtexpired. optional. ISO8601 absolute date time.<br />
** price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal<br />
** item info. optional. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** summary. optional. text.<br />
** '''description'''. required. text with optional valid XHTML markup.<br />
** item tags. optional. keywords or phrases describing the item being offered, using rel-tag<br />
** permalink. optional. <br />
** availability. optional. text.<br />
** condition. optional. text. examples: 'new', 'used', 'refurbished'.<br />
** shipping. optional. text. text describing shipping and fulfillment<br />
<br />
<br />
==== Items removed ====<br />
* version. optional. text.<br />
<br />
<div class=discussion><br />
* +1 I'm tending to agree with the removal of version, as in practice it has not been necessary for either [[hReview]] or [[hListing]].[[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)<br />
</div><br />
<br />
* item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).<br />
<br />
<div class=discussion><br />
* Removal of <code>item</code> seems to be a mistake, as that is used to indicate the item itself being listed. E.g., a nested <code>hProduct</code> would be <code>&lt;p class='item hproduct'>&lt;/p></code>. Removal appears to leave no way to include ''what'' is being listed. --[[User:BenWard|BenWard]] 17:38, 16 April 2009 (UTC)<br />
** +1 completely agreed with Ben Ward's point. Wide use of [[hReview]] in the [[hreview-examples-in-wild|wild]] has shown that having an explicit "item" is both necessary and works in practice. [[User:Tantek|Tantek]] 17:40, 16 April 2009 (UTC)<br />
* Indeed it was a mistake... left it out of my edits. Replaced. [[User:JayMyers|JayMyers]] 21:04, 22 April 2009 (UTC)<br />
</div><br />
<br />
==== Items added ====<br />
<div class=discussion><br />
* Each of the following should cite the analysis made of real world examples that demonstrates the 80%+ use case need, otherwise, they should not be added. [[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)<br />
</div><br />
<br />
* availability. optional. text.<br />
* condition. optional. text. examples: 'new', 'used', 'refurbished'.<br />
* shipping. optional. text. text describing shipping and fulfillment<br />
<br />
==== Items changed: ====<br />
* listing action => optional. if omitted, action assumed to be sell <br />
* lister => optional. if omitted, the buyer/seller is assumed to be the site where the microformat exists<br />
<div class=discussion><br />
* In that case, an algorithm should be provided for how to determine the hCard for the lister, if no explicit lister is given. [[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)<br />
* Isn't the instruction above ("buyer/seller is assumed to be the site where the microformat exists" itself an algorithm? So, if Target.com has an item for sale and lister isn't specified, you use the domain of the web page containing the markup to identify the seller as "target.com" --Kavi, 6 July 2009<br />
* Wouldn't it make sense for it remain compulsory? If you are stating that the value reverts to a default in the case of an omission - the requirement is still that the hlisting requires a URI as part of the lister - I feel it should stay so that aggregation of hlisting information is possible outside of the domain it was originally posted on. It therefore ''requires'' this information to exist. Maybe the required property should be the url value and the other properties can be optional. [[User:Spiritquest|Spiritquest]] 19:04, 30 September 2009 (UTC)<br />
</div><br />
<br />
== payment ==<br />
Use [[rel-payment]] or something similar to indicate payment method for hListing.<br />
<br />
== additional transactional details ==<br />
Per the discussions raised in the [[hproduct-issues|hProduct issues list]], consider provisions for providing transactional details like "shipping" or "buy/payment" attributes or similar for an iteration of hListing.<br />
<br />
== see also ==<br />
* [[hListing]]<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-brainstorming&diff=65084
hlisting-brainstorming
2015-07-01T09:51:45Z
<p>ChiefRA: /* Revised Base Schema Elements (proposed, revised by Arthur Radulescu 14:25, 29 Jun 2015 (UTC)) */ small correction for better viewing.</p>
<hr />
<div><entry-title>listing microformat brainstorming </entry-title><br />
This is brainstorming for a [[hlisting]] microformat per the [[process]].<br />
<br />
== proposed schema revisions ==<br />
<br />
=== Revised Base Schema Elements (proposed, revised by [[User:ChiefRA|Arthur Radulescu]] 14:25, 29 Jun 2015 (UTC)) ===<br />
<br />
*hListing (hlisting)<br />
<br />
Clearing the confusions from the draft.<br />
<br />
The first confusion comes from the fact that "item" (currently is a non-existing property) and "listing" elements are not hierachically defined among the other microformat elements. They have to obtain a pre-defined hierarchical role. I come with the following proposals:<br />
<br />
1) Non-existing elements:<br />
''item'' - although it is used as a stand-alone element in the hListing microformat examples, it is nither defined nor mentioned as a mandatory element within hListing properties. Therefore I propose to define it and use it in conjunction with "item type" attribute:<br />
<br />
* ''item''. '''required'''. encapsulates all the properties of the item being listed. It is used in conjunction with ''item type''.<br />
<br />
See the below proposal for changing the "item type" definition and the new "hListing properties" section modified to include this element: [[hlisting-duplicated-for-discussions#Properties | hListing properties page]]:<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item ..."><br />
. . . <br />
</nowiki></pre><br />
<br />
2) Existing elements:<br />
* ''item type'' - now optional, should become REQUIRED - it's a descriptive attribute for the "item", such as: opening, housing, product, business, event, person, place, website, url. Should be placed in the same HTML element with the "item" in order for parsers to get all the needed information by parsing this line, e.g.:<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item housing"><br />
. . .<br />
</nowiki></pre><br />
<br />
3) Existing elements:<br />
* ''listing type'' - required - indicates the desired type of listing, something that the lister already have or wants: offer | want(ed?) | intermediate(NEW! - there are a lot of businesses intermediating between buyers and sellers).<br />
* ''listing action'' - required - one or more tags, suggested set: sale | rent | trade | meet | announce | event | service.<br />
<br />
These 2 properties of the listing should allways be used together and linked by a dash within the same HTML element, as they are seen as a completion to one another. Linking them together is meant to avoid confusion/accidental duplication with other classes:<br />
<br />
a) - they can be placed within the same declaration with "item": div class="item ... offer-sale" - when, as an exception, there is no visible text on the page attached to this tag (such as in the case of Real Estate where the action - sale, rental, etc. - where this "for sale, for rental" text is not visible on the page, but is inherited from the visited category / URL / visited menu).<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item ... offer-sale"><br />
. . .<br />
</nowiki></pre><br />
<br />
OR<br />
<br />
b) - they can be placed on a lower level within the same declaration with "item": span class="item ... offer-sell" - to markup the visible text attribute to follow (such as parking place for sale, books rental, etc.).<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item ..."><br />
<span class="offer-sale">for sale</span><br />
. . .<br />
</nowiki></pre><br />
<br />
* ''lister'' - should be subordonated hierarchically to the hListing microformat, and in line with the "item" element (see the "Proposed hierarchical level structure" diagram).<br />
<br />
* ''version'' - now optional, should be removed as deprecated - because the version should be deduced from the name of the microformat itself: hListing (version 1), h-Listing (version 2), h-Listing3 - could become version 3, etc.<br />
<br />
<br />
----<br />
<br />
=== Revised Base Schema Elements (proposed, revised by [[User:JayMyers|Jay Myers]] 16:55, 29 Jun 2009 (UTC)) ===<br />
<br />
*hListing (hlisting)<br />
** listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service<br />
** '''lister.''' required. hCard | (fn || email || url || tel).<br />
** dtlisted. optional. ISO8601 absolute date time.<br />
** dtexpired. optional. ISO8601 absolute date time.<br />
** price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal<br />
** item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).<br />
** summary. optional. text.<br />
** '''description.''' required. text with optional valid XHTML markup.<br />
** item tags. optional. keywords or phrases describing the item being offered, using rel-tag<br />
** permalink. optional.<br />
** availability. optional. text.<br />
** condition. optional. text. examples: 'new', 'used', 'refurbished'.<br />
** shipping. optional. text. text describing shipping and fulfillment<br />
<br />
==== Notes ====<br />
<br />
Please see [[hlisting-examples|hListing examples page]] for analysis of 80/20 use case for new attributes availability, condition and shipping. I believe condition should still be considered even though it misses the 80/20 use case mark (71.2% based on current analysis) as it is included in most product-specific data submission services (e.g., Yahoo Product Submit, Google Base). <br />
<br />
----<br />
<br />
<br />
=== Revised Base Schema Elements (proposed) ===<br />
<br />
*hListing (hlisting)<br />
** listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service<br />
** lister. optional. hCard | (fn || email || url || tel).<br />
** dtlisted. optional. ISO8601 absolute date time.<br />
** dtexpired. optional. ISO8601 absolute date time.<br />
** price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal<br />
** item info. optional. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** summary. optional. text.<br />
** '''description'''. required. text with optional valid XHTML markup.<br />
** item tags. optional. keywords or phrases describing the item being offered, using rel-tag<br />
** permalink. optional. <br />
** availability. optional. text.<br />
** condition. optional. text. examples: 'new', 'used', 'refurbished'.<br />
** shipping. optional. text. text describing shipping and fulfillment<br />
<br />
<br />
==== Items removed ====<br />
* version. optional. text.<br />
<br />
<div class=discussion><br />
* +1 I'm tending to agree with the removal of version, as in practice it has not been necessary for either [[hReview]] or [[hListing]].[[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)<br />
</div><br />
<br />
* item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).<br />
<br />
<div class=discussion><br />
* Removal of <code>item</code> seems to be a mistake, as that is used to indicate the item itself being listed. E.g., a nested <code>hProduct</code> would be <code>&lt;p class='item hproduct'>&lt;/p></code>. Removal appears to leave no way to include ''what'' is being listed. --[[User:BenWard|BenWard]] 17:38, 16 April 2009 (UTC)<br />
** +1 completely agreed with Ben Ward's point. Wide use of [[hReview]] in the [[hreview-examples-in-wild|wild]] has shown that having an explicit "item" is both necessary and works in practice. [[User:Tantek|Tantek]] 17:40, 16 April 2009 (UTC)<br />
* Indeed it was a mistake... left it out of my edits. Replaced. [[User:JayMyers|JayMyers]] 21:04, 22 April 2009 (UTC)<br />
</div><br />
<br />
==== Items added ====<br />
<div class=discussion><br />
* Each of the following should cite the analysis made of real world examples that demonstrates the 80%+ use case need, otherwise, they should not be added. [[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)<br />
</div><br />
<br />
* availability. optional. text.<br />
* condition. optional. text. examples: 'new', 'used', 'refurbished'.<br />
* shipping. optional. text. text describing shipping and fulfillment<br />
<br />
==== Items changed: ====<br />
* listing action => optional. if omitted, action assumed to be sell <br />
* lister => optional. if omitted, the buyer/seller is assumed to be the site where the microformat exists<br />
<div class=discussion><br />
* In that case, an algorithm should be provided for how to determine the hCard for the lister, if no explicit lister is given. [[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)<br />
* Isn't the instruction above ("buyer/seller is assumed to be the site where the microformat exists" itself an algorithm? So, if Target.com has an item for sale and lister isn't specified, you use the domain of the web page containing the markup to identify the seller as "target.com" --Kavi, 6 July 2009<br />
* Wouldn't it make sense for it remain compulsory? If you are stating that the value reverts to a default in the case of an omission - the requirement is still that the hlisting requires a URI as part of the lister - I feel it should stay so that aggregation of hlisting information is possible outside of the domain it was originally posted on. It therefore ''requires'' this information to exist. Maybe the required property should be the url value and the other properties can be optional. [[User:Spiritquest|Spiritquest]] 19:04, 30 September 2009 (UTC)<br />
</div><br />
<br />
== payment ==<br />
Use [[rel-payment]] or something similar to indicate payment method for hListing.<br />
<br />
== additional transactional details ==<br />
Per the discussions raised in the [[hproduct-issues|hProduct issues list]], consider provisions for providing transactional details like "shipping" or "buy/payment" attributes or similar for an iteration of hListing.<br />
<br />
== see also ==<br />
* [[hListing]]<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-brainstorming&diff=65077
hlisting-brainstorming
2015-06-29T15:05:53Z
<p>ChiefRA: modified the hlisting-duplicated-for-discussions page for proposed schema revision to reach a draft finalization and step-up to version 1.0</p>
<hr />
<div><entry-title>listing microformat brainstorming </entry-title><br />
This is brainstorming for a [[hlisting]] microformat per the [[process]].<br />
<br />
== proposed schema revisions ==<br />
<br />
=== Revised Base Schema Elements (proposed, revised by [[User:ChiefRA|Arthur Radulescu]] 14:25, 29 Jun 2015 (UTC)) ===<br />
<br />
*hListing (hlisting)<br />
<br />
Clearing the confusions from the draft.<br />
<br />
The first confusion comes from the fact that "item" (currently is a non-existing property) and "listing" elements are not hierachically defined among the other microformat elements. They have to obtain a pre-defined hierarchical role. I come with the following proposals:<br />
<br />
1) Non-existing elements:<br />
''item'' - although it is used as a stand-alone element in the hListing microformat examples, it is nither defined nor mentioned as a mandatory element within hListing properties. Therefore I propose to define it and use it in conjunction with "item type" attribute:<br />
<br />
* ''item''. '''required'''. encapsulates all the properties of the item being listed. It is used in conjunction with ''item type''.<br />
<br />
See the below proposal for changing the "item type" definition and the new "hListing properties" section modified to include this element: [[hlisting-duplicated-for-discussions#Properties | hListing properties page]]:<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item ..."><br />
. . . <br />
</nowiki></pre><br />
<br />
2) Existing elements:<br />
item type - now optional, should become REQUIRED - it's a descriptive attribute for the "item", such as: opening, housing, product, business, event, person, place, website, url. Should be placed in the same HTML element with the "item" in order for parsers to get all the needed information by parsing this line, e.g.:<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item housing"><br />
. . .<br />
</nowiki></pre><br />
<br />
3) Existing elements:<br />
listing type - required - indicates the desired type of listing, something that the lister already have or wants: offer | want(ed?) | intermediate(NEW! - there are a lot of businesses intermediating between buyers and sellers).<br />
listing action - required - one or more tags, suggested set: sale | rent | trade | meet | announce | event | service.<br />
<br />
These 2 properties of the listing should allways be used together and linked by a dash within the same HTML element, as they are seen as a completion to one another. Linking them together is meant to avoid confusion/accidental duplication with other classes:<br />
<br />
a) - they can be placed within the same declaration with "item": div class="item ... offer-sale" - when, as an exception, there is no visible text on the page attached to this tag (such as in the case of Real Estate where the action - sale, rental, etc. - where this "for sale, for rental" text is not visible on the page, but is inherited from the visited category / URL / visited menu).<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item ... offer-sale"><br />
. . .<br />
</nowiki></pre><br />
<br />
OR<br />
<br />
b) - they can be placed on a lower level within the same declaration with "item": span class="item ... offer-sell" - to markup the visible text attribute to follow (such as parking place for sale, books rental, etc.).<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<div class="item ..."><br />
<span class="offer-sale">for sale</span><br />
. . .<br />
</nowiki></pre><br />
<br />
* ''lister'' - should be subordonated hierarchically to the hListing microformat, and in line with the "item" element (see the "Proposed hierarchical level structure" diagram).<br />
<br />
* ''version'' - now optional, should be removed as deprecated - because the version should be deduced from the name of the microformat itself: hListing (version 1), h-Listing (version 2), h-Listing3 - could become version 3, etc.<br />
<br />
<br />
----<br />
<br />
<br />
=== Revised Base Schema Elements (proposed, revised by [[User:JayMyers|Jay Myers]] 16:55, 29 Jun 2009 (UTC)) ===<br />
<br />
*hListing (hlisting)<br />
** listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service<br />
** '''lister.''' required. hCard | (fn || email || url || tel).<br />
** dtlisted. optional. ISO8601 absolute date time.<br />
** dtexpired. optional. ISO8601 absolute date time.<br />
** price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal<br />
** item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).<br />
** summary. optional. text.<br />
** '''description.''' required. text with optional valid XHTML markup.<br />
** item tags. optional. keywords or phrases describing the item being offered, using rel-tag<br />
** permalink. optional.<br />
** availability. optional. text.<br />
** condition. optional. text. examples: 'new', 'used', 'refurbished'.<br />
** shipping. optional. text. text describing shipping and fulfillment<br />
<br />
==== Notes ====<br />
<br />
Please see [[hlisting-examples|hListing examples page]] for analysis of 80/20 use case for new attributes availability, condition and shipping. I believe condition should still be considered even though it misses the 80/20 use case mark (71.2% based on current analysis) as it is included in most product-specific data submission services (e.g., Yahoo Product Submit, Google Base). <br />
<br />
----<br />
<br />
<br />
=== Revised Base Schema Elements (proposed) ===<br />
<br />
*hListing (hlisting)<br />
** listing action. optional. one or more tags, suggested set: sell | rent | trade | meet | announce | offer | wanted | event | service<br />
** lister. optional. hCard | (fn || email || url || tel).<br />
** dtlisted. optional. ISO8601 absolute date time.<br />
** dtexpired. optional. ISO8601 absolute date time.<br />
** price. optional. text. [should include a floating-point number with optional ISO currency codes] - see the currency proposal<br />
** item info. optional. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** summary. optional. text.<br />
** '''description'''. required. text with optional valid XHTML markup.<br />
** item tags. optional. keywords or phrases describing the item being offered, using rel-tag<br />
** permalink. optional. <br />
** availability. optional. text.<br />
** condition. optional. text. examples: 'new', 'used', 'refurbished'.<br />
** shipping. optional. text. text describing shipping and fulfillment<br />
<br />
<br />
==== Items removed ====<br />
* version. optional. text.<br />
<br />
<div class=discussion><br />
* +1 I'm tending to agree with the removal of version, as in practice it has not been necessary for either [[hReview]] or [[hListing]].[[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)<br />
</div><br />
<br />
* item info. optional. (fn || url || photo || geo || adr) | hCard (for person or business).<br />
<br />
<div class=discussion><br />
* Removal of <code>item</code> seems to be a mistake, as that is used to indicate the item itself being listed. E.g., a nested <code>hProduct</code> would be <code>&lt;p class='item hproduct'>&lt;/p></code>. Removal appears to leave no way to include ''what'' is being listed. --[[User:BenWard|BenWard]] 17:38, 16 April 2009 (UTC)<br />
** +1 completely agreed with Ben Ward's point. Wide use of [[hReview]] in the [[hreview-examples-in-wild|wild]] has shown that having an explicit "item" is both necessary and works in practice. [[User:Tantek|Tantek]] 17:40, 16 April 2009 (UTC)<br />
* Indeed it was a mistake... left it out of my edits. Replaced. [[User:JayMyers|JayMyers]] 21:04, 22 April 2009 (UTC)<br />
</div><br />
<br />
==== Items added ====<br />
<div class=discussion><br />
* Each of the following should cite the analysis made of real world examples that demonstrates the 80%+ use case need, otherwise, they should not be added. [[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)<br />
</div><br />
<br />
* availability. optional. text.<br />
* condition. optional. text. examples: 'new', 'used', 'refurbished'.<br />
* shipping. optional. text. text describing shipping and fulfillment<br />
<br />
==== Items changed: ====<br />
* listing action => optional. if omitted, action assumed to be sell <br />
* lister => optional. if omitted, the buyer/seller is assumed to be the site where the microformat exists<br />
<div class=discussion><br />
* In that case, an algorithm should be provided for how to determine the hCard for the lister, if no explicit lister is given. [[User:Tantek|Tantek]] 17:45, 16 April 2009 (UTC)<br />
* Isn't the instruction above ("buyer/seller is assumed to be the site where the microformat exists" itself an algorithm? So, if Target.com has an item for sale and lister isn't specified, you use the domain of the web page containing the markup to identify the seller as "target.com" --Kavi, 6 July 2009<br />
* Wouldn't it make sense for it remain compulsory? If you are stating that the value reverts to a default in the case of an omission - the requirement is still that the hlisting requires a URI as part of the lister - I feel it should stay so that aggregation of hlisting information is possible outside of the domain it was originally posted on. It therefore ''requires'' this information to exist. Maybe the required property should be the url value and the other properties can be optional. [[User:Spiritquest|Spiritquest]] 19:04, 30 September 2009 (UTC)<br />
</div><br />
<br />
== payment ==<br />
Use [[rel-payment]] or something similar to indicate payment method for hListing.<br />
<br />
== additional transactional details ==<br />
Per the discussions raised in the [[hproduct-issues|hProduct issues list]], consider provisions for providing transactional details like "shipping" or "buy/payment" attributes or similar for an iteration of hListing.<br />
<br />
== see also ==<br />
* [[hListing]]<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-duplicated-for-discussions&diff=65076
hlisting-duplicated-for-discussions
2015-06-29T14:21:03Z
<p>ChiefRA: a) added a new property named "item" + description. b) subordonated all the "item" properties to it on "hListing properties" section. c) modified the Real Estate example to reflect that.</p>
<hr />
<div><entry-title> hListing duplicated draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Duplicated Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing type''. '''required'''. indicates the desired type of listing, something that the lister already have or wants: ''offer'' | ''wanted''.<br />
** ''listing action''. '''required'''. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''event'' | ''service''.<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item''. '''required'''. encapsulates all the properties of the item being listed. It is used in conjunction with ''item type''.<br />
*** ''item type''. '''required'''. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
*** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
*** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
*** ''summary''. optional. text. <br />
*** ''description''. '''required'''. text with optional valid XHTML markup. <br />
*** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired type of listing: whether it’s about something that the lister already have (offer) or wants (wanted). <br />
<br />
<blockquote><br />
'''NOTE: This tag needs to be collapsed with "listing action" per the change made to the summary above - see the below listing action available properties, e.g. offer-sale, offer-rent, offer-service etc.'''<br />
<br />
MUST be used within the "item" definition block:<br />
<pre><nowiki><br />
<div class="hlisting"><br />
...<br />
<div class="item"><br />
<span class="fn">Parking space</span><br />
<span class="offer-rent">for rent</span><br />
</div><br />
... <br />
</div><br />
</nowiki></pre><br />
<br />
Can also be utilized all together if desired: class="item offer-sale" (for a Real Estate property for sale) OR class="item offer-rent" (for a Real Estate property for rent). <br />
</blockquote><br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: This required field indicates the person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item''':: This required field encapsulates all the properties of the item being ''listed''.<br />
<br />
<blockquote><br />
'''NOTE: This field should be used in conjunction with the "item type" required field, e.g. class="item housing", class="item event", etc. '''.<br />
</blockquote><br />
<br />
'''item type''':: This required field "type" provides the type of the item being ''listed''.<br />
<br />
<blockquote><br />
'''NOTE: This field needs to be collapsed with the "item" field in order to be taken into account, e.g. class="item housing", class="item event", etc'''.<br />
<br />
The first two tags, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale - using (fn || url || photo || geo || adr) markup for ''item info'' ===<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<br />
<div class="item housing offer-sale"><br />
<img class="photo" src="http://www.example.com/house-picture.jpg" alt="Real Estate Property picture" /><br />
<p class="price">$139,000</p><br />
<h3><br />
<a class="url" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
<span class="country-code">USA</span><br />
</div><br />
</a><br />
</h3><br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
</div><br />
<br />
<div class="lister vcard"><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
<br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=microformats2&diff=64903
microformats2
2015-04-14T11:11:09Z
<p>ChiefRA: added quotes to rel=tag => rel="tag"</p>
<hr />
<div><entry-title>microformats 2</entry-title><br />
Welcome to the microformats2 home page.<br />
<br />
== Summary ==<br />
Microformats2 is the simplest way to markup structured information in HTML. Microformats2 improves ease of use and implementation for <em>both</em> authors (publishers) and developers ([[microformats2-parsing|parser]] implementers).<br />
<br />
=== simple microformats 2 examples ===<br />
Here are a few simple microformats2 examples along with canonical [[JSON]].<br />
<br />
==== person example ====<br />
* Simple person reference:<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Frances Berriman"] <br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
==== hyperlinked person ====<br />
* Simple hyperlinked person reference<br />
<source lang=html4strict><br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Ben Ward"],<br />
"url": ["http://benward.me"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
==== hyperlinked person image ====<br />
* Simple hyperlinked person image<br />
<source lang=html4strict><br />
<a class="h-card" href="http://rohit.khare.org/"><br />
<img alt="Rohit Khare"<br />
src="https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg" /><br />
</a><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Rohit Khare"],<br />
"url": ["http://rohit.khare.org"],<br />
"photo": ["https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Additional simple cases details in [[microformats-2-implied-properties]].<br />
<br />
<br />
----<br />
<br />
==== detailed person example ====<br />
* More detailed person<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<img class="u-photo" alt="photo of Mitchell"<br />
src="https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"/><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a><br />
(<a class="u-url" <br />
href="https://twitter.com/MitchellBaker"<br />
>@MitchellBaker</a>)<br />
<span class="p-org">Mozilla Foundation</span><br />
<p class="p-note"><br />
Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.<br />
</p><br />
<span class="p-category">Strategy</span><br />
<span class="p-category">Leadership</span><br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"photo": ["https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"],<br />
"name": ["Mitchell Baker"],<br />
"url": [<br />
"http://blog.lizardwrangler.com/",<br />
"https://twitter.com/MitchellBaker"<br />
],<br />
"org": ["Mozilla Foundation"],<br />
"note": ["Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities."],<br />
"category": [<br />
"Strategy",<br />
"Leadership"<br />
]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
Notes: <br />
# The JSON <code>"type"</code> uses the full microformat root class name (e.g. <code>"h-card"</code>) for consistent identification.<br />
# all properties are optional and syntactically plural with parsed values provided in document order; particular microformats (and applications there-of) may apply specific/singular semantics to first value of a property.<br />
<br />
=== microformats2 design ===<br />
microformats2 has the following key design aspects:<br />
# '''Prefixes for class names.''' Class names used for microformats use prefixes that start with with <code>'h-' 'p-' 'u-' 'dt-', 'e-'</code>. These are '''syntax independent from vocabularies''', which can then be developed separately.<br />
#* 'h-*' for root class names, e.g. 'h-card'<br />
#* 'p-*' for simple (text) properties, e.g. 'p-name'<br />
#* 'u-*' for URL properties, e.g. 'u-photo'<br />
#* 'dt-*' for date/time properties, e.g. 'dt-bday'<br />
#* 'e-*' for embedded markup properties, e.g. 'e-note'. See [[microformats2#naming_conventions_for_generic_parsing|prefix naming conventions]] for more details.<br />
# '''Flat sets of optional properties.''' All microformats consist of a root, and a collection of properties. Hierarchical data is represented with nested microformats, typically as property values themselves. Properties are all optional and potentially multivalued (applications needing a singular semantic may use first instance).<br />
# '''Single class markup for common uses.''' Common simple markup patterns require only a single microformat root class name, which parsers use to find a few generic properties: <code>name, url, photo</code>. The simple microformats2 examples above demonstrate these.<br />
<br />
Parsing details for each of these (including how to generate canonical JSON) are specified step-by-step in the:<br />
* '''[[microformats2-parsing|microformats2 parsing specification]]'''<br />
<br />
== v2 vocabularies ==<br />
Status: '''<span id="draft_v2_vocabularies">draft</span>'''. Please review and provide feedback in [[IRC]].<br />
* [[h-adr]]<br />
* [[h-card]]<br />
* [[h-entry]]<br />
* [[h-event]]<br />
* [[h-feed]]<br />
* [[h-geo]]<br />
* [[h-item]]<br />
* [[h-listing]]<br />
* [[h-product]]<br />
* [[h-recipe]]<br />
* [[h-resume]]<br />
* [[h-review]]<br />
* [[h-review-aggregate]]<br />
<br />
See below for vocabulary summaries.<br />
<br />
=== h-adr ===<br />
{{main|h-adr}}<br />
<br />
The '''h-adr''' microformat is for marking up structured locations such as addresses, physical and/or postal. This is an update to [[adr]].<br />
<br />
root class name: '''<code>h-adr</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-adr</nowiki><br />
<br />
properties:<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>''' - new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-geo</code>''' (or '''<code>u-geo</code>''' with a RFC 5870 geo: URL) - new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-longitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-adr" is found, don't look for an "adr" on the same element.<br />
<br />
compat root class name: <code id="adr">adr</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>post-office-box</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
<br />
=== h-card ===<br />
{{main|h-card}}<br />
<br />
The '''h-card''' microformat is for marking up people and organizations. This is an update to [[hCard]].<br />
<br />
root class name: '''<code>h-card</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-card</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-honorific-prefix</code>'''<br />
* '''<code>p-given-name</code>'''<br />
* '''<code>p-additional-name</code>'''<br />
* '''<code>p-family-name</code>'''<br />
* '''<code>p-sort-string</code>'''<br />
* '''<code>p-honorific-suffix</code>'''<br />
* '''<code>p-nickname</code>'''<br />
* '''<code>u-email</code>'''<br />
* '''<code>u-logo</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-adr</code>'''<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>'''<br />
* '''<code>p-geo</code>''' or '''<code>u-geo</code>''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-tel</code>'''<br />
* '''<code>p-note</code>'''<br />
* '''<code>dt-bday</code>'''<br />
* '''<code>u-key</code>'''<br />
* '''<code>p-org</code>'''<br />
* '''<code>p-job-title</code>''' - previously 'title' in hCard, disambiguated.<br />
* '''<code>p-role</code><br />
* '''<code>u-impp</code>''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-sex</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-gender-identity</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>dt-anniversary</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* ...<br />
<br />
Reserved properties: (properties not used much (if at all) in practice)<br />
* '''<code>p-organization-name</code>'''<br />
* '''<code>p-organization-unit</code>'''<br />
* '''<code>p-tz</code>'''<br />
* '''<code>dt-rev</code>'''<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-card" is found, don't look for a "vcard" on the same element.<br />
<br />
compat root class name: <code id="vcard">vcard</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>honorific-prefix</code><br />
* <code>given-name</code><br />
* <code>additional-name</code><br />
* <code>family-name</code><br />
* <code>honorific-suffix</code><br />
* <code>nickname</code><br />
* <code>email</code> - parse as '''u-'''<br />
* <code>logo</code> - parse as '''u-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>uid</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>adr</code> - parse as '''<code>p-adr h-adr</code>''' including compat root class <code>adr</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
* <code>label</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root class <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* <code>tel</code><br />
* <code>note</code><br />
* <code>bday</code> - parse as '''dt-'''<br />
* <code>key</code> - parse as '''u-'''<br />
* <code>org</code><br />
* <code>organization-name</code><br />
* <code>organization-unit</code><br />
* <code>title</code> - parse as '''p-job-title'''<br />
* <code>role</code><br />
* ...<br />
<br />
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:<br />
* <code>tz</code><br />
* <code>rev</code> - parse as '''dt-'''<br />
* ...<br />
<br />
Note: use of 'value' within 'tel' should be automatically handled by the support of the [[value-class-pattern]]. And for now, the 'type' subproperty of 'tel' is dropped/ignored. If there is demonstrable documented need for additional tel types (e.g. fax), we can introduce new flat properties as needed (e.g. p-tel-fax).<br />
<br />
=== h-entry ===<br />
{{main|h-entry}}<br />
<br />
The '''h-entry''' microformat is for marking up syndicatable content such as blog posts, notes, articles, comments, photos and similar. This is an update to [[hAtom]].<br />
<br />
root class name: '''<code>h-entry</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-entry</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' (was p-entry-title, see issues)<br />
* '''<code>p-summary</code>''' (was p-entry-summary, see issues)<br />
* '''<code>e-content</code>''' (was e-entry-content, see issues)<br />
* '''<code>dt-published</code>'''<br />
* '''<code>dt-updated</code>'''<br />
* '''<code>p-author</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
<br />
This is an update to [[hAtom]]. <br />
<br />
Brainstorming:<br />
<br />
The following properties are proposed additions to h-entry above and beyond what hAtom (or Atom) provides, based on various existing link preview markup conventions:<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-audio</code>''' - consider special u- parsing rules for <code>&lt;audio></code><br />
* '''<code>u-video</code>''' - consider special u- parsing rules for <code>&lt;video></code><br />
* '''<code>u-in-reply-to</code>''' - for links to other posts that this post is a reply to (comment regarding, etc.)<br />
<br />
Backward compatibility: <br />
<br />
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer <code>p-name</code> over <code>p-entry-title</code>, and use <code>p-entry-title</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For hAtom backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-entry" is found, don't look for a "hentry" on the same element.<br />
<br />
compat root class name: <code id="hentry">hentry</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>entry-title</code> - parse as '''<code>p-name</code>'''<br />
* <code>entry-summary</code><br />
* <code>entry-content</code> - parse as '''e-'''<br />
* <code>published</code> - parse as '''dt-'''<br />
* <code>updated</code> - parse as '''dt-'''<br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>category</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
<span id="h-entry-faq">FAQ:</span><br />
<div class="discussion"><br />
* '''What is the <code>p-name</code> of a [http://indiewebcamp.com/note note]?'''<br />
** A few options, from simplest to most detailed.<br />
*** '''same as the p-content/e-content''' property.<br />
*** '''same as the <code>title</code> element''' on the note permalink post page. When publishing a note on its own permalink post page, the contents of the note are likely abbreviated for the title of the page. The same abbreviation can be used for the p-name.<br />
*** '''first sentence of the p-content/e-content''' property. It may be better for [http://indiewebcamp.com/syndication syndication] and [[link-preview]] purposes to provide just the first sentence of the note as the <code>p-name</code>. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the <code>p-summary</code>.<br />
* ...<br />
</div><br />
<br />
Resolved Issues:<br />
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:<br />
** Use '''<code>p-summary</code> instead of <code>p-entry-summary</code>'''. The historical semantic of "entry-summary" is not different from "summary" in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.<br />
** Use '''<code>e-content</code> instead of <code>e-entry-content</code>'''. Same point and advantage. In microformats2, entry-content is no more.<br />
** '''drop <code>p-entry-title</code>'''. Unnecessary and subsumed by "p-name". Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.<br />
<br />
=== h-event ===<br />
{{main|h-event}}<br />
<br />
The '''h-event''' microformat is for marking up events. This is an update to [[hCalendar]].<br />
<br />
root class name: '''<code>h-event</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-event</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-summary</code>'''(*)<br />
* '''<code>dt-start</code>'''<br />
* '''<code>dt-end</code>'''<br />
* '''<code>dt-duration</code>'''<br />
* '''<code>p-description</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-location</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* ...<br />
<br />
This is an update to [[hCalendar]]. <br />
<br />
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer <code>p-name</code> over <code>p-summary</code>, and use <code>p-summary</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-event" is found, don't look for a "vevent" on the same element.<br />
<br />
compat root class name: <code id="vevent">vevent</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> - parse as '''<code>p-name</code>'''<br />
* <code>dtstart</code> - parse as '''<code>dt-start</code>'''<br />
* <code>dtend</code> - parse as '''<code>dt-end</code>'''<br />
* <code>duration</code> - parse as '''<code>dt-duration</code>'''<br />
* <code>description</code><br />
* <code>url</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>location</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code>, and compat root <code>adr</code> in the absence of <code>h-adr</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
=== h-geo ===<br />
{{main|h-geo}}<br />
<br />
The '''h-geo''' microformat is for marking up WGS84 geophysical coordinates. This is an update to [[geo]].<br />
<br />
root class name: '''<code>h-geo</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-geo</nowiki><br />
<br />
properties:<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-geo" is found, don't look for an "geo" on the same element.<br />
<br />
compat root class name: <code id="geo">geo</code><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>latitude</code><br />
* <code>longitude</code><br />
<br />
=== h-item ===<br />
{{main|h-item}}<br />
<br />
The '''h-item''' microformat is for marking up the item of an [[h-review]] or [[h-product]]. This is an update to part of [[hReview]].<br />
<br />
root class name: '''<code>h-item</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-item</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
<br />
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of "h-item" won't require any explicit properties at all (since microformats2 parsers will infer name, photo, and url properties from the structure of the element with "h-item" and its contained content/elements if any).<br />
<br />
=== h-product ===<br />
{{main|h-product}}<br />
<br />
The '''h-product''' microformat is for marking up products. This is an update to [[hProduct]].<br />
<br />
root class name: '''<code>h-product</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-product</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the product<br />
* '''<code>u-photo</code>''' - photo of the product<br />
* '''<code>p-brand</code>''' - manufacturer, can also be a nested <code>h-card</code><br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>e-description</code>'''<br />
* '''<code>u-url</code>''' - URL of the product<br />
* '''<code>u-identifier</code>''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.<br />
* '''<code>p-review</code>''' - a review of the product, can also be a nested <code>h-review</code><br />
* '''<code>p-price</code>''' - retail price of the product<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-product" is found, don't look for an "hproduct" on the same element.<br />
<br />
compat root class name: <code id="hproduct">hproduct</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>brand</code><br />
* <code>category</code><br />
* <code>description</code><br />
* <code>identifier</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>review</code> - including compat root class <code>hreview</code> in the absence of <code>h-review</code><br />
* <code>price</code><br />
<br />
Note: [[hProduct]] has at least one experimental property which has real world adoption due to [[Google]] and [[Bing]] search support of hProduct. Currently this is: '''price'''<br />
<br />
=== h-recipe ===<br />
{{main|h-recipe}}<br />
<br />
The '''h-recipe''' microformat is for marking up food recipes. This is an update to [[hRecipe]].<br />
<br />
root class name: '''<code>h-recipe</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-recipe</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - the name of the recipe<br />
* '''<code>p-ingredient</code>''' - describes one or more ingredients used in the recipe.<br />
* '''<code>p-yield</code>''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies <br />
* '''<code>e-instructions</code>''' - the method of the recipe.<br />
* '''<code>dt-duration</code>''' - the time it takes to prepare the meal described by the recipe.<br />
* '''<code>u-photo</code>''' - an accompanying image<br />
<br />
Experimental properties with wide adoption<br />
* '''<code>p-summary</code>''' - provides a short summary or introduction <br />
* '''<code>p-author</code>''' - the person who wrote the recipe with <code>h-card</code><br />
* '''<code>dt-published</code>''' - the date the recipe was published<br />
* '''<code>p-nutrition</code>''' - nutritional information like calories, fat, dietary fiber etc.<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-recipe" is found, don't look for an "hrecipe" on the same element.<br />
<br />
compat root class name: <code id="hrecipe">hrecipe</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>ingredient</code><br />
* <code>yield</code><br />
* <code>instructions</code> - parse as '''e-'''<br />
* <code>duration</code> - parse as '''dt-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>summary</code><br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>nutrition</code><br />
<br />
Note: [[hRecipe]] has a number of experimental properties which have real world adoption due to [[Google]] recipe search support of hRecipe. These are: summary, author, published and nutrition<br />
<br />
=== h-resume ===<br />
{{main|h-resume}}<br />
<br />
The '''h-resume''' microformat is for marking up resumes. This is an update to [[hResume]].<br />
<br />
root class name: '''<code>h-resume</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-resume</nowiki><br />
<br />
properties:<br />
* '''<code>p-summary</code>''' - overview of qualifications and objectives<br />
* '''<code>p-contact</code>''' - current contact info in an <code>h-card</code><br />
* '''<code>p-education</code>''' - an education <code>h-calendar</code> event, years, nested <code>h-card</code> of the school, location.<br />
* '''<code>p-experience</code>''' - a job or other professional experience <code>h-calendar</code> event, years, nested <code>h-card</code> of the organization, location, job-title.<br />
* '''<code>p-skill</code>''' - a skill or ability, optionally including level and/or duration of experience<br />
* '''<code>p-affiliation</code>''' - an affiliation with an <code>h-card</code> organization<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-resume" is found, don't look for an "hresume" on the same element.<br />
<br />
compat root class name: <code id="hresume">hresume</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code><br />
* <code>contact</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>education</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>experience</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>skill</code><br />
* <code>affiliation</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
<br />
Note: skill has a [[hresume-skill-brainstorm|proposed expansion into competency]] with explicit summary, rating and/or duration components. Based on existing real world adoption, we should consider an h-competency vocabulary with p-summary, p-rating, and dt-duration properties.<br />
<br />
=== h-review ===<br />
{{main|h-review}}<br />
<br />
The '''h-review''' microformat is for marking up reviews. This is an update to [[hReview]]. See also [[h-item]].<br />
<br />
root class name: '''<code>h-review</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item ([[h-item]]).<br />
* '''<code>p-reviewer</code>''' - person who authored the review <br />
* '''<code>dt-reviewed</code>''' - date time of when the review was written<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating a rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>e-description</code>''' - the full text written evaluation and opinion of the reviewer<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review" is found, don't look for an "hreview" on the same element.<br />
<br />
compat root class name: <code id="hreview">hreview</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>reviewer</code> - including compat root vcard in the absence of h-card<br />
* <code>dtreviewed</code> - parse as '''dt-'''<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>description</code> - parse as '''e-'''<br />
* <code>rel="tag"</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
Note: The [[hReview]] format has three properties which make use of <code>rel</code> attribute, these are <code>tag</code>, permalink (via the <code>self</code> and <code>bookmark</code> values) and <code>license</code>. Microformats 2 parsers {{should}} map these URLs into the page scoped rel collection.<br />
<br />
=== h-review-aggregate ===<br />
{{main|h-review-aggregate}}<br />
<br />
The '''h-review-aggregate''' microformat is for marking up aggregate reviews of a single item. This is an update to [[hreview-aggregate]]. See also [[h-item]].<br />
<br />
root class name: '''<code>h-review-aggregate</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review-aggregate</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating average rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>p-count</code>''' - number of reviews aggregated.<br />
* '''<code>p-votes</code>''' - number of reviewers who have rated the product, thus contributing to the average rating.<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer<br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review-aggregate" is found, don't look for an "hreview-aggregate" on the same element.<br />
<br />
compat root class name: <code id="hreview-aggregate">hreview-aggregate</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>count</code><br />
* <code>votes</code><br />
* <code>rel="tag"</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
<br />
=== v2 vocab notes ===<br />
Notes: <br />
* All v2 vocabularies are defined as flat lists of properties of an object/item, and thus can be used in microformats-2 syntax as shown, or in microdata items, or RDFa. The microformats-2 property parsing prefixes "p-", "u-", "dt-", "e-" are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.<br />
* Profile URLs are provided for use with the HTML4 <code>profile</code> attribute, microdata <code>itemtype</code> attribute, and RDFa <code>vocab</code> &amp; <code>typeof</code> attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). <br />
* microformats 2 properties may also be explicitly bound as URIs using [[rel-profile]], the [[html5-profile]] attribute proposal, or an HTML5 'vocab' attribute instead. If URI bound terms are important to you, please express interest on [[rel-profile]], [[html5-profile]], or contribute to an [[html5-vocab]] draft.<br />
<br />
=== v2 vocab to-do ===<br />
To do: <br />
* write a simple tutorial for creating/getting started with microformats-2 markup for new content<br />
* examples in each h-* spec listed above of how to embed other microformats in them<br />
* actual profile documents at <nowiki>http://microformats.org/profile/h-*</nowiki> URLs mentioned above.<br />
* Provide any necessary microdata-specific language as needed (e.g. to be comparably understandable to the [http://www.whatwg.org/specs/web-apps/current-work/#vcard sample vCard4/hCard1 microdata vocabulary]. Also provide any necessary RDFa-specific language as needed. Both preferably in a generic vocabulary-independent way.<br />
* write a porting guide mapping v1 property -> v2 property<br />
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).<br />
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)<br />
* analyzie/document how well the microformats2 model and vocabularies satisfy the [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-May/019681.html use-cases used to design/create microdata].<br />
<br />
== combining microformats ==<br />
Since microformats 2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.<br />
<br />
=== h-event location h-card ===<br />
Events commonly have venue information with additional structure, like address information. For example:<br />
<br />
<source lang=html4strict><br />
<div class="h-event"><br />
<a class="p-name u-url" href="http://indiewebcamp.com/2012"><br />
IndieWebCamp 2012<br />
</a><br />
from <time class="dt-start">2012-06-30</time> <br />
to <time class="dt-end">2012-07-01</time> at <br />
<span class="p-location h-card"><br />
<a class="p-name p-org u-url" href="http://geoloqi.com/"><br />
Geoloqi<br />
</a>, <br />
<span class="p-street-address">920 SW 3rd Ave. Suite 400</span>, <br />
<span class="p-locality">Portland</span>, <br />
<abbr class="p-region" title="Oregon">OR</abbr><br />
</span><br />
</div><br />
</source><br />
<br />
The nested h-card used to structure the p-location of the h-event is represented as a structured value for "location" in the JSON, which has an additional key, "value" that represents the plain text version parsed from the p-location.<br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-event"],<br />
"properties": {<br />
"name": ["IndieWebCamp 2012"],<br />
"url": ["http://indiewebcamp.com/2012"],<br />
"start": ["2012-06-30"],<br />
"end": ["2012-07-01"],<br />
"location": [{<br />
"value": "Geoloqi, 920 SW 3rd Ave. Suite 400, Portland, OR",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Geoloqi"],<br />
"org": ["Geoloqi"],<br />
"url": ["http://geoloqi.com/"],<br />
"street-address": ["920 SW 3rd Ave. Suite 400"],<br />
"locality": ["Portland"],<br />
"region": ["Oregon"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Questions:<br />
<div class="discussion"><br />
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, how do we avoid expansion of the JSON geometrically proportional to the depth of microformat nesting? (Or do we not worry about it?)<br />
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no, we stick with one canonical JSON for uf2 which is hierarchical. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, should the flattened JSON have references from properties to nested microformats that have been pushed to the top level per flattening? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
</div><br />
<br />
Notes:<br />
* The 'location' value reflects the visible text of its element, including spaces and punctuation, as well as the state abbreviation 'OR'. The 'h-card' property values are only what is marked up, and thus include structure values without extra punctuation, and the state takes the expanded form from the <code>title</code> attribute of its <code>&lt;abbr&gt;</code> element.<br />
<br />
=== h-card org h-card ===<br />
People often publish information general to their company rather than specific to them, in which case, they may wish to encapsulate that in separately nested microformat. E.g. here is a simple h-card example with org property:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)<br />
<br />
with source:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<span class="p-org">Mozilla Foundation</span>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": ["Mozilla Foundation"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Sometimes such organization affiliations are hyperlinked to the website of the organization:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])<br />
<br />
You can mark that up with a nested h-card:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an <code>&lt;a href&gt;</code> would.<br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
The nested 'h-card' could be marked up as an 'h-org' as well, which adds it to the nested microformat's type array, all as part of the property specified by the 'p-org'.<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card h-org" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card", "h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Without a property class name like 'p-org' holding all the nested objects together, we need to introduce another array for nested children (similar to the existing DOM element notion of children) of a microformat that are not attached to a specific property:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card","h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
Since there's no property class name on the element with classes 'h-card' and 'h-org', the microformat representing that element is collected into the children array.<br />
<br />
Such a nested microformat implies some relationship (containment, being related), but is not as useful as if the nested microformat was a specific property of its parent.<br />
<br />
For this reason it's recommended that authors should not publish nested microformats without a property class name, and instead, when nesting microformats, authors should always specify a property class name (like 'p-org') on the same element as the root class name(s) of the nested microformat(s) (like 'h-card' and/or 'h-org').<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Or the nested object could be only marked up with 'h-card'. Source:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
'''TO DO: Add h-event h-card example and JSON, per real world publishing examples like [http://www.swingtime.co.uk/List/ClSouth.html Swing Time: Classes in Southern England].'''<br />
<br />
== authoring ==<br />
=== minimal markup ===<br />
The best way to use microformats-2 is with as little additional markup as possible. This keeps your code cleaner, improves its maintainability, and thus the quality and longevity of your microformats.<br />
<br />
One big advantage of microformats-2 over previous microformats (and others) is the ability to add one class name to an existing element to create a structured item.<br />
<br />
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.<br />
<br />
Simple hCards work just by adding <code>class="h-card"</code> :<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
<br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
<br />
<img class="h-card" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
<br />
<a class="h-card" href="http://tantek.com"><br />
<img alt="Tantek Çelik" src="http://ttk.me/logo.jpg"/><br />
</a><br />
</source><br />
<br />
* Tip: Inside an open tag, put the <code>class</code> attribute <em>first</em>, then any human text content attributes (e.g. <code>alt</code>), then URL attributes (e.g. <code>href</code> <code>src</code>), and lastly other attributes (e.g. <code>style</code>). Putting the class attribute first ties it closely to the element name/tag itself, makes it more obvious, and thus more likely to be kept up to date.<br />
<br />
=== backward compatible ===<br />
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats-2]], you can include both existing microformats and microformats-2 markup.<br />
<br />
In short: use both sets of class names simultaneously. <br />
<br />
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.<br />
<br />
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a <code>&lt;span&gt;</code>) to separate the root class name element from explicit property class name elements:<br />
<br />
<source lang=html4strict><br />
<span class="h-card vcard"><br />
<span class="p-name fn">Frances Berriman</span><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="p-name fn u-url url" href="http://benward.me">Ben Ward</a><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<img class="p-name fn u-photo photo" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="u-url url" href="http://tantek.com"><br />
<img class="p-name fn u-photo photo" alt="Tantek Çelik" <br />
src="http://ttk.me/logo.jpg"/><br />
</a><br />
</span><br />
</source><br />
<br />
<br />
Tips:<br />
* use the microformats-2 class name first, e.g.<br />
** <code>class="h-card vcard"</code><br />
** <code>class="u-url url"</code><br />
* and pair them when using an element for multiple properties, e.g.:<br />
** <code>class="p-name fn u-url url"</code><br />
** <code>class="p-name fn u-photo photo"</code><br />
* put microformats classes after classes for CSS (since page authors will likely interact more with their own classes for design than with microformats classes), e.g. as used on individual microformats [[events]] pages:<br />
** <code>class="event-page h-event vevent"</code> <br />
<br />
The prefixes (h-, p-, etc.) of microformats2 class names provide easier recognition, and when followed by the similarly named existing class name, they're more easily recognized as related and thus kept together when the markup is maintained over time.<br />
<br />
Related FAQ: [[microformats2-faq#when_using_both_h-card_and_vcard_which_should_be_first_and_why|When using both h-card and vcard which should be first and why?]]<br />
<br />
== validators ==<br />
microformats2 validators:<br />
<br />
{{new}} Test your microformatted web page with: <br />
* https://pin13.net/mf2/<br />
<br />
Barnaby Walters has a hosted version of the open source php-mf2 [[parser]] where you can enter your markup into a textarea and see how it's parsed:<br />
* http://waterpigs.co.uk/php-mf2/<br />
<br />
See the [[validators]] page for a longer list of validators.<br />
<br />
== Examples in the wild ==<br />
Please add new examples in the wild of microformats-2 to the top of this list. When it gets too big we can move it to a separate page like [[microformats-2-examples-in-wild]].<br />
<br />
* ...<br />
* David John Mead marks up his profile, blog posts and comments with h-card, h-entry and h-cite on [http://davidjohnmead.com davidjohnmead.com]<br />
* [[User:Brian|Brian Suda]] marks up his blog posts up with h-entry and h-card on [http://optional.is/required/ optional.is]<br />
* Ashton McAllen marks up his blog posts, reposts, comments and likes with h-entry, h-card and h-cite on [http://acegiak.net/ acegiak.net]<br />
* Emma Kuo marks up her blog posts and notes with h-entry and h-card on [http://notenoughneon.com/ notenoughneon.com]<br />
* Scott Jenson marks up his blog posts with h-entry and h-card on [http://jenson.org/ jenson.org]<br />
* Emily McAllen marks up her blog posts with h-entry and h-card on [http://blackwoolholiday.com/ blackwoolholiday.com]<br />
* Ryan Barrett marks up his blog posts, notes, replies and likes with h-entry and h-card on [https://snarfed.org/ snarfed.org]<br />
* Barry Frost marks up his notes with h-entry, h-card and h-cite on [http://barryfrost.com/ barryfrost.com]<br />
* Amber Case marks up her profile, blog posts, replies and notes with h-entry and h-card on [http://caseorganic.com/ caseorganic.com]<br />
* Johannes Ernst marks up his blog posts with h-entry on [http://upon2020.com/blog/ upon2020.com]<br />
* Michiel de Jong marks up his profile and notes with h-entry and h-card on [https://michielbdejong.com/ michielbdejong.com]<br />
* Mike Taylor marks up his profile and blog posts with h-card and h-entry on [https://bear.im/bearlog/ bear.im]<br />
* Erin Jo Ritchey marks up her profile, posts and comments using h-card, h-entry and h-cite with idno on [http://erinjo.is/ erinjo.is]<br />
* Jeena Paradies marks up his profile, blog posts, notes and comments using h-card, h-entry and h-cite on [https://jeena.net/ jeena.net]<br />
* Andy Sylvester marks up his profile, blog posts and comments using h-card and h-entry on [http://andysylvester.com/2014/03/01/howto-setting-up-the-selfoss-feed-reader-with-microformats-support/ andysylvester.com] (note: as of 2014-03-13 using h-entry for comments instead of correct h-cite --[[User:Barnabywalters|bw]] 14:44, 13 March 2014 (UTC))<br />
* Hakan Demir marks up his Coupon and Voucher blog posts with h-entry and h-card on [http://www.gutscheinflagge.de/ gutscheinflagge.de]<br />
* Chloe Weil marks up her blog posts with h-entry on [http://chloeweil.com/blog chloeweil.com]<br />
* Christophe Ducamp marks up his blog posts and profile with h-entry and h-card on [http://christopheducamp.com/ christopheducamp.com]<br />
* Glenn Jones marks up his blog posts, notes, replies, profile and comments with h-entry, h-card and h-cite on [http://glennjones.net/ glennjones.net]<br />
* Marcus Povey marks up his blog posts and profile with h-entry and h-card on [http://www.marcus-povey.co.uk/ marcus-povey.co.uk]<br />
* Eugen Busoiu marks up his web profile with h-card on [http://eugenbusoiu.com/#utm_source=microformats2&utm_medium=h-card&utm_campaign=Microformats eugenbusoiu.com]]<br />
* Matthias Pfefferle marks up his blog posts, comments and profile with h-card, h-cite and h-entry on [http://notizblog.org/ notizblog.org]<br />
* Kyle Mahan marks up his profile and notes with h-card and h-entry on [http://kylewm.com/ kylewm.com]<br />
* Okinawan-lyrics marks up his blog posts with h-entry and h-card ([http://www.okinawan-lyrics.com/ example])<br />
* Emil Björklund marks up his blog posts with h-entry and h-card ([http://thatemil.com/blog/2013/09/16/webmentioning-adactio/ example])<br />
* App.net rolled out support for h-card and h-entry on all profile pages and permalink pages as of 2013-08-06 ([https://alpha.app.net/voidfiles example])<br />
* Brett Comnes marks up his posts with h-entry and h-card ([http://bret.io/2013/06/29/getting-started-with-bower/ example])<br />
* Ben Werdmuller marks up his posts with h-card and h-entry, u-in-reply-to and u-like ([http://werd.io/view/51d5097fbed7ded0633a5956 example])<br />
* Sandeep Shetty marks his posts up with h-card and h-entry, as well as draft u-in-reply-to and experimental u-like properties ([http://sandeep.io/101 example])<br />
* Laurent Eschenauer marks up his posts with h-entry ([http://eschnou.com/entry/first-autonomous-flight-of-my-nodecopter-62-24992.html example])<br />
* Tom Morris marks up his posts using h-entry ([http://tommorris.org/posts/8417 example])<br />
* Sinolandquality marks up some of their content using h-feed and h-entry on [http://www.sinolandquality.com/Blog/?page_id=3516&utm_content=buffere4d40&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer sinolandquality.com]<br />
* [http://www.w3.org/conf/ W3Conf 2013] uses h-event for the main event, and h-card for all the speakers and notable attendees. The h-cards make particularly good use of implied name, url, and photo properties.<br />
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*<br />
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages<br />
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].<br />
* Aaron Parecki uses h-card to markup both authorship and references to people in his notes permalinks, e.g. [http://aaronparecki.com/2012/230/reply/1 2012/230/reply/1].<br />
* [http://tantek.com/ Tantek Çelik] uses h-card, h-event, and h-entry on his home page, as well as h-entry on all post permalinks, e.g. [http://tantek.com/2012/243/t1/name-beats-title-modern-use-dubline-core-wrong-uf2 2012-243 post], with [[rel-prev]]/[[rel-next]] (if applicable) to indicate prev/next posts, and with [[rel-author]] to his home page with canonical hCard to indicate authorship.<br />
* [http://waterpigs.co.uk/ Barnaby Walters] uses h-card on his home page, h-card, h-entry and XFN markup on his [http://waterpigs.co.uk/notes notes page].<br />
** 2013-01-25 Barnaby Walters: <cite>[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]</cite> - describes how he's using microformats2 vocabularies: <code>h-adr</code>, <code>h-card</code>, <code>h-entry</code>, <code>h-event</code>, <code>h-geo</code>, <code>h-review</code>, and experimental vocabularies: <code>h-feed</code> (embedded for update histories), [[activity-streams]] objects <code>h-as-article</code>, <code>h-as-collection</code>, <code>h-as-note</code>, <code>h-as-update</code>, as well as experimental properties: <code>u-alternate</code> and <code>u-as-downstream-duplicate</code> (links to POSSE copies), and <code>u-in-reply-to</code> (links to content that the posts are in reply to). <br />
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.<br />
* [http://tantek.com/presentations/2012/06/pdf2012-indieweb.html Rise of the Indie Web hCards] (from Personal Democracy Forum 2012 #pdf12 #pdf2012) has [[microformats-2]] h-calendar and h-card markup<br />
* WebMaker by Mozilla has [[microformats-2]] h-calendar and h-card on event search (e.g. [https://webmaker.org/en-US/events/near/?lat=45.5234515&lng=-122.6762071 search near Portland Oregon]) and event pages (e.g. [https://webmaker.org/en-US/events/192f56eb9/ IndieWebCamp 2012]).[https://twitter.com/microformats/status/212207925643587585]<br />
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages<br />
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.<br />
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.<br />
* The [http://pdx.esri.com/blog/2013/10/17/introducing-mapattack/ Esri PDX Blog] has h-entry markup on all blog posts (as of 2013-10-19), and h-product markup on [http://pdx.esri.com/projects/terraformer/ project pages]<br />
<br />
=== offline ===<br />
* spreadly marks up share permalink pages with h-entry, as well as minimal h-cards and experimental p-like properties ([http://my.spread.ly/share/51d570bc09e9486562000002 example])<br />
<br />
== Implementations ==<br />
{{new}} Test your microformatted web page with: <br />
* https://pin13.net/mf2/ (where it says "Microformats Parser")<br />
<br />
=== Blogging tools ===<br />
* '''Storytlr''' parses the 'target' from [http://indiewebcamp.com/pingback pingbacks] for [https://github.com/storytlr/storytlr/blob/master/protected/application/public/controllers/PingbackController.php#L63 h-entry with properties and nested h-card] for information to automatically display in the [http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html comments section on a post].<br />
<br />
=== Converters ===<br />
<br />
* '''[https://github.com/snarfed/activitystreams-unofficial activitystreams-unofficial]''' is a library and REST API that converts between silo APIs, [[ActivityStreams]] and [[microformats2]] (all directions). Supported silos include Facebook, Twitter, Instagram and Google+. Users include [http://brid.gy/ Bridgy], [http://reader.kylewm.com/ Woodwind], and [https://facebook-atom.appspot.com/ facebook-atom] and [https://twitter-atom.appspot.com/ twitter-atom], among others.<br />
<br />
* '''[http://pipes.yahoo.com/pipes/pipe.info?_id=afc5568b4e8643bfb05436b1caaf91bc microformats to RSS]''' - a Yahoo! pipe that converts a URL containing an [[h-feed]] containing h-entries, into an [[RSS]] feed ([http://waterpigs.co.uk/notes/4SeNi5/ 2013-10-21 blog post announcing])<br />
<br />
=== Parsers ===<br />
Parsers, open source libraries:<br />
<br />
==== Javascript ====<br />
* '''microformat-node''' Node.js microformats2 parser<br />
** github open source: https://github.com/glennjones/microformat-node<br />
** test suite: https://github.com/microformats/tests<br />
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/<br />
** live: http://glennjones.net/tools/microformats/<br />
* '''microformat-shiv''' - cross browser javascript microformats 2 parser which can also be used in browser extensions.<br />
** http://microformatshiv.com/<br />
** github open source: https://github.com/glennjones/microformat-shiv<br />
==== PHP ====<br />
* '''<span id="php-mf2">php-mf2</span>''' - PHP microformats2 parser<br />
** github open source: https://github.com/indieweb/php-mf2<br />
** Packagist: https://packagist.org/packages/mf2/mf2<br />
** live: <br />
*** textarea entry: http://waterpigs.co.uk/php-mf2/<br />
*** URL entry: https://pin13.net/mf2/<br />
==== Ruby ====<br />
* '''G5/microformats2''' Ruby microformats2 parser<br />
** github open source: https://github.com/G5/microformats2<br />
==== Python ====<br />
* ''mf2py'' Python microformats2 parser<br />
** main entry: [[mf2py]]<br />
** github open source: https://github.com/tommorris/mf2py<br />
** live: <br />
*** URL entry: [https://mf2py.herokuapp.com/ mf2py.herokuapp.com]<br />
*** textarea entry: https://kartikprabhu.com/connection/mfparser<br />
<br />
== Presentations ==<br />
Presentations about microformats2:<br />
* 2013-01-24 <cite>[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]</cite> presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.<br />
* 2012-09-21 <cite>[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp; bits of HTML5: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.<br />
* 2012-07-21 <cite>[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-21-cascadesf|Innovators of the Web conference]] in San Francisco, CA.<br />
* 2012-07-14 <cite>[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-14-open-web-camp-4|Open Web Camp IV]] in San Jose, CA.<br />
<br />
== Testimonials ==<br />
* <blockquote class="twitter-tweet">To prove the web standards community can come up with better standards than the SE’s, compare this: http://microformats.org/wiki/microformats-2 with schema . org &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]</blockquote><br />
* <blockquote class="twitter-tweet">... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]</blockquote><br />
* <blockquote class="twitter-tweet">... But damn Microformats2 are sexy. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]</blockquote><br />
<br />
== About This Brainstorm ==<br />
The rest of this page is a brainstorm currently written in narrative / exploratory format, that is, acknowledging the success that microformats have had, why so, and then a walk through of known issues with microformats in general along with iteration of ways to address said issues, ending up with the current microformats 2 design as a conclusion.<br />
<br />
The proposals build on each other resulting in a solution that addresses the vast majority of general issues. The proposed changes merit a major version number increment, hence microformats 2.<br />
<br />
This mathematical proof/derivation style is used to explicitly encourage understanding (and double-checking) of the rational steps taken in the development of microformats 2. Reasons are documented, sometimes along with alternatives considered (and reasons for rejection of those alternatives).<br />
<br />
When the microformats 2 brainstorm has evolved sufficiently to demonstrate some degree of stability, usability, and implementability, it will be rewritten in a more declarative specification style, and this narrative/derivation will be archived to a background development page for historical purposes.<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
== Background ==<br />
<br />
2004: In early February microformats were introduced as a concept at eTech, and in September [[hCard]] and [[hCalendar]] were proposed at FOO Camp.<br />
<br />
2010:<br />
* 34% of webdevs use microformats ([http://www.webdirections.org/sotw10/markup/#semantics 2010 State of Web Development survey])<br />
* 1.88 billion hCards (per [[Yahoo]] SearchMonkey)<br />
* 36 million hCalendar events (ibid)<br />
<br />
* XFN -> Social Graph API -> Web as Social Network / Address Book<br />
<br />
== Addressing Issues ==<br />
=== AUTHORS and PUBLISHING ===<br />
Authors and publishers are perhaps the most important constituency in the microformats community. There are more of them than there are developers, programmers, parsers, etc. and they're the ones that solved the chicken-egg problem by publishing microformats even before tools were available for consuming them.<br />
<br />
Therefore we must first address author/publisher general issues with microformats.<br />
<br />
==== can we make the simplest case simpler ====<br />
Issue: '''How can we make it easier for authors to publish microformats?'''<br />
<br />
Currently the simplest hCard:<br />
<source lang=html4strict><br />
<span class="vcard"><br />
<span class="fn"><br />
Chris Messina<br />
</span><br />
</span><br />
</source><br />
<br />
requires 2 elements (nested, with perhaps at least one being pre-existing), and 2 class names.<br />
<br />
Web authors/designers are used to the simplicity of most HTML tags, e.g. to mark up a heading:<br />
<br />
<source lang=html4strict><br />
<h1>Chris Messina</h1><br />
</source><br />
<br />
requires just 1 element.<br />
<br />
[http://zeldman.com/ Jeffrey Zeldman] pointed out this apparent perceived incremental complexity (2 elements vs 1) during a microformats workshop in 2009 in New York City.<br />
<br />
'''How can we make microformats just as easy?'''<br />
<br />
'''Proposal: allow root class name only.'''<br />
<br />
This would enable:<br />
<br />
<source lang=html4strict><br />
<h1 class="vcard">Chris Messina</h1><br />
</source><br />
<br />
requiring only 1 class name for the simplest case.<br />
<br />
<br />
==== renaming for usability ====<br />
Otherwise known as, choosing one form of consistency over another.<br />
<br />
'''Can we do even better?'''<br />
<br />
One of the most common questions asked about hCard is:<br />
<br />
[[hcard-faq#Why_does_hCard_use_vcard_as_the_root_class_name|Why does hCard use vcard as the root class name?]]<br />
<br />
This slight inconsistency between the name of the format and the name of the root class name consistently causes confusion in a large percentage of newcomers to microformats.<br />
* See [[issues#hcard-vs-vcard-name]] for details/links.<br />
<br />
Though in microformats we believe very strongly in the [[principle]] of [[reuse]], we have to admit that in this case experience/evidence has shown that this may be a case where we re-used something too far beyond it's original meaning. Thus:<br />
<br />
'''Proposal: use root class name "hcard" instead of "vcard" for future hCards.'''<br />
<br />
This would result in:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard">Chris Messina</h1><br />
</source><br />
<br />
making the simple case even simpler:<br />
<br />
Just 1 additional class name, named the same as the format you're adding. Think hCard, markup class="hcard".<br />
<br />
At a minimum for compatibility we should document that parsers should accept "hcard" as an alternative to "vcard" as the root class name for hCard 1.0, and similarly for hCalendar 1.0: "hcalendar" in addition to "vcalendar", "hevent" in addition to "vevent".<br />
<br />
However, for [[microformats-2]] we are going to distinguish root class names further by using an "h-" prefix (e.g. "h-card"). Read on to understand why.<br />
<br />
==== simplifying to only needing one element ====<br />
It's very important for the simple case to be as simple as possible, to enable the maximum number of people to get started with minimum effort. (The idea of using a single class name for a microformat was proposed by Ryan Cannon in 2006 specifically [[hcard-implied|for hCard]], and rediscovered by [[User:Tantek|Tantek]] in 2010 and subsequently generalized to all microformats.)<br />
<br />
From there on, it's ok to require incremental effort for incremental return.<br />
<br />
E.g. to add any additional information about a person, add explicit property names.<br />
<br />
'''How does this simple root-only case work?'''<br />
<br />
* root class name reflects name of the microformat<br />
* every microformat must require at most 1 property (preferably 0)<br />
** admit that requiring a field in an application just results in noise (the 90210 problem - apps which require zip code get lots of false 90210 entries), and specify that any application use cases which appear to "require" specific properties must instead define how to imply sensible defaults for them.<br />
* when only a root class name is specified, imply the entire text contents of the element as the value of the primary property of the microformat. e.g.<br />
** "hcard" implies "fn"<br />
** hcalendar event - "hevent" - implies "summary"<br />
** "hreview" implies "summary"<br />
** "hentry" implies "entry-summary" (perhaps collapse into "summary" - in practice they're not sufficiently semantically distinct to require separate property names)<br />
** '''OR''' instead of making the one implied property be vocabulary specific, introduce a new generic (applicable to all vocabularies) 'p-name' property (subsuming hCard's 'fn'). See [[microformats-2-brainstorming#further_simplifications|microformats 2 brainstorming: further simplifications]] for latest thoughts along these lines, including the following specific mark-up implied generic properties across all microformats (based on existing published markup use-cases)<br />
*** 'p-name'<br />
*** 'u-url'<br />
*** 'u-photo'<br />
<br />
==== flat sets of properties ====<br />
'''What more can we simplify about microformats?'''<br />
<br />
Numerous individuals have provided the feedback that whenever there is more than one level of hierarchy in a microformat, many (most?) developers get confused - in particular Kavi Goel of Google / Rich Snippets provided this feedback at a microformats dinner. Thus depending on multiple levels of hierarchy is likely resulting in a loss of authorability, perhaps even accuracy as confusion undoubtedly leads to more errors. Thus:<br />
<br />
'''Proposal: simplify all microformats to flat sets of properties. '''<br />
<br />
What this means:<br />
* all microformats are simply an object with a set of properties with values.<br />
* no more subproperties- drop the notion of subproperties.<br />
* use composition of multiple microformats for any further hierarchy, e.g. the "location" of an hCalendar event can be an hCard, or the "agent" of one hCard can be another hCard.<br />
<br />
For example for hCard this would mean the following specific changes to keep relevant functionality:<br />
* drop "n", promote all "n" subproperties to full properties<br />
** given-name, family-name, additional-name, honorific-prefix, honorific-suffix<br />
* treat "geo" as a nested microformat<br />
* treat "adr" as a nested microformat (what to do about adr's "type"?)<br />
* treat "org" as a flat string and drop "organization-name" and "organization-unit" (in practice rarely used, also not revealed or ignored in contact management user interfaces - e.g. Address Book)<br />
<br />
Example: add a middle initial to the previous example Chris Messina's name, and markup each name component:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard"><br />
<span class="fn"><br />
<span class="given-name">Chris</span><br />
<abbr class="additional-name">R.</abbr><br />
<span class="family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
Note:<br />
# use of an explicit span with "fn" to markup his entire formatted name<br />
# use of the abbr element to explicitly indicate the semantic that "R." is merely an abbreviation for his additional-name.<br />
<br />
==== distinguishing properties from other classes ====<br />
Current microformats properties re-use generic terms like "summary", "photo", "updated" both for ease of use and understanding.<br />
<br />
However, through longer term experience, we've seen sites that accidentally drop (or break) their microformats support (e.g. Upcoming.org, Facebook) because web authors sometimes rewrite all their class names, and either are unaware that microformats were in the page, or couldn't easily distinguish microformats property class names from other site-specific class names.<br />
<br />
This issue has been reported by a number of web authors.<br />
* See: [[issues#class-collisions]]<br />
<br />
Thus microformats 2 uses ''prefixes'' for property class names, e.g.:<br />
* '''p-summary''' instead of ''summary''<br />
* '''u-photo''' instead of ''photo'' <br />
* '''dt-updated''' instead of ''updated''<br />
<br />
Such prefixing of all microformats class names was first suggested by Scott Isaacs of Microsoft to Tantek on a visit to Microsoft sometime in 2006/2007, but specifically aimed at making microformats easier to parse. At the time the suggestion was rejected since microformats were focused on web authors rather than parsers.<br />
<br />
However, since experience has shown that distinguishing property class names is an issue for '''both web authors and parser developers''', this is a key change that microformats 2 is adopting. See the next section for details.<br />
<br />
=== COMMUNITY and TOOLS ===<br />
The second most important constituency in the microformats community are the developers, programmers, tool-makers.<br />
<br />
A non-trivial number of them have been sufficiently frustrated with some general issues with microformats that they've done the significant extra work to support very different and less friendly alternatives (microdata, RDFa). Based on this real-world data (market behavior), it behooves us to address these general issues with microformats for this constituency.<br />
<br />
==== existing microformats parsing requirements ====<br />
COMMUNITY and TOOLS (that) USE MICROFORMATS <br />
* parser / parsing<br />
* structured<br />
* getting the data out<br />
* json - 1:1 mapping<br />
<br />
[[parsing]] microformats currently requires<br />
# a list of root class names of each microformat to be parsed<br />
# a list of properties for each specific microformats, along with knowledge of the type of each property in order to parse their data from potentially different portions of the HTML markup<br />
# some number of format-specific specific rules (markup/content optimizations)<br />
<br />
This has meant that whenever a new microformat is drafted/specificied/adopted, parsers need to updated to handle it correctly, at a minimum to parse them when inside other microformats and avoid errantly implying properties from one to the other (containment, [[mfo]] problem).<br />
<br />
==== naming conventions for generic parsing ====<br />
I think there is a fairly simple solution to #1 and #2 from the above list, and we can make progress towards minimizing #3. In short:<br />
<br />
'''Proposal: a set of naming conventions for microformat root class names and properties that make it obvious when:'''<br />
* a class name represents a microformat root class name<br />
* a class name represents a microformat property name<br />
* a class name represents a microformat property that needs special parsing (specific type of property).<br />
<br />
In particular - derived from the real world examples of existing proven microformats (rather than any abstraction of what a schema should have)<br />
* '''"h-*" for root class names''', e.g. "h-card", "h-event", "h-entry"<br />
** The 'h-' prefix is based on the existing microformats naming pattern of starting with 'h'.<br />
* '''"p-*" for simple (text) properties''', e.g. "p-fn", "p-summary"<br />
** vocabulary generic parsing, element text in general, treat certain HTML element/attribute combination as special and use those first, e.g. img/alt, abbr/title.<br />
** The 'p-' prefix is based on the word "property" starting with 'p'.<br />
* '''"u-*" for URL properties''', e.g. "u-url", "u-photo", "u-logo"<br />
** special parsing required: prefer a/href, img/src, object/data etc. attributes to element contents.<br />
** The 'u-' prefix is based on URL/URI starting with the letter 'u', which is the type of most of these related properties.<br />
* '''"dt-*" for datetime properties''', e.g. "dt-start", "dt-end", "dt-bday"<br />
** special parsing required: [[value-class-pattern]], in particular separate date time value parsing for better human readabillity / DRY balance.<br />
** The 'dt-' prefix is based on "date time" having the initials "dt" and the preponderance of existing date time properties starting with "dt", e.g. dtstart, dtend, dtstamp, dtreviewed.<br />
* '''"e-*" for element tree properties''' where the entire contained element hierarchy is the value, e.g. "e-content" (formerly "entry-content") for [[hAtom]]. The 'e-' prefix can also be mnemonically remembered as "element tree", "embedded markup", or "encapsulated markup".<br />
** special parsing required: follow the [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments HTML spec: Serializing HTML Fragments algorithm] to create a serialization.<br />
<br />
This provides a simpler transition/education story for existing microformats authors/publishers: <br />
* "h*" to "h-*", "dt*" to "dt-*", url-like properties to "u-*", entire embedded markup to "e-*", and "p-*" for all "plain text" properties.<br />
<br />
See [[microformats-2-prefixes]] for further thoughts and discussions on these and other class prefixes.<br />
<br />
Example: taking that simple heading hCard example forward:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card">Chris Messina</h1><br />
</source><br />
<br />
As part of microformats 2 we would immediately define root class names and property names for all existing microformats and drafts consistent with this naming convention, and require support thereof from all new implementations, as well as strongly encouraging existing implementations to adopt the simplified microformats 2 syntax and mechanism. Question: which microformats deserve explicit backward compatibility?<br />
<br />
As a community we would continue to use the microformats [[process]] both for researching and determining the need for new microformats, and for naming new microformat property names for maximum re-use and interoperability of a shared vocabulary.<br />
<br />
If it turns out we need a new property type in the future, we can use one of the remaining single-letter-prefixes to add it to microformats 2. This would require updating of parsers of course, but in practice the number of different types of properties has grown very slowly, and we know from other schema/programming languages that there's always some small limited number of scalar/atomic property types that you need, and using those you can create compound types/objects that represent richer / more complicated types of data. See [[microformats-2-prefixes]] for documentation of existing single-letter class name prefixes in practice.<br />
<br />
=== ADVANTAGES ===<br />
This has numerous advantages:<br />
* '''better maintainability''' - much more obvious to web authors/designers/publishers which class names are for/from microformats.<br />
* '''no chance of collision''' - for all practical purposes with existing class names and thus avoiding any need to add more complex CSS style rules to prevent unintended styling effects.<br />
* '''simpler parsing''' - parsers can now do a simple stream-parse (or in-order DOM tree walk) and parse out '''all''' microformat objects, properties, and values, without having to know anything about any specific microformats.<br />
* '''separation of syntax and vocabulary''' - by abstracting microformats 2 syntax independent of any vocabulary, it allows and encourages development of shared vocabularies that can work in alternative syntaxes.<br />
<br />
More examples: here is that same heading example with name components:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<span class="p-fn"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
with a hyperlink to Chris's URL:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<a class="p-fn u-url" href="http://factoryjoe.com/"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
=== COMPATIBILITY ===<br />
<br />
microformats 2 is backwards compatible in that in permits content authors to markup with both old and new class names for compatibility with old tools.<br />
<br />
Here is a simple example:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<span class="fn">Chris Messina</span><br />
</h1><br />
</source><br />
<br />
a microformats 2 parser would see the class name "h-card" and imply the one required property from the contents, while a microformats 1.0 parser would find the class name "vcard" and then look for the class name "fn". no data duplication is required. this is a very important continuing application of the <abbr title="don't repeat yourself">DRY</abbr> [[principle]].<br />
<br />
And the above hyperlinked example with both sets of class names:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<a class="p-fn u-url n fn url" href="http://factoryjoe.com/"><br />
<span class="p-given-name given-name">Chris</span><br />
<abbr class="p-additional-name additional-name">R.</abbr><br />
<span class="p-family-name family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
<br />
=== VENDOR EXTENSIONS ===<br />
<br />
(this section was only discussed verbally and not written up during discussions - capturing here as it is topical)<br />
<br />
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.<br />
<br />
Proprietary or experimental CSS3 property implementations have been very successful.<br />
<br />
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:<br />
<br />
* -moz-border-radius<br />
* -webkit-border-radius<br />
<br />
etc.<br />
<br />
Note that these are merely string '''prefixes''', not bound to any URL, and thus not namespaces in any practical sense of the word. This is quite an important distinction, as avoiding the need to bind to a URL has made them easier to support and use.<br />
<br />
This use of vendor specific CSS properties has in recent years allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.<br />
<br />
The benefits have been two-fold:<br />
* designers have been able to make more attractive sites sooner (at least in some browsers)<br />
* features have been market / real-world tested before being fully standardized, thus resulting in better features<br />
<br />
Implementers have used/introduced "x-" prefixes for IETF MIME/content-types for experimental content-types, MIME parameter extensions, and HTTP header extensions, per RFC 2045 Section 6.3, RFC 3798 section 3.3, and [https://secure.wikimedia.org/wikipedia/en/wiki/List_of_HTTP_header_fields#Common_non-standard_headers Wikipedia: HTTP header fields - non-standard headers] (could use RFC reference instead) respectively, like:<br />
<br />
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])<br />
* x-spam-score (in email headers)<br />
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])<br />
<br />
Some standard types started as experimental "x-" types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:<br />
<br />
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])<br />
<br />
There have been times when specific sites have wanted to extend microformats beyond what the set of properties in the microformat, and currently lack any '''experimental''' way to do so - to try and see if a feature (or even a whole format) is interesting in the real world before bothering to pursue researching and walking it through the microformats process. Thus:<br />
<br />
'''Proposal:'''<br />
* '*-x-' + '-' + meaningful name for root and property class names<br />
** where "*" indicates the single-character-prefix as defined above<br />
** where "x" indicates a literal 'x' for an experimental extension OR<br />
** OR "x" indicates a vendor prefix (more than one character, e.g. like CSS vendor extension abbreviations, or some stock symbols, avoiding first words/phrases/abbreviations of microformats properties like dt-)<br />
** e.g.<br />
** "h-bigco-one-ring" - a hypothetical "bigco" vendor-specific "one-ring" microformat root class name.<br />
** "p-goog-preptime" - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's "preptime" property extension] to [[hRecipe]] (aside: "duration" may be another property type to consider separate from "datetime" as it may be subject to different parsing rules.)<br />
** "p-x-prep-time" - a possible experimental property name to be added to hRecipe upon consideration/documentation of real-world usage/uptake.<br />
<br />
Background - this proposal is a composition of the following (at least somewhat) successful vendor extension syntaxes<br />
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]<br />
* IETF MIME/content-type "x-*" extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]<br />
* IETF MIME experimental fields (e.g. x-spam-score)<br />
* HTTP header extensions (e.g. x-pingback)<br />
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]<br />
<br />
=== USERS ===<br />
Need more tools and interfaces that:<br />
* publish<br />
* copy/paste<br />
* right-click on a microformat<br />
* share<br />
* search results<br />
<br />
discussed some existing like: [[H2VX]] converts hCard to vCard, hCalendar to iCalendar<br />
<br />
how would we re-implement Live Clipboard today, making it easier for publishers and developers?<br />
<br />
=== SEE ALSO ===<br />
* [[microformats2]]<br />
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.<br />
* [[microformats2-prefixes]]<br />
* [[microformats2-faq]]<br />
* [[microformats2-parsing]]<br />
* 2010-05-02 [[events/2010-05-02-microformats-2-0|microformats 2.0 discussion session at FOO East]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=h-listing&diff=64683
h-listing
2014-11-18T16:05:35Z
<p>ChiefRA: corrected the case of h-Listing</p>
<hr />
<div><entry-title>h-Listing draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
<dfn style="font-style:normal;font-weight:bold">h-Listing</dfn> is a simple, open format for publishing product data on the web. h-Listing is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML/HTML5.<br />
<br />
h-Listing is the [[microformats2]] update to [[hListing]].<br />
<br />
{{cc0-owfa-license}}<br />
<br />
<br />
== Draft Proposal ==<br />
<br />
<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:TomMorris|Tom Morris]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
<br />
===Authors and Contributors===<br />
<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, h-Listing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing and later on, h-Listing for our proposal.<br />
<br />
<br />
=== Scope ===<br />
<br />
<br />
== Format ==<br />
<br />
<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
<br />
=== Properties ===<br />
The class '''<code>h-listing</code>''' is a ''root class name'' that indicates the presence of an h-Listing.<br />
<br />
* h-Listing<br />
<br />
<br />
==== Summary of Changes ====<br />
<br />
<br />
==Property Details==<br />
<br />
h-Listing property details:<br />
<br />
<br />
==Examples==<br />
<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[h-listing-challenges|h-Listing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[h-listing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[h-listing-examples-in-wild]].<br />
<br />
<br />
== implementations ==<br />
Please add links to sites that consume h-Listings, and tools which generate h-Listings.<br />
* ...<br />
<br />
<br />
==Changes==<br />
<br />
<br />
== Background ==<br />
<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[h-listing-feedback]] page.<br />
<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of h-Listings.<br />
<br />
<br />
== See also==<br />
* [[h-listing]], a draft reboot of hListing based on [[microformats-2]]<br />
* [[h-listing-issues]]<br />
* [[h-listing-feedback]]<br />
* [[h-listing-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=h-listing&diff=64682
h-listing
2014-11-18T16:04:01Z
<p>ChiefRA: created the h-listing draft page</p>
<hr />
<div><entry-title>h-listing draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
<dfn style="font-style:normal;font-weight:bold">h-listing</dfn> is a simple, open format for publishing product data on the web. h-listing is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML/HTML5.<br />
<br />
h-listing is the [[microformats2]] update to [[hListing]].<br />
<br />
{{cc0-owfa-license}}<br />
<br />
<br />
== Draft Proposal ==<br />
<br />
<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:TomMorris|Tom Morris]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
<br />
===Authors and Contributors===<br />
<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, h-Listing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing and later on, h-Listing for our proposal.<br />
<br />
<br />
=== Scope ===<br />
<br />
<br />
== Format ==<br />
<br />
<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
<br />
=== Properties ===<br />
The class '''<code>h-listing</code>''' is a ''root class name'' that indicates the presence of an h-Listing.<br />
<br />
* h-Listing<br />
<br />
<br />
==== Summary of Changes ====<br />
<br />
<br />
==Property Details==<br />
<br />
h-Listing property details:<br />
<br />
<br />
==Examples==<br />
<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[h-listing-challenges|h-Listing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[h-listing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[h-listing-examples-in-wild]].<br />
<br />
<br />
== implementations ==<br />
Please add links to sites that consume h-Listings, and tools which generate h-Listings.<br />
* ...<br />
<br />
<br />
==Changes==<br />
<br />
<br />
== Background ==<br />
<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[h-listing-feedback]] page.<br />
<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of h-Listings.<br />
<br />
<br />
== See also==<br />
* [[h-listing]], a draft reboot of hListing based on [[microformats-2]]<br />
* [[h-listing-issues]]<br />
* [[h-listing-feedback]]<br />
* [[h-listing-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-issues&diff=64680
hlisting-issues
2014-11-17T16:55:29Z
<p>ChiefRA: /* issues */ - added more inconsistencies to bring hListing to a definitive form</p>
<hr />
<div><entry-title> hListing Issues </entry-title><br />
<br />
These are externally raised issues about [[hlisting|hListing]] with broadly varying degrees of merit. Thus some issues are REJECTED for a number of obvious reasons (but still documented here in case they are re-raised), and others contain longer discussions. Some issues may be ACCEPTED and perhaps cause changes or improved explanations in the spec. <br />
<br />
'''IMPORTANT''': Please read (or in this case create ;) ) the [[hlisting-faq|hListing FAQ]] ''before'' giving any feedback or raising any issues as your feedback/issues may already be resolved/answered.<br />
<br />
Submitted issues may (and probably will) be edited and rewritten for better terseness, clarity, calmness, rationality, and as neutral a point of view as possible. Write your issues well.<br />
<br />
Please add new issues to the '''top''' of the list. Please follow-up to resolved/rejected issues with new information rather than resubmitting such issues. Duplicate issue additions will be reverted.<br />
<br />
== closed issues ==<br />
When this section gets too big, it can be moved to [[hlisting-issues-closed]].<br />
Issues that are resolved, with accepted resolutions (in some cases simply accepting the entire noted issue), and with completion of respective edits to the draft or related documents.<br />
<br />
== resolved issues ==<br />
Issues that have been resolved but may have outstanding to-do items.<br />
When this section gets too big, it can be moved to [[hlisting-issues-resolved]].<br />
=== 2007 ===<br />
* 2007-07-21 raised by [[User:RobManson]]<br />
*# The only discussion I could find relating to payment method for hListing was in the tag section. Wouldn't [[rel-payment]] be a natural fit with hListing?<br />
*#* ACCEPTED BRAINSTORMING. Consider using [[rel-payment]] or something similar for an iteration of hListing, suggestion added to [[hlisting-brainstorming]]. [[User:Tantek|Tantek]] 10:18, 5 August 2009 (UTC)<br />
=== 2008 ===<br />
* 2008-04-07 raised by [[User:Eazytiger]]<br />
*# When hListing is used for eCommerce products, is there any provision for product variations (eg. sizes) that will affect the price? I'm not aware of a precedent for variations in another microformat.<br />
*#* ACCEPTED FAQ. A product variation that affects the price should be included in the description of the item, and perhaps as a tag on the item as well. This should be added to [[hlisting-faq]] [[User:Tantek|Tantek]] 10:18, 5 August 2009 (UTC)<br />
* 2008-08-26 raised by [[User:TobyInk|TobyInk]]<br />
*# The example given in the spec includes an invalid [[hCard]]. (Missing '''fn'''.)<br />
*#* ACCEPTED. The example has been fixed to reference the "adr" directly for the location, which was the intent of the example. [[User:Tantek|Tantek]] 10:18, 5 August 2009 (UTC)<br />
=== 2009 ===<br />
*2009-03-10 raised by [[User:JayMyers|JayMyers]]<br />
*# Per the discussions raised in the [[hproduct-issues|hProduct issues list]], are there any provisions for providing transactional details like "shipping" or "buy/payment" attributes?<br />
*#* ACCEPTED BRAINSTORMING. Consider adding transactional details like "shipping" or "buy/payment" attributes or something similar for an iteration of hListing, request added to [[hlisting-brainstorming]]. [[User:Tantek|Tantek]] 10:18, 5 August 2009 (UTC)<br />
<br />
== issues ==<br />
<br />
=== 2014 ===<br />
<br />
{{OpenIssue}} <br />
* 2014-11-14 raised by [[User:ChiefRA|Arthur Rădulescu]]<br />
*# We should create Directives for hListing consumers (and also for Google?): directives on how hListing should be interpreted and consumed, rules which CAN be applied to hListing validators too.<br />
<br />
{{OpenIssue}} <br />
* 2014-11-13 raised by [[User:ChiefRA|Arthur Rădulescu]]<br />
*# There is an ambiguity regarding [http://microformats.org/wiki/hlisting#Property_Details hListing Property Details]: on the second line, named '''Listing type::''' it sais: "This required field" but it is not mentioned in the main Properties and there is no field on the above main [http://microformats.org/wiki/hlisting#Properties hListing Properties]. However, there is a mix of properties on the second listed property called: "''listing action.'' optional." <br />
*#* Tried to fix all of these in the [http://microformats.org/wiki/hlisting-duplicated-for-discussions hlisting duplicated draft page] - read it by comparison 1-on-1 with the [http://microformats.org/wiki/hlisting default hListing page]. These 2 fields should now be understandable from implementation POV.<br />
<br />
{{OpenIssue}} <br />
* 2014-11-12 raised by [[User:ChiefRA|Arthur Rădulescu]]<br />
*# I presume this mandatory field called '''Item type''' should be added next to the other properties of the hListing next to the [http://microformats.org/wiki/hlisting#Properties hListing Properties].<br />
*#* Tried to fix this in the [http://microformats.org/wiki/hlisting-duplicated-for-discussions hlisting duplicated draft page] - read it by comparison 1-on-1 with the [http://microformats.org/wiki/hlisting default hListing page]. This field should now be understandable from implementation POV.<br />
<br />
{{OpenIssue}} <br />
* 2014-11-11 raised by [[User:ChiefRA|Arthur Rădulescu]]<br />
*# One of the main obstacles for hListing usage is the lack of implementation examples on our end (real in-code implementation) for the 2-words properties. ex. "item info": tag which should encapsulate all the details like hCard | (fn || url || photo || geo || adr)? Should it be exactly class="item info" OR class="item-info"? This needs to be defined as it has to keep encapsulated within all the details of the item.<br />
<br />
{{OpenIssue}}<br />
* 2014-11-10 raised by [[User:TomMorris|Tom Morris]]<br />
*# The '''version''' property should be deprecated. No other Microformat (classic or [[microformats-2|new]]) has used explicit versioning and it seems out of sync with the way we have thus far built microformats specifications. It also seems incompatible with the [http://www.w3.org/TR/html-design-principles/#compatibility Compatibility section of the HTML Design Principles] which we ought to attempt to follow where possible.<br />
<br />
<div class="hentry"><br />
<span class="entry-summary author vcard"><br />
<span class="published">2010-09-19</span> <br />
raised by <span class="fn">[[User:JulienChaumond|JulienChaumond]]</span><br />
</span><br />
<div class="entry-content discussion issues"><br />
* <strong class="entry-title">Indicate that transaction has taken place</strong>. <br />
hlisting tells the world that someone is selling something, but shouldn't there be a way to express that someone '''bought''' (or rented, etc.) something, i.e. transaction has indeed taken place? (Think Blippy, Swipely, Apple's Ping, etc.).<br />
One way to go about it might be to add an optional datetime element specifying the transaction's date.<br />
</div><br />
</div><br />
<br />
== Template ==<br />
{{issues-format}}<br />
<br />
== see also ==<br />
* [[hListing]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[hlisting-faq]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64673
hlisting
2014-11-17T12:52:50Z
<p>ChiefRA: /* Examples in the Wild */ - adding Christies Real Estate to examples</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
** still on homepage as of 2014-11-17<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
* [http://www.sothebysrealty.com/eng SothebysRealty.com] on [http://www.sothebysrealty.com/eng/sales/new-york-ny-usa listing results pages] (valid as of 2014-11-17)<br />
* [http://www.christiesrealestate.com/eng ChristiesRealEstate.com] on [http://www.christiesrealestate.com/eng/sales/new-york-ny-usa listing results pages] (valid as of 2014-11-17)<br />
<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
* [http://jobs.emurse.com/ Emurse] supported hListing on job postings - it is now AOL Jobs and doesn't have hListing as of 2014-11<br />
*[http://www.everycarlisted.com EveryCarListed.com] used to support hListing on cars for sale.<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars used to support hListing.<br />
* [http://www.realestate.com RealEstate.com]<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[h-listing]], a draft reboot of hListing based on [[microformats-2]]<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64671
hlisting
2014-11-17T12:45:54Z
<p>ChiefRA: /* Examples in the Wild */ - corrected the name</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
** still on homepage as of 2014-11-17<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
* [http://www.sothebysrealty.com/ SothebysRealty.com] on search results pages like [http://www.sothebysrealty.com/eng/sales/new-york-ny-usa this] (valid as of 2014-11-17)<br />
<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
* [http://jobs.emurse.com/ Emurse] supported hListing on job postings - it is now AOL Jobs and doesn't have hListing as of 2014-11<br />
*[http://www.everycarlisted.com EveryCarListed.com] used to support hListing on cars for sale.<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars used to support hListing.<br />
* [http://www.realestate.com RealEstate.com]<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[h-listing]], a draft reboot of hListing based on [[microformats-2]]<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-issues&diff=64659
hlisting-issues
2014-11-17T11:09:17Z
<p>ChiefRA: /* issues */ adding all the recent issues I've found</p>
<hr />
<div><entry-title> hListing Issues </entry-title><br />
<br />
These are externally raised issues about [[hlisting|hListing]] with broadly varying degrees of merit. Thus some issues are REJECTED for a number of obvious reasons (but still documented here in case they are re-raised), and others contain longer discussions. Some issues may be ACCEPTED and perhaps cause changes or improved explanations in the spec. <br />
<br />
'''IMPORTANT''': Please read (or in this case create ;) ) the [[hlisting-faq|hListing FAQ]] ''before'' giving any feedback or raising any issues as your feedback/issues may already be resolved/answered.<br />
<br />
Submitted issues may (and probably will) be edited and rewritten for better terseness, clarity, calmness, rationality, and as neutral a point of view as possible. Write your issues well.<br />
<br />
Please add new issues to the '''top''' of the list. Please follow-up to resolved/rejected issues with new information rather than resubmitting such issues. Duplicate issue additions will be reverted.<br />
<br />
== closed issues ==<br />
When this section gets too big, it can be moved to [[hlisting-issues-closed]].<br />
Issues that are resolved, with accepted resolutions (in some cases simply accepting the entire noted issue), and with completion of respective edits to the draft or related documents.<br />
<br />
== resolved issues ==<br />
Issues that have been resolved but may have outstanding to-do items.<br />
When this section gets too big, it can be moved to [[hlisting-issues-resolved]].<br />
=== 2007 ===<br />
* 2007-07-21 raised by [[User:RobManson]]<br />
*# The only discussion I could find relating to payment method for hListing was in the tag section. Wouldn't [[rel-payment]] be a natural fit with hListing?<br />
*#* ACCEPTED BRAINSTORMING. Consider using [[rel-payment]] or something similar for an iteration of hListing, suggestion added to [[hlisting-brainstorming]]. [[User:Tantek|Tantek]] 10:18, 5 August 2009 (UTC)<br />
=== 2008 ===<br />
* 2008-04-07 raised by [[User:Eazytiger]]<br />
*# When hListing is used for eCommerce products, is there any provision for product variations (eg. sizes) that will affect the price? I'm not aware of a precedent for variations in another microformat.<br />
*#* ACCEPTED FAQ. A product variation that affects the price should be included in the description of the item, and perhaps as a tag on the item as well. This should be added to [[hlisting-faq]] [[User:Tantek|Tantek]] 10:18, 5 August 2009 (UTC)<br />
* 2008-08-26 raised by [[User:TobyInk|TobyInk]]<br />
*# The example given in the spec includes an invalid [[hCard]]. (Missing '''fn'''.)<br />
*#* ACCEPTED. The example has been fixed to reference the "adr" directly for the location, which was the intent of the example. [[User:Tantek|Tantek]] 10:18, 5 August 2009 (UTC)<br />
=== 2009 ===<br />
*2009-03-10 raised by [[User:JayMyers|JayMyers]]<br />
*# Per the discussions raised in the [[hproduct-issues|hProduct issues list]], are there any provisions for providing transactional details like "shipping" or "buy/payment" attributes?<br />
*#* ACCEPTED BRAINSTORMING. Consider adding transactional details like "shipping" or "buy/payment" attributes or something similar for an iteration of hListing, request added to [[hlisting-brainstorming]]. [[User:Tantek|Tantek]] 10:18, 5 August 2009 (UTC)<br />
<br />
== issues ==<br />
<br />
=== 2014 ===<br />
{{OpenIssue}} <br />
* 2014-11-17 raised by [[User:ChiefRA|Arthur]]<br />
*# One of the main obstacles for hListing usage is the lack of implementation examples on our end (real in-code implementation) for the 2-words properties. ex. "item info": tag which should encapsulate all the details like hCard | (fn || url || photo || geo || adr)? Should it be exactly class="item info" OR class="item-info"? This needs to be defined as it has to keep encapsulated within all the details of the item.<br />
<br />
<br />
<div class="hentry"><br />
<span class="entry-summary author vcard"><br />
<span class="published">2010-09-19</span> <br />
raised by <span class="fn">[[User:JulienChaumond|JulienChaumond]]</span><br />
</span><br />
<div class="entry-content discussion issues"><br />
* <strong class="entry-title">Indicate that transaction has taken place</strong>. <br />
hlisting tells the world that someone is selling something, but shouldn't there be a way to express that someone '''bought''' (or rented, etc.) something, i.e. transaction has indeed taken place? (Think Blippy, Swipely, Apple's Ping, etc.).<br />
One way to go about it might be to add an optional datetime element specifying the transaction's date.<br />
</div><br />
</div><br />
<br />
== Template ==<br />
{{issues-format}}<br />
<br />
== see also ==<br />
* [[hListing]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[hlisting-faq]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-duplicated-for-discussions&diff=64642
hlisting-duplicated-for-discussions
2014-11-03T12:04:32Z
<p>ChiefRA: /* Property Details */ - added more detailed explanation to "item type".</p>
<hr />
<div><entry-title> hListing duplicated draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Duplicated Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing type''. '''required'''. indicates the desired type of listing, something that the lister already have or wants: ''offer'' | ''wanted''.<br />
** ''listing action''. '''required'''. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''event'' | ''service''.<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired type of listing: whether it’s about something that the lister already have (offer) or wants (wanted). <br />
<br />
<blockquote><br />
'''NOTE: This tag needs to be collapsed with "listing action" per the change made to the summary above - see the below listing action available properties, e.g. offer-sale, offer-rent, offer-service etc.'''<br />
<br />
MUST be used within the "item" definition block:<br />
<pre><nowiki><br />
<div class="hlisting"><br />
...<br />
<div class="item"><br />
<span class="fn">Parking space</span><br />
<span class="offer-rent">for rent</span><br />
</div><br />
... <br />
</div><br />
</nowiki></pre><br />
<br />
Can also be utilized all together if desired: class="item offer-sale" (for a Real Estate property for sale) OR class="item offer-rent" (for a Real Estate property for rent). <br />
</blockquote><br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: This required field indicates the person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
'''NOTE: This tag needs to be collapsed with the "item" property in order to be taken into account, e.g. class="item housing", class="item event", etc'''.<br />
<br />
The first two tags, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-duplicated-for-discussions&diff=64641
hlisting-duplicated-for-discussions
2014-11-03T11:49:38Z
<p>ChiefRA: /* Property Details */ - more detailed explanations added to listing type</p>
<hr />
<div><entry-title> hListing duplicated draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Duplicated Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing type''. '''required'''. indicates the desired type of listing, something that the lister already have or wants: ''offer'' | ''wanted''.<br />
** ''listing action''. '''required'''. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''event'' | ''service''.<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired type of listing: whether it’s about something that the lister already have (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above - see the below listing action available properties, e.g. offer-sale, offer-rent, offer-service etc.'''<br />
<br />
<blockquote><br />
MUST be used within the "item" definition block:<br />
<pre><nowiki><br />
<div class="hlisting"><br />
...<br />
<div class="item"><br />
<span class="fn">Parking space</span><br />
<span class="offer-rent">for rent</span><br />
</div><br />
... <br />
</div><br />
</nowiki></pre><br />
<br />
Can be utilized all together if desired: class="item offer-sale" (for a Real Estate property for sale) OR class="item offer-rent" (for a Real Estate property for rent). <br />
</blockquote><br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: This required field indicates the person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-duplicated-for-discussions&diff=64640
hlisting-duplicated-for-discussions
2014-11-03T11:39:19Z
<p>ChiefRA: /* Property Details */ -> adding examples to listing type</p>
<hr />
<div><entry-title> hListing duplicated draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Duplicated Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing type''. '''required'''. indicates the desired type of listing, something that the lister already have or wants: ''offer'' | ''wanted''.<br />
** ''listing action''. '''required'''. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''event'' | ''service''.<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired type of listing: whether it’s about something that the lister already have (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above - see the below listing action available properties, e.g. offer-sale, offer-rent, offer-service etc.'''<br />
<br />
<blockquote><br />
Should be utilized within the item definition block: class="item offer-sale" for a Real Estate property for sale OR class="item offer-rent" for a Real Estate property for rent. <br />
</blockquote><br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: This required field indicates the person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-duplicated-for-discussions&diff=64639
hlisting-duplicated-for-discussions
2014-11-03T11:38:48Z
<p>ChiefRA: /* Property Details */</p>
<hr />
<div><entry-title> hListing duplicated draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Duplicated Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing type''. '''required'''. indicates the desired type of listing, something that the lister already have or wants: ''offer'' | ''wanted''.<br />
** ''listing action''. '''required'''. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''event'' | ''service''.<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired type of listing: whether it’s about something that the lister already have (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above - see the below listing action available properties, e.g. offer-sale, oofer-rent, offer-service etc.'''<br />
<br />
<blockquote><br />
Should be utilized within the item definition block: class="item offer-sale" for a Real Estate property for sale OR class="item offer-rent" for a Real Estate property for rent. <br />
</blockquote><br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: This required field indicates the person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-duplicated-for-discussions&diff=64638
hlisting-duplicated-for-discussions
2014-11-03T11:33:42Z
<p>ChiefRA: /* Properties */ - adding the listing type to the required properties and modifying the listing action from optional to required. Dividing the tags accordingly.</p>
<hr />
<div><entry-title> hListing duplicated draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Duplicated Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing type''. '''required'''. indicates the desired type of listing, something that the lister already have or wants: ''offer'' | ''wanted''.<br />
** ''listing action''. '''required'''. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''event'' | ''service''.<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired type of listing: whether it’s about something that the lister already have (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above - see the below listing action available properties.'''<br />
<br />
<blockquote><br />
Should be utilized within the item definition block: class="item offer-sale" for a Real Estate property for sale OR class="item offer-rent" for a Real Estate property for rent. <br />
</blockquote><br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: This required field indicates the person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-duplicated-for-discussions&diff=64637
hlisting-duplicated-for-discussions
2014-11-03T11:26:00Z
<p>ChiefRA: /* Property Details */</p>
<hr />
<div><entry-title> hListing duplicated draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Duplicated Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired type of listing: whether it’s about something that the lister already have (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above - see the below listing action available properties.'''<br />
<br />
<blockquote><br />
Should be utilized within the item definition block: class="item offer-sale" for a Real Estate property for sale OR class="item offer-rent" for a Real Estate property for rent. <br />
</blockquote><br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: This required field indicates the person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-duplicated-for-discussions&diff=64636
hlisting-duplicated-for-discussions
2014-11-03T11:24:58Z
<p>ChiefRA: /* Property Details */ - enhancing explanations and examples for a better implementation</p>
<hr />
<div><entry-title> hListing duplicated draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Duplicated Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired type of listing: whether it’s about something that the lister already have (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above - see the below listing action available properties.'''<br />
<br />
<blockquote><br />
Should be utilized within the item definition: class="item offer-sale" for a Real Estate property for sale OR class="item offer-rent" for a Real Estate property for rent. <br />
</blockquote><br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: This required field indicates the person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting-duplicated-for-discussions&diff=64635
hlisting-duplicated-for-discussions
2014-11-03T11:06:18Z
<p>ChiefRA: Created a duplicate page for hListing to bring implementation improvements without altering the main page - this page will be erased once we reach the final version</p>
<hr />
<div><entry-title> hListing duplicated draft</entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Duplicated Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64626
hlisting
2014-10-24T13:57:58Z
<p>ChiefRA: /* Editors */ added my name to the editors.</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
* [[User:ChiefRA|Arthur Rădulescu]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=User:ChiefRA&diff=64625
User:ChiefRA
2014-10-24T13:57:48Z
<p>ChiefRA: /* About */</p>
<hr />
<div>== About ==<br />
<br />
Hi there!<br />
My name is Arthur Rădulescu (nick: ChiefRA), I'm an SEO Specialist for more than 10 years and I'm located in Brasov city, Romania. <br />
<br />
I help keeping this website out of spam, translating as much as possible into my native language Romanian and contributing to the development of microformats.<br />
<br />
In my spare time I like outdoor events like mountain trips, climbing, swimming and everything which involves sport :)<br />
<br />
You can find me on [https://plus.google.com/#105595278656530796485/posts Google+]<br />
<br />
== IRC ==<br />
<br />
I can be found on [[irc]] as [[User:ChiefRA|ChiefRA]] or [[User:ChiefRA|Chief|AFK]].</div>
ChiefRA
https://microformats.org/wiki/index.php?title=User:ChiefRA&diff=64624
User:ChiefRA
2014-10-24T13:57:33Z
<p>ChiefRA: updated my personal page</p>
<hr />
<div>== About ==<br />
<br />
Hi there!<br />
My name is Arthur Rădulescu (nick: ChiefRA), I'm an SEO Specialist for more than 10 year and I'm located in Brasov city, Romania. <br />
<br />
I help keeping this website out of spam, translating as much as possible into my native language Romanian and contributing to the development of microformats.<br />
<br />
In my spare time I like outdoor events like mountain trips, climbing, swimming and everything which involves sport :)<br />
<br />
You can find me on [https://plus.google.com/#105595278656530796485/posts Google+]<br />
<br />
== IRC ==<br />
<br />
I can be found on [[irc]] as [[User:ChiefRA|ChiefRA]] or [[User:ChiefRA|Chief|AFK]].</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64623
hlisting
2014-10-23T07:01:56Z
<p>ChiefRA: /* Real Estate Listing for Sale */</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/homes-for-sale/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64622
hlisting
2014-10-23T07:00:59Z
<p>ChiefRA: /* Real Estate Listing for Sale */ - small adjustmets</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.example.com/listing/151941-07-191413/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Sotheby's International Realty</span></p><br />
<a class="org url" href="http://www.sothebysrealty.com/">Sotheby's International Realty</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64610
hlisting
2014-10-16T16:11:19Z
<p>ChiefRA: /* Properties */ - added item type among the main hListing properties with examples</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item type''. optional. provides the type of the item being listed, one of the following: opening, housing, product, business, event, person, place, website, url.<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.frontdoor.com/listing/151941-07-191413/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Coldwell Banker Residential Brokerage</span></p><br />
<a class="org url" href="http://www.californiamoves.com/?WT.mc_ID=202211000000000">Coldwell Banker Residential Brokerage Southern California</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64609
hlisting
2014-10-16T16:04:20Z
<p>ChiefRA: /* Real Estate Listing for Sale */</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting"><br />
<br />
<div class="item housing"><br />
<img class="photo type" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price offer sale">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.frontdoor.com/listing/151941-07-191413/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Coldwell Banker Residential Brokerage</span></p><br />
<a class="org url" href="http://www.californiamoves.com/?WT.mc_ID=202211000000000">Coldwell Banker Residential Brokerage Southern California</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64607
hlisting
2014-10-16T15:26:34Z
<p>ChiefRA: /* Examples */</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting housing offer-sale"><br />
<br />
<div class="item"><br />
<img class="photo" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.frontdoor.com/listing/151941-07-191413/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Coldwell Banker Residential Brokerage</span></p><br />
<a class="org url" href="http://www.californiamoves.com/?WT.mc_ID=202211000000000">Coldwell Banker Residential Brokerage Southern California</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
<br />
=== Extracted Structured Markup Data ===<br />
<br />
<pre><nowiki><br />
hlisting<br />
<br />
lister: <br />
<br />
fn: Coldwell Banker Residential Brokerage<br />
<br />
org: <br />
organization-name: Coldwell Banker Residential Brokerage Southern California<br />
<br />
url: http://www.californiamoves.com/?WT.mc_ID=202211000000000<br />
<br />
price: $139,000<br />
<br />
summary: 1563 E 119Th St , Los Angeles , CA , 90059<br />
<br />
description: Bedrooms 1 Bathrooms 1 Square Feet 488 ($310/sf) Property Type: Single Family Year Built: 1924<br />
<br />
item: $139,000 1563 E 119Th St , Los Angeles , CA , 90059 Bedrooms 1 Bathrooms 1 Square Feet 488 ($310/sf) Property Type: Single Family Year Built: 1924 33.924423: -118.247093 Listing provided by:...<br />
<br />
permalink: http://www.frontdoor.com/listing/151941-07-191413/1563-e-119th-st-los-angeles-ca-90059<br />
</nowiki></pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64606
hlisting
2014-10-16T15:20:23Z
<p>ChiefRA: /* Examples */</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Properties ===<br />
hListing properties:<br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** ''listing action''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Property Details==<br />
hListing property details:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
<br />
==Examples==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Real Estate Listing for Sale ===<br />
<br />
<pre><nowiki><br />
<br />
<div class="hlisting housing offer-sale"><br />
<br />
<div class="item"><br />
<img class="photo" src="http://static.ak.fbcdn.net/rsrc.php/v1/yL/r/FGFbc80dUKj.png" alt="1563 E 119Th St" /><br />
<p class="price">$139,000</p><br />
<h3><br />
<a class="url permalink summary" href="http://www.frontdoor.com/listing/151941-07-191413/1563-e-119th-st-los-angeles-ca-90059"><br />
<div class="adr"><br />
<span class="street-address">1563 E 119Th St</span><br />
<span class="separator">, </span><br />
<span class="locality">Los Angeles</span><br />
<span class="separator">, </span><br />
<span class="region">CA</span><br />
<span class="separator">, </span><br />
<span class="postal-code">90059</span><br />
</div><br />
</a><br />
</h3><br />
<br />
<div class="description"><br />
<dl><br />
<dt>Bedrooms</dt><br />
<dd>1</dd><br />
<dt>Bathrooms</dt><br />
<dd>1</dd><br />
<dt>Square Feet</dt><br />
<dd>488 ($310/sf)</dd><br />
<dt>Property Type:</dt><br />
<dd>Single Family</dd><br />
<dt>Year Built:</dt><br />
<dd>1924</dd><br />
</dl><br />
</div><br />
<div class="geo"><br />
<span class="latitude">33.924423</span>:<br />
<span class="longitude">-118.247093</span><br />
</div><br />
<div class="lister vcard"><br />
<div><br />
<p>Listing provided by: <span class="fn">Coldwell Banker Residential Brokerage</span></p><br />
<a class="org url" href="http://www.californiamoves.com/?WT.mc_ID=202211000000000">Coldwell Banker Residential Brokerage Southern California</a><br />
</div><br />
</div><br />
</div><br />
</div> <br />
</nowiki></pre><br />
<br />
<br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Background ==<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
<br />
===Internationalization===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
=== Contextual Defaults ===<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64598
hlisting
2014-10-16T14:53:27Z
<p>ChiefRA: /* Schema */</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Schema ===<br />
An hListing schema should consist of the following: <br />
<br />
* hListing<br />
** ''version''. optional. text. <br />
** '''listing action'''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Field Details==<br />
The fields of the hListing schema represent the following:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
===Transaction Metadata===<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
===Item Metadata===<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
===Content ===<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
===Cross-cutting issues===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as invisible class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
==Contextual Defaults: A New Approach?==<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
==Examples (Preliminary)==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
* See also [http://www.technorati.com/cosmos/referer.html blogs discussing this page].<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hlisting&diff=64597
hlisting
2014-10-16T14:50:51Z
<p>ChiefRA: /* Schema */</p>
<hr />
<div><entry-title> hListing draft </entry-title><br />
{{DraftSpecification}}<br />
<br />
hListing is a proposal for an open, distributed listings ([[en-uk|UK English]]: small-ads; classifieds) format suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML. hListing would be one of several [[microformats]] open standards.<br />
<br />
== Draft Proposal ==<br />
===Editors===<br />
* [[User:Tantek|Tantek Çelik]]<br />
* [[User:Rohit|Rohit Khare]]<br />
<br />
===Authors and Contributors===<br />
* Assaf Arkin, [http://blog.labnotes.org/ Labnotes]<br />
* Craig Donato, [http://oodle.com/ Oodle]<br />
* Ryan King<br />
<br />
==Introduction==<br />
Individuals and professionals are increasingly publishing their offerings online: whether as items for sale or rent (cars, homes, apartments), services for hire (music lessons, dog walker, plumber), openings (jobs, volunteers, extra spot in a book club) or personals (people looking for dates, companions, roommates). The goal of publishing (and promoting) these listings online is to seek out interested parties, often within a limited time period.<br />
<br />
While descriptions of products and services are common on the Web, particularly on e-commerce sites, we are proposing an hListing microformat for sharing, searching, and syndicating the information that helps match up buyers and sellers. This proposal follows the common practices of trading sites such as Craigslist, eBay and newspaper classifieds.<br />
<br />
If [[hreview|hReview]] is about an item and what you think of it, hListing is about an item and what you want to ''do'' with it.<br />
<br />
=== Inspiration and Acknowledgments ===<br />
Thanks to everyone who participated in the initial burst of hListing activity in August 2005, particularly Emiliano Martínez Luque and Trevor O'Reilly, for naming the effort and organizing the listing-{brainstorming, formats, examples} pages on the wiki. We would like to thank Tantek for an initial debate about whether to extend hReview or pursue an independent-though-similar hListing for our proposal.<br />
<br />
=== Scope ===<br />
Vibrant online marketplaces have been launched with little more than titles, prices, descriptions, and contact email addresses; we hope to kindle the same spirit of minimalism with this proposal to restart active discussion of what an hListing should be. Since we are venturing into a space that does not have “settled law” such as the vCard definitions hCard started with, we were inspired by hReview, another novel compound microformat that emerged from the microformats.org community process. <br />
<br />
In particular, we note that both applications need a way to share informative descriptions of a product or service, including attribution of authorship and provenance of the item. if hReview is a microformat for one's opinion of a product or service, hListing helps share what one would like to ''do'' with it: sell it, rent it, trade it, perform that service, announce it, or, for people, to meet them. It can tell you how to contact the lister, and whether it is an item on offer or a wanted ad.<br />
<br />
==== Out of Scope ====<br />
We are focusing on providing "just enough" structure to enable matching, not to consummate transactions. This is distinct from the majority of formats described on the wiki under [[listing-examples]], which are specific enough to completely describe products for retail sale according to the idiosyncratic semantics of particular merchants and shopping engines. Instead of encoding retail-oriented fields such as UPCs, SKUs, and manufacturer part numbers, this proposal acknowledges that many listings are for "inventories of one" that may not have such precise abstractions.<br />
<br />
Similarly, listings cannot aspire to describe prices and terms & conditions to the degree necessary to automate entire transactions or price comparisons. Some have terms beyond the pale of any B2B exchange protocols (e.g. "$50 ''obo''").<br />
<br />
As in hReview, the concept of a "universal object identifier" is also out-of-scope for this effort. Unlike some of the "product feed" formats under [listing-examples], we avoided specifying any taxonomy for identifying or categorizing listings in favor of tags.<br />
<br />
== Format ==<br />
=== In General ===<br />
The hListing format is based on a set of fields common to numerous listing sites and formats in use today on the web. Where possible field names have been chosen based on those defined by the related [[hreview|hReview]], [[hcard|hCard]], [[hcalendar|hCalendar]] standards.<br />
<br />
=== Schema ===<br />
An hListing schema should consist of the following: <br />
<br />
* hListing<br />
** version. optional. text. <br />
** '''listing action'''. optional. one or more tags, suggested set: ''sell'' | ''rent'' | ''trade'' | ''meet'' | ''announce'' | ''offer'' | ''wanted'' | ''event'' | ''service''<br />
** ''lister''. '''required'''. [[hcard|hCard]] | (fn || email || url || ''tel'').<br />
** ''dtlisted''. optional. ISO8601 absolute date time. <br />
** ''dtexpired''. optional. ISO8601 absolute date time.<br />
** ''price''. optional. text. [should include a floating-point number with optional ISO currency codes].<br />
** ''item info''. '''required'''. (fn || url || photo || [[geo]] || [[adr]]) | [[hcard|hCard]] (for person or business). <br />
** ''summary''. optional. text. <br />
** ''description''. '''required'''. text with optional valid XHTML markup. <br />
** ''item tags''. optional. keywords or phrases describing the item being offered, using [[rel-tag]]<br />
** ''permalink''. optional. <br />
<br />
==== Summary of Changes ====<br />
By comparison to hReview:<br />
* Item type and info have been preserved to describe the good, service, or person being offered.<br />
* Item info expanded to take geo or adr for location of the item.<br />
* Item description has become required, rather than item info or type. While reviews tend to apply to a range of products, listings "in the wild" can be ''sui generis,'' found with only a description and no other structured information.<br />
* Rating has been removed.<br />
* Lister, unlike Reviewer, can also have a telephone number -- but it must ''either'' be an hCard or the other fields.<br />
<br />
Creating a listing requires adding transaction metadata:<br />
* Type of transaction sought: whether the lister has or wants an item (sale or rent), a service, an opening, or a personal introduction.<br />
* Dates of listing and expiry. Once taken, listings may be reposted with a modified dtexpired.<br />
* Price has been called out specifically as an independent text field. It can include some terms & conditions.<br />
<br />
==Field Details==<br />
The fields of the hListing schema represent the following:<br />
<br />
'''version''':: This optional field permits hListing publishers to specify a particular version of hListing that their content uses. By omitting this field, the publisher is stating that implementations may interpret the hListings according to any version of the hListing specification. The value for this proposal as of 6-Feb-2006 is "0.0," since it has no official standing yet.<br />
<br />
===Transaction Metadata===<br />
'''listing type''':: This required field indicates the desired matching: whether it’s about something that the lister has (offer) or wants (wanted). '''NOTE: This needs to be collapsed with listing action per the change made to the summary above.'''<br />
<br />
'''listing action''':: This required field indicates the desired action for the listing: a permanent transfer (sale); transient use (rent); barter or donation (trade); to arrange an introduction (meet); publicize the existence of an event or vendor (announce); or to perform a service (service). <br />
<br />
'''lister''':: The person or business who should be contacted about the listing, either in the form of an hCard or a shorthand notation of one or more formatted names (fn) and contact information (email, url, tel). Note that this is not necessarily the same as the ''author'' of the listing.<br />
<br />
'''dtlisted''':: This optional field MUST provide an ISO8601 absolute date time of when the listing was first made effective. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
'''dtexpired''':: This optional field MUST provide an ISO8601 absolute date time of when the listing will become ineffective. It MUST be later than dtlisted. This field SHOULD use UTC, but MAY use the time zone offset syntax. See [[datetime-design-pattern|datetime design pattern]].<br />
<br />
<blockquote><br />
Note that this definition obviates the need for a “taken” listing action; when a listing is no longer valid, it can simply be deleted, or republished with an expiry date that has already passed. Republication may be desirable, to indicate that the listing is no longer available to forestall further inquiries. Keeping expiry orthogonal to listing-action permits archival use of web pages with hListings.<br />
</blockquote><br />
<br />
'''location''':: This optional field contains the location of the item, which may be different than the location of the lister. This may be a full hCard with contact information, or just an [[adr]] or [[geo]]. <br />
<br />
<blockquote><br />
There is an separate discussion to be had about how either of these three microformats can best accommodate colloquial terminiology for “neighborhoods,” but this proposal does not break new ground by coining a new fields for that purpose.<br />
</blockquote><br />
<br />
'''price''':: This optional text field describes the “advertised” price of the listing; it is not a binding offer, nor a complete transaction price. Floating point numbers found within this string may be extracted for sorting/indexing, as could adjacent currency symbols or ISO currency codes.<br />
<br />
<blockquote><br />
Note that since price is such a general description, we have avoided promoting an additional “terms and conditions” field for elaborating on the price or terms of the deal (e.g. “dollars”, “best offer” “per month” “paypal only”). We suggest demoting it until proven that it needs to exist independently of either description (such as shipping rates) or price (which can just state “CAD$22/mo”).<br />
</blockquote><br />
<br />
===Item Metadata===<br />
'''item type''':: This optional field "type" provides the type of the item being ''listed'': one of the following: opening, housing, product, business, event, person, place, website, url. <br />
<br />
<blockquote><br />
Note that the first two, housing and opening, are new and unique to hListing; the remainder are copied by reference from hReview. Similar to the note in hReview 0.2 for item types, the enumerated list of listing types is “under development and may be extended.”<br />
</blockquote><br />
<br />
'''item info''':: This required field MUST have at a minimum the name ("fn" - the formatted text corresponding to the name) of the item , SHOULD provide at least one URI ("url") for the item, and MAY provide at least one URL to a photo or depiction ("photo") of the item. For items of type person or business, the item info (fn, url, photo) SHOULD be encapsulated in an hCard. Unique item IDs (e.g. ISBNs, UPCs) MAY be represented as a URN ("url") for the item.<br />
<br />
===Content ===<br />
'''summary''':: This optional text field serves as a title for listing. <br />
<br />
'''description''':: This required field contains the full text representing the written description of the item being listed. The field MAY include valid XHTML markup (e.g. paragraphs). User agents SHOULD preserve any markup. <br />
<br />
'''tags''':: Tags are represented using a list of keywords or phrases (using the [[rel-tag|rel-tag]] microformat for each individual keyword or phrase tag) that the reviewer associates with the item. The reviewer SHOULD provide tags relating to how they want the item categorized (e.g., “car, used, acura”, “job”, “real estate, 3BR”). The reviewer MAY also want to provide tags indicating payment terms (“dollars”, “paypal”). <br />
<br />
'''permalink''':: This optional field is a URL for the hListing. In addition to using the <a href> tag for this field, the attribute rel="self bookmark" MUST be used to indicate that the hyperlink is a permalink for the review itself. If the hyperlink already contains a rel attribute, then the values self and bookmark MUST be included among the space-separated set of values in the attribute. Indexers MAY treat the permalink of a review as a unique ID in order to identify and collate the same listing from multiple sources (such as indexing a page multiple times). The permalink MAY also be used to indicate or imply the origin of the listing. Authors MAY use the classname of "permalink" on the element representing the permalink, but are not required to do so.<br />
<br />
===Cross-cutting issues===<br />
''Internationalization:'' Though there are many English-language tokens, they are only used as invisible class-names; user-visible listing information can be completely localized. N.b. that (X)HTML lang attribute rules still apply as usual, for multilingual aggregators of hListings.<br />
<br />
The following field names have been reused from the [[hcard|hCard]] and [[hcalendar|hCalendar]] microformats: <code>version, summary, fn, url, email, photo, description, categories</code>. In addition, items and reviewers described by hCards MAY contain any hCard field. The rel value "self" has been reused from the [http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html Atom 1.0 specification].<br />
<br />
==Contextual Defaults: A New Approach?==<br />
<br />
Since listings may be embedded within blog postings, email, syndicated feeds, simple Web pages, or other microformats such as hAtom, to the degree possible, the following fields can be “inherited” from the context surrounding an hListing if absent:<br />
<br />
* lister (author, contributor, From:)<br />
* dtlisted (Date:) <br />
* dtexpired (Expires:)<br />
* summary (title)<br />
* permalink (URI:, <base>)<br />
<br />
By contrast, gazetteering is an example of ''ad hoc'' contextual defaulting that is '''not''' governed by this technique. Guessing that “Noe Valley” is in “San Francisco, CA” because the hCard of the blog author is in the same city is beyond the pale of the contextual defaulting proposed here. All we are suggesting is application of DRY (“Don’t Repeat Yourself”) for fields that have equivalent definitions elsewhere within the same XHTML document or its MIME headers.<br />
<br />
See a related discussion on 2006-01-27 on [[hreview-feedback]].<br />
<br />
==Examples (Preliminary)==<br />
<br />
=== Simple Listing ===<br />
Parking space for rent (2/2/06)<br />
2 compact car spaces in a secure underground garage at:<br />
1738 Elm St.<br />
Somewhere, ED 34567 ISA<br />
Available in April 2006 for $215/mo<br />
Please contact John Broker at 110.555.1212 (C)<br />
<br />
<pre><nowiki><br />
<div class="hlisting"><br />
<p><br />
<span class="item"><br />
<span class="fn">Parking space</span><br />
</span><br />
<span class="offer rent">for rent</span><br />
(<abbr class="dtlisted" title="20060202">2/2/06</abbr>)<br />
</p><br />
<p class="description"><br />
2 compact car spaces in a secure underground garage at:<br />
<div class="location adr"><br />
<span class="street-address">1738 Elm St.</span><br />
<span class="locality">Somewhere</span>, <span class="region">ED</span><br />
<span class="postal-code">34567</span> <span class="country">ISA</span><br />
</div><br />
Available in <abbr class="dtexpired" title="20060401">April 2006</abbr><br />
for <span class="price">$215/qtr</span><br />
</p><br />
<div class="lister vcard"><br />
Please contact <span class="fn">John Broker</span> at <br />
<span class="tel"><span class="value">(110) 555-1212</span> <br />
(<abbr class="type" title="cell">C</abbr>)</span><br />
</div><br />
</div></nowiki> </pre><br />
<br />
=== Extended Examples ===<br />
<br />
See [[hlisting-extended-examples|hListing Extended Examples]] for real-world examples from Craigslist, eBay.com, and Match.com.<br />
<br />
=== Challenge Problems ===<br />
<br />
See [[hlisting-challenges|hListing Challenge Problems]] for some hypothetical examples that illustrate corners of the specification.<br />
<br />
== Examples in the Wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hListing]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hListing, feel free to add it to the '''top''' of this list. Include both a URL to the top level site, and at least one URL to a specific hListing item on that site so that the hListing markup can be verified.<br />
<br />
Once the list grows too big, we'll make a separate wiki page like [[hlisting-examples-in-wild]].<br />
<br />
<br />
*[http://www.ooyyo.com Ooyyo.com] vertical search engine for used cars supports hListing. [http://www.ooyyo.com/used-cars/united+states hListing on listings search]<br />
*[http://www.everycarlisted.com EveryCarListed.com] supports hListing on cars for sale. [http://www.everycarlisted.com/usa/tx/dallas hListing on cars for sale]<br />
* [http://www.realestate.com RealEstate.com] supports hListing on Real Estate Listings. [http://www.realestate.com/AZ/Phoenix/homes-for-sale.aspx hListing on listings search]<br />
* [http://livres.transcontinental.ca Les &#201;ditions Transcontinental] supports hListing on book items<br />
** needs specific URL to an hListing item<br />
* [http://www.dealtagger.com/ Dealtagger] supports hListing<br />
** needs specific URL to an hListing item<br />
* [http://jobs.emurse.com/ Emurse] supports hListing on job postings<br />
** needs specific URL to an hListing item<br />
* [http://www.imovelweb.com.br Imovelweb] supports hListing on Real Estate Listings. [http://www.imovelweb.com.br/comprar-imoveis/sao-paulo-zona-sul/moema hListing on listings search]<br />
* [http://www.kelkoo.co.uk/ Kelkoo] - a pan-European comparison engines supports hListing to list offers from merchants (the support of hListing has been introduced on the new Kelkoo site launched in September 07)<br />
** needs specific URL to an hListing item<br />
* [http://www.nestoria.co.uk/ Nestoria] - European vertical search engine for property (real estate)<br />
** needs specific URL to an hListing item<br />
* [http://www.netinstruments.com/ Musical Instruments @ Net Instruments] - Global musical instruments database (hListing on item pages)<br />
** needs specific URL to an hListing item<br />
=== past examples ===<br />
* Edgeio <nowiki>http://www.edgeio.com/</nowiki> produced output with hListings (until sometime in 2007 or 2008 - precise date needed, please lookup edgeio.com at archive.org)<br />
<br />
== implementations ==<br />
Please add links to sites that consume hListings, and tools which generate hListings.<br />
* ...<br />
<br />
==Changes==<br />
Substantial (non-editorial) changes:<br />
* 2006 Feb 6: clarified definitions of fields throughout.<br />
* 2006 Feb 5: Reformatted into wiki-markup style.<br />
* 2006 Feb 4: Folded the sense of “taken” into dtexpired, re-imported item type from hReview, and combined action and status. Added an example. Removed anonymous listings, since that is an unlikely use case (pseudonymous, perhaps, but not ''a''nonymous).<br />
* 2006 Jan late: initial conversations started with the insight that hReview does a great job of describing items, and that we could shoehorn in listing semantics using a) magic tags to mean for-sale and b) mapping price onto dimensioned ratings. Tantek correctly nailed this as ''a-priori'' thinking, and encouraged us to start by designing the right spec for listings, and only sharing what was necessary.<br />
<br />
== Discussions ==<br />
* Feedback is encouraged on the [[hlisting-feedback]] page.<br />
* See also [http://www.technorati.com/cosmos/referer.html blogs discussing this page].<br />
<br />
== See also==<br />
* [[hlisting-issues]]<br />
* [[hlisting-feedback]]<br />
* [[hlisting-brainstorming]]<br />
* [[commerce-examples]]<br />
* [[currency]] proposal<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hcalendar-examples-in-wild&diff=64461
hcalendar-examples-in-wild
2014-07-24T07:43:59Z
<p>ChiefRA: Undo revision 64460 by Buggl (Talk) spammy link removed</p>
<hr />
<div><entry-title>hCalendar Examples in the wild</entry-title><br />
<br />
This page is an '''informative''' section of the [[hcalendar|hCalendar specification]].<br />
<br />
The following sites have published events using [[hcalendar|hCalendar]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. <br />
<br />
If events on your site are marked up with hCalendar, feel free to add it to the top of this list. Please be sure to include at least one URL of a page on your site that includes actual [[hcalendar|hCalendar]] markup. Examples added without the URL of a page with hCalendar markup may be removed.<br />
<br />
Want to get started with writing an [[hcalendar|hCalendar]] event? Use the [http://microformats.org/code/hcalendar/creator hCalendar creator] to write up an event and publish it, or follow the [[hcalendar-authoring|hCalendar authoring tips]] to add hCalendar markup to your page of upcoming events or events you mention in blog posts, wikis, etc.<br />
<br />
Don't forget that you can add one of our [[buttons#hCalendar|buttons]] to the page, to indicate the presence of hCalendar microformats. For example: http://www.boogdesign.com/images/buttons/microformat_hcalendar.png. If you can link it back to [[hcalendar|hCalendar]] (or even page on your website, about your use of the microformat), so much the better!<br />
<br />
== examples to act on ==<br />
<br />
===new examples===<br />
Please add <span id="New_Examples">new examples</span> to the '''top''' of this section.<br />
* [http://www.ticket-vvk.com Ticket VVK] uses hreview-aggregate for concert ratings, and hCalendar for concert dates. Example: [http://www.ticket-vvk.com/helene-fischer-konzert/ Helene Fischer Konzerte 2014] <br />
* [http://www.vorverkaufstarts.de/ Vorverkaufstarts.de] uses hCalendar for tourdates and concerts in combination with hreview. Example: [http://www.vorverkaufstarts.de/robbie-williams-tour-2013-koln-munchen/ Robbie Williams Tour 2013]<br />
* [http://www.vipulschawathe.ind.in/ Chawathe, Vipul] has used hCalendar to group Curriculum Vitae section events, and again used it to group experience events, showing 2 disjoint hcalendars to hold different contextual groupings of events on same page.<br />
* [http://www.iprocess.firm.in/ iProcess] is using hCalendar inside hatom feed hnews-Weblog, so all events may be grouped by calendaring tools.<br />
* [http://thailanddiveandsail.com Thailand Dive&Sail] uses hCalendar for marking up scuba diving liveaboard trip schedules, see [http://thailanddiveandsail.com/front/index.php/boats/destination/1/1/Similan_Liveaboard Similan Diving Liveaboards]<br />
* [http://wunschpreisdeal.de Wunschpreisdeal.de] uses hCalendar for special offer events, see [http://www.wunschpreisdeal.de/highlights/amazon-angebote-und-schnaeppchen special offers]<br />
* [http://webmaker.org Webmaker] (by Mozilla) supports hCalendar (and [[uf2]] h-event) on user contributed/planned events, e.g. [https://webmaker.org/en-US/events/192f56eb9/ IndieWebCamp 2012] (as [https://twitter.com/microformats/status/212207925643587585 tweeted 2012-06-12]).<br />
* [http://wheatleytennis.org.uk/ Wheatley Tennis Club] uses hCalendar for their fixtures<br />
* [http://wiki.creativecommons.org/Events Creative Commons Wiki events page] uses hCalendar via their wiki Events Template.<br />
* [http://www.classe-export.com/vdoc/easysite/ClasseExportFrance/Classe-Export/les-produits/ForumsSalons Classe Export] uses hCalendar for their events.<br />
* [http://aneventapart.com/ An Event Apart] uses hCalendar for each of their events during this series.<br />
* [http://www.linkedin.com LinkedIn] uses hCalendar for each user profile page.<br />
* [http://www.thebasketcasedeli.com The Basket Case Deli] uses hCalendar for upcoming events on the main page.<br />
* [http://www.metropedia.co.uk/ Manchester Metropedia] uses hCalendar to mark the events listings in Manchester.<br />
* [http://www.austinfamilyhomes.com/austin-open-house Austin Homes - Open House List] uses hCalendar for upcoming open houses held by real estate agents with geo information.<br />
* [http://grasshopperinn.co.uk/whats-on The Grasshopper Inn] uses hCalendar for upcoming events.<br />
* [http://johanramon.fr/ Johan Ramon] uses hCalendar on his resume.<br />
* [http://www.haraldjoergens.com/ Harald Joergens Photography] uses hCalendar for forthcoming events. See [http://trooping2010.haraldjoergens.com/ Trooping the Colour]<br />
* [http://www.ridleyparkumc.org/calendar Ridley Park United Methodist Church's calendar] uses hCalendar for events. See [http://www.ridleyparkumc.org/calendar/event.cfml?EventID=6233].<br />
* [http://www.weinwanderung.net/ Weinwanderung.net] uses hCalendar with nested hCards for upcoming public "wine hiking" events.<br />
* [http://www.americantorque.com/ AmericanTorque.com] uses hCalendar for their [http://www.americantorque.com/events/ Car show and event calendar] <br />
* [http://www.copasapobla.com Fútbol Copa Sa Pobla Mallorca] use hCalendar for all its football games calendar during the cup.<br />
* Vancouver Indie Pop Band [http://lakefieldmusic.com/shows Lakefield's concert calendar] is marked up with hCalendar. We hope that Google will pick it up and display those pages with Rich Event Snippets.<br />
* [http://www.rivierarentalguide.com/ Riviera Rental Guide] uses hCalendar for events on the French Riviera ([http://www.rivierarentalguide.com/riviera_life/events/giacometti+%26+maeght+exhibition.html]) and hReview for customer reviews ([http://www.rivierarentalguide.com/properties/nice/apartment/138/#reviews]).<br />
* [http://www.metalgigs.de Metalgigs.de] uses hCalendar for the concerts and parties in combination with hcard for the locations. see [http://www.metalgigs.de/events/alle] and [http://www.metalgigs.de/konzert_3682.html]<br />
* [http://www.tour-termine.de/ Tour Termine] uses hCalendar for tourdates and concerts in combination with hreview. Example: [http://www.tour-termine.de/gossip-tour-2010-beth-ditto-live/ Gossip Tour 2010]<br />
* [http://www.kfz.net/oldtimertreffen/ Kfz.net] use hCalendar for the details of the oldtimer calendar.<br />
* [http://www.quefaire.be Quefaire.be] use hCalendar for its event's calendar.<br />
* [http://beeets.com beeets] is an event search engine that implements hCalendar for its events.<br />
* [http://www.norfolkblackhistorymonth.org.uk/events/2009/ Norfolk Black History Month] uses hCalendar to show events taking place during the annual October celebration across Norfolk, England. Event pages include 'Add to calendar' links.<br />
* [http://jerba.be/agenda/ Djerba Agenda] uses hCalendar to show events taking place in Djerba island.<br />
* [http://www.ascolteo.fr/en/presentation Ascolteo] uses hCalendar to announce upcoming events about free software.<br />
* http://dingbee.com/favicon.png [http://www.dingbee.com Dingbee] uses hcalendar for users' events.<br />
* [http://www.ArtStudiosOnline.com Websites for Artists] by ArtStudiosOnline.com uses hCalendar to markup artist event dates.<br />
* [http://www.nationalrural.org/event.aspx?id=dc0960d6-b18c-4255-9540-aedd3985ba7c National Rural Knowledge Exchange] uses hCal when displaying event information.<br />
* [http://xn--r3cd1ab3b.xn--r3cwx.th/%E0%B9%80%E0%B8%A1%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A7%E0%B8%B2%E0%B8%99%E0%B8%99%E0%B8%B5%E0%B9%89 ผลบอล.บอล.th/เมื่อวานนี้] reports football results with hCalendar.<br />
* [http://ball.in.th/game/tipster ball.in.th] uses hCalendar for football competition events.<br />
* [http://www.visitwv.com/ Southern West Virginia Tourism] has implemented hcalendar for local event listings.<br />
* [http://www.entidi.com/ eNTiDi] has implemented the ''last-modified'' footer on every page as an hCalendar event.<br />
* The UK site [http://www.kidsinsussex.co.uk/ Kids in Sussex] uses hCalendar markup on pages with details of events for children in Sussex in Southern England.<br />
* [http://stuartspivack.com/blog/ My blog] [http://stuartspivack.com/blog/2009/03/26/apr-23-2009-book-sale-at-beachwood-branch-library/ example], in case there aren't any events on the front page. The events are automatically imported from my upcoming.org RSS feed. I use someone else's Wordpress plugin and a [http://pipes.yahoo.com/pipes/pipe.info?_id=YtiG8bcZ3hGCqUBS_w6H4A Yahoo! Pipe] that I made to move the event information into a part of the feed that gets imported and displayed.<br />
* [http://calagator.org Calagator], an open-source community calendar aggregator, uses hCalendar on all event listing pages.<br />
* [http://www.csid.upt.ro/home.php The Distance Learning Center - CSID, "Politehnica" University Timisoara], Romania uses hCalendar for listing students' [http://www.csid.upt.ro/reglementari.php timetables and exams]<br />
* [http://greenvoice.com/events Greenvoice] has listings of environmental events, which are marked up using hCalendar.<br />
* [http://concertsfortct.com/ Teenage Cancer Trust concerts at the Royal Albert Hall] uses hCalendar for the concert listing on the home page.<br />
* [http://www.greatermankatoevents.com/ Greater Mankato Events] uses hCalendar for the event detail pages. Some events are reoccurring, so standardizing RRULE would be helpful.<br />
* [http://debaser.se/ Debaser rock club] uses hCalendar for the [http://debaser.se/kalender event calendar].<br />
* The [http://www.nesn.com/ New England Sports Network] uses hCalendar in the [http://www.nesn.com/content/redsox/schedule.aspx Red Sox], [http://www.nesn.com/content/bruins/schedule.aspx Bruins], [http://www.nesn.com/content/patriots/schedule.aspx Patriots] team schedules.<br />
* [http://wayne.edu/ Wayne State University] uses hCalendar for on the [http://events.wayne.edu/ University events calendar] list and individual event view.<br />
* [http://permatime.com/ Permatime] site for sharing points in time accross times zones. It uses hcalendar and can be used as a quick way of generating hcalendar events.<br />
* [http://www.bath.ac.uk/ University of Bath] uses hCalendar to mark up their [http://www.bath.ac.uk/semester/ semester timetable] <br />
* [http://www.php.net/ PHP.net] uses hCalendar in their [http://www.php.net/conferences/ Conference Announcements] and [http://www.php.net/cal.php Event Calendar].<br />
* [http://www.maine.gov/portal/help/microformats.html Maine.gov] uses microformats in their Calendar of Events and has a nice explanation page about microformats.<br />
* [http://www.viewfilm.net/ Film on Freeview] uses hCalendar to mark up upcoming film listings on free-to-air UK television.<br />
* [http://local.mapquest.com/ MapQuest Local] uses hCards for locations, hCalendar for events and supports the draft Geo format when lat/lng data is provided. See [http://blog.mapquest.com/2008/09/25/microformat-support-on-mapquest-local/ Microformat Support on MapQuest Local] for more information.<br />
* [http://www.cambridgefilmfestival.org.uk/ Cambridge Film Festival] uses hCalendar to mark up the [http://www.cambridgefilmfestival.org.uk/films/list/order/date festival schedule].<br />
* [http://www.law.georgetown.edu Georgetown Law Center] uses hCalendar to mark up faculty scholarly that take place on campus, listing them in the [http://www.law.georgetown.edu/faculty/events/ Faculty Workshops, Lectures and Symposia] system.<br />
* [http://www.ecovian.com Ecovian] uses hCalendar to mark up green living & environmental event details, see [http://www.ecovian.com/events/sanfrancisco San Francisco Green Events] example<br />
* [http://beta.subpop.com/ SubPop Records] features hCalendar events on its homepage and on [http://subpop.com/artists/band_of_horses individual artist pages].<br />
* [http://laughingsquid.com/squidlist/events/ Laughing Squid Events] use hCalendar ''only'' on event detail pages (not on the overall list of events), e.g. [http://laughingsquid.com/squidlist/events/index.php?com=detail&eID=177533&year=2008&month=06 Pownce 1 Year Anniversary Party!].<br />
* [http://www.outbackadventuretreks.com.au Outback Adventure Treks] use hCalendar for their [http://outbackadventuretreks.com.au/tours_calendar.php tours calendar] also hCard for their [http://outbackadventuretreks.com.au/contact.php contact details.]<br />
* [http://www.dancefederation.co.uk Dance Federation Salsa Dancing & Jive Dancing Lessons and Events ] Directory for classes, lessons and events users hcalendar, hcard, geo for events and lessons.<br />
* [http://library.christchurch.org.nz/News/ Christchurch City Libraries] news and events calendar - many but not all events.<br />
* [http://www.villamedia.nl/agenda Villamedia] and [http://www.dejournalist.nl/agenda De Journalist] (both Dutch websites for journalists and media workers) use hCalendar to mark up their (shared) events list.<br />
* At [http://www.ecoresearch.net/event ECOresearch.net] we export our event calendar as hCalendar.<br />
* [http://www.firmendb.de/messetermine/index.php Fimendb Messetermine] uses hCalendar markup to add semantic meaning to the calendar of fairs and exhibitions.<br />
* [http://www.kickstartme.co.uk KickStart Events] uses hCalendar markup to add semantic meaning to our calendar of events for forthcoming RubyOnRails workshop and courses.<br />
* The [http://www.amentsoc.org/events/ Amateur Entomologists' Society] uses hCalendar in our calendar of events for entomologists or people with an interest in natural history.<br />
* The [http://www.sandiegobrewersguild.org/calendar.php San Diego Brewers Guild] is using hCalendar for member brewers&rsquo; and pubs&rsquo; upcoming events. <br />
* The [http://users.belgacom.net/gaudete Gregorian choir Gaudete] from Aalst (Belgium) uses hCalendar in their calendar of upcoming performances.<br />
* [http://autopendium.com/events Classic Car Events] - Classic car events -- shows, auctions, race meetings -- from around the world marked up with hCalendar.<br />
* [http://www.worldeventsguide.com World Events Guide] - Events occuring around the world marked up with hCalendar.<br />
* [http://www.niallkennedy.com/about/ Niall Kennedy's Upcoming speeches] - hcalendar describing upcoming speeches occurs within the bounds of the parent hCard. Each vevent references said hCard using "include" method and attendee or organizer where appropriate. One vevent's description is a vcalendar itself, specifying multiple events (speeches) within the event and Niall's role in each, again with hCard include.<br />
** The hcard include breaks one of the rules of the [[include-pattern]]: 'To prevent infinite loops, if a class="include" refers to itself or to an ancestor in the parse tree, then it is ignored and has no effect on the parser.'<br />
* [http://www.bicyclepaper.com/calendar BicyclePaper Calendar] - Cycling event calendar marked up in hCalendar format<br />
* [http://floatingsheep.com/userscripts/evite-hcalendar.user.js Evite hCalendar] - userscript to add hCalendar markup to eVite invitation pages<br />
* [http://www.tripit.com/ TripIt] - uses hCalendar markup for every itinerary<br />
* [http://www.leaguist.com Leaguist] - uses hCalendar markup sporting events<br />
** Examples: http://www.leaguist.com/super-14-2008/games/, http://www.leaguist.com/super-14-2008/pick/1<br />
* [http://www.areaguides.net areaguides.net] - uses hCalendar markup on all of our event pages<br />
** Examples: http://newyorkny.areaguides.net/events.html, http://chicagoil.areaguides.net/events.html<br />
* [http://www.keevu.com Keevu.com] - embeds hCalendar markup on all of it's events announcements<br />
** Example here: [http://www.keevu.com/events Latest events]<br />
* [http://rosebleed.net/events/ Rosebleed] uses hCalendar markup on the Events calendar and individual Event pages.<br />
* [http://www.hotmix.org/calendar/icalendar/icalagenda.php?Calendar=AnnMeetAgenda The National Asphalt Pavement Association] uses hCalendar on its meeting agenda pages. It features a selective iCalendar/CSV download option. The calendar data comes from an ASP web service on their exchange server. The hCalendar, iCalendar and CSV outputs are all generated with PHP.<br />
* The [http://www.ox.ac.uk/ University of Oxford (UK)] has a locally produced institutional newsfeed system ([http://www.oucs.ox.ac.uk/oxitems/ OXITEMS]) where members of the University can create newsfeeds and add items to those newsfeeds. One of the possibilities is to use a newsfeed to represent a collection of events. This kind of newsfeed can be delivered in the Atom 1.0 notation where the content element of each entry element has [http://rss.oucs.ox.ac.uk/running/events-demo/atom10.xml some hCalendar embedded in it]. It is also possible to obtain an event in iCalendar notation or to obtain all the events of the newsfeed [http://rss.oucs.ox.ac.uk/running/events-demo/getevents.ics in iCalendar notation]. For this, it uses [http://suda.co.uk/projects/X2V/ Brian Suda's X2V] to produce the iCalendar from Atom 1.0. <br />
*Wikipedia-EN - [[User:AndyMabbett|Andy Mabbett]]<br />
**I have added hCalendar to the [http://en.wikipedia.org/wiki/Template:Infobox_Space_mission Infobox Space mission] template, with dates entered using the [http://en.wikipedia.org/wiki/Template:Start_date Start date] and [http://en.wikipedia.org/wiki/Template:End_date end date] templates (to counter the lack of support for the <code>abbr</code> element). Example: [http://en.wikipedia.org/wiki/Apollo_11 Apollo 11]. Work on improvements is continuing, prior to roll-out.<br />
**Now used in templates for album (e.g. [http://en.wikipedia.org/wiki/The_Dark_Side_of_the_Moon The Dark Side of the Moon]), single (e.g. [http://en.wikipedia.org/wiki/I_Want_to_Hold_Your_Hand I Want to Hold Your Hand]) and film (e.g. [http://en.wikipedia.org/wiki/The_Piano The Piano] release dates.<br />
**Every day from 1 July 2006 onwards has its news events rolled into a single hCalendar item, via the [http://en.wikipedia.org/wiki/Portal:Current_events current events portal]; earlier dates will be converted shortly.<br />
**Issues: non-inclusive end date; no HH:MM:SS component as yet<br />
* [http://my.opera.com/Kilimanjaro07/blog/ My Opera] uses hCalendar to mark-up Countdowns in blog/group sidebars.<br />
* [http://www.nensa.net/sched&result/racing_index.php New England Nordic Ski Association's Calendar] marked up in hCalendar. <br />
* [http://www.lshtm.ac.uk/events/ London School of Hygiene &amp; Tropical Medicine's Events section] supports hCalendar. <br />
* [http://www.brewerdesigngroup.com/barcamp-hcalendar.html The schedule for BarCamp San Diego] marked up in hCalendar. <br />
* [http://2007.xtech.org/public/schedule/full The schedule for XTech 2007] uses hCalendar.<br />
* [http://www.seemsartless.com seemsArtless daily photoblog] - embeds hCalendar markup for each photo, with GEO markup for photos with significant geographic locations ( such as with [http://www.seemsartless.com/index.php?pic=348 this photo] )<br />
* [http://www.ischool.washington.edu/ Information School of the University of Washington] - now embeds hCalendar markup on all of it's events<br />
** Example here: [http://www.ischool.washington.edu/events/calendar.aspx Events Calendar]<br />
* [http://playinghere.com/ Playing Here] uses hCalendar for live music shows in America, [http://playinghere.com/2007/07/07/CA/Los_Angeles/The_Hollywood_Bowl/ e.g.]<br />
* [http://www.thsh.co.uk THSH] uses iCalendar for events at Town Hall Birmingham and Symphony Hall Birmingham<br />
* [http://www.anfsusa.org/ America-Nepal Friendship Society] uses hCalendar for its program events<br />
** Example here: [http://www.anfsusa.org/news/programs-projects/ ANFS: Programs &amp; Projects]<br />
* [http://www.depechemode.de www.depechemode.de] - uses hCalendar for events in the party guide<br />
** Example here: [http://www.depechemode.de/parties/show-party.php?cat=1 Depeche Mode Parties]<br />
* [http://last.fm last.fm] - uses hCalendar on all concert announcements.<br />
** Example here: [http://www.last.fm/event/75615 Rise Against at Arena, Wien]<br />
* [http://www.radiotimes.com Radio Times] - now mark up all their radio and TV listings.<br />
**The hCals on listings are good, but on pages for individual programmes, they have no date/times.<br />
** Would benefit from using [[include-pattern]] for channel name in main listings. This would facilitate the writing of parsers to set audio or video recording software. [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://nederlandskamerkoor.nl Dutch Chamber Choir] uses hCalendar to notify visitors of their tour schedule.<br />
* [http://cloudislands.com Cloud Islands] uses hCalendar to notify our customers about the conferences we'll be attending.<br />
* [http://www.rockisland.com/%7elopezmuseum/index.html The Lopez Island Historical Society and Museum] uses hCalendar for events<br />
* [http://leicesteryha.org.uk/programme Leicester YHA Group's programme page] uses hCalendar and hCard to mark up forthcoming events and their organisers.<br />
* [http://www.wadip.org.uk/pages/events.php Wadhurst Independent Photography events] lists forthcoming events in hCalendar format.<br />
* [http://xlntads.com/about-xlntads/development-schedule.php XLNTads-development schedule] has their project development schedule timeline marked up in hcal (as well as contacts in hCard)<br />
* [http://www.jaama.co.uk Jaama] have their event details as iCal downloads on their [http://www.jaama.co.uk/HS_Seminars.aspx workshops] page.<br />
* [http://3amproductions.net 3AM Productions] has employee education ([http://3amproductions.net/jason.php Jason], [http://3amproductions.net/gilbert.php Gilbert]) marked up in hCalendar<br />
* The [http://neatta.org New England Antique Tractor & Truck Association] (of all sites) has their 15 upcoming events marked up in hCalendar (as well as contacts in hCard and classifieds in hListing)<br />
* [http://diarised.com Diarised] is a quick and simple online tool to help pick the best time for a meeting, uses hCalendar for meeting information.<br />
* [http://etnies.com/ etnies.com] uses hCalendar on each sports home page ([http://etniesskate.com/ etniesskate.com]) and the [http://etnies.com/extra/calendar/ calendar of events] page.<br />
* [http://www.mdas.org/ La maison des associations de Strasbourg] uses hCalendar on event pages.<br />
* [http://nuggetshoops.com/schedule.php NuggetsHoops] , an NBA fansite, uses hCalendar for each remaining game in the current season.<br />
* [http://wikevent.org WikEvent] aims to make it as easy as possible to put events on the web with semantic markup, including hCalendar for events and hCard for venues and artists.<br />
* [http://fundyfilm.ca/calendar/ The Fundy Film Society] uses hCalendar for their calendar of upcoming film screenings.<br />
* Psychology Press and Routledge's Behavioral Sciences' publishing division have implemented hCalendar on their conferences listings on 17 of their websites (example on the conference listing on their [http://www.clinicalpsychologyarena.com/resources/conferences/ Clinical Psychology Arena])<br />
* [http://jhtc.org Jewish High Tech Community] uses hCalendar on event pages.<br />
*[http://www.gore-tex.com/remote/Satellite?c=fabrics_content_c&cid=1162322807952&pagename=goretex_en_US%2Ffabrics_content_c%2FKnowWhatsInsideDetail Gore-Tex "Know What's Inside"] tour dates in hCalendar by [http://microformats.org/wiki/User:Csarven csarven]<br />
* [http://finetoothcog.com/site/stolen_bikes Finetoothcog] uses hCalendar to markup when bikes are stolen.<br />
* [https://www.urbanbody.com/contact Urban Body Men's Clothing] uses hCalendar for business hours and hCard for business locations.<br />
* [http://www.infoiasi.ro The website of the Faculty of Computer Science], "A. I. Cuza" University Ia&#351;i, Romania, uses hCalendar to markup events.<br />
* [http://www.crosbyheritage.co.uk/events/ Colin Crosby Heritage Tours] uses hCalendar to markup events.<br />
* [http://www.newbury-college.ac.uk/ Newbury College UK] uses a smattering of hCalendar and hCard<br />
* [http://07.pagesd.info/ardeche/agenda.aspx 07.pagesd.info] uses hCalendar and hCard to mark up events of the Ardèche département in France.<br />
* [http://climbtothestars.org Stephanie Booth] announced the [http://climbtothestars.org/archives/2006/09/14/microformats-et-bloggy-friday-doctobre/ Bloggy Friday for October 2006] using hCalendar.<br />
* The [http://www.westmidlandbirdclub.com/ West Midland Bird Club], in the English Midlands, uses hCal (with nested hCard) on its [http://www.westmidlandbirdclub.com/diary/ diary of birding events].<br />
* [http://www.comtec-ars.com/press-releases/ ComTec audience response systems' press releases] use hCalendar as a method to organize by title and date.<br />
* [http://webdirections.org/ The Web Directions Conference (Sydney Australia)] uses hCalendar for their program. It uses axis and headers for events in a table, and demonstrates how easy it is to make the whole thing downloadable using X2V.<br />
* [http://www.thestreet.org.au/ The Street Theatre (Canberra, Australia)] now uses hCalendar for performances on its [http://www.thestreet.org.au/whats_on.htm What's On] page.<br />
* [http://www.clacksweb.org.uk Clackmannanshire Council] uses hCalendar on its [http://www.clacksweb.org.uk/community/events/ event diary] listing pages and individual event pages.<br />
* [http://www.markthisdate.com/ Calendarportal MarkThisDate.com] now uses hCalendar for all calendars. On our website visitors can add calendars and download calendars to Outlook, Lotus Notes, iCal, Netvibes, 30Boxes, Google Calendar and many others. Over 600 calendars were already uploaded. <br />
* [http://mogue.jp/ mogue] uses hCalendar at [http://mogue.jp/event/1000/ event detail] pages.<br />
* [http://www.gustavus.edu/events/nobelconference/2006/schedule.cfm 2006 Nobel Conference] uses hCalendar for the conference schedule<br />
* [http://www.geekinthepark.co.uk Geek in the Park] uses hCalendar for the event information. -- by [[User:Trovster|trovster]]<br />
* [http://www.besancon.fr/ official site of Besançon (France)] for its events<br />
* [http://2006.dconstruct.org/schedule/ Conference schedule for d.Construct 2006] is published using hCalendar.<br />
* [http://local.yahoo.com Yahoo Local] now supports hCalendar<br />
* We used hcalendar for the [http://www.fuckparade.org/flyer/2006/ F’parade flyer 2006], a counter demonstration to the Love Parade in Berlin, alas the '''Firefox tails extension''' doesn't get a summary when it's an alt-text in an image.<br />
* [http://www.harper-adams.ac.uk/press/events.cfm Harper Adams University College] uses hCalendar to mark up all University events on the Homepage and Events Calendar page.<br />
* [http://www.capital.edu/ Capital University] uses hCalendar on multiple pages to provide feeds of events, relevant to page content<br />
* [http://www.thesession.org/events/ The Session events] uses hCalendar to mark up concerts, festivals and workshops related to Irish traditional music.<br />
* [http://www.tendenci.com/en/calendarevents/search.asp Tendenci Calendar Events] with hCalendar<br />
* [http://www.argolon.com/2006/04/17/web20-conference-in-dublin/ Web2.0 Conference in Dublin] hCalendar event<br />
* [http://www.meetup.com/ Meetup.com] has marked up [http://www.meetup.com/cities/us/ny/new_york city event calendars], [http://photo.meetup.com/100/events/ group event lists], and [http://www.meetup.com/ signed-in homepages] with hCalendar.<br />
* [http://ukwindsurfing.com/ ukwindsurfing.com] has marked upcoming events with hCalendar, and the [http://ukwindsurfing.com/events/ events page] in a table.<br />
* [http://ocono.com/ ocono.com] has marked up it's "Upcoming Events" list with hCalendar.<br />
* [http://www.austinbloggers.org/ Austin Bloggers] has marked up their "Upcoming Events" box with hCalendar ([http://www.austinbloggers.org/blog/a/001123.html announcement]).<br />
* Ning's cloneable Group app has [[hcalendar|hCalendar]] markup on its [http://www.ning.com/ event calendar].<br />
* [http://tantek.com/microformats/2006/03-01-TechPlenAgenda.html Agenda: W3C Technical Plenary Day, March 1 2006] has [[hcard|hCard]] and [[hcalendar|hCalendar]] markup. ([http://www.w3.org/2006/03/01-TechPlenAgenda.html original here]).<br />
* The National Arbor Day Foundation has started using hCalendars for their [http://arborday.org/programs/conferences/communityforestry/index.cfm upcoming] [http://arborday.org/programs/conferences/hazardtrees-treeplanting/ conferences].<br />
* [http://www.stateofflux.com/ State of Flux street art site] has started adding events in hCalendar format<br />
* The [http://barcamp.org/#BarCamps BarCamp home page lists upcoming BarCamps marked up with hCalendar] and even has a "Subscribe..." link.<br />
* [http://www.w3.org/2005/12/allgroupoverview.html 2006 W3C Technical Plenary Week] has marked up the schedule and events for the week with hCalendar.<br />
* [http://www.code4lib.org/2006/schedule code4lib Conference 2006 Schedule] is marked up with hCalendar as [http://www.code4lib.org/node/65 announced on their blog].<br />
* [http://grouper.ieee.org/groups/754 IEEE 754 Working Group] - trying hCalendar for upcoming meetings.<br />
* [http://www.pehuen.org/node/494 Elecciones 2005 Chile] - the first spanish language hCalendar event found in the wild.<br />
* [http://www.codewitch.org/it/2005/11/17/no-creative-commons-no-party/ Giocolando » No Creative Commons? No Party!] is marked up with hCalendar<br />
* [http://www.midgard-project.org/community/events/ Midgard CMS Event calendar] - as [http://bergie.iki.fi/blog/new-event-calendar-for-midcom.html blogged by Henri Bergius] <br />
* [http://www.iowamilitaryveteransband.com/schedule/ Iowa Military Veterans Band Schedule] - hCalendar markup [http://weblog.randomchaos.com/archive/2005/10/24/Microformats/ added by Scott Reynen]<br />
* [http://www.funfairgames.net/weblog/posts/00000011.html Upcoming events on Jason A.R. Moody Amusements Weblog] posted by Jason Moody on 15 Oct 2005. [http://www.funfairgames.net/weblog/index.html His weblog] in general has hCalendar events posted inside the blog posts.<br />
* [http://tantek.com/microformats/2005/syndicate/tracks-sessions-schedule.html Syndicate - Tracks &amp; Sessions]<br />
* [http://tantek.com/microformats/2005/web2/program.html Web 2.0 Conference schedule page marked up with hCalendar]<br />
* [http://www.thisiscmon.com/ C'MON] is a rock band from Canada, and their [http://www.thisiscmon.com/shows/ tour dates] have been marked up by [http://www.d2digitalmedia.com/ Ray Dickman] with hCalendar.<br />
* [http://www.asdvbonaparte.nl/ ASDV Bonaparte] is a Dutch debating society. Their events calendar has been marked up with the hCalendar conventions.<br />
* [http://chocnvodka.blogware.com/blog Suw Charman] has marked up [http://suw.org.uk/archives/category/events/ her events] with hCalendar.<br />
* [http://eventful.com Eventful.com] publishes all events with hCalendar and venues with [[hcard|hCard]]. Took them only 15 minutes to implement both! Their Atom feeds also contain hCalendar/hCard.<br />
* The [http://laughingsquid.com/squidlist/calendar/ Laughing Squid Calendar] events, [http://laughingsquid.com/squidlist/calendar/9949/2005/5/9 e.g. this party], now supports hCalendar.<br />
* [http://paulschreiber.com/ Paul] Schreiber's [http://concerts.shrub.ca/ Sunnyvale House Concerts] site publishes hCalendar event information for upcoming concerts. In addition the [http://concerts.shrub.ca/shows Past Shows] page contains hCalendar events for all past concerts.<br />
* [http://www.complexspiral.com/ Complex Spiral Consulting], both in the "Events" box on left side, and the separate [http://www.complexspiral.com/events/ Events page].<br />
* [http://tantek.com/log Tantek's Thoughts], specifically the "Events" roll in the right-most column.<br />
* [http://suda.co.uk/projects/holidays/ Lesser Known Holidays], a list of holidays on [http://suda.co.uk suda.co.uk] that can be imported via iCal and hCal so you can compare actual transformation versus intended.<br />
* [http://norman.walsh.name/2005/itinerary/ Norm Walsh's travel schedule] use hCalendar as well as GRDDL.<br />
* [http://www.policyawareweb.org/2005/ftf2/paw-mtg Policy Aware Web (PAW) Project Meeting] uses hCalendar to record date-related decisions, and uses a vtodo microformat to record action items.<br />
* The [http://ds.informatik.rwth-aachen.de/events Laboratory for Dependable Distributed Systems] publishes it's events with hcalendars <br />
* The [http://laughingsquid.com/laughing-squid-10th-anniversary-party/ Laughing Squid 10th Anniversary Party] has an hcalendar page.<br />
* SPRACI has hcalendar versions of its nightlife/clubbing/gigs/festivals listings for many cities worldwide - eg: [http://www.spraci.com/listhcalendar.php?parea=sydney&category=all Events in Sydney] (check the [http://www.spraci.com/api/ API] pages in the faq section of [http://www.spraci.com/ SPRACI] for more info about the area/city keywords and category tags to use to get data for your city/categories<br />
* WWF-Australia events calendars: [http://wwf.org.au/act/events/ What's on], [http://wwf.org.au/act/volunteer/ Volunteer]<br />
* [http://rubyholic.com rubyholic] uses hCalendar to publish calendars for ruby groups.<br />
* [http://www.bath.ac.uk/whats-on/ University of Bath What's On] uses hCalendar on individual event pages<br />
* The [http://www.kiez-ev.de/ Kiez] is a small cinema and has published its [http://www.kiez-ev.de/programm program] marked up with hCalendar<br />
* [http://walkwithmetours.net/ Walk With Me Tours ] provides walking tours of Seattle, WA. The selected tours on [http://walkwithmetours.net/take-a-tour.php Take a Tour] are marked up with hCalendar.<br />
====World Cup Kick-off====<br />
* [http://www.worldcupkickoff.com/ World Cup KickOff] where you can download and keep all the fixtures you are interested in so you will never miss a single game of the 2006 football World Cup!<br />
** This link was on the [http://www.lifehacker.com/software/sports/world-cup-start-times-for-ical-etc-175393.php Lifehackers site] and made its way to the yahoo news site:<br />
<br />
<blockquote><br />
Mon May 22, 4:00 PM ET<br />
The World Cup, one of the world's most watched sporting events, is almost upon us. If you've ever tried to follow your favorite team through the Cup you know that it can sometimes be difficult to know when they're on. World Cup Kickoff can help.<br />
<br />
World Cup KickOff is all you will ever need for knowing all the match details for the upcoming World Cup 2006. Whether you use your mobile phone, MS Outlook, Apple iCal or Mozilla Calendar, you can download and keep all the fixtures you are interested in so you will never miss a single game!<br />
<br />
Next tip? We'll show you how to get up at 2 AM to watch your matches. ;0) Thanks to Tom for the tip!<br />
</blockquote><br />
<br />
=== examples with some problems ===<br />
<span id="Examples_with_some_problems"></span><br />
If you find a problem with any example in any other section, please move it here, and note the precise problem and cite the section of the [[hcalendar | hCalendar spec]] that appears to be violated. If the example that was moved here is yours, and you want to improve it, see the [[hcalendar-faq| hCalendar FAQ]], or raise any queries on [[hcalendar-issues| hCalendar issues]] or [[mailing-lists#microformats-discuss|the mailing list]], where people will be happy to help you. <br />
<br />
* [http://www.tpexpress.co.uk/Liverpool08-Capital-of-Culture/ First TransPennine Express - Liverpool 08, Capital of Culture] - uses hCalendar markup for events.<br />
**'''Suboptimal''', not using exclusive date end. [[User:AndyMabbett|Andy Mabbett]] 12:25, 17 Feb 2008 (PST)<br />
* [http://www.konplan.com konplan.com] - uses hCalendar markup in their event container<br />
** Examples: http://www.konplan.com/public1/_EN/index.php<br />
**'''Suboptimal''', has wrong values in <code>dtend</code><br />
*** Should be fixed. Can anyone check on it -- I'd like to move it back to examples above. --[[User:AndreasLappe|AndreasLappe]] 07:32, 23 Jan 2008 (PST)<br />
**** Better, but the new end dates are not exclusive (this is a frequently-occurring problem, requiring a rethink of the way the microformat works). [[User:AndyMabbett|Andy Mabbett]] 10:13, 23 Jan 2008 (PST)<br />
***** Should be fixed too. Again, I'd appreciate comments... --[[User:AndreasLappe|AndreasLappe]] 05:22, 25 Jan 2008 (PST)<br />
****** Do those events really run from midnight to midnight? [[User:AndyMabbett|Andy Mabbett]] 05:56, 25 Jan 2008 (PST)<br />
******* They don't. They are all-day events. I was working with [http://lists.osafoundation.org/pipermail/ietf-calsify/2005-September/000769.html] -- wrong? --[[User:AndreasLappe|AndreasLappe]] 06:08, 25 Jan 2008 (PST)<br />
******** That's not usual practice (I'd say it gives a false level of precision), but should perhaps be raised at [[hcalendar-issues]] for clarification. [[User:AndyMabbett|Andy Mabbett]] 02:47, 28 Jan 2008 (PST)<br />
* [http://wiki-translation.com wiki-translation.com] - uses hCalendar markup for events.<br />
**Built-in feature for [http://TikiWiki.org TikiWiki CMS/Groupware] 1.10<br />
**'''Hidden''', data hidden using CSS. [[User:AndyMabbett|Andy Mabbett]] 06:51, 15 Jan 2008 (PST)<br />
***Should be fixed. Can anyone check on it? -- I'd like to move it back to examples above. --[[User:MarcLaporte|MarcLaporte]] 16:58, 4 Mar 2008 (PST)<br />
**** Is this OK? Tiki 3.1 -> http://dev.tikiwiki.org/Upcoming+events --[[User:MarcLaporte|MarcLaporte]] 00:48, 7 September 2009 (UTC)<br />
<br />
* [http://konferenciakalauz.hu konferenciakalauz.hu] uses hCalendar for events (in Hungarian).<br />
**'''Suboptimal''', not using exclusive date end. [[User:AndyMabbett|Andy Mabbett]] 13:18, 24 Sep 2007 (PDT)<br />
***Fixed<br />
* [http://www.gretchenland.com Gretchen] has their show schedule marked up with hCalendar<br />
** Example here: [http://www.gretchenland.com/shows Upcoming Concert Dates]<br />
**Invalid: <code><nowiki><SPAN title="2007-04-21" class="dtstart">04.21.2007</SPAN></nowiki></code> [[User:AndyMabbett|Andy Mabbett]] 02:08, 20 Apr 2007 (PDT)<br />
* I'd be happy if some future french Pinko-marketing meetings (CantineCamp) could require the use of hCalendar for listing some informal lunches in Paris. [http://www.wikiservice.at/fractal/wikidev.cgi?FR/PinkoMarketing/CantineCampParis10 CantineCampParis10 is an example] to include a hCalendar + hCard markup on the wiki-page. When converting to vCard, "Mendès" accent is malformed in a french outlook 2003 "address book". I've looked UTF-8 example but could not find any way to correct. Any idea ? -- [[User:ChristopheDucamp|xtof]] 01:09, 26 Mar 2007 (PDT)<br />
* [http://www.joomlamug.com Joomla! Melbourne User Group] uses hCalendar markup for listing of all events.<br />
** No examples on cited page. [[User:AndyMabbett|Andy Mabbett]] 15:06, 31 Jan 2007 (PST)<br />
* [http://www.webfeet.org/events.html Webfeet events] includes hCalendar markup in its aggregated events lists.<br />
** <s>Possibly a case where <nowiki><abbr></nowiki> won't work for dtstart/dtend as there are many events listed under a single date. [[User:Webf|Webf]] 15:19, 15 Jan 2007 (PST)</s><br />
**Malformed e.g <code><nowiki><span class="dtstart" title="20070120"></span></nowiki></code> [[User:AndyMabbett|Andy Mabbett]] 15:41, 15 Jan 2007 (PST)<br />
** Continue the discussion under [[hcalendar-issues|hCalendar Issues]] perhaps. [[User:Webf|Webf]] 22:25, 15 Jan 2007 (PST)<br />
* [http://www.theatrestudies.llc.ed.ac.uk/ Theatre Studies: European Theatre] at the University of Edinburgh uses hCalendar to markup news and events on the index page.<br />
**<s>Uses "display:none" on image. [[User:AndyMabbett|Andy Mabbett]] 15:32, 13 Nov 2006 (PST)</s> Removed img tag from hCard<br />
* [http://www.bokle.de/ s'Bokle] is a German music pub. Their events calendar has been marked up with hCalendar.<br />
** improper use of rrule --[[User:RyanKing|RyanKing]] 16:04, 6 Jan 2006 (PST)<br />
** <s>dtstart/dtend are implemented on span element [[User:TomArmitage|Tom Armitage]] June 23, 2006</s> --[[User:Tim|Tim]] 13:34, 4 Mar 2007 (PST) Fixed now<br />
* [http://www.socaltech.com socalTECH] is a news and information site. Their front page event listing is marked up with hCalendar.<br />
** dtstart/dtend implemented on span element [[User:TomArmitage|Tom Armitage]] June 23, 2006<br />
* [http://www.multipack.co.uk The Multipack] features a vevent for the next meeting information.<br />
** dtstart/dtend are implemented on em element [[User:TomArmitage|Tom Armitage]] June 23, 2006<br />
** dtstart/dtend are implemented on td element [[User:TomArmitage|Tom Armitage]] June 23, 2006<br />
<br />
- whilst Tails parses the "title" attribute for dtstart/dtend on <em>any</em> element (does Tails still do this?), that is incorrect. The title attribute only provides semantics for the <code><nowiki><abbr></nowiki></code> element, while for elements in general like <code><nowiki><span></nowiki></code>, only the contents of the element are used. This is a simplification and see [[hcard-parsing|hCard parsing]] for details. Technorati Microformats Search only looks for the title attribute on <code><nowiki><abbr></nowiki></code> tags per the rules from [[hcard-parsing|hCard parsing]] which apply to [[hcalendar-parsing|hCalendar parsing]] as well.<br />
<br />
=== reviewed examples ===<br />
<span id="Reviewed_Examples"></span><br />
If you have reviewed a New Example (and you are not the author of the example) and believe it to be valid, go ahead and move it here.<br />
* ...<br />
<br />
== grouped examples ==<br />
=== event ticketing sites ===<br />
* [http://eventbrite.com/ Eventbrite] events (over 1.5 million!*) are marked up with hCalendar, e.g. http://csswgtucson.eventbrite.com including nested [[geo]] for the location, and nested [[hCard]] for the venue/location.<br />
** *over 1.5 million events inferred from:<br />
*** in 2010, 222,353 events were posted: <cite>[http://blog.eventbrite.com/things-are-looking-brite-eventbrite-in-2010-by-the-numbers/ Things Are Looking Brite: Eventbrite in 2010 by the Numbers]</cite><br />
*** exponential (^2) rate of event postings inferred from ticket sales: 2009-2010 (24 months ) $300m, 2011-2012mid (18 months) $600m: <cite>[http://www.eventbrite.com/pressreleases/eventbrite-crosses-1-billion-in-ticket-sales/ Eventbrite Crosses $1 Billion in Ticket Sales]</cite><br />
*** thus 2011: ~444k events, 2012: ~888k events estimated. = >1.5 million events total as of 2013-01.<br />
* ...<br />
<br />
=== social event sites ===<br />
* http://www.google.com/profiles/c/favicons?domain=plancast.com&.png [http://plancast.com/ Plancast] - e.g. http://plancast.com/p/3q33<br />
* http://pulse.plaxo.com/pulse/img/event_icons/Upcoming.gif [http://upcoming.org Upcoming.org] publishes all events and lists of events with hCalendar. Took them only an hour to add hCalendar support to the site.<br />
Previously:<br />
* [http://microformats.org/2011/02/17/facebook-adds-hcalendar-hcard 2012-02-17]...2012-??. http://pulse.plaxo.com/pulse/img/event_icons/Facebook.gif [http://facebook.com/ Facebook] - e.g. https://www.facebook.com/event.php?eid=110610245684038<br />
** working with their engineers to add hCalendar back and [[microformats2]] h-event too. [[User:Tantek|Tantek]] 20:14, 5 November 2012 (UTC)<br />
<br />
=== organizations hosting events ===<br />
Sorted alphabetically by organization name.<br />
* '''[http://www.caamuseum.org/index.htm California African American Museum]''' publishes hCalendar events, e.g.:<br />
** 2012-11-08 [http://www.caamuseum.org/hcalendar/events/index.php?com=detail&eID=2571 DOCUMENTARY SCREENING] - note "/hcalendar/" in the URL. Appears to be powered by an [[hcalendar-implementation]] called Helios calendar.<br />
* ...<br />
<br />
=== listings of upcoming local events ===<br />
* ...<br />
=== archives of local event listings ===<br />
==== Laughing Squid Calendar ====<br />
* The [http://laughingsquid.com/squidlist/calendar/ Laughing Squid Calendar] events listings supported [[hcalendar|hCalendar]] <br />
** [http://laughingsquid.com/squidlist/calendar/month/2003/2 2003 February] thru [http://laughingsquid.com/squidlist/calendar/month/2006/9 2006 September]<br />
<br />
=== conference schedules ===<br />
==== confs 2005 ====<br />
* [http://web.archive.org/web/20051102094339/we05.com/ Web Essentials 05] (archive.org links to we05.com, due to domain lapse) marked up their [http://web.archive.org/web/20051102094339/we05.com/program.cfm program schedule table with hCalendar] (archive.org link to we05.com, due to domain lapse), using the 'axis' and 'headers' attributes (which works in both [[X2V]] and [[Operator]]).<br />
==== confs 2006 ====<br />
* ...<br />
==== confs 2007 ====<br />
* [http://adactio.com/extras/schedules/barcamplondon3/ BarCamp London 3 Schedule] - uses hCalendar in a semantic <code>table</code> with <code>id</code> and <code>headers</code> attributes. Provides "Subscribe" and "Download" links.<br />
* [http://adactio.com/extras/schedules/web2expo-berlin/ 2007 Web 2.0 Expo Berlin Schedule] - uses hCalendar in a semantic <code>table</code> with <code>id</code> and <code>headers</code> attributes. Provides "Subscribe" and "Download" links.<br />
==== confs 2008 ====<br />
* ...<br />
==== confs 2009 ====<br />
* [http://opensourcebridge.org/events/2009/schedule Open Source Bridge 2009 schedule] has all 115 sessions marked up in hCalendar.<br />
==== confs 2010 ====<br />
* [http://opensourcebridge.org/events/2010/schedule Open Source Bridge 2010 schedule] has all 137 sessions marked up in hCalendar.<br />
==== confs 2011 ====<br />
* [http://opensourcebridge.org/events/2011/schedule Open Source Bridge 2011 schedule] has all 140 sessions marked up in hCalendar.<br />
==== confs 2012 ====<br />
* [http://opensourcebridge.org/events/2012/schedule Open Source Bridge 2012 schedule] has all 113 sessions marked up in hCalendar.<br />
<br />
=== conference sessions ===<br />
* [http://fluentconf.com/fluent2012 O'Reilly fluent conference 2012] sessions, e.g. [http://fluentconf.com/fluent2012/public/schedule/detail/25831 Federated Wiki Mashes Data in Your Browser] are marked up with hCalendar.<br />
* ... tons more - see event/conference related sections of [[hcard-examples-in-wild]] and evaluate/incorporate here accordingly.<br />
<br />
== related pages ==<br />
{{hcalendar-related-pages}}<br />
* [[hcard-examples-in-wild|hCard examples in the wild]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hcard-advocacy&diff=64398
hcard-advocacy
2014-06-23T06:24:16Z
<p>ChiefRA: Undo revision 64397 by Numpanglewat (Talk) => couldn't find the hcard on this page</p>
<hr />
<div><entry-title>hCard advocacy</entry-title><br />
{{TOC-right}}<br />
Part of the larger microformats [[advocacy]] effort. Adding [[hcard|hCard]] to these sites would improve their usability and ambient findability.<br />
<br />
== Online Profiles ==<br />
=== Sites to check ===<br />
The following sites may have hCard or XFN support and need to be checked and placed into lists on [[hcard-supporting-user-profiles]] and [[hcard-xfn-supporting-friends-lists]] as well. Feel free to add icons/logos for each of these as well.<br />
* http://amazon.com<br />
* http://aol.com<br />
* http://bebo.com<br />
* http://bloglines.com<br />
* http://blogspot.com<br />
* http://connotea.org<br />
* http://hi5.com<br />
* http://ilike.com<br />
* http://imageshack.us<br />
* http://librarything.com<br />
* http://meetup.com<br />
* http://mugshot.org<br />
* http://multiply.com<br />
* http://myspace.com<br />
* http://network.nature.com<br />
* http://picasaweb.google.com<br />
* http://pictures.aol.com<br />
* http://reader.google.com<br />
* http://reddit.com<br />
* http://smugmug.com<br />
* http://socializr.com<br />
* http://spaces.live.com<br />
* http://stumbleupon.com<br />
* http://touchlocal.com<br />
* http://travelpod.com<br />
* http://tribe.net<br />
* http://tumblr.com<br />
* http://webshots.com<br />
* http://xanga.com<br />
* http://yelp.com<br />
* http://ziki.com<br />
<br />
=== User Profiles ===<br />
Nearly every website that has a login has a page representing the public profile of the user that other users can see and interact with. Many such sites already [[hcard-supporting-user-profiles|support hCard]] (e.g. ClaimID.com, Flickr.com, Technorati.com). Here are some that I think would benefit from the addition of hCard to their profile / user pages, making them [[hcard-supporting-user-profiles]].<br />
<br />
Feel free to add more such sites (please keep alphabetically sorted!) that have a social network profile-like component and we'll see what we can do, as well as add icons/logos for each of these as well.<br />
<br />
* http://360.yahoo.com<br />
* http://alexa.com has online profiles for domains with contact information. Would be great if they could add hCard to those. 2007-04-18 [[User:Tantek]] requested of [[User:BenWest]] e.g.:<br />
** http://www.alexa.com/data/details?url=alexa.com/<br />
** http://www.alexa.com/data/details?url=w3.org/<br />
* http://amazon.com <br />
* [http://anobii.com Anobii] - I asked them if they could implement hCard-supporting profiles and XFN on 2007-10-05 - [[User:JulianStahnke|Julian Stahnke]]<br />
** Response: We will definitely spend some time to consider the suggestion.<br />
** Got another mail from one of their developers, they’re looking into it.<br />
* http://aol.com <br />
* http://bebo.com<br />
* http://bloglines.com <br />
* http://del.icio.us<br />
* [http://www.facebook.com Facebook] is a very popular (over 13 million members) community.<br />
**Requested support of microformats in [http://flickr.com/photos/56624456@N00/1399881855/ openly asked question to Mark Zuckerberg (founder of Facebook) during Q&A at TechCrunch40 conference], and got [http://therealmccrea.wordpress.com/2007/09/18/facebook-to-support-open-standards/ lukewarm reply]. Glimmer of hope: "When it's important to our users, we'll do it." Thus if you are a Facebook user, please make a request to them to support microformats and tell them it is important to you. Feel free to add your name below. 2007-09-17 [[User:Tantek|Tantek]]<br />
*** Additional notes of Mark's response to Q above: "fits into context of push to open up in more ways, but keep in mind we're a really small company, under 300, so with respect to open standards, it's a matter of priorities. When it's important to our users we'll do it." Notes taken by John McCrea of Plaxo at TechCrunch40 conference.<br />
**Requested in message to developer, 2007-09-28 [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.icq.com/people ICQ people], where they show people's profiles and have a few ways of contacting and/or connection to people.<br />
* http://instagram.com/ e.g. http://instagram.com/mikeyk/ should have hCard<br />
** 2012-11-05 contacted mikeyk. [[User:Tantek|Tantek]] 23:02, 5 November 2012 (UTC)<br />
*** requested [[rel-me]] support. "will get rolled out with next push." (!)<br />
*** requested [[hCard]] support (offered to help add markup). - [[User:Tantek|Tantek]]<br />
* http://picasaweb.google.com <br />
* http://pictures.aol.com <br />
* http://socializr.com <br />
* http://viddler.com<br />
* Wikimedia - including this site, Wikipedia (See [http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Microformats WikiProject Microformats]), Wikitravel, etc.<br />
**It would be nice if <nowiki>[[User:YOURNAME]]</nowiki> links generated proper (mini)hCards. ([http://microformats.org/wiki?title=to-do&diff=12177&oldid=12173#Lazyweb per SteveIvy]; moved from 'to-do')<br />
* http://yelp.com <br />
* http://youtube.com The very popular YouTube has profiles that do include some information (username) that uses [[hcard|hCard]].<br />
* http://zooomr.com<br />
<br />
==== appear to be offline ====<br />
* [http://dodgeball.com/ Dodgeball] - see [[dodgeball-advocacy]] - taken offline in 2009<br />
* [http://idubyou.com/ i dub you] - appears to be 404 as of 2008-02-02 [[User:Tantek|Tantek]] 20:28, 2 Feb 2008 (PST)<br />
<br />
=== XFN rel me ===<br />
These sites have a field for the user to enter a URL to their home page or blog, and thus should support [[rel-me]] in addition to class="url" on those links inside the user's hCard profile.<br />
* [http://del.icio.us/ del.icio.us]<br />
* [http://myspace.com Myspace]<br />
<br />
=== hCard XFN friends lists ===<br />
In addition, if sites with people profiles have friends lists, we should encourage them to add support for [[hcard-xfn-supporting-friends-lists]]. Both of these help [[social-network-portability]] and help the site become a node on the [[open-social-web]]. Feel free to add icons/logos for each of these as well.<br />
* http://360.yahoo.com<br />
<br />
==== appear to be offline ====<br />
* [http://dodgeball.com/ Dodgeball] - see [[dodgeball-advocacy]] - taken offline in 2009<br />
<br />
=== Company Profiles ===<br />
* [http://getsatisfaction.com/ Satisfaction Unlimited], has company profiles, e.g. http://getsatisfaction.com/satisfaction/ that could be marked up with hCards. <br />
** Contacted Ted Grubb at the company and requested hCards for company and its employees for all their company profiles. [[User:Tantek|Tantek]] 11:24, 2 Sep 2007 (PDT)<br />
<br />
== Online Address Books ==<br />
* ...<br />
<br />
== Online Venues ==<br />
There are many sites that offer pages that represent organizations and venues that could benefit from being marked up with hCard. [http://local.yahoo.com/ Yahoo Local] venues are marked up with hCards for example. Here are some more sites that have venues that would benefit from hCard markup.<br />
* http://opentable.com - a site for making restaurant reservations<br />
** [[hcard|hCard]] for restaurants<br />
** [[hcalendar|hCalendar]] for free busy times at restaurants<br />
** [[hcalendar|hCalendar]] for your reservations<br />
** Tantek has emailed a friend who is a former employee of OpenTable with the above three requests, in the hopes she can pass on the message. In addition, Ryan King may know someone in marketing there. [[User:Tantek|Tantek]] 16:57, 30 Sep 2007 (PDT)<br />
*[http://www.wikioutdoors.com/ WikiOutdoors]<br />
**Could use hCard, Geo, and others<br />
** Requested, 2007-03-14<br />
**[http://www.wikioutdoors.com/forums/viewtopic.php?p=80#80 Considering] [[User:AndyMabbett|Andy Mabbett]] 04:17, 15 Mar 2007 (PDT)<br />
* [http://www.MotorwayServices.info Motorway Services Info] (UK)<br />
**hCard (& Geo) and hReviewRequested by e-mail, 2007-09-21 [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
== Plugins for and modifications of web-applications ==<br />
Many web-applications use plugin-systems to change their behavior and content. Most notable is probably web-forums and blogs. Many of these have a community of coders that develop plugins or code to modify the default behavior of these web-applications. Here are some sites where it might be interesting to develop hcard-related plugins/mods.<br />
<br />
=== WYSIWYG buttons ===<br />
In addition to getting them to markup obvious references to users/usernames with hCard, it would be great to see them update their WYSIWYG authoring interfaces (little creator/style buttons that often line up just above the top of a blog post editing textarea for creating links, lists etc.) to add a "person" button (perhaps with an icon http://microformats.org/wiki/skins/monobook/user.gif) which simply inserts [[hCard]] markup for you, or better yet, lets you pick someone from your address book, and then inserts an inline hCard with their name, URL (and perhaps even your [[XFN]] relationship to them) for you. While they're at it, perhaps a similar button/feature for easily inserting an [[hCalendar]] event.<br />
<br />
=== Tools ===<br />
* forum-software<br />
** http://www.phpbb.com<br />
* blog-software<br />
** http://b2evolution.net<br />
** WordPress<br />
** Moveable Type<br />
** LiveJournal<br />
<br />
==Telephone Directory Listings==<br />
Telephone Directory Listings could usefully apply hCard to their results pages, e.g. (please add other examples!):<br />
<br />
* [http://www.thephonebook.bt.com/ BT]<br />
** '''Requested''' via [http://tinyurl.com/yhtdjy BT feedback form], 2006-11-13 [[User:AndyMabbett|Andy Mabbett]] <br />
** BT confirm that they will consider this at their next re-build. 2006-12 [[User:AndyMabbett|Andy Mabbett]]<br />
** A BT [http://monkeyformats.org Monkeyformat] is available at [http://userscripts.org/scripts/show/24705 Userscripts.org] which will add hcard markup through GreaseMonkey.<br />
* [http://118118.com 118118.com]<br />
** '''Requested''' via e-mail, 2006-11-13. [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://192.com/ 192.com]<br />
** '''Requested''' via [http://www.192.com/support/feedback.cfm 192.com feedback form], 2007-03-07 [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.skype.com/intl/en-gb/download/features/skypefind/ SkypeFind]<br />
** ''Requested''' via [http://support.skype.com/?_a=tickets&_m=submit Skype feedback form], 2007-03-16 [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.whitepages.com/ White Pages (USA/ Canada)]<br />
* [http://www.whitepages.com.au/ White Pages (Australia)]<br />
* [http://www.switchboard.com/ Stitchboard (USA)]]<br />
* [http://www.whowhere.com/ Lycos People Search (USA)]<br />
* [http://www.bsnl.co.in/map.htm BSNL (India)]<br />
* [http://www.saynoto0870.com/ saynoto0870.com] (UK listings of geo vs. non-geo equivalents)<br />
** '''Requested''' by feedback form, 2007-10-13. [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.farangfriendly.com/ Farang Friendly (Thailand)]]<br />
* [http://www.411locate.com/ 411 Locate (USA)]<br />
<br />
==Postal (ZIP) code Finders==<br />
Postal code Finders could usefully apply hCard to their results pages. [[User:AndyMabbett|Andy Mabbett]] 12:09, 13 Nov 2006 (PST)<br />
<br />
e.g. (please add other examples!):<br />
*[http://pol.royalmail.com/dda/txt/pf.asp Royal Mail] (UK)<br />
**Requested via [http://tinyurl.com/ya4hzu Royal Mail feedback form], 2006-11-13 [[User:AndyMabbett|Andy Mabbett]]<br />
**Acknowledged 2006-11-30. [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
==Government hCard==<br />
===UK Gov. hCard===<br />
* Parliament: [http://www.parliament.uk/directories/hciolists/alms.cfm Alphabetical List of Members of Parliament] (see also [http://www.parliament.uk/directories/directories.cfm other lists of MPs and Lords]). [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
===Europe Gov. hCard===<br />
* e.g. [http://www.europarl.org.uk/uk_meps/westmidlands.asp UK MEPs]<br />
<br />
=== MAPLight ===<br />
http://maplight.org/ can use a bunch of hCard markup, e.g.<br />
* individual politicians, like [http://www.maplight.org/map/us/legislator/408/individuals Nancy Pelosi]<br />
* mentions of politicians on interest pages like [http://www.maplight.org/map/us/interest/L1300 Teachers unions]<br />
* their contact info of course: http://www.maplight.org/contact<br />
Requested by [[User:Tantek|Tantek]] 12:13, 30 May 2007 (PDT) in person at the NetSquared2007 conference.<br />
<br />
== Organization Contacts ==<br />
Many companies and organizations have about or contact pages that could benefit from being marked up with hCard. [http://technorati.com/about/contact.html Technorati's contact page] for example is both marked up with hCard and has a convenient "Add to Address Book" hCard to vCard converter link. The following company sites could benefit from similar markup (and, until user agents support hCards natively, "Add to Address Book" links). [[User:Tantek|Tantek]] 17:44, 13 Dec 2006 (PST)<br />
*Adobe<br />
**[http://www.adobe.com/aboutadobe/offices.html Adobe offices]<br />
***Requested using contact form, 2006-12-14. [[User:AndyMabbett|Andy Mabbett]]<br />
*claimID<br />
**[http://claimid.com/people claimID people]<br />
***requested via instant message with Terrell Russell (co-founder) 2007-11-20. [[User:Tantek|Tantek]]<br />
*Google <br />
**Contacts, e.g. <br />
*** [http://www.google.com/intl/en/contact/index.html Google.com contact page]<br />
**** Requested by asking Google Employee KevinMarks via instant messaging to add hCard to that page along with a "Add to Address Book" link [[User:Tantek|Tantek]] 11:32, 10 Apr 2007 (PDT) and RyanKing in IRC<br />
**** Gmail [http://www.google.com/support/forum/p/gmail/thread?tid=6021050d0038e8e0&hl=en feature requested] in ''Help Forum > Buzz & Contact'' category to have hCard included as 'contact sharing/export' feature, [[User:Gdibble|Gabriel Dibble]] 22:56, 29 Jul 2011 (PST)<br />
*** [http://www.google.co.uk/intl/en/contact/index.html Google UK], etc.<br />
*[http://ibm.com/ IBM]<br />
**[http://www.ibm.com/contact/us/ IBM contact page]<br />
*** Requested by asking IBM employee Michael Kaply via IRC 2007-07-31 08:57am PDT: "how about getting hCard and 'Add to address book' links on the IBM contact page?"<br />
*[http://www.mozilla.com/ Mozilla]<br />
**[http://www.mozilla.com/en-US/about/legal.html Mozilla legal notices]<br />
*Opera <br />
**People, e.g. [http://people.opera.com/howcome/ Håkon Wium Lie]; could also be hResume<br />
*W3C<br />
**[http://www.w3.org/Consortium/contact W3C contact]<br />
**[http://www.w3.org/People/all W3C Staff listing] and individual pages, e.g. [http://www.w3.org/People/Berners-Lee/ Tim Berners-Lee]<br />
***Requested by e-mail. [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
== Individual hCards ==<br />
Getting these sites to at least add hCard to their home page or contact info page would be an excellent start with getting them some experience with microformats and thinking about adding microformats to other places in their sites that make sense:<br />
* [http://metaweb.com/ Metaweb Technologies]<br />
** [http://www.freebase.com/ Freebase ]<br />
<br />
==Trade directories==<br />
* [http://www.booktrust.org.uk/info/search_publishers.php BookTrust (UK book publishers)]<br />
* [http://www.gepir.org/ Global Electronic Party Information Register] (GEPIR) over 1 million companies<br />
** Requested 2007-08-31 [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://www.journa-list.com/ Journa-list]<br />
** hCard, rel-tag requested 2007-10-13, by e-mail. [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
==Store locators==<br />
(see [http://www.google.com/search?q=%22store+locator%22 Google search for "store locator"]; "about 2,000,000" results!)<br />
* [http://www.argos.co.uk/webapp/wcs/stores/servlet/ArgosGSGiftModeExitCmd?action=ArgosStoreLocatorMain?langId=-1&storeId=10001 Argos (UK)]<br />
* [http://www.multimap.com/clients/places.cgi?client=asda_sf Asda (UK; part of WalMart)]<br />
* [http://www.boots.com/storelocator/store_search.jsp Boots (UK)]<br />
* [http://www.mcdonalds.co.uk/asp/locator/index.asp McDonalds (UK)]<br />
* [http://www.tesco.com/storelocator/ Tesco (UK)]<br />
<br />
== people search ==<br />
* [http://www.spock.com/ SPOCK]<br />
** primarily could use hCard on the search results (this is a search engine for people after all)<br />
** rel-tag namespace possibly<br />
** VoteLinks<br />
**'''Requested''', 2007-09-13 [[User:DavidMead|David Mead]]<br />
<br />
==Other hCard==<br />
* [http://www.imdb.com/ Internet Movie Database] (IMDb) for people (real, not characters), e.g. [http://www.imdb.com/name/nm0000007/ Humphrey Bogart]. [[User:AndyMabbett|Andy Mabbett]] 02:49, 13 Nov 2006 (PST)<br />
**Can't find contact info! [[User:AndyMabbett|Andy Mabbett]]<br />
**See also example, below.<br />
*Wikitravel<br />
**e.g. [http://wikitravel.org/en/Birmingham_%28England%29 Wikitravel - Birmingham]<br />
***[http://microformats.org/wiki?title=User_talk:MarkJaroski&curid=2699&diff=0&oldid=10663&rcid=19955 Wikitravel is about to hugely roll out hCard] Mark Jaroski<br />
***See also [http://wikitravel.org/en/Wikitravel:Microformats Wikitravel:Microformats]<br />
*[http://orlabs.oclc.org/Identities/ WorldCat Identities]<br />
**The recently prototyped WorldCat Identities provides pages for 20 million 'identities', mainly authors and people who are the subjects of published titles.<br />
**Requested by feedback form, 2007-03-09 [[User:AndyMabbett|Andy Mabbett]]<br />
** No reply, as of 02:02, 13 Jun 2007 (PDT)<br />
*[http://geonames.org GeoNames]<br />
**Requested by e-mail, 2007-06-07 [[User:AndyMabbett|Andy Mabbett]]<br />
**Reply confirms that they will deploy hCard and Geo<br />
**Geo noted in use, 06:08, 30 Jul 2007 (PDT)<br />
*[http://www.oup.com/oxforddnb/info/ Oxford Dictionary of National Biography] (ODNB); subscription based, but [http://www.oxforddnb.com/public/lotw/ some ODNB articles available free]. All 56,000+ entries have Date of Death.<br />
*[http://www.findagrave.com/ Find-a-Grave] e.g. [http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GRid=680 Karl Marx]. Most entries have Date of Death.<br />
*[http://www.biography.com/ Biography.com] e.g. [http://www.biography.com/impressionists/monet-bio.jsp Camille Monet] Most posthumous entries have Date of Death.<br />
*[http://www.cwgc.org/ Commonwealth War Graves Commission] (1.75 million people's details)<br />
**E-mail sent 2007-08-24. [[User:AndyMabbett|Andy Mabbett]]<br />
*Civil Aviation Authority; UK aircraft register<br />
** e.g [http://www.caa.co.uk/application.aspx?catid=60&pagetype=65&appid=1&mode=detailnosummary&fullregmark=G-MOUR G-MOUR]<br />
*[http://chicago.everyblock.com/ Chicago Everyblock]<br />
<br />
== Successes ==<br />
Perhaps we can consider moving successes to a separate page, like [[hcard-advocacy-successes]]. [[User:Tantek|Tantek]]<br />
=== in 2012 ===<br />
* [http://foursquare.com Foursquare] - a location based checkin site<br />
** 2009-272 [[User:Tantek|Tantek]] requested and sent sample marked up HTML code from their site to their lead dev HarryH<br />
** 2012-200 verified that venues have hCards and HarryH confirmed that "they've been there for quite some time now."<br />
...<br />
<br />
...<br />
=== in 2010 ===<br />
==== BrightKite ====<br />
* http://brightkite.com<br />
** 2010-05-16 requested their front-end developer to support hCards for user profiles and venues - [[User:Tantek|Tantek]]<br />
** 2010-06-09 front-end developer noted that they support hCard for profiles but have problems with vCard conversion - [[User:Tantek|Tantek]]<br />
** 2010-06-11 followed up and gave advice to fix their hCard (and rel-me) support on user profiles - [[User:Tantek|Tantek]] 16:31, 10 June 2010 (UTC)<br />
** 2010-06-11 followed up and gave advice for minor fixex to their hCard support on venues - [[User:Tantek|Tantek]] 16:32, 10 June 2010 (UTC)<br />
** 2010-06-17 success on both! [[User:Tantek|Tantek]] 05:25, 13 July 2010 (UTC)<br />
*** noted in blog post: http://microformats.org/2010/07/08/microformats-org-at-5-hcards-rich-snippets<br />
<br />
==== Basecamp ====<br />
As requested in the Basecamp Customer Forum (was at <nowiki>http://forum.37signals.com/basecamp/forums/3/topics/9091</nowiki>), "It would be really nice (and stupid easy!) to add microformats to Basecamp, such as hCard on the ‘People’ page. ... constantly looking up phone numbers there, it would be nice to have the option to export into ... address book. ... they could also go in the ‘Who’s talking about this message?’ column too!."<br />
<br />
Tweets in support: [http://twitter.com/energy0m/statuses/920692130 energy0m]<br />
<br />
* 2010-07-03 [http://answers.37signals.com/basecamp/556-any-chance-of-adding-hcards#reply_5105 success]! Thanks [[User:Adactio]]!<br />
<br />
=== in 2009 ===<br />
* 2009-05<br />
** Yelp.com added hCard to all venues.<br />
<br />
=== in 2008 ===<br />
* ...<br />
<br />
=== in 2007 ===<br />
*W3C<br />
**'''W3C webmaster''' [http://www.w3.org/People/Jean-Gui/ Jean-Guilhem Rouel] now has an hCard. [[User:AndyMabbett|Andy Mabbett]] 15:41, 4 Apr 2007 (PDT)<br />
* [http://jpgmag.com/ JPG magazine] - have sent email to their web developer with sample marked up member profile with [[hcard|hCard]] and [[xfn]] [[rel-me|rel="me"]]. [[User:Tantek|Tantek]] 23:48, 21 Feb 2007 (PST)<br />
** [[hcard|hCard]]+[[xfn]] [[rel-me|rel="me"]] support as of March 2007.<br />
* Twitter.com - working on it [[User:Tantek|Tantek]] 17:44, 13 Dec 2006 (PST). <br />
** Completed [[hcard|hCard]]+[[xfn]]+[[hatom|hAtom]] support last week with help from Chris Messina. [[User:Tantek|Tantek]] 12:01, 16 May 2007 (PDT)<br />
* Consumating.com - working on it [[User:Tantek|Tantek]] 17:44, 13 Dec 2006 (PST)<br />
** [[hcard|hCard]] profiles, [[hcalendar|hCalendar]] events as of March 2007.<br />
* [http://sunlightlabs.com/api/ SunlightLabs API] provides profiles for US Congresspeople. Their [http://sunlightlabs.com/api/masterref/megatable.php megatable] could easily be marked up with hCard, and their APIs could return hCards and hCard fields.<br />
** [[User:Tantek|Tantek]] 12:30, 20 Apr 2007 (PDT) contacted them and requested that they add hCard to megatable, consider a GethCard API method, and potentially a GethResume API method for each person.<br />
** [[User:CarlAnderson|CarlAnderson]] 26 Apr 2007: http://sunlightlabs.com/api does now have a people.getHCard.php API method to get an hCard for every member of congress. See the documentation at http://sunlightlabs.com/api/people.getHCard.php. An example call: http://api.sunlightlabs.com/people.getHCard.php?id=fakeopenID1 <br />
** [[User:CarlAnderson|CarlAnderson]] 30 Apr 2007: I created a page of hCards for every member of congress: http://sunlightlabs.com/api/hcards/index.php<br />
* [http://pownce.com Pownce] - I'm talking with them, and have requested the following (and a bit more) as of 2007-07-29 - [[User:Tantek|Tantek]]<br />
** needs to add class="photo" to image icon<br />
*** 2007-09-02 success!<br />
** needs to add class="note" to description<br />
*** 2007-09-02 success!<br />
** needs to add hCard+XFN to friends lists.<br />
*** 2007-09-02 partial success, friends lists have hCard, have asked Daniel Burka to add rel="acquaintance" per [[xfn-clarifications#are_you_my_friend_yes_or_no|XFN clarifications for yes/no friend relationships]]. [[User:Tantek|Tantek]] 10:41, 3 Sep 2007 (PDT)<br />
**** 2008-01 success!<br />
** 2007-09-02 note also XFN rel="me" success: http://pownce.com/t/notes/644806/<br />
<br />
====Wikpedia hCard====<br />
*Infobox Templates for people mostly now have [[hcard|hCard]] in their generated markup<br />
** [http://en.wikipedia.org/wiki/Template:Infobox_Person Infobox_Person]; e.g. [http://en.wikipedia.org/wiki/E._O._Wilson E. O. Wilson]<br />
** [http://en.wikipedia.org/wiki/Template:Infobox_actor Infobox_actor]; e.g. [http://en.wikipedia.org/wiki/Humphrey_Bogart Humphrey Bogart]<br />
*Addressable buildings e.g. [http://en.wikipedia.org/wiki/The_Old_Crown%2C_Birmingham The Old Crown, Birmingham]<br />
*Tourist attractions, e.g. [http://en.wikipedia.org/wiki/Cadbury_World%2C_Birmingham Cadbury World]<br />
*Companies, e.g. [http://en.wikipedia.org/wiki/Tesco Tesco] (note headquarters address in infobox)<br />
*Railway Stations, e.g. [http://en.wikipedia.org/wiki/Perry_Barr_railway_station Perry Barr]<br />
*etc.<br />
*See also [http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Microformats WikiProject Microformats] [[User:AndyMabbett|Andy Mabbett]] 13:10, 28 Jan 2007 (PST)<br />
* See also [[persondata|discussion of Wikipedia's Persondata]], which aligns very closely with hCard, but has additional date and place of birth & death fields. [[User:AndyMabbett|Andy Mabbett]] 13:23, 28 Mar 2007 (PDT)<br />
<br />
Some microformat data is now (2007-09-14) being removed from Wikipedia; see, for example [http://en.wikipedia.org/w/index.php?title=List_of_Gaudi_Buildings&diff=prev&oldid=157704557 List_of_Gaudi_Buildings]<br />
<br />
=== in 2006 ===<br />
*Details of hCard should be added to the [http://www.imc.org/pdi/ Internet Mail Consortium's vCard page]<br />
**Requested by e-mail, 2006-11-24 [[User:AndyMabbett|Andy Mabbett]]<br />
**'''Success''' achieved 2006-11-25. [[User:AndyMabbett|Andy Mabbett]]<br />
<br />
==See also==<br />
*[[advocacy]] (in particular see [[advocacy#Geo|Geo advocacy]] - for the Geo microformat, including cases where it may be used inside hCard)<br />
*[[advocacy-email-samples]]<br />
{{hcard-related-pages}}</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hproduct-fr&diff=64361
hproduct-fr
2014-06-20T11:21:53Z
<p>ChiefRA: Undo revision 64359 by EricTenne (Talk) => it looked spammy to me, please check it yourselves too.</p>
<hr />
<div><entry-title>hProduct</entry-title><br />
{{DraftSpecification-fr}}<br />
<br />
<dfn style="font-style:normal;font-weight:bold">hProduct</dfn> est un microformat approprié pour publier et embarquer de la donnée produit. hProduct est l'un des nombreux microformats ouverts appproprié pour l'embarquement dans le HTML, XHTML, Atom, RSS et le XML arbitraire.<br />
<br />
==hProduct Microformat Spécification Draft==<br />
; Editeurs/Auteurs<br />
(alphabétique)<br />
: <span class="vcard"><span class="fn">[[User:PaulLee|Paul Lee]]</span>, <span class="org">Google Product Search</span></span><br />
: <span class="vcard"><span class="fn">[[User:JayMyers|Jay Myers]]</span>, <span class="url org">[http://www.bestbuy.com/ Best Buy, Co., Inc.]</span></span><br />
<br />
; Contributeurs<br />
(alphabétique)<br />
: <span class="vcard"><span class="fn">Craig Cook</span>, <span class="url org">[http://focalcurve.com/ Focal Curve]</span></span><br />
: <span class="vcard"><span class="fn">Aaron Gustafson</span>, <span class="url org">[http://easy-designs.net/ Easy! Designs]</span></span><br />
<br />
; Traduction <br />
: <span class="vcard"><span class="fn">[[User:ChristopheDucamp|Christophe Ducamp]]</span></span><br />
<br />
Les déclarations de [[hproduct-fr#Copyright|copyright]] et de [[hproduct#Brevets|brevets]] sont en vigueur.<br />
<br />
== Statut ==<br />
Draft, version 0.3.<br />
<br />
== Introduction ==<br />
Le web est une place de marché consommateur en pleine santé avec une pléthore de fabricants et de vendeurs éparpillés tout autour du globe. Le vannage au travers de quantités massives de données produits non structurées est une tâche difficile tant pour les navigateurs que pour les machines. Le microformat hProduct donne de la structure à cette métadonnée en fournissant les briques pour identifier les attributs universels de produit, plus un mécanisme pour s'adapter à la grande variation dans les attributs de produit.<br />
<br />
Le microformat hProduct peut aider les consommateurs, fabricants et distributeurs sur un grand nombre de voies. Si un navigateur ou une application comprend qu'une page web spécifique contient le microformat hProduct, il peut informer et aider à faciliter le meilleur choix produit au consommateur pour servir ses besoins. Un standard ouvert, adopté assurera que la donnée produit correcte est publiée entre fabricants et détaillants, pour le bénéfice du client. Apporter de l'ordre et de la structure aux données produits facilite tant pour les personnes que pour les organisations la production de listes pour les produits et services offerts, et aide les services web à consommer cette donnée produite pour l'analyse et la syndication.<br />
<br />
=== Principes de Design XHTML Sémantique ===<br />
{{semantic-xhtml-design-principles-fr}}<br />
<br />
=== Inspiration et Remerciements ===<br />
Remerciements à tous les contributeurs qui ont aidé à poser la fondation de la spécification draft hProduct en cours.<br />
<br />
=== Champ d'application ===<br />
Donner les détails d'un produit particulier est parfois très complexe, car les paramètres sont différents pour les livres et les CDs tout comme la différence existante entre des iPods ou des voitures. Il devrait être très facile de marquer un item en utilisant hProduct et la syntaxe devrait être simple à cette heure et suffisamment flexible pour des applications plus avancées.<br />
<br />
=== Hors du champ ===<br />
Ce microformat n'a pas l'intention de répliquer tout le contenu proposé dans [[hlisting-fr|hListing]] et s'inclinera pour tous les problèmes transactionnels/argent à ce microformat. Ce microformat ne tente pas aussi de spécifier une ontologie produit, ou des attributs spécifiques de catégories ; il vise plutôt à créer un cadre pour permettre une expression flexible des deux.<br />
<br />
== Format ==<br />
{{rfc-2119-intro-fr}}<br />
<br />
=== En Général ===<br />
Le format hProduct est basé sur un ensemble de champs communs à de nombreux sites de e-commerce et des formats utilisés aujourd'hui sur le web.<br />
<br />
=== Schéma ===<br />
Le schéma hProduct se compose de ce qui suit (voir les noms de classes existants pour référence) : <br />
<br />
*hproduct<br />
** brand. optionnel. texte. peut aussi utiliser [[hcard-fr|hCard]] pour les fabricants.<br />
** category. optionnel. texte. peut aussi utiliser rel-tag. ré-utilisé à partir de [[hcard-fr|hCard]].<br />
** price. optionnel. floating point number. peut utiliser un format de devise. <br />
** description. optionnel. texte. peut aussi inclure un marquage HTML valide. réutilisé à partir de [[hreview-fr|hReview]].<br />
** fn. '''requis.''' texte. nom du produit ou titre. réutilisé de [[hcard-fr|hCard]].<br />
** photo. optionnel. élément image ou lien. réutilisé de [[hcard-fr|hCard]].<br />
** url. optionnel. href. peut contenir rel-tag rel='product'. ré-utilisé de [[hcard-fr|hCard]].<br />
** review. optionnel. [[hreview-fr|hReview]], ou [[aggregate-microformat-template-examples|hReview-aggregate]].<br />
** listing. optionnel. [[hlisting-fr|hListing]], ou [[aggregate-microformat-template-examples|hListing-aggregate]].<br />
** identifier. optionnel.<br />
*** type. requis. - exemples :<br />
**** model<br />
**** mpn<br />
**** upc<br />
**** isbn<br />
**** issn<br />
**** ean<br />
**** jan<br />
**** sn<br />
**** vin<br />
**** sku <br />
*** value. requis. - l'étiquette peut être implicite.<br />
<br />
=== Détails des champs ===<br />
Les noms de classe <code class="class-name">category</code>, <code class="class-name">fn</code>, <code class="class-name">photo</code>, <code class="class-name">url</code> sont réutilisés à partir de [[hcard-fr|hCard]]. <code class="class-name">description</code> est réutilisé à partir de [[hreview-fr|hReview]].<br />
<br />
Les champs du schéma hProduct représentent ce qui suit :<br />
<br />
*'''<code class="class-name">hproduct::</code>''' Nom de classe racine<br />
*'''<code class="class-name">brand::</code>''' Le nom de classe brand est utilisé pour identifier la marque du produit. DEVRAIT utiliser [[hcard-fr|hCard]] pour le nom du fabricant. DOIT être singulier.<br />
*'''<code class="class-name">category::</code>''' le nom de classe identifie la catégorie produit. PEUT utiliser le microformat [[rel-tag-fr|rel-tag]]. PEUT être pluriel pour représenter plusieurs catégories.<br />
*'''<code class="class-name">price::</code>''' le nom de classe price est utilisé pour indiquer le prix du produit. DOIT être singulier.<br />
*'''<code class="class-name">description::</code>''' le nom de classe description est utilisé pour décrire le produit. DOIT être singulier.<br />
*'''<code class="class-name">fn::</code>''' nom du produit en texte. DOIT être singulier.<br />
*'''<code class="class-name">photo::</code>''' le nom de classe photo PEUT être appliqué à un élément <img> ou <a>. PEUT être pluriel.<br />
*'''<code class="class-name">url::</code>''' le nom de classe url DEVRAIT faire référence à la page web associée avec les détails produits. PEUT utiliser [[rel-tag-fr|rel-tag]], rel='product'. DOIT être singulier.<br />
*'''<code class="class-name">review::</code>''' le nom de classe review identifie les avis pour le produit. DEVRAIT utiliser [[hreview-fr|hReview]]. PEUT être pluriel.<br />
*'''<code class="class-name">listing::</code>''' le nom de classe listing identifie les listings de produits. DEVRAIT utiliser [[hlisting-fr|hListing]]. PEUT être pluriel.<br />
*'''<code class="class-name">identifier::</code>''' la structure identifier est utilisée pour décrire les identifiants produits comme Model, UPC ou SKU, et elle est conçue pour s'adapter aux nouveaux identifiants ou non-identifiés-à-cette-heure. DEVRAIT être singulier.<br />
**'''<code class="class-name">type::</code>''' le nom de classe type identifie le type d'identifiant.<br />
**'''<code class="class-name">value::</code>''' label PEUT être implicite<br />
<br />
=== Détails complémentaires ===<br />
'''Note :''' Si le marquage hProduct est utilisé d'une manière "autonome" (par ex. un site de fabricant qui ne vend pas, à titre purement informationnel), il est supposé que l'attribut price représente le prix de détail suggéré par le fabricant. Toute représentation transactionnelle (commerce) du prix devrait être déléguée à [[hlisting-fr|hListing]].<br />
<br />
''Internationalisation'' : Même s'il existe beaucoup de tokens en anglais, ce ne sont que des noms de classe invisibles ; la liste des informations visible pour les utilisateurs peut être complètement localisée. Remarquez que les règles d'attribut (X)HTML LANG s'appliquent comme d'habitude, pour les agrégateurs multilingues de hProduct.<br />
<br />
=== Relations avec d'autres microformats ===<br />
Les produits peuvent être des structures complexes avec des attributs et caractéristiques qui peuvent tomber à côté des limites du microformat hProduct proposé. Un soin particulier a été pris pour fournir juste assez d'attributs pour représenter de façon précise des produits tout en ne surchargeant pas la spec hProduct. Ceci veut dire que les solutions sémantique complètes s'appuieraient sur l'utilisation de hProduct en combinaison avec d'autres microformats pour parvenir à leurs fins. A travers les [[hproduct-examples#Coded_examples|exemples]] (voir aussi : [[hproduct-recipes|recipes]]) et [[hproduct-examples#Analysis_of_Product.2FCommerce_Sites|analysis]], il y a quelques relations claires entre hProduct et ces microformats :<br />
<br />
* [[hlisting-fr|hListing]] :: fournit un contexte additionnel au côté transactionnel d'un produit, incluant des éléments comme le prix de transaction.<br />
* [[hreview-fr|hReview]]/hAggregate(concept) :: la recherche montre que de nombreux sites de commerce incluent des critiques de produits et ils sont souvent agrégés pour fournir des avis globaux et des critiques sur le web. Utiliser ces microformats peut fournir de la donnée additionnelle autour d'un produit ou service.<br />
* [[xoxo-fr|xoxo]] :: pour adresser les données property-value qui peuvent être nécessaire pour une représentation complète d'un produit.<br />
<br />
Bien sûr, ce ne sont que très peu des nombreuses combinaisons qui pourraient être utilisées avec le microformat hProduct.<br />
<br />
=== Profil XMDP ===<br />
<pre><br />
<dl class="profile"><br />
<dt>class</dt><br />
<dd><p><br />
<a rel="help" href="http://www.w3.org/TR/html401/struct/global.html#adef-class"><br />
la définition HTML4 de l'attribut 'class'.</a><br />
Ce profil de méta donnée définit quelques valeurs d'attribut 'class' (noms de classes) <br />
et leurs significations comme suggéré par un <br />
<a href="http://www.w3.org/TR/WD-htmllink-970328#profile"><br />
draft de "Liens Hypertexte en HTML"</a>.</p><br />
<dl><br />
<dt>hproduct</dt><br />
<dd>Utilisé pour identifier et décrire les métadonnées universellement communes aux produits.</dd><br />
<dt>brand</dt><br />
<dd>Le nom de marque du produit.</dd><br />
<dt>category</dt><br />
<dd>La (ou les) catégorie(s) à laquelle appartient le produit.</dd><br />
<dt>price</dt><br />
<dd>Le prix du produit.</dd><br />
<dt>description</dt><br />
<dd>Le plein texte représentant la description écrite du produit.</dd><br />
<dt>fn</dt><br />
<dd>Le nom commun du produit.</dd><br />
<dt>photo</dt><br />
<dd>L'image accompagnant le produit.</dd><br />
<dt>url</dt><br />
<dd>Un lien vers les détails du produit.</dd><br />
<dt>review</dt><br />
<dd>Un avis du produit.</dd><br />
<dt>listing</dt><br />
<dd>Listing détails du produit.</dd><br />
<dt>identifier</dt><br />
<dd>L'identifiant produit comme Modèle, SKU, ISBN, ou EAN associé au produit</dd><br />
</dl><br />
</dd><br />
</dl><br />
</pre><br />
<br />
=== Notes ===<br />
'''Cette section est informative'''.<br />
*...<br />
<br />
== Exemples ==<br />
* besoin de simples et véritables exemples de démonstration ici ! (pas des exemples de ce que sont en train de faire de véritables sites - c'est la prochaine section)<br />
<br />
Éditeurs : regardez SVP http://microformats.org/wiki/hrecipe-fr#Exemples pour un l'exemple d'un exemple dans la spec.<br />
<br />
...<br />
<br />
== Exemples dans la jungle ==<br />
Cette section est '''informative'''. <br />
<br />
Les sites et pages qui publient des hProducts.<br />
<br />
Voir [[hproduct-examples-in-wild-fr|hProduct Exemples dans la jungle]].<br />
<br />
== Implémentations ==<br />
Cette section est '''informative'''. <br />
<br />
Les outils pour générer et consommer des hProducts. Quand cette section sera trop importante, nous la migrerons sur une page séparée comme [[hproduct-implementations-fr|hproduct-implémentations]].<br />
<br />
* Google parse quelques propriétés de hProduct et ajoute des extensions : <br />
Un exemple est une page produit d'imprimante HP parsée avec l'aide de l'Outil Google Rich Snippets : [http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Fwww.shopping.hp.com%2Fproduct%2Fprinter%2Finkjet%2F1%2Fstorefronts%2FC9295A%252523B1H HP Printer Product] à partir de laquelle Google a extrait les éléments hProduct suivants : <br />
<br />
<pre><br />
hproduct<br />
availability = In stock<br />
fn = HP Officejet 6000 Wireless Printer<br />
identifier<br />
type = SKU<br />
value = C9295A#B1H<br />
price = $119.99<br />
review hreview-aggregate<br />
item fn = HP Officejet 6000 Wireless Printer<br />
rating<br />
average (normalized to 5.0 scale) = 3.5<br />
average = 3.4<br />
count = 69<br />
</pre><br />
<br />
L'extension "availability" a été ajoutée par Google pour aller plus en profondeur dans les détails sur la disponibilité du produit quand il est listé. Google fournit aussi la [http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=146750#offer_properties référence des valeurs "availability"] :<br />
<pre><br />
- out_of_stock <br />
- in_stock <br />
- instore_only <br />
- preorder <br />
</pre><br />
<br />
La valeur "availability" peut être saisie sans les soulignés de lien, afin de réduire l'impact visuel, par ex. : <br />
<pre><br />
<span class="availability">In stock</span><br />
</pre><br />
<br />
<br />
* Karniyarik.com [http://www.karniyarik.com/karniyarik-web] est un moteur de recherche vertical pour les marchandises en ligne et a un support expérimental hProduct.<br />
* ...<br />
<br />
== Copyright ==<br />
* [[User:JayMyers|JayMyers]] : Je publie toutes mes contributions dans le domaine public.<br />
<br />
{{MicroFormatPublicDomainContributionStatement-fr}}<br />
<br />
== Brevets ==<br />
{{MicroFormatPatentStatement-fr}}<br />
<br />
== En rappport ==<br />
* '''hproduct'''<br />
* [[hproduct-issues-fr|hproduct-problématiques]]<br />
* [[hproduct-faq-fr|hproduct-faq]]<br />
* [[hproduct-examples-fr|hproduct-exemples]]<br />
* [[hproduct-recipes-fr|hproduct-recettes]]<br />
<br />
* [[product-fr|product]]<br />
* [[product-examples-fr|product-exemples]]<br />
* [[product-formats-fr|product-formats]]<br />
* [[product-brainstorming-fr|product-brainstorming]]<br />
<br />
[[Category:Draft Specifications]]<br />
[[Category:hProduct]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=job-listing-brainstorming-fr&diff=64360
job-listing-brainstorming-fr
2014-06-20T11:21:22Z
<p>ChiefRA: Undo revision 64358 by EricTenne (Talk) => it looked spammy to me, please check it yourselves too.</p>
<hr />
<div>= Brainstorming sur les Annonces d'Emplois =<br />
<br />
Idées pour un microformat possible dédié aux annonces d'emplois : [[job-listing-fr|job-listing]].<br />
<br />
== Champs extraits d'exemples==<br />
<br />
(Voir les [[job-listing-examples|exemples d'annonces d'emplois]])<br />
<br />
* titre - h#<br />
* description - classe<br />
* société - [[hcard-fr|hcard]]<br />
** taille société - classe<br />
* lieu - [[adr-fr|adr]]<br />
* date début et date de fin - dtstart & dtend<br />
:ou devrions nous utiliser dstart pour la date à laquelle l'annonce a été postée et dtend pour la date limite pour postuler ?<br />
* type (employé|contrat) - classe<br />
* classification (plein temps|temps partiel|temporaire|intérim|saisonnnier|internship) - classe<br />
* heurs par semaine - classe<br />
* salaire de base - classe (voir [[currency-fr|currency]])<br />
* salaire max - classe (voir [[currency-fr|currency]])<br />
* salaire/heure - classe (voir [[currency-fr|currency]])<br />
* éducation - classe<br />
* certification - classe (certification de sécurité)<br />
** années - classe<br />
** obligatoire - class<br />
* formation - classe (le management peut tomber sous skill)<br />
** années - class<br />
** required - classe<br />
* avantages - classe<br />
* contact - [[hcard-fr|hcard]]<br />
* date de parution - date-time (est-ce dtstart ? voir au-dessus)<br />
* déménagement pris en charge - classe<br />
* fonction dans le job - classe (si absente, tombe dans le titre ?)<br />
* voyages exigées - classe<br />
* industrie - tag sur société ?<br />
<br />
==Andy Mabbett==<br />
"job-listing" est bancal, est ce que "vacancy" serait un meilleur nom ?<br />
<br />
==Voir aussi ==<br />
*[http://www.twict.gov.uk/jobs.asp Joined Up Jobs] (job syndication initiative in UK local government)<br />
*[[currency-fr|currency]] - microformat proposé pour baliser des montants d'argent (pour salaire, pige, paiements, gains)</div>
ChiefRA
https://microformats.org/wiki/index.php?title=User:DanC&diff=64353
User:DanC
2014-06-12T06:43:58Z
<p>ChiefRA: Undo revision 64352 by Lkjiuyhuyt (Talk) => removed spammy content</p>
<hr />
<div>My [http://microformats.org/discuss/mail/microformats-dev/2005-July/000010.html hcardTest materials, XHTML version of RFC2426, and fun with microformats] message is sort of my introduction to this community. I have since discovered the "personal intro" ritual in [http://microformats.org/discuss/mail/microformats-discuss/ microformats-discuss] and I may join that soonish.<br />
<br />
Meanwhile, I'm working on [[hcard-tests]], [[hcard-issues]], [[to-do#Dan_Connolly|etc]].<br />
<br />
I have written about 6 [http://dig.csail.mit.edu/breadcrumbs/taxonomy/term/26 blog posts tagged microformats] so far.<br />
<br />
Ugh... yet another username/password out there. Oh for [http://www.openid.net/ OpenID]!<br />
<br />
<br />
{{public-domain-release}}</div>
ChiefRA
https://microformats.org/wiki/index.php?title=validators&diff=64330
validators
2014-05-21T18:21:23Z
<p>ChiefRA: /* Google Rich Snippets Testing Tool */ this google tool in now known with a new name</p>
<hr />
<div><entry-title>microformats validators</entry-title><br />
== general purpose validators ==<br />
The following validators will validate multiple microformats on a page:<br />
<br />
=== microformats2 validator ===<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
Barnaby Walters has a hosted version of the open source php-mf2 [[parser]] where you can enter your markup into a textarea:<br />
* http://waterpigs.co.uk/php-mf2/ <br />
<br />
It currently supports parsing and displaying the canonical JSON for:<br />
* [[microformats2]]<br />
* [[hCard]]<br />
* [[hAtom]] - "hentry" microformats in particular<br />
<br />
=== Bing Markup Validator ===<br />
The [http://www.bing.com/toolbox/EntityExtraction Bing Markup Validator] tests for various microformats support, including [[hCard]], [[hCalendar]], and others. Note: 2012-02-03 launch announcemnt: <cite>[http://www.bing.com/community/site_blogs/b/webmaster/archive/2012/02/03/webmaster-tools-markup-validation-tool.aspx Bing Webmaster Center blog: Webmaster Tools Markup Validation Tool]</cite><br />
<br />
=== Google Structured Data Testing Tool ===<br />
The [http://www.google.com/webmasters/tools/richsnippets Google Structured Data Testing Tool] can parse several microformats from a given URL and produces reports showing errors and a preview of what properties it detects. It supports a subset of properties on some microformats, however is continuously updated with more support.<br />
<br />
microformats: [[hCard]], [[hCalendar]], [[hReview]], [[hRecipe]], [[hProduct]], [[rel-author]] (and indirectly [[rel-me]])<br />
<br />
=== Yandex microformats validator ===<br />
The [http://webmaster.yandex.ru/microtest.xml Yandex microformats validator] parses several microformats from a URL and shows what properties it detects and/or needs.<br />
<br />
microformats: [[hCard]], [[hRecipe]], [[hReview]], [[hProduct]]<br />
<br />
== browser microformat readers ==<br />
{{main|browsers}}<br />
=== Mozilla Firefox ===<br />
{{main|firefox}}<br />
Mozilla [[Firefox]] has several add-ons you can use with microformats, such as Operator.<br />
==== Operator ====<br />
{{main|operator}}<br />
[https://addons.mozilla.org/en-US/firefox/addon/operator/ Operator] automatically detects many of the more common microformats as you browse the internet. <br />
Microformats: [[hCard]], [[hEvent]], [[adr]], [[rel-author]]<br />
<br />
=== Google Chrome ===<br />
{{main|chrome}}<br />
[https://chrome.google.com/webstore/detail/oalbifknmclbnmjlljdemhjjlkmppjjl Microformats for Google Chrome] automatically detects most of the common microformats as you browse.<br />
Microformats: [[hCard]], [[hCalendar]], [[hReview]], [[hReview-aggregate]], [[hRecipe]], [[geo]]<br />
<br />
== specific microformats validators ==<br />
<br />
=== hCard Validators ===<br />
* '''[http://indiewebify.waterpigs.co.uk/validate-h-card/ indiewebify.me h-card validator]''' parses [[h-card]] markup and makes suggestions for things to add, with code samples<br />
<br />
<ul id="hCard_Validator"><li>'''[http://hcard.geekhood.net/ The unofficial hCard Validator]'''<br />
<div class="discussion"><br />
*It's [http://github.com/pornel/hCardValidator open-source] and contributions are welcome! Please join the project and extend it to support more microformats.<br />
</div><br />
</li></ul><br />
<br />
* '''[https://foursquare.com/business/brands/offerings/savetofoursquare/tester Save to foursquare tester]''' checks your hCard to see what it can parse from it.<br />
<br />
=== h-entry Validators ===<br />
* '''[http://indiewebify.waterpigs.co.uk/validate-h-entry/ indiewebify.me h-entry validator]''' parses [[h-entry]] markup, finds common errors and makes suggestions for things to add, with code samples<br />
<br />
===Operator Debugger===<br />
{{main|Operator}}<br />
* [https://addons.mozilla.org/firefox/4106/ https://addons.mozilla.org/firefox/4106/]<br />
<br />
microformats: [[hCard]], [[hCalendar]]<br />
<br />
Operator does a good job of compliant parsing for microformats in general, and includes a debug mode that can help identify errors in the structure.<br />
<br />
=== rel-lint ===<br />
* [http://tools.microformatic.com/help/xhtml/rel-lint/ http://tools.microformatic.com/help/xhtml/rel-lint/]<br />
<br />
Rel-Lint provides linting and inspection of [[rel-tag|rel-tag]] and [[xfn|XFN]] (by [[implementors#Drew_McLellan|Drew McLellan]])<br />
<br />
== validator project ==<br />
There has been a suggestion to host an "official" microformats validator at microformats.org.<br />
<br />
Ideas:<br />
* [https://github.com/pornel/hCardValidator hCard validator is open-source] (BSD-licensed) and extensible enough to support other microformats (it's mostly a matter of hooking up XSLT templates that extract microformat data and find errors). The codebase is pretty clean, UI is internationalized.<br />
* …<br />
<br />
Who wants to help make this happen, and what do you need?<br />
* …<br />
<br />
== past validators ==<br />
===Optimus===<br />
{{main|Optimus}}<br />
<br />
[[Optimus]] is a microformats transformer and validator that supports numerous microformats including [[hCard]], [[hCalendar]], [[hReview]], [[hAtom]] (note: [[optimus-issues#hAtom_validation|hAtom validation issues]]).<br />
<br />
Get the [http://tantek.com/favelets/#optimus-validator Optimus microformats validator favelet]. Blog post: [http://microformats.org/blog/2009/05/27/placemaker-optimus-validator/#optimus-favelet validator browser button].<br />
<br />
====Optimus validator is not working for the moment====<br />
Therefore any page you will check through will return the message: "Microformats at this page have no errors. Congratulations." which is a false message. We will update this message when (and if) Optimus will work again. <br />
<br />
Please add issues to the [[optimus-issues]] page.<br />
<br />
== see also ==<br />
* [[validator-brainstorming]]<br />
<br />
== related ==<br />
* [[parsers]]<br />
* [[debugging-tools]]<br />
* [[implementations]]<br />
* [[tests]]<br />
* [[test-suite]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hreview-aggregate&diff=64271
hreview-aggregate
2014-03-28T08:30:51Z
<p>ChiefRA: Undo revision 64270 by Biowein-Steffen (Talk) - couldn't find the hreview, spam</p>
<hr />
<div><entry-title>hReview-aggregate 0.2</entry-title><br />
{{DraftSpecification}}<br />
<br />
[[hreview-aggregate|hReview-aggregate]] is a format for embedding review information (of products, services, businesses, etc). Whereas [[hreview|hReview]] is intended for an individual review, hReview-aggregate is meant for summary information about a collection of user or critic reviews about an item. hReview-aggregate is one of several [[microformats]] open standards suitable for embedding in HTML, XHTML, Atom, RSS, and arbitrary XML.<br />
<br />
== Microformats Draft Specification 2009-11-10 ==<br />
<br />
; Editor: [[User:KaviGoel|Kavi Goel]], Google<br />
; Authors/Contributers (alphabetical): [[User:Tantek|Tantek Çelik]]<br />
: Othar Hansson, Google<br />
: [[User:JayMyers|Jay Myers]], [http://www.bestbuy.com/ Best Buy, Co., Inc.]<br />
<br />
== Introduction ==<br />
<br />
Many websites publish reviews using a variety of organization schemes. hReview-aggregate and the similar microformat [[hreview|hReview]] were designed to enable sharing of review information. <br />
<br />
hReview, created in 2006, is well suited to mark up reviews done by individuals on their own websites or for editor's reviews for a new product or service. However, in recent years, there has been an increasing number of sites who aggregate user reviews, either by accepting reviews submitted to their website or by collecting those user reviews from across the web. In these cases, it is often valuable to share not just the individual reviews shown on the webpage, but the consensus opinion derived from those individual reviews. <br />
<br />
hReview-aggregate was created to address this need. hReview-aggregate is a standard that can be used to share the number of reviews, average rating, and consensus opinion for a particular product or service. It is meant to complement hReview and reuses hReview properties wherever appropriate. Research and discussion that fed into the design of hReview-aggregate can be found on the [[aggregate-review-brainstorming|aggregate review brainstorming]] wiki page.<br />
<br />
{{rfc-2119-intro}}<br />
<br />
=== Scope ===<br />
<br />
Collections of reviews consistently share several common aspects. Where possible hReview-aggregate has been based on this common subset.<br />
<br />
=== Out of scope ===<br />
<br />
Portions of reviews that are specific to particular kinds of items have been omitted from hReview-aggregate.<br />
<br />
== Format ==<br />
<br />
=== Schema ===<br />
<br />
The hReview-aggregate schema consists of the following:<br />
<br />
* hReview-aggregate ('''<code>hreview-aggregate</code>''')<br />
** '''<code>item</code>''' info. required. '''<code>fn</code>''' ('''<code>url</code>''' || '''<code>photo</code>''' ) | '''[[hcard|hCard]]''' (for person or business) | '''[[hcalendar|hCalendar]]''' (for event) | '''[[hproduct|hProduct]]''' (for product)<br />
** '''<code>rating</code>'''. required. fixed point integer [1.0-5.0], with optional alternate '''<code>worst</code>''' (default:1.0) and/or '''<code>best</code>''' (default:5.0), also fixed point integers, and explicit '''<code>average</code>'''.<br />
** '''<code>count</code>'''. optional. non-negative integer. <br />
** '''<code>votes</code>'''. optional. non-negative integer. Note that while <code>count</code> and <code>votes</code> are both marked optional, at least one of the two fields must be specified.<br />
** '''<code>summary</code>'''. optional. text.<br />
<br />
=== Property details ===<br />
<br />
Details of the hReview-aggregate properties:<br />
<br />
'''item''':: This required property {{must}} have at a minimum the name of the entity being reviewed (using the subproperty "fn"), or alternatively have an encapsulated microformat (i.e. [[hcard|hCard]] for a business or person, [[hproduct|hProduct]] for a product, or [[hcalendar|hCalendar]] for an event). If an encapsulated microformat is not used, a URI ("url") for the item and a photo or depiction ("photo") {{may}} also be provided. Non-URL unique item IDs (e.g. ISBNs, UPCs) {{may}} be represented as a URN ("url") for the item. Encapsulated microformats must be set on the item itself (e.g. class="item vcard"). However, when using item info subproperties ("fn", "url", "photo"), they must be nested inside the item element.<br />
<br />
'''rating''':: The rating is a fixed point integer (one decimal point of precision) from 1.0 to 5.0 inclusive indicating the average rating for the item across all reviews, higher indicating a better rating by default. Optionally a different integral "worst" value and/or "best" value may be specified to indicate a different range (e.g. 6 from 0-10).<br />
<br />
'''count''':: This property is used to specify the total number of reviews for the product or service.<br />
<br />
'''votes''':: This property is used to specify the total number of users who have rated the product or service, contributing to the average rating. For some sites, the number of votes is equal to the number of reviews, so <code>count</code> may be used and this property omitted.<br />
<br />
'''summary''':: This optional property can be the title for the review collection or a very short summary of the consensus opinion from the collection.<br />
<br />
The <code>item</code>, <code>rating</code>, and <code>summary</code> properties are reused from [[hreview|hReview]].<br />
<br />
== Examples ==<br />
<br />
=== Basic example ===<br />
<br />
Here is an example showing aggregate review information for a restaurant:<br />
<br />
<pre><nowiki><br />
<div><br />
<h3><br />
<span>Mediterranean Wraps</span><br />
</h3><br />
<span>Customers flock to this small restaurant for their <br />
tasty falafel and shawerma wraps and welcoming staff.</span><br />
<span>4.5 out of 5 based on 17 reviews</span><br />
</div><br />
</nowiki></pre><br />
<br />
Adding hReview-aggregate markup to this is straightforward:<br />
<br />
<pre><nowiki><br />
<div class="hreview-aggregate"><br />
<h3 class="item"><br />
<span class="fn">Mediterranean Wraps</span><br />
</h3><br />
<span class="summary">Customers flock to this small restaurant for their <br />
tasty falafel and shawerma wraps and welcoming staff.</span><br />
<span><span class="rating">4.5</span> out of 5 <br />
based on <span class="count">17</span> reviews</span><br />
</div><br />
</nowiki></pre><br />
<br />
=== Embedded microformat, 10-point rating scale ===<br />
<br />
Often, there is more information available on a page about the item being reviewed than the title. Here is another example of a restaurant review, but with address information present.<br />
<br />
<pre><nowiki><br />
<div><br />
<div><br />
<h3>Mediterranean Wraps</h3><br />
<span>433 S California Ave</span><br />
<span>Palo Alto, CA<br />
<span>(650) 321-8189</span><br />
</div> <br />
<span>Customers flock to this small restaurant for their <br />
tasty falafel and shawerma wraps and welcoming staff.</span><br />
<span>9.2 out of 10 based on 17 reviews</span><br />
</div><br />
</nowiki></pre><br />
<br />
And here it is with hReview-aggregate markup, along with an embedded [[hcard|hCard]] to describe the address and phone information for the restaurant:<br />
<br />
<pre><nowiki><br />
<div class="hreview-aggregate"><br />
<div class="item vcard"><br />
<h3 class="fn">Mediterranean Wraps</h3><br />
<span class="adr"><br />
<span class="street-address">433 S California Ave</span><br />
<span><span class="locality">Palo Alto</span>, <span class="region">CA</span></span><br />
<span class="tel">(650) 321-8189</span><br />
</span><br />
</div> <br />
<span class="summary">Customers flock to this small restaurant for their <br />
tasty falafel and shawerma wraps and welcoming staff.</span><br />
<span class="rating"><span class="average">9.2</span> out of <span class="best">10</span> <br />
based on <span class="count">17</span> reviews</span><br />
</div><br />
</nowiki></pre><br />
<br />
Note that the <code>item</code> and <code>vcard</code> are put next to each other in the same class attribute in order to show that the item being reviewed is described by the embedded hCard.<br />
<br />
=== Count vs votes ===<br />
<br />
In the examples so far, the <code>count</code> property has been used but not <code>votes</code>. <code>votes</code> is useful when users have rated an item without writing full corresponding reviews. Their vote contributed toward the average rating but not towards the number of reviews available.<br />
<br />
Consider this example:<br />
<br />
<pre><nowiki><br />
<div><br />
<h3><br />
<span>Mediterranean Wraps</span><br />
</h3><br />
<span>Customers flock to this small restaurant for their <br />
tasty falafel and shawerma wraps and welcoming staff.</span><br />
<span>4.5 out of 5 based on 24 ratings.</span><br />
<span>5 user reviews:</span><br />
...<br />
</div><br />
</nowiki></pre><br />
<br />
Here the example is again, with both <code>count</code> and <code>votes</code> specified where appropriate.<br />
<br />
<pre><nowiki><br />
<div class="hreview-aggregate"><br />
<h3 class="item"><br />
<span class="fn">Mediterranean Wraps</span><br />
</h3><br />
<span class="summary">Customers flock to this small restaurant for their <br />
tasty falafel and shawerma wraps and welcoming staff.</span><br />
<span><span class="rating">4.5</span> out of 5 <br />
based on <span class="votes">24</span> ratings.</span><br />
<span><span class="count">5</span> user reviews:</span><br />
...<br />
</div><br />
</nowiki></pre><br />
<br />
== examples in the wild ==<br />
This section is '''informative'''.<br />
<br />
The following sites have implemented [[hReview-aggregate]], and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with hReview aggregate, feel free to add it to the '''top''' of this list. Once the list grows too big, we'll make a separate wiki page like [[hreview-aggregate-examples-in-wild]] similar to [[hreview-examples-in-wild]].<br />
<br />
* [http://www.ticket-vvk.com Ticket VVK] uses hreview-aggregate for concert ratings, and concert dates. Example: [http://www.ticket-vvk.com/helene-fischer-konzert/ Helene Fischer Konzerte 2014]<br />
* [http://www.belvini.de/ BELViNi] For aggregating customers wine-reviews I used the hReview-aggregate standard, example: [http://www.belvini.de/pinfo.php/pID/8011/markus-schneider-kaitui-sauvignon-blanc-pfalz.html Reviews of the wine Kaitui]<br />
* [http://www.konzerte-abfeiern.de/ konzerte-abfeiern.de] On this site I used the hReview-aggregate standard, you can see here one example: [http://www.konzerte-abfeiern.de/rocknheim/ Rock’n’Heim]<br />
* [http://www.iconfinance.co.uk/bridging-finance/ Icon Finance] has an hReview aggregate (though invisible, and count only 1).<br />
* [https://easygap.co.uk/ Easy Gap] uses hreview aggregate on a specific review page and homepage. Take a look at our review page here [http://easygap.co.uk/519/reviews/ Easy Gap Insurance reviews]<br />
* [https://gapinsurance123.co.uk/ Gap Insurance 123] uses hreview aggregate on its Customer Testimonial, homepage and throughout the site. See here for example [https://gapinsurance123.co.uk/519/testimonials/ Gap Insurance testimonials]<br />
* [http://www.jocurios.ro/jocuri-de-gatit Jocuri de gatit] is a online games website and uses hreview aggregate on review, see here example [http://www.jocurios.ro/jocuri-barbie Jocuri barbie]<br />
* 2012-07-04: [http://www.autotrader.co.uk Auto Trader UK] rolled out hReview aggregate support (e.g. [http://www.autotrader.co.uk/used-cars/bmw/3-series Used BMW 3 Series cars for sale]) and "... [https://twitter.com/berianreed/status/220484982399963136 SERP updated almost instantly]".<br />
* [http://www.essentialtravel.co.uk/travelinsurance/ Essential Travel Insurance] uses hreview-aggregate which shows up nicely in a [https://www.google.com/search?q=Essential+Travel+insurance Google Search].<br />
* [http://www.mufa.de/free-sms.html mufa.de Free SMS ohne Anmeldung kostenlos versenden] We use hreview-aggregate for our green stars user rating on the bottom of our page. Feel free to check and copy our source code (from line ~96) for an example.<br />
* [http://themusicfactorydisco.co.uk/ Mobile DJ Wirral] uses hreview aggregate on its Customer Review Pages. See here for example [http://themusicfactorydisco.co.uk/customer-reviews/ The Music Factory Disco]<br />
* [http://www.applianceman-repair-fortbend.com/ac-air-conditioning-repair-houston-tx.html Houston Air Conditioning] uses hreview aggregate info on the bottom the the servicing webpages. See here for example [http://www.applianceman-repair-fortbend.com/ac-air-conditioning-repair-katy-tx.html AC Repair Katy]<br />
* [http://www.euroexchange.de Kleinanzeigen kostenlos] ist die Plattform für gewerbliche und private Inserate mit Bild. Die Funktion wird in der Bewertung der Inserate durch Besucher verwendet. Siehe [http://www.euroexchange.de/detail.php?id=1 Ferienhaus Belgien]<br />
* [http://www.spielplatztreff.de Spielplatztreff] is the playground rating website that implements hreview-aggregate and hreview for the userratings on each playground site e.g. [http://www.spielplatztreff.de/spielplatz/an-der-waldau-kinderfreizeitpark-in-bonn_205 Spielplatz in Bonn] <br />
* [https://www.yourlastingpowerofattorney.co.uk Lasting Power of Attorney] is a legal service website that uses hReview on its testimonial with a site wide aggregation [https://www.yourlastingpowerofattorney.co.uk/lasting-power-of-attorney/lasting-power-of-attorney-guidance/ Lasting Power of Attorney Guidance]<br />
* [http://petfoodtalk.com/ PetFoodTalk], a pet food review and coupon site, implements hreview-aggregate for its presentation of dog food [http://petfoodtalk.com/dogfoodreviews/ user ratings and reviews] and [http://petfoodtalk.com/dogfoodcoupons/ coupons] e.g. [http://petfoodtalk.com/dogfoodcoupons/blue-buffalo-coupons/ Blue Buffalo coupons] and [http://petfoodtalk.com/dogfoodreviews/blue-buffalo-dog-food/ reviews].<br />
* [http://dinehere.ca/ DineHere] is a restaurant review site that publishes hreview-aggregates of hCards e.g. [http://dinehere.ca/vancouver/blue-edge-organic-cafe Blue Edge Organic Cafe].<br />
* [http://dogfood.guru/ DogFood.Guru], a Dog Food Reviews site that publishes hreview in our reviews post.<br />
* [http://www.urbanspoon.com/ urbanspoon] is a restaurant review site that publishes hreview-aggregates e.g. [http://www.urbanspoon.com/r/24/280005/restaurant/Buckman/3-Friends-Coffee-House-Portland 3 Friends Coffee House].<br />
* [http://www.tickets-tour.de Tickets Tour] is a community news site about concerts where users can rate music events (also marked up with hCalender). Example: [http://www.tickets-tour.de/westernhagen-tour-2012/ Westernhagen]<br />
* [http://www.golfmadesimpleinscotland.com Golf Made Simple In Scotland] uses hReview-aggregate for a page of golf tour testimonials written by clients. Example: [http://www.golfmadesimpleinscotland.com/testimonials/ Golf tour testimonials].<br />
** the 'hreview-aggregate' element is unfortunately set to style="display:none" - [[User:Tantek|Tantek]] 17:35, 10 October 2011 (UTC)<br />
* [http://www.ala.co.uk ALA GAP Insurance] use hReview-aggregate on their home page based on hProduct/hReviews used throughout the site<br />
* [http://www.hardcoreepoxyflooringdetroit.com Epoxy Detroit] is a epoxy flooring and paint website that uses hReview on its footer that is site wide. View here for example [http://www.hardcoreepoxyflooringdetroit.com/ Epoxy Paint Michigan]<br />
* [http://citysearch.com/ Citysearch] supports hReview-aggregate (e.g. [http://seattle.citysearch.com/profile/10767458/seattle_wa/tulio_ristorante.html Tulio Ristorante in Seattle] and [http://sanfrancisco.citysearch.com/profile/46396865/san_francisco_ca/four_barrel_coffee.html Four Barrel in SF]) with a nested hCard for the venue.<br />
** minor flaw: uses a capitalized form of the root class name: <code>hReview-aggregate</code> [[User:Tantek|Tantek]] 01:37, 22 July 2011 (UTC)<br />
* [http://www.giga-music.de Giga Music] is a community site where customers can rate different music and sport events (which are also marked up with hCalender). Example: [http://www.giga-music.de/david-garrett-tickets-live-konzerte/ David Garrett]<br />
* [http://www.cabs.co.za CABS Car hire South Africa] Lists reviews submitted by customers on the customer testimonial page. Example: [http://www.cabs.co.za/customer-testimonials.html car rental reviews]<br />
* [http://trustafriend.com Trust a Friend] Lists reviews of products and services submitted by users and external blogs. Example: [http://trustafriend.com/reviews/j.george-plastering-newent-gloucestershire/ J.George Plastering, Newent, Gloucestershire]<br />
* CustomerLink Reviews has implemented hReview-aggregate for reviews of local businesses. Example: [http://reviews.customerlink.com/biz/auto-tech-sonora Review of Auto Tech & Tire]<br />
* [http://www.oasisroofinginc.com/ roofing seattle wa] uses hreview aggregate inside the footer of roofer website. See here for example [http://www.oasisroofinginc.com/ Roof Repair Seattle]<br />
* SuperStoreSearch.com is a shopping search engine and price comparison site and offers an interesting implementation of hReview-aggregate and hProduct, whereas typical e-commerce sites feature one store offer, this shopping search vertical site allows users to [http://www.superstoresearch.com/ compare prices], therefore you can see an example of the 'price' class being utilized with nested tags that also features the 'pricerange' class - which can be seen on individual pages such as this comparison listing for the [http://www.superstoresearch.com/shopping/categories/electronics/personal-audio/mp3-digital-media-players/apple-ipod-touch-8gb--24603784.html Apple iPod Touch 8GB]. The product information pages that have hReview-aggregate markup, also incorporate hProduct classes. hProduct has also been used on category menu pages such as this guide on [http://www.superstoresearch.com/shopping/categories/home-appliances/4253/washing-machines.html Washing Machines] - where multiple instances of hProduct can be seen on a single page. In total, over 10+ million products and pages have been updated with hProduct and hReview-aggregate markup.<br />
<br />
* [http://www.thesuggestr.com theSUGGESTR.com] has implemented hReview-aggregate for it's business ratings and reviews.<br />
* Google has implemented support for [http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=146645 hReview-aggregate] via [http://googlewebmastercentral.blogspot.com/2009/05/introducing-rich-snippets.html Rich Snippets].<br />
* [http://local.stv.tv/glasgow/place/restaurant-japanese/10320725-wagamama/ STV Local] uses hreview-aggregate for business ratings, average prices and contact details with hcard<br />
* [http://www.critiki.com Critiki] publishes ratings and reviews of Tiki bars, and uses hReview aggregate for average ratings on their pages, e.g. [http://www.critiki.com/cgi-bin/location.cgi?loc_id=162 overview of The Tonga Room]. (as [http://twitter.com/humuhumu/status/4165014155 tweeted by humuhumu] 2009-09-21)<br />
* [http://free.naplesplus.us NAPLESPLUS] is an example of a website that has implemented hreview-aggregate via Google specs.<br />
*[http://FriendsEAT.com FriendsEAT] is an example of a food website that has implemented hreview-aggregate for it's restaurant and recipe ratings/reviews, e.g. [http://friendseat.com/restaurants/New-York/Churrascaria-Plataforma Review of Churrascaria Plataforma]<br />
* [http://www.vorverkaufstarts.de Vorverkaufstarts.de] uses hreview-aggregate for concert ratings, and concert dates. Example: [http://www.vorverkaufstarts.de/robbie-williams-tour-2013-koln-munchen/ Robbie Williams Tour 2013]<br />
* ...<br />
<br />
== Related Pages ==<br />
<br />
* [[hreview|hReview]] - microformat for marking up individual reviews<br />
* [[aggregate-review-brainstorming|Aggregate review brainstorming]] - discussions leading to the creation of hReview-aggregate and ideas for improvement.<br />
* [[aggregate-review-examples|Aggregate review examples]]<br />
<br />
[[Category:Draft Specifications]]<br />
[[Category:hReview-aggregate]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=parsers&diff=64260
parsers
2014-03-17T14:43:50Z
<p>ChiefRA: Undo revision 64259 by Praveenganore (Talk) => spammy links removed</p>
<hr />
<div><entry-title>Microformats Parsers</entry-title><br />
;shortlink<br />
:http://ufs.cc/w/ufprs<br />
This page lists libraries that consume, transform or convert microformats. This is only a partial list. If you know of other such tools for microformats, please add them and list what specific microformats they support. There is a separate page for [[validators]].<br />
<br />
Alphabetical listing by programming language:<br />
<br />
= microformats2 parsers =<br />
These are modern and maintained [[microformats2]] parsers and are suitable for use in modern web applications.<br />
<br />
== Javascript ==<br />
=== Microformat Node ===<br />
* [http://github.com/glennjones/microformat-node microformat-node] microformat-node is a microformat parser for node.js. It is built using a well tested JavaScript parsing engine which already powers a number of browser extensions. Supports microformat v1 and v2. Try it out at http://microformat2-node.jit.su<br />
<br />
=== Microformat Shiv ===<br />
* [http://microformatshiv.com/ Microformat Shiv] The microformat shiv provides a simple to use JavaScript microformats parsing library. It can also be used in browser extensions and the web site has example code for Chrome, Firefox and Opera.<br />
<br />
== PHP ==<br />
=== php-mf2 ===<br />
* PHP generic microformats2 parser<br />
** source: https://github.com/indieweb/php-mf2<br />
<br />
== Ruby ==<br />
* '''G5/microformats2''' Ruby microformats2 parser<br />
** github open source: https://github.com/G5/microformats2<br />
<br />
== Python ==<br />
* mf2py<br />
** [http://code.tommorris.org/mf2py-hg source]<br />
<br />
= past parsers =<br />
These are past parsers of classic microformats but which have largely not been maintained.<br />
<br />
They may be useful as starting points for developing additional microformats2 parsers.<br />
<br />
== .Net ==<br />
[http://ufxtract.com/ UfXtract] is an open source .Net microformats parser. It can parse microformats from URLs or HTML strings. The extracted data can be used directly in .Net or converted into JSON, JSON-P or XML. Currently Supports 16 microformats and can easily be extended with new definitions.<br />
<br />
== Java ==<br />
* [http://code.google.com/p/any23/ Any23 (Anything to Triples)] parses microformats into RDF triples<br />
* [http://zwitserloot.com/org.microformats.hCard/ org.microformats.hCard] by Reinier Zwitserloot<br />
<br />
== More Javascript ==<br />
=== Sumo ===<br />
* [http://www.danwebb.net/2007/2/9/sumo-a-generic-microformats-parser-for-javascript Sumo! A Generic Microformats Parser For JavaScript]<br />
<br />
== Perl ==<br />
=== Data::Microformat ===<br />
* [http://search.cpan.org/~ussjoin/Data-Microformat-0.01/lib/Data/Microformat/hCard.pm Data::Microformat] is a CPAN module to parse and create hCard, adr, and geo.<br />
** By Brendan O'Connor / Six Apart<br />
<br />
=== HTML::Microformats ===<br />
Perhaps we can capture and update this info on a page like [[perl-html-microformats-parser]].<br />
[http://search.cpan.org/~tobyink/HTML-Microformats/ HTML::Microformats] is a CPAN module that has support for: <br />
* input:<br />
** rel: [[rel-enclosure]], [[rel-license]], [[rel-tag]], [[VoteLinks]], [[XFN]].<br />
** class: [[adr]], [[figure]], [[geo]], [[hAtom]], [[hAudio]], [[User:TobyInk/hcalendar-1.1|hCalendar]], [[hCard]], [[hListing]], [[hNews]], [[hProduct]], [[hRecipe]], [[hResume]], [[hReview]], [[hReview-aggregate]], [[xFolk]], [[XMDP]], [[XOXO]].<br />
*** highly experimental: [[measure]], [[species]].<br />
** poshformats: [http://ocoins.info/ OpenURL COinS].<br />
* output:<br />
** RDF: RDF/XML, Turtle, N-Triples, RDF/JSON, etc.<br />
** JSON<br />
** domain specific: vCard (3.0, 4.0 and XML), iCalendar, Atom, KML.<br />
* By [[User:TobyInk|Toby Inkster]].<br />
<br />
Versions and releases notes:<br />
* 2011-02-05 [http://microformats.org/discuss/mail/microformats-dev/2011-February/000667.html 0.102]<br />
* 2010-12-22 0.101<br />
* 2010-12-16 [http://microformats.org/discuss/mail/microformats-discuss/2010-December/013363.html 0.100]<br />
* 2010-10-18 0.00_13<br />
* 2010-06-25 0.00_12<br />
* 2010-06-23 0.00_11<br />
* 2010-05-13 0.00_10<br />
* 2010-05-12 0.00_09<br />
* 2010-04-29 0.00_08<br />
* 2010-04-28 0.00_07<br />
* 2010-04-16 [http://microformats.org/discuss/mail/microformats-dev/2010-April/000651.html 0.00_06]<br />
* 2010-04-16 0.00_05<br />
* 2010-03-20 [http://microformats.org/discuss/mail/microformats-dev/2010-March/000647.html 0.00_04]<br />
* 2010-03-09 [http://microformats.org/discuss/mail/microformats-dev/2010-March/000642.html 0.00_03]<br />
* 2010-02-28 [http://microformats.org/discuss/mail/microformats-dev/2010-February/000641.html 0.00_02]<br />
* 2010-02-24 [http://microformats.org/discuss/mail/microformats-dev/2010-February/000640.html 0.00_01]<br />
* 2010-02-20 [http://microformats.org/discuss/mail/microformats-dev/2010-February/000639.html 0.00_00]<br />
* see also the "Changes" file included in the CPAN distribution.<br />
<br />
==== XML::Atom::Microformats ====<br />
<br />
[http://search.cpan.org/~tobyink/XML-Atom-Microformats/ XML::Atom::Microformats] provides the same functionality for Atom. It finds microformats in Atom entry content elements.<br />
<br />
===Swignition ===<br />
* [http://buzzword.org.uk/swignition/ Swignition] is a parser for both “upper case Semantic Web” (RDF, RDFa) and “lower case semantic web” (microformats) technologies. It includes modules for exporting parsed data in a variety of formats, including RDF, vCard, iCalendar, Atom and KML.<br />
** By Toby Inkster<br />
** Active development has moved to HTML::Microformats (see above).<br />
<br />
=== Text::Microformat ===<br />
* Text::Microformat is a microformats parser hosted on [http://code.google.com/p/ufperl/ Google Code] that supports:<br />
** [[hCard]], [[hCalendar]], [[rel-tag]]<br />
<br />
== More PHP ==<br />
=== XMFP ===<br />
<span id="xmfp">[http://code.google.com/p/xmfp/ XMFP]</span> (eXtensible MicroFormats Parser for PHP 5) by [http://www.metonymie.com Emiliano Martínez Luque] is a set of PHP 5 classes providing a simple API for extracting Microformated Content either from a URI or a String representing HTML/XML. It can return the results as a PHP associative array, a JSON definition or an XML representation of the data. It supports most of the currently accepted microformats and can be easily extended to add new ones, it also has full support of the include pattern and provides basic validation of microformated data.<br />
<br />
=== hKit Microformats Toolkit for PHP5 ===<br />
[http://allinthehead.com/hkit hKit Microformats Toolkit for PHP5] as [http://allinthehead.com/retro/291/hkit-microformats-toolkit-for-php announced by Drew McLellan]. See also [[hkit|hKit on this wiki]].<br />
<br />
===PHP Microformats parser===<br />
[http://www.phpclasses.org/browse/package/3597.html Microformats parser] is a PHP package for extracting the microformats data embedded into HTML. The gathered data is stored as an xArray of objects - one for each microformat type container found. [http://malatestapunk-stuff.blogspot.com/2007/01/php-microformats-parser.html Announcement]. The parser supports most of the hCard (missing SOUND), hCalendar, hReview (missing item info; spec really needs some clarification) and rel elements, according to their respective specification on microformats Wiki.<br />
<br />
===Transformr===<br />
A Simple set of XSLT and PHP tools for Transforming Microformats Source [http://github.com/WebOrganics/TransFormr available from github] Live webservice available at [http://microform.at/ microform.at].<br />
<br />
=== hCard Validator ===<br />
[http://code.google.com/p/hcardvalidator/ Source code] of the [http://hcard.geekhood.net/ hCard Validator] contains XSLT and PHP code for hCard and include microformats.<br />
<br />
=== ARC2 ===<br />
[http://arc.semsol.org/ ARC2] is a semantic web toolkit which includes support for hCard, adr, geo, XFN, hCalendar, hAtom, hResume, hReview, xFolk, rel-license and rel-tag. It's tri-licensed under the GPL 2 and 3, and the W3C Software licence.<br />
<br />
== Python ==<br />
===AUMP===<br />
* [http://aump.googlecode.com AUMP] is a parser written by David Janes. It supports hCard, hCalendar, hAtom, hReview and hListing.<br />
** Uses Python's [http://docs.python.org/library/xml.dom.minidom.html xml.dom.minidom] after cleaning input through [http://www.w3.org/People/Raggett/tidy/ HTML Tidy].<br />
<br />
===Microtron===<br />
{{main|Microtron}}<br />
* [[Microtron]] is a general-purpose microformat parser/transformer. <br />
<br />
It can operate on the definition file included in [[Optimus]], making it a close replacement for certain tasks, and can easily be extended with new formats without modifying the source. The primary advantages are speed (> 100x faster that [[Optimus]] for some operations), simplicity (single file) and small code size (currently < 150 lines).<br />
<br />
=== python-hcalendar ===<br />
[http://pypi.python.org/pypi/python-hcalendar/0.1dev python-hcalendar] is a basic hCalendar parser.<br />
<br />
== More Ruby ==<br />
===Prism ===<br />
* [[Prism]]<br />
** by [[implementors#Mark_Wunsch|Mark Wunsch]]<br />
** Library and command line tool for parsing POSH/Microformats<br />
** Uses the [http://nokogiri.org/ Nokogiri] HTML, XML, SAX, and Reader parser<br />
<br />
=== mofo ruby microformats parser===<br />
* [http://mofo.rubyforge.org/ mofo], [http://groups.google.com/group/mofo-rb mofo Google Group], [http://github.com/defunkt/mofo/tree/master GitHub repository]<br />
** by [[implementors#Chris Wanstrath|Chris Wanstrath]]<br />
** Uses the [http://wiki.github.com/why/hpricot Hpricot] HTML/XML parser<br />
<br />
=== Microformat Parser for Ruby ===<br />
* [http://blog.labnotes.org/2005/11/20/microformat-parser-for-ruby/ Microformat Parser for Ruby]<br />
** by [[implementors#Assaf Arkin|Assaf Arkin]]<br />
<br />
=== uformats ===<br />
* [http://rubyforge.org/projects/uformats uformats]<br />
<br />
=== scrAPI ===<br />
* [http://rubyforge.org/projects/scrapi scrAPI]<br />
<br />
== XSLT ==<br />
===Optimus===<br />
* [[Optimus]] is open source XSLT that parses microformats, converts them into JSON or XML, and validates them too.<br />
<br />
===X2V===<br />
* [[X2V]] is [http://hg.microformats.org/ open source XSLT for extracting microformats].<br />
** by Brian Suda<br />
<br />
== editing this page ==<br />
For now, this page ''copies'' (rather than ''moves'') information from the existing [[implementations | Implementations]] page.<br />
<br />
== see also ==<br />
* [[implementations]]<br />
* [[implementors]]<br />
* [[open-source]]<br />
* [[user-interface]]<br />
* [[validators]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=h-entry&diff=64241
h-entry
2014-03-12T08:42:35Z
<p>ChiefRA: Undo revision 64239 by Laestelm (Talk) spam removed</p>
<hr />
<div><entry-title>h-entry</entry-title><br />
<span class="h-card vcard"><span class="p-name fn">[[User:Tantek|Tantek Çelik]]</span> (<span class="p-role role">Editor</span>)</span><br />
----<br />
<dfn style="font-style:normal;font-weight:bold">h-entry</dfn> is a simple, open format for episodic or datestamped content on the web. h-entry is often used with content intended to be syndicated, e.g. blog posts. h-entry is one of several open [[microformats|microformat]] draft standards suitable for embedding data in HTML/HTML5.<br />
<br />
h-entry is the [[microformats2]] update to [[hAtom]]'s "hentry". For an update to "hfeed" see [[h-feed]].<br />
<br />
{{cc0-owfa-license}}<br />
<br />
== Example ==<br />
Here is a simple blog post example:<br />
<br />
<source lang=html4strict><br />
<article class="h-entry"><br />
<h1 class="p-name">Microformats are amazing</h1><br />
<p>Published by <a class="p-author h-card" href="http://example.com">W. Developer</a><br />
on <time class="dt-published" datetime="2013-06-13 12:00:00">13<sup>th</sup> June 2013</time><br />
<br />
<p class="p-summary">In which I extoll the virtues of using microformats.</p><br />
<br />
<div class="e-content"><br />
<p>Blah blah blah</p><br />
</div><br />
</article><br />
</source><br />
<br />
=== Get started ===<br />
The class '''<code>h-entry</code>''' is a ''root class name'' that indicates the presence of an h-entry.<br />
<br />
'''p-name''', '''p-author''', '''dt-published''' and the other h-entry property classnames listed below define properties of the h-entry.<br />
<br />
See [[microformats2-parsing]] to learn more about property classnames.<br />
<br />
== Properties ==<br />
h-entry properties, inside an element with class '''h-entry''':<br />
* '''<code>p-name</code>''' - entry name/title<br />
* '''<code>p-summary</code>''' - short entry summary<br />
* '''<code>e-content</code>''' - full content of the entry<br />
* '''<code>dt-published</code>''' - when the entry was published<br />
* '''<code>dt-updated</code>''' - when the entry was updated<br />
* '''<code>p-author</code>''' - who wrote the entry, optionally embedded [[h-card]](s)<br />
* '''<code>p-category</code>''' - entry categories/tags<br />
* '''<code>u-url</code>''' - entry permalink URL<br />
* '''<code>u-uid</code>''' - unique entry ID<br />
* '''<code>p-location</code>''' - location the entry was posted from, optionally embed [[h-card]], [[h-adr]], or [[h-geo]]<br />
<br />
The following experimental properties are in use in the wild but are not yet part of the spec:<br />
<br />
* '''<code>u-in-reply-to</code>''' - the URL which the h-entry is considered a reply to or comment on.<br />
** Potentially optionally an embedded (or nested?) h-entry (for reply contexts) but I’m the only one doing that right now so not considered a recommendation --[[User:Barnabywalters|bw]] 16:44, 13 June 2013 (UTC)<br />
* '''<code>p-comment</code>''' - optionally embedded (or nested?) h-entry(ies), each of which is a comment on/reply to the parent h-entry. See [[comment-brainstorming]].<br />
<br />
The following properties are proposed additions based on various existing link preview markup conventions which are ''not'' yet used in the wild (Related: [[link-preview-brainstorming]])<br />
* '''<code>u-photo</code>''' - a representative photo or image for the entry, e.g. primary photo for an article or subject-cropped photo, suitable for use in a [[link-preview]].<br />
* '''<code>u-audio</code>''' - consider special u- parsing rules for <code>&lt;audio></code><br />
* '''<code>u-video</code>''' - consider special u- parsing rules for <code>&lt;video></code><br />
<br />
All properties are optional.<br />
<br />
== Status ==<br />
'''h-entry''' is a microformats.org draft specification. Public discussion on h-entry takes place on [[h-entry-feedback]], the #microformats [[irc]] channel on irc.freenode.net, and [http://microformats.org/discuss/mail/microformats-new/ microformats-new mailing list].<br />
<br />
h-entry is ready to use and implemented in the wild, but for backwards compatibility you should also mark h-entries up as classic [[hAtom]] entries.<br />
<br />
== Property Details ==<br />
This section is a stub.<br />
=== p-location ===<br />
'''<code>p-location</code>''' has been re-used from [[h-event]].<br />
<br />
== FAQ ==<br />
=== p-name of a note ===<br />
<div class="discussion"><br />
* '''What is the <code>p-name</code> of a [http://indiewebcamp.com/note note]?'''<br />
** A few options, from simplest to most detailed.<br />
*** '''same as the p-content/e-content''' property.<br />
*** '''same as the <code>title</code> element''' on the note permalink post page. When publishing a note on its own permalink post page, the contents of the note are likely abbreviated for the title of the page. The same abbreviation can be used for the p-name.<br />
*** '''first sentence of the p-content/e-content''' property. It may be better for [http://indiewebcamp.com/syndication syndication] and [[link-preview]] purposes to provide just the first sentence of the note as the <code>p-name</code>. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the <code>p-summary</code>.<br />
</div><br />
<br />
=== venue an entry was posted from ===<br />
<div class="discussion"><br />
* '''How do you indicate a named venue where an entry was posted from? Like a restaurant or park.'''<br />
** Use an embedded [[h-card]] microformat on a <code>p-location</code> property value.<br />
</div><br />
=== address an entry was posted from ===<br />
<div class="discussion"><br />
* '''How do you indicate the address where an entry was posted from? Like a restaurant or park.'''<br />
** If the address is just part of a named venue, see above, use an [[h-card]]<br />
** Otherwise use an embedded [[h-adr]] microformat on a <code>p-location</code> property value.<br />
</div><br />
=== lat long an entry was posted from ===<br />
<div class="discussion"><br />
* '''How do you indicate the latitude and longitude of where an entry was posted from?'''<br />
** If the location has a name in addition to latitude and longitude, see above, use an [[h-card]]<br />
** Otherwise if there is an address in addition to latitude and longitude, see above, use an [[h-adr]]<br />
** Otherwise use an embedded [[h-geo]] microformat on a <code>p-location</code> property value.<br />
</div><br />
=== does the dt-published property need to be a time element ===<br />
<div class="discussion"><br />
* The <code>dt-published</code> property should be a <code>&lt;time&gt;</code> element so that you can take advantage of HTML5's "datetime" property.<br />
* This lets you specify a human-readable date in the value of the attribute, and the ISO8601 machine-readable date in the "datetime" property.<br />
</div><br />
=== what is the bare minimum list of required properties on an h-entry ===<br />
<div class="discussion"><br />
</div><br />
<br />
== Examples in the wild ==<br />
Real world in the wild examples:<br />
<br />
* ... add uses of h-entry you see in the wild here.<br />
* Okinawan-lyrics marks up his posts with h-entry and h-card ([http://www.okinawan-lyrics.com/ example])<br />
* App.net marks up profile pages and permalink pages with h-entry as of 2013-08-06 ([https://alpha.app.net/voidfiles example])<br />
* The Twitter archive browser UI uses h-entry and h-card internally, unfortunately it’s not exposed as HTML in static files anywhere<br />
* Brett Comnes marks up his posts with h-entry and h-card ([http://bret.io/2013/06/29/getting-started-with-bower/ example])<br />
* Ben Werdmuller marks up his posts with h-card and h-entry, u-in-reply-to and u-like ([http://werd.io/view/51d5097fbed7ded0633a5956 example])<br />
* Sandeep Shetty marks his posts up with h-card and h-entry, as well as draft u-in-reply-to and experimental u-like properties ([http://sandeep.io/101 example])<br />
* spreadly marks up share permalink pages with h-entry, as well as minimal h-cards and experimental p-like properties ([http://my.spread.ly/share/51d570bc09e9486562000002 example])<br />
* Laurent Eschenauer marks up his posts with h-entry ([http://eschnou.com/entry/first-autonomous-flight-of-my-nodecopter-62-24992.html example])<br />
* Tom Morris marks up his posts using h-entry ([http://tommorris.org/posts/8417 example])<br />
* Numerous newer W3C specs, e.g.<br />
** [http://www.w3.org/TR/2013/CR-css3-values-20130404/ CSS Values and Units Module Level 3 - 2013-04-04]<br />
** [http://www.w3.org/TR/2013/CR-css3-conditional-20130404/ CSS Conditional Rules Module Level 3 - 2013-04-04]<br />
** [http://www.w3.org/TR/2013/WD-css3-page-20130314/ CSS Paged Media Module Level 3 - 2013-03-14]<br />
** [http://www.w3.org/TR/2013/WD-css-counter-styles-3-20130221/ CSS Counter Styles Level 3 - 2013-02-21]<br />
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry.<br />
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages<br />
* Aaron Parecki uses h-entry to mark up notes, e.g. [http://aaronparecki.com/2012/230/reply/1 2012/230/reply/1].<br />
* [http://tantek.com/ Tantek Çelik] uses h-entry on his home page, as well as h-entry on all post permalinks, e.g. [http://tantek.com/2012/243/t1/name-beats-title-modern-use-dubline-core-wrong-uf2 2012-243 post], with [[rel-prev]]/[[rel-next]] (if applicable) to indicate prev/next posts<br />
* [http://waterpigs.co.uk/ Barnaby Walters] uses h-entry on all notes and articles, as well as nested within notes as reply contexts [http://waterpigs.co.uk/notes/1468/ example] and comments [http://waterpigs.co.uk/notes/1482/ example].<br />
<br />
== Validating ==<br />
* '''[http://indiewebify.waterpigs.co.uk/validate-h-entry/ indiewebify.me h-entry validator]''' parses [[h-entry]] markup, finds common errors and makes suggestions for things to add, with code samples<br />
{{h-spec-section-validating}}<br />
<br />
== Backward Compatibility ==<br />
=== Publisher Compatibility ===<br />
For backward compatibility, you may wish to use classic [[hAtom]] classnames in addition to the more future-proof h-entry properties, for example:<br />
<br />
<source lang=html4strict><br />
<div class="h-entry hentry"><br />
<h1 class="p-name entry-title">My great blog post</h1><br />
</div><br />
</source><br />
<br />
=== Parser Compatibility ===<br />
Microformats parsers {{should}} detect classic properties only if a classic root class name is found and parse them as microformats2 properties. <br />
<br />
If an "h-entry" is found, don't look for an "hentry" on the same element.<br />
<br />
Compat root class name: <code id="hentry">hentry</code><br/><br />
Properties: (parsed as '''p-''' plain text unless otherwise specified):<br />
<br />
* <code>entry-title</code> - parse as '''<code>p-name</code>'''<br />
* <code>entry-summary</code> - parse as '''<code>p-summary</code>'''<br />
* <code>entry-content</code> - parse as '''<code>e-content</code>'''<br />
* <code>published</code> - parse as '''dt-'''<br />
* <code>updated</code> - parse as '''dt-'''<br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>category</code><br />
<br />
=== Compat FAQ ===<br />
==== What about rel bookmark ====<br />
Also asked as: ''Why use an h-entry u-url u-uid for permalinks when I have [[rel-bookmark|rel=bookmark]]?''<br />
<br />
A: tl;dr: use <code>class="u-url u-uid"</code> instead of <code>rel=bookmark</code> for post permalinks because it's simpler (fewer attributes), and works better across contexts (permalink page, recent posts on home page, collection of posts on archive pages).<br />
<br />
rel=bookmark was the old [[hAtom]] way of marking up permalinks. Since then two factors have contributed to reducing use of rel inside microformats:<br />
* rel by typically* document scoped in [[HTML5]] - thus making it inappropriate for use in microformats that are aggregated, e.g. a collection of posts on a home page or in monthly archives.<br />
* it is easier to always use class names for properties. When formats use two (or more!) attributes in HTML to specify properties, confusion results in lower data quality (of the markup and thus the stuff that is marked up). Thus per the microformats [[principle]] of [[simplicity]], in [[microformats2]] we only use class names for properties.<br />
<br />
<nowiki>*</nowiki> even though rel=bookmark in particular is article-element / sectioning scoped in HTML5[http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#link-type-bookmark], it's a detail that typical authors are not going to remember, and thus it's not good to depend on it for any kind of format.<br />
<br />
== Background ==<br />
This work is based on the existing [[hAtom]] microformat, and extensive selfdogfooding in the [http://indiewebcamp.com indie web camp] community.<br />
<br />
== Design Principles ==<br />
<br />
(stub, expand)<br />
<br />
== See Also ==<br />
* [[h-feed]]<br />
* [[microformats2]]<br />
* [[microformats2-parsing]]<br />
* [[h-geo]]<br />
* [[hCard]]<br />
<br />
[[Category:Draft Specifications]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=reinvented-wheels&diff=64166
reinvented-wheels
2014-01-28T10:54:32Z
<p>ChiefRA: Undo revision 64165 by Michaelrandolph (Talk) => removed spammy links</p>
<hr />
<div>= reinvented wheels =<br />
<br />
This page is here to document proposals that have been made one time or another that were simply reinventing functionality already present in semantic (X)HTML, in the hopes that by documenting attempts to reinvent the wheel, we can avoid or minimize re-re-inventions, and encourage re-use instead.<br />
<br />
At some point perhaps we can order these more specifically by date. For now, I'm putting everything under 2005. - [http://tantek.com/log/ Tantek]<br />
<br />
<br />
== 2005 ==<br />
<br />
=== rel mobile ===<br />
<br />
[http://blog.bulknews.net/kwiki/?LinkRelMobile rel="mobile"] is a reinvention of:<br />
<br />
<pre>&lt;link rel="alternate" media="handheld" ... /&gt;</pre><br />
<br />
''But Atom doesn't have the 'media' attribute.''<br />
* Then the solution is to add the 'media' attribute, rather than reinventing another way of doing media, OR to simply use a XHTML namespace qualifed &lt;link&gt; tag which can then have the media attribute. In either case, adding a new rel value is both unnecessary and undesirable.<br />
<br />
=== item ===<br />
<br />
The so-called [http://microformats.org/discuss/mail/microformats-discuss/2005-October/001364.html "item" microformat] is a reinvention of <code>&lt;li&gt;</code>.<br />
<br />
== before 2005 ==<br />
<br />
=== OPML ===<br />
[http://www.opml.org/spec OPML] is a reinvention of <code>&lt;ul&gt;</code>, <code>&lt;ol&gt;</code>, <code>&lt;li&gt;</code>, as demonstrated by [[xoxo]].</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hcard-examples-in-wild-fr&diff=63914
hcard-examples-in-wild-fr
2013-09-24T07:21:35Z
<p>ChiefRA: Undo revision 63913 by Lynntran (Talk) removed spammy content</p>
<hr />
<div><entry-title>Exemples de hCards dans la jungle</entry-title><br />
<div style="height:7.5em;text-align:center;font-weight:bold;font-size:larger"><br />
<span style="padding:3em 0;float:left;width:33%">[[hcard-examples-in-wild-fr#exemples_par_catégories|Vous voulez des hCards]]</span><span style="padding:3em 0;float:left;width:33%">[[hcard-examples-in-wild-fr#exemples_nouveaux_et_non-catégorisés|Vous avez des hCards]]</span><br />
</div><br />
<br />
Cette page est une section '''informative''' de la [[hcard-fr|spécification hCard]].<br />
<br />
Les sites suivants ont publié des [[hcard-fr|hCards]] et sont par conséquent un endroit merveilleux pour quiconque cherchant des exemples "dans la jungle" pour l'inspiration, ou essayer de parser et d'indexer.<br />
<br />
== exemples nouveaux et non catégorisés ==<br />
'''Vous avec une hCard ?''' Si vous avez un site avec une ou plusieurs hCard, ajoutez-le en haut de cette liste. Assurez-vous svp d'inclure au moins une URL vers une page sur votre site qui comprenne un véritable balisage [[hcard-fr|hCard]]. Les exemples ajoutés sans une URL vers une page avec un balisage hCard pourront être supprimés. Revenez après quelques jours, pour voir si quelqu'un aurait trouvé quelque problème avec les exemples fournis. Notez que les exemples peuvent être catégorisés et migrés sur la section groupée au-dessous.<br />
<br />
Vous pouvez vouloir utiliser ces boutons sur vos pages avec des hCards. Voir [[buttons-fr#hCard]] pour les ajouts récents.<br />
http://www.davidjanes.com/images/mf_hcard.png <!-- initialement http://www.crowley.nl/images/hcard.png --> <!-- http://rbach.priv.at/2006/buttons/hcard.png --> http://www.boogdesign.com/images/buttons/microformat_hcard.png<br />
<br />
<!-- <br />
<br />
SVP ajoutez les nouveaux exemples *en haut de cette section*<br />
<br />
--><br />
* [http://www.vtcreative.fr Vtcreative] utilise hCard dans le footer du site pour mettre à disposition des visiteurs ses informations de contact.<br />
* [http://aquelito.fr Axel Roche] utilise hCard pour l'information de contact.<br />
* [http://jerba.be Djerba] utilise hCard pour les services listés dans l'annuaire et permet le téléchargement des données au format (.VCF) Exemple : [http://jerba.be/fr/annuaire/radisson-blu-djerba-s4.html Radisson Blu Djerba]<br />
* [http://johanramon.fr Johan Ramon] utilise hCard sur son <abbr title="Curriculum Vitae">CV</abbr>.<br />
* [http://cuisine-ultime.fr Cuisine ultime] - Utilise une hCard sur toutes ces pages pour lien de contact avec l'administrateur (contact invisible seul l'importation est possible).<br />
* [http://survie.org Survie France] - présente les coordonnées de son siège national via une hCard dans le pied de page.<br />
* [http://www.norfolkblackhistorymonth.org.uk/contact.html Norfolk Black History Month] - utilise hCard sur la page de contact et sur le site, fournissant une information de contact pour les lieux des évènements, organisateurs et organisations partenaires.<br />
* [http://www.veganusofa.com/ VeganUSofA] - utilise hCard pour l'adresse organisation et entreprise. Exemple : [http://www.veganusofa.com/index.php?listing=4 The All Vegan Store].<br />
*[http://adrianindo.blogspot.com Blog d'ADRIAN] a placé une hCard pour se présenter plus précisément aux visiteurs. la hCard a été listée comme un nom, une url de blog et les organisations. Vous pouvez la voir en bas de la barre latérale droite du blog.<br />
* [http://www.canadianpokerexpo.com The Canadian Poker Expo (Toronto)], Une Expo de Poker se concentrant sur le marché à Toronto utilise hCard pour [http://www.canadianpokerexpo.com/Contact-Us/Contact-Form sa page de contact].<br />
* [http://www.semineeas.ro Seminee As], un producteur roumain d'extincteur utilise hCard pour [http://www.semineeas.ro/contact/ l'info de contact] avec téléchargement optionnel de la vCard<br />
*[http://www.gastrohep.com/aboutus.asp GastroHep.com] la page "About Us" utilise une hCard pour l'adresse de contact.<br />
*[http://leemannphotography.ca/?p=contact Lee Mann Photography] utilise une hCard pour l'adresse de contact tout comme sur le blog. Idéalement elle sera bientôt en pied de page de chacune des pages.<br />
*[http://www.kimburgess.info Kim Burgess] information minimaliste du site web avec marquage hCard.<br />
*[http://www.plumbset.co.uk/ContactUs.htm PlumbSet UK Ltd] utilise hCard pour l'information de contact, y compris plusieurs adresses.<br />
*[http://www.manuhealth.com/products/manuka-soap-75gm Manuhealth Natural Remedies] utilise hCard pour l'adresse de retour sur les pages produits.<br />
*[http://www.farmaciasarria.com/esp/mapa.php Farmàcia Sarrià - Farmàcia Finestres Capdevila] utilise une hCard pour son information de contact.<br />
*[http://www.naturesbestshot.com Nature's Best Shot Photography] - utilise une hCard sur la page contact<br />
*[http://www.noomii.com/life-coach Noomii.com Coach Directory] - chaque coach professionnel dans l'annuaire est une hCard.<br />
*[http://www.ethical-junction.org/member/org-2012.html Ethical Junction CIC - Profile page] Nous utilisons hCard pour chaque organisation sur sa page de profil.<br />
*[http://www.bowtietv.com Bow Tie Television] utilise hCard pour l'information de contact sur chaque page et dans la section contacts.<br />
*[http://www.tauruslogistics.co.nz/about/contact Taurus Logistics] utilise hCard pour l'information de contact.<br />
*[http://www.professdiamond.com/ professdiamond] encode Thai sous UTF8 dans une hCard dans la ligne au bas de chaque page.<br />
*[http://avonvalleylocalguide.iinet.net.au/ Avon Valley Local Guide] utilise hCard pour l'information de contact des annonceurs.<br />
*[http://www.arizonafirstresponse.com/ Arizona First Response] utilise une hCard sur chaque pied de page.<br />
*[http://dillingham.me.uk/ Iain Dillingham] utilise une hCard sur chaque pied de page, et a un exemple stylisé (avec le logo microformats) sur sa [http://dillingham.me.uk/contact.html page contact].<br />
*[http://www.pixeflips.com/ Pixelflips Web &amp; Interface Design] hCard est utilisé dans le pied de page de toutes les pages pour un accès facile à l'information.<br />
*[http://www.herminesperr.at/ Hermine Sperr, Qualified Practitionier of the Grinberg Method&reg; à Vienne/Autriche] Une hcard est utilisée pour l'information de contact sur chaque page du site.<br />
* [http://www.barnard.edu/ Barnard College] - Les profils utilisent hCard pour l'information de contact. Exemple : [http://www.barnard.edu/faculty/profiles/mehrling_p.html Profil de P. Mehrling].<br />
* [http://www.ivycat.com/ IvyCat Website Services] - Société de design web et hébergement. Une hcard pour l'information de contact. Exemple : [http://www.ivycat.com/contact/ Contact Us].<br />
* [http://www.modeltrainswithlarry.com/ ModelTrainsWithLarry] - Utilise hCard pour l'adresse. Exemple : [http://www.modeltrainswithlarry.com/index.php?listing=502 Choo Choo Barn].<br />
* [http://www.gardeningwithlarry.com/ GardeningWithLarry] - Utilise hCard pour l'adresse. Exemple : [http://www.gardeningwithlarry.com/index.php?listing=2681 United States Botanic Garden].<br />
* [http://abyrvalg.com/ Abyrvalg] - communauté de ville en Russie. Utilise hCard pour afficher les adresses des sociétés locales. Exemple : [http://moscow.abyrvalg.com/biz/faq-cafe FAQ cafe à Moscou].<br />
* [http://www.jdclark.org/v1 Jordan Clark], from the Swansea area of Wales in the United Kingdom, uses [http://www.jdclark.org/card hcard for contact information].<br />
* [http://whichtwitterapp.com/ WhichTwitterApp] provides [http://whichtwitterapp.com/reviews/iphone/tweetie reviews of twitter apps] using hCard, hReview, rel-tag and rel-home.<br />
* [http://www.robinleysen.be/Robin.html Robin Leysen] has a hCard on a separate page. Tried to be as complete as possible. hCard validated with Optimus.<br />
* [http://www.jay-photographics.de/ Jay Photographics] Photographer from Stuttgart, Germany. The hcard format is used on all pages for contact information.<br />
* [http://www.uniquesite.co.uk/ UNIQUEsite] Website designer based in Brighton, UK. Uses the hcard format for contact information.<br />
* [http://www.slideshare.net/ SlideShare] uses hcard to identify its users. see [http://hcard.geekhood.net/?url=http%3A%2F%2Fwww.slideshare.net%2Fkcmani#result Validated hcard] and [http://www.slideshare.net/kcmani Mani's SlideShare profile]<br />
* [http://chrisruppel.com Chris Ruppel], a web developer in Dallas, TX, uses an hcard for contact information site-wide (as well as XFN)<br />
* [http://greenspiritgardeners.com/ Green Spirit Gardeners] uses the hCard format throughout the site, including on the portfolio page for [http://greenspiritgardeners.com/portfolio/ commercial clients] and the [http://greenspiritgardeners.com/contact/ contact] page.<br />
* [http://www.dorettebos.nl/ Dorette Bos Coaching &amp; Training] uses hcard microformat on the [http://www.dorettebos.nl/contact.php contactpage]<br />
* [http://volunteers.st/ Steffi &amp; the volunteers] is an Austrian band and uses hcards for [http://volunteers.st/ band-contact in the footer] and on the page of the [http://volunteers.st/crew.html crew]<br />
* [http://www.textundkonzept.at Bernhard Ulrich] an Austrian copywriter uses the hcard format [http://www.textundkonzept.at on all pages of his website] for his contact information<br />
* [http://www.powerbrand.at/contact.html POWERBRAND] a brand name development agency uses a [http://www.powerbrand.at/contact.html hcard for contact information]<br />
*[http://www.koerperarbeit.net/ Anita Braunsberger, Qualified Practitionier of the Grinberg Method&reg; in Linz/Austria] A hcard is used for contact information on her website.<br />
*[http://www.carpetscleansandiego.com Durbin's Carpet Care] displays a vCard for contact information and relevancy<br />
*[http://www.nationalrural.org/organisation.aspx?id=96a3fc04-5c03-4d31-bb8a-2c55cc29aed4 National Rural Knowledge Exchange] uses an hCard with geo tags when displaying an organisations information<br />
* [http://www.tinstar.co.uk/about-tinstar-design/contact-tinstar-design.html Tinstar Design] uses an hCard for company contact information.<br />
* [http://www.interdixit.com/esp/contacto.php Interdixit] uses an hCard for his contact information.<br />
* [http://www.sisnova.com/ Sisnova] uses hCard for his location pages.<br />
* [http://www.fenoyarquitectura.com/esp/situacion.php Eduard Fenoy i Associats] uses an hCard.<br />
* [http://www.deltronic.com/ Deltronic Corporation] of Santa Ana, CA has posted an hCard with geo tags on its [http://www.deltronic.com/contact.shtml Contact] page. Background image of a contact card reinforces content. For those without enabling browser extensions, both hCard "logo" and text link make vCard available via external parser.<br />
* [http://transitionsmft.org/ Transitions Marriage and Family Therapy] has an hCard with geo tags in the footer of each page. There is also an hCard for each counselor on the [http://transitionsmft.org/about.php About] and [http://transitionsmft.org/contact.php Contact]pages.<br />
* [http://ball.in.th/ ball.in.th] uses hCard to display all usernames.<br />
* Italian business directory and community portal [http://www.cylex.it/ cylex.it] implements hCard for companies’ contact information with geo tags. Example: [http://www.cylex.it/azienda/computerland-10559319.html company profile]<br />
* [http://jermy.musicremedy.com/ Jermy Leeuwis MSc] uses an hCard for his contact information.<br />
* [http://idoinfotech.com Gary Eckstein] uses an hCard for [http://idoinfotech.com/contact contact information].<br />
* [http://www.drsuarez.net/ Dr. Suarez] uses hCard on his [http://www.drsuarez.net/cvitae.html resume page]<br />
* [http://sourceforge.net/projects/adx/ addressbook.xml] provides hCard support: [http://elektronengehirn.net/addressbook/addressbook.html adx live example]<br />
* [http://aplawrence.com APlawrence.com] is using hCard for its [http://aplawrence.com/Links/consultants.html Unix and Linux Consultants Page]<br />
* [http://www.afonsoduarte.com Afonso Duarte's Portfolio]. Uses an hCard for the contact information.<br />
* [http://www.rafe.me Web development by Rafe Harwood]. Uses an hCard for the contact line in the footer of every page.<br />
* [http://www.frogmeat.com Los Angeles Web Design]. Uses an hCard for contact information.<br />
* [http://www.arbea.basilicata.it/ ARBEA - Agenzia della Regione Basilicata per le Erogazioni in Agricoltura]. hCard is used both for classic [http://www.arbea.basilicata.it/index.php?option=com_contact&view=contact&id=4&Itemid=101 Contact page] and for farms showcase ("Vetrina Aziende Agricole") available for registered users. I've embedded it modifying Joomla! 1.5 com_contact core component. Users of this CMS can [http://joomlacode.org/gf/project/hcardcontact/ download my patch].<br />
* [http://trumps.net Los Angeles Search Engine Optimization] Uses hCard in the footer of all pages.<br />
* [http://reaganvick.com Personal Portfolio of Lance Reagan Vick]. Includes examples of PGP and SSH public keys I have not seen used anywhere else. Hopefully someone finds it helpful!<br />
* [http://www.fracturedstudios.com Los Angeles Search Engine Optimization] uses hCard to provide address information at bottom of page<br />
* [http://www.csid.upt.ro/home.php The Distance Learning Center - CSID, "Politehnica" University Timisoara], Romania uses hCard, including geo information, in every page's footer for encoding the University address. hCard is also used for [http://www.csid.upt.ro/personal.php staff] and student contact information.<br />
* [http://rehabpizza.co.uk Rehab Restaurant] London restaurant, see the sidebar for link to [http://rehabpizza.co.uk/rehab.hcard the hcard].<br />
* [http://www.outdoorla.org/ Los Angeles Hiking Trails] at the bottom right, our contact information is marked up as an hcard.<br />
* [http://c7.se Code7 Interactive] uses a hCard for Peter's [http://c7.se/contact contact details].<br />
* The [http://www.austinartcollective.com Austin Art Collective] is a group dedicated to helping emerging artists sell their artwork online. There is space for users to submit [http://www.austinartcollective.com/gallery/Art-City-Austin.html art gallery reviews] as well, [http://www.austinartcollective.com/austin-galleries/Downtown.html organized by neighborhood] in Austin, TX USA.<br />
* [http://www.squaremeal.co.uk/ Square Meal Restaurant Guide] uses hCards and hReviews for all restaurant listings and [http://www.squaremeal.co.uk/review/Ristorante_Semplice/1596 visitor reviews].<br />
* [http://www.vegan-nottingham.co.uk/ Vegan Nottingham Guide] uses hcards, including geo information, for each entry in the guide.<br />
* [http://www.cgtworld.com/ Cybernation Gamers Tournament] uses hCard in all users profiles like [http://www.cgtworld.com/profile/id-1/ Moonlext's Profile] and in the [http://www.cgtworld.com/about/press.html press page of CGT].<br />
* [http://fcctlh.org First Christian Church of Tallahassee] Uses hCard in the footer of all pages.<br />
* [http://www.pseps.com/vc-people/a.cfm The PSEPS Venture Capital and Private Equity Directory] Venture capital and private equity directory using microformats (both for professionals and firms).<br />
* [http://www.koningskindkadootjes.nl koningskindkadootjes.nl] Hcard located at the bottom of the pages.<br />
* [http://www.futurix.nl futurix.nl website and webshop development] At the bottom of the pages you'll find the hcard. With a link to technorati the hcard is used to get a vcard out of the hcard.<br />
* [http://romjon.com/contact-us romjon.com website design &amp; development] Contact Us page using hcard to markup address details. By using Operator, Google Maps and Yahoo! Maps can be made to open with the pointer, respectively, in pretty much and more or less exactly the right place.<br />
* [http://www.thebeanmachine.nl/ The Bean Machine] at the bottom right, our contact information is marked up as a hcard<br />
* [http://www.universalmedicalid.com/canada Universal Medical ID Canada] uses hCard to provide address information at bottom of page, as well as on a number of pages within the site.<br />
* [http://web.mac.com/a.gibson/ Alex Gibson Web Developer] uses hCard for contact info on his homepage.<br />
* [http://www.wardelldesign.com/html/contact/index.php Wardell Design] uses hCard for contact info with optional vCard download.<br />
* [http://www.drfosterhealth.co.uk/hospital-guide/ Dr Foster Hospital Guide] uses hCard to mark up hospital addresses. See [http://www.drfosterhealth.co.uk/hospital-guide/hospital/nhs/Basingstoke-and-North-Hampshire-Hospital-366.aspx Basingstoke hospital page] for example.<br />
* [http://www.drfosterhealth.co.uk/complementary-therapist-guide/ Dr Foster Complementary therapist guide] The [http://www.drfosterhealth.co.uk/complementary-therapist-guide/objectlist.aspx?w=32&p=8&obid=&sub=0 regulatory bodies page] uses hCard for contact details.<br />
* [http://wayne.edu/ Wayne State University] uses hCard for University address and contact details in the global footer used on most web pages.<br />
* [http://www.brakemeters.co.nz/ Portable Brake Meters N.Z. Ltd] uses hCard for business address and contact details.<br />
* [http://www.tallpoppieshamilton.co.nz/ Tall Poppies Florist] uses hCard for business address and contact details.<br />
* [http://www.livingcolour.co.nz/ Living Colour Florist] uses hCard for business address and contact details. See [http://www.livingcolour.co.nz/Information.aspx Information] page<br />
* [http://www.m-ephotographsen.fr/ m-ephotographsen] utilise hCard.<br />
* [http://www.2imahl.fr/fr/page/contact.html 2imahl fabricant de mobilier] utilise hCard sur sa page de contact ainsi que Geo sur sa page "[http://www.2imahl.fr/fr/info/plan.html plan]".<br />
* [http://www.energies-reseaux-expo.com/ Forum Energies Réseaux] utilise hCard dès lors que des données nominatives sont utilisées (organisateurs du salon, exposants, conférenciers, etc.)<br />
* [http://www.allogarage.fr/ Allogarage] - Comparatif des garages automobiles en France. Plus de 13 000 garages déjà référencés et disponibles au format hCard avec géolocalisation, exemple pour le garage <br />
[http://www.allogarage.fr/garages/details-garage-GRAND-GARAGE-PELLEPORT-10239.html GRAND GARAGE PELLEPORT].<br />
* [http://MyVcf.com MyVcf.com] affiche les infos au format hcard et permet de les télécharger au format vcard.<br />
* Les Explorateurs du Web ont publié une hCard sur la [http://explorateursduweb.com/blog/about/ page contact] avec une hCard<br />
* [http://www.areaguides.net areaguides.net] utilise le marquage hCard pour toutes les adresses sur le site.<br />
** Exemples : http://chicagoil.areaguides.net/ypcyellowpg/restaurants.html, http://newyorkny.areaguides.net/hotels.html<br />
* [http://www.ll.georgetown.edu/ Georgetown University Law Library] à Washington, D.C. utilise maintenant hCard pour les adresses sur toutes les pages. Signalons aussi, que les pages de bio du personnel de la bibliothèque utilisent hCard comme [http://www.ll.georgetown.edu/staff/bio.cfm?id_no=105 here] and [http://www.ll.georgetown.edu/staff/bio.cfm?id_no=32 ici].<br />
* [http://www.mtgd.gov.md/ Le Ministère des Transports et Industries de la Route] de la République de Moldavie. Le premier site gouvernemental moldave utilisant des hCards sur les [http://www.mtgd.gov.md/ministrul/ pages du personnel], [http://www.mtgd.gov.md/subdiviziunile-ministerului/ page des sous-divisions] et dans le pied de page de chaque page (contact) <br />
**Seules les versions en [http://www.mtgd.gov.md/ roumain] et [http://www.mtgd.gov.md/ru/ russe] sont disponibles à cette heure<br />
* [http://www.auctionlink.com.au/ AuctionLink] utilise hCard pour les enregistrements d'enchères comme [http://www.auctionlink.com.au/Auctioneers/Auctioneer/Cam_Brown_Auctions/ Cam Brown Auctions] (utilise aussi hCalendar)<br />
* [[User:WebOrganics|User WebOrganics]] Le Wiki Microformats wiki a des hCards sur ses pages utilisateurs.<br />
* [http://www.ontwerpkliniek.nl Ontwerpkliniek - Bureau voor Visuele Identiteit] utilise l'information de contact hCard sur la page d'accueil et la page contac.<br />
* [http://www.instantdes.com L'instant des...] utilise le format hCard pour tous les photographes publiés sur ce photoblog collectif.<br />
* le blog de groupe mediadesigner [http://www.pixeltapete.de Pixeltapete] utilise la hCard pour l'information de contact des pages des auteurs d'[http://www.pixeltapete.de/alex Alex] et [http://www.pixeltapete.de/carsten Carsten] et aussi [http://www.pixeltapete.de/kontakt imprint]. [http://www.pixeltapete.de Pixeltapete] utilise son propre [http://www.pixeltapete.de/2007/11/hcard-sidebarwidget-fuer-wordpress/ widget hcard] pour les barres latérales wordpress. <br />
* [http://www.thorsten-ott.de Thorsten Ott] utilise le format hCard pour la section contact de son résumé en ligne.<br />
* [http://rosebleed.net/ Rosebleed] supporte [[hCard user profiles-fr|les profils utilisateurs hCard]] - votre URL profil est <nowiki>http://rosebleed.net/users/profile.php/</nowiki> suivi de votre nomutilisateur, par ex. [http://rosebleed.net/users/profile.php/silvermoon82 silvermoon82].<br />
**'''Réparé''' les profils sont marqués explictement 'n' chaque fois que possible, autrement il l'omet<br />
* [http://www.whitepages.com WhitePages.com] Désormais WhitePages.com a implémenté hCard sur toutes ses listes. Plus de 120 millions de hCards ! Comprend l'information professionnelle.<br />
* [http://www.warmoth.com Warmoth Guitar Products] présente l'information hCard à deux endroits, [http://www.warmoth.com/customerservice/customer.cfm?fuseaction=order How To Order] et tout le [http://www.warmoth.com/catalog Warmoth E-Store]<br />
* [http://www.bbc.co.uk/worldservice/bangladeshboat BBC World Service Bangladesh River Journey] un mashup de réseau social, avec hCard & d'autres microformats. Voir le [http://dharmafly.com/blog/bangladeshboat blog de discussion Dharmafly].<br />
* [http://www.amants-du-chocolat.net/ ACCP :Les Amants du Chocolat de la Couronne Parisienne] utilise hCard sur sa page de contact et celles des fabricants de chocolats qu'ils ont dégustés.<br />
* [http://www.accountviewsoftware.nl/ AccountviewSoftware.nl] fait usage de hCards pour le répertoire des distributeurs [http://www.accountviewsoftware.nl/dir/ (répertoire)]<br />
* [http://www.crystalvision.co.il/ CrystalVision] utilise hCard sur sa page contact et dans le pied de page sur tout le site.<br />
* [http://www.indigoclothing.com/ Indigo Clothing] une société de t-shirt basée à Londre utilise hCard avec le lien Technorati " Add to Address Book" sur tout le site dans le pied de page.<br />
* [http://www.joshuamcginnis.com Joshua McGinnis] utilise hCard pour afficher son information de contact aux clients potentiels.<br />
* La [http://www.myaffordablemarketing.com/contact.php page contact de Affordable Marketing Solutions] utilise hCard avec Technorati "Add to Address Book".<br />
* [http://www.bo.ingv.it/contents/INGV-Bologna/Staff.html INGV Bologna] a implémenté les hCards pour les membres du personnel, marquées sous des lignes de table HTML (l'[[include-pattern-fr|include-pattern]] a aussi été utilisé pour ajouter le nom de l'organisation et le numéro de fax à chaque hCard).<br />
* [http://ideance.net/cv.php Sébastien Delorme] utilise une hCard sur son CV en ligne. Il a également créé une [http://ideance.net/lab/hCard/ hCard de Noah Bennet] (personnage d'une série américaine) dans le cadre d'un concours<br />
* [http://www.lefora.com Lefora] est un site gratuit d'hébergement de forums. Chaque profil utilisateur contient une hCard. (Exemple de forum pour tester :[http://funstuff.lefora.com funstuff.lefora.com])<br />
* [http://www.handlairsystems.com H&L Air Systems] utilise hCard avec un lien Technorati vers le Carnet d'Adresses sur toutes les pages de contact.<br />
* [http://theultimates.whitepages.com WhitePages.com] Une version spéciale de whitepages.com a toutes ses listes marquées avec hCard.<br />
* [http://piermontweb.com/contact/ Piermont Web Design] utilise hCard sur sa page contact.<br />
* [http://www.ie.asm.md/en/ The Institute of Power Engineering] de l'Académie des Sciences de Moldovie. Premier site moldave utiisant des hCards sur les pages du staff, par ex. [http://www.ie.asm.md/employees/oleschuk-valentin/]<br />
**Aussi en russe : [http://www.ie.asm.md/employees-ru/sit-michail-lvovich/] et en roumain : [http://www.ie.asm.md/angajati/chiorsac-mihail/]<br />
* Le bateau [http://styrheim.com/test/leonid.html Leonid Miloslavskiy] a fait escale dans l'Atlantique Nord<br />
* [http://richi.co.uk/blog/2005/12/structured-blogging.html Richi Jennings] a placé son essai<br />
*[http://oberrycavanaugh.com O'Berry|Cavanaugh] a une hCard d'organisation dans le pied de page de chaque page tout comme des hCards individuelles sur la page [http://oberrycavanaugh.com/team.php "Team"].<br />
* [http://fortisgc.com Fortis General Counsel], par ex. le [http://fortisgc.com/joyce_lan_kim.html profil de Joyce Kim], utilise hCard pour l'information de profil et de contact.<br />
* [http://peryplo.com Peryplo.com], par ex. [http://peryplo.com/personal/7e6786e711c6d051a39a1b7085f34955 Page Echantillon], utilise hCard pour les Hôtels, les endroits gastronomiques et les services pour touristes.<br />
* [http://www.navitraveler.com/places/629/ NaviTraveler], par ex. [http://www.navitraveler.com/places/629/Lincoln_Memorial.html Lincoln Memorial], comprenant un [[geo-fr|Geo]].<br />
** Réponse en 12 heures à une demande de soutien- [[User:AndyMabbett|Andy Mabbett]]<br />
* [http://corewar.atspace.com/about.html sfghoul] a marqué son information de contact avec [[hcard-fr|hCard]]<br />
* [http://www.zaadz.com Zaadz] utilise [[hcard-fr|hCard]] et [http://gmpg.org/xfn XFN] pour ses amis sur une page profil des utilisateurs.<br />
*[http://www.xoxiety.com/about.html Xoxiety] utilise les hCards sur sa page "about", en liant les données à partir d'un bloc intérieur de texte.<br />
*[http://yedda.com Yedda] - Yedda fournit des identités basées sur hCard sur tous les profils des personnes<br />
*[http://openid.ne.jp OpenID.ne.jp] Premier service de fournisseur OpenID au Japon (日本語). Chaque page personnelle OpenID (par ex :[http://eouia.openid.ne.jp http://eouia.openid.ne.jp]) est marquée avec hCard. Et il existe aussi une hCard de société sur chaque page.<br />
* [http://www.goldenglovepromotions.com/ Golden Glove Promotions] a utilisé des hcards sur le pied de page de chaque page pour l'information de contact.<br />
* Les sites d'actualités Australiens "The Australian" et "Australian IT" utilisent hCard sur leurs pages de contacts : [http://www.theaustralian.com.au/contactus The Australian (contact us)] et [http://www.australianit.news.com.au/contactus Australian IT (contact us)]<br />
* [http://www.thekiwiholiday.com/ The Kiwi Holiday] utilise des hCards pour les [http://www.thekiwiholiday.com/view-hostels Hôtels en Nouvelle Zélande], les [http://www.thekiwiholiday.com/view-restaurants Restaurants en Nouvelle Zélande] et les [http://www.thekiwiholiday.com/view-activities Activités en Nouvelle Zélande]. Fournit aussi une fonctionnalité hCard "download to address book" sur les pages de détails des listes, par ex. le Restaurant [http://www.thekiwiholiday.com/restaurant/tonys-steak Tonys Steak]<br />
* [http://www.serviceworksglobal.com/pages/contact-us.php Service Works Global] utilise des hcards sur la page "contactus" et dans le pied de page du site.<br />
* [http://www.qcindustries.com/ QC Industries Conveyors] utilise des hcards pour stocker l'information de contact dans le pied de page du site et dans ses [http://www.qcindustries.com/news/press-releases/ communiqués de presse].<br />
* [http://www.confuciusinstitute.ac.uk/ The Confucius Institute for Scotland à l'Université d'Edinbourg] a utilisé une hCard pour stocker l'information de contact dans le pied de page de la page.<br />
* [http://admnj.com/ Affiliated Direct Mail] est une société de marketing direct dans le New Jersey qui a son information de contact en format hCard.<br />
* [http://www.golfdigest.com/ Golf Digest] supporte maintenant hCard dans des pages de [http://www.golfdigest.com/courses/places Recherche de Cours]. [http://www.golfdigest.com/courses/places/2483 exemple]<br />
* [http://dev.opera.com/authors/ Dev Opera] Le site des développeurs d'Opera utilise des hCards sur les pages de détails des auteurs.<br />
* [http://www.alexandrebalmes.fr/blog Le blog d'Alexandre BALMES incluant hCard]<br />
* [http://www.logicieldessin.com/ Logiciel de dessin] Site de téléchargement de logiciel de dessin pour enfant incluant hCard<br />
* [http://www.telechargerfacile.com/ logiciel gratuit] Site utilisant les hCard pour la présentation de fiche logiciel<br />
* [http://annuaire.handica.com/ Annuaire du handicap Handica.com] incluant des hCards ([http://annuaire.handica.com/resultats.php?act=10681587434&sel_name=handica] Exemple) <br />
* [http://chrischerry.name/blog/contact/ la page contact de Chris Cherry avec sa hCard]<br />
* [http://www.kiteboarder.com.au/php/search.php www.kiteboarder.com.au] Un nouveau portail australien de kiteboarding. Les microformats ont été utilisés de façon que les utilisateurs puissent exporter les magasins <s>directement vers outlook</s>. J'ai pu apprendre les microformats durant la conférence Media 2007 à Londres - Auteur : Damien King<br />
* [http://krevi.dk/ KREVI] Un institut de recherche Danois. Utilisant la hCard dans le pied de page de chaque page et sur la liste du personnel. C'est le premier site web Danois connu du secteur public à utiliser les microformats.[http://krevi.dk/om-krevi/organisation/medarbejdere exemple liste du personnel]<br />
* [http://www.hss.ed.ac.uk/web-team/ Le site de l'équipe web du "College of Humanities and Social Science"] à l'Université d'Edinburgh utilise une hCard dans le pied de page de chaque page.<br />
* [http://www.theglobeandmail.com/ globeandmail.com] Le journal national du Canada utilise une hCard pour son information de contact.<br />
* [http://www.logisteam.pl/ Krzysztof Rucinski] utilise une hCard pour ses détails de contacts sur la page [http://www.logisteam.pl/keylogger.kontakt.html contact Logisteam].<br />
* Creation design & marketing a des hCards sur le site, y compris la page [http://www.creation.uk.com/contact/ contact], les [http://www.creation.uk.com/company/leigh-scott/ pages profils de la société] et les [http://www.creation.uk.com/news/2007/06/06/easy-money/#comments-view commentaires sur les articles]<br />
* <s>Wikipedia a désormais un gabarit, [http://en.wikipedia.org/wiki/Template:Hcard-geo hcard-geo], pour les hCards dans la ligne avec les coordonnées, tel que celui présent sur [http://en.wikipedia.org/wiki/Engine_Arm Engine Arm] </s><br />
* [http://www.corissia.com Corissia Group Hotels en Crète Grèce] a inclus l'information de contact sous une hCard sur le pied de page de chaque page du site web. Il existe aussi une implémentation multilingue.<br />
* [http://zucchetti.co.uk/2007/03/06/simple-address-formatting-solution/ Laura Zucchetti] illustre une solution de mise en forme simple d'adresse sous une hCard et balisée dans une liste de définition.<br />
* [http://www.feike.de/Kontakt.html Feike Contact] a une hcard en haut de la page.<br />
* [http://www.londondrum.com/ London Drum] utilise un hébergement global de microformats - il y a des hcards et des geos sur les pages des hôtels, les événements sont écrits en format hCalendar sur la page d'accueil, et vous pouvez aussi trouver quelques critiques (comme sur la la page de [http://www.londondrum.com/accommodation/athenaeum.php l'Hôtel Athenaeum]) <br />
* [http://www.regels-stadskanaal.nl/ Regelingenbank Stadskanaal] a une hCard sur chaque page, contenant aussi l'information-Geo.<br />
* [http://www.tomstone.se Tom Stone - Trollkarl] a une hCard dans le pied de page de chaque page du site.<br />
* La page d'accueil de [http://www.rolandinsh.lv/ Rolands Umbrovskis] a une hcard dans la [http://www.rolandinsh.lv/?ro=contacts page contact] et toutes les autres pages avec l'information de contact.<br />
* [http://www.epiphanysolutions.co.uk/ Epiphany Solutions Ltd] utilise une hcard sur sa page "contact us". Nous avons l'intention d'utiliser la hCard sur chaque page si c'est implémeté avec succès, associé à un lien vers le générateur de vCard Technorati.<br />
* [http://twitter.com Twitter] utilise hCard pour l'information utilisateur (associé à plusieurs [http://ihack.us/2007/05/14/twitter-gets-microformatted/ autres microformats]) <br />
* [http://www.bendodson.com/developer/ Ben Dodson] utilise une hCard pour sa carte de visite sur chaque page de ce site tout comme il utilise les hCards pour toutes les relations XFN dans ses blogrolls.<br />
*[http://www.pats.ua.ac.be/group Les Membres du Groupe PATS] uses hCard to mark up member contact information. <br />
*[http://couchsurfing.com CouchSurfing] a une information limitée dans la hCard disponible sur les profils des membres (comme celui de [http://www.couchsurfing.com/people/guaka Guaka]). <br />
*Wikipedia-UK (Ukranian) <br />
** En cours de démarrage sur les biographies par ex. [http://uk.wikipedia.org/wiki/%D0%93%D0%B5%D1%82%D1%8C%D0%BC%D0%B0%D0%BD_%D0%92%D0%B0%D0%B4%D0%B8%D0%BC_%D0%9F%D0%B5%D1%82%D1%80%D0%BE%D0%B2%D0%B8%D1%87 Vadym Hetman] <br />
* [http://christophertcressman.com Christopher T. Cressman] utilise une hCard sur la page d'accueil de son , [http://christophertcressman.com christopher t cressman]. <br />
* [http://kpumuk.info Dmytro Shteflyuk] utilise une hCard sur ses pages [http://kpumuk.info/contact/ contact] et [http://kpumuk.info/curriculum-vitae/ curriculum vitae]. <br />
*Wikipedia-EN <br />
**démarrage sur les articles traitant des personnes, par exemple [http://en.wikipedia.org/wiki/Albert_einstein Albert Einstein]. La nature de Wikipedia signifie qu'il existe un grand nombre de gabarits à mettre à jour (celui d'Albert est en anglais "infobox scientist ; il existe aussi "infobox military people", "infobox musician" et ainsi de suite, presque à l'infini). La date d'anniversaire n'est seulement incluse que si elle est saisie en utilisant un gabarit date de naissance, pas sous forme de texte brut. <br />
** commencé à initialiser les articles sur les lieux, par exemple le gabarit sur les gares de trains anglaises, par ex. [http://en.wikipedia.org/wiki/Birmingham_New_Street Birmingham New Street station] (comprend Geo) ; et les villes, par ex. [http://en.wikipedia.org/wiki/New_York_City New York]. Voir ci-dessus pour la remarque sur les gabarits de Wikipedia. <br />
** N'importe quel éditeur de Wikipedia souhaitant aider à mettre à jour les gabarits devrait regarder le [http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Microformats projet microformat de Wikipedia] ; [http://en.wikipedia.org/wiki/Category:Templates_generating_hCards les gabarits Wikipedia générant des hCards]<br />
**Malheureusement, [http://en.wikipedia.org/w/index.php?title=Template:Infobox_Protected_area&diff=prev&oldid=152308153 d'autres éditeurs sont déjà en train de briser quelques-unes des implémentations sur Wikipedia] ; par ex. [http://en.wikipedia.org/wiki/Grand_Canyon_National_Park Grand Canyon National Park]; [http://en.wikipedia.org/w/index.php?title=List_of_islands_of_Argentina&diff=prev&oldid=155590535 retrait des attributs "region"]<br />
* Le site de [http://www.bayofislands.net/ Bay of Islands] a implémenté hCard sur toutes ses pages, par ex : [http://www.bayofislands.net/accommodation/backpackers/saltwater-lodge/ Saltwater Lodge] <br />
* [http://people.cs.uchicago.edu/~mpschaef/index.html Merrick Schaefer] utilise hCard sur sa page personnelle pour son information de contact.<br />
*Wikipedia-EN - démarrage par exemple sur les gabarits des gares britanniques, par ex. [http://en.wikipedia.org/wiki/Birmingham_New_Street Birmingham New Street station] (inclut le microformat geo).<br />
* Christian Hess (de San José, Costa Rica) a une hcard sur sa [http://www.hess-cr.com home page], ses pages [http://www.hess-cr.com/utilidades/correo.shtml#postal contact] et [http://www.hess-cr.com/secciones/curriculum/datos.shtml personal résumé] (toutes en espagnol). Il recommande aussi d'utiliser l'extension [https://addons.mozilla.org/es-ES/firefox/addon/4106 Operator] dans Firefox pour les vérifier.<br />
* [http://www.anisfield-wolf.org/ The Anisfield-Wolf Book Awards], conçu spécifiquement pour reconnaître les travaux résolvant des problèmes de racisme et de diversité, utilise hCard pour les bios des auteurs des [http://www.anisfield-wolf.org/Winners/PastWinners/ 'past winners'].<br />
* [http://www.buy-our-honeymoon.com/ Buy Our Honeymoon], un [http://www.buy-our-honeymoon.com/usa enregistreur de liste de mariage] utilise hCard dans sa page [http://www.buy-our-honeymoon.com/contact Contact Us].<br />
* '''Le Webmestre du W3C ''' [http://www.w3.org/People/Jean-Gui/ Jean-Guilhem Rouel] a maintenant une hCard.<br />
* [http://source.ibegin.com/ iBegin Source] - Plus de 10.8 millions d'entreprises ont leur information balisée avec hCard. Exemple : [http://source.ibegin.com/california/adelanto/aeronautical-supplies/general-atomics-9779-yucca-rd-1.html General Atomics]<br />
* [http://claimid.com/jeanchristophe Jean-Christophe Capelli] sur une [http://www.wikiservice.at/fractal/wikidev.cgi?FR/PinkoMarketing/JeanChristopheCapelli page personnelle] d'une branche-wiki dédiée à construire un groupe francophone sur le pinkomarketing. Aidé par Christophe Ducamp, microformateur de tous les instants.<br />
* [http://www.lounews.com/ The Louisville News Company] utilise hCard pour l'information de contact sur tout le site pour la société et le développeur du site.<br />
* [http://cloudislands.com/contact.php Cloud Islands] utilise hCard pour l'innformation de contact.<br />
* [http://www.international.unt.edu UNT International] utilise hCard pour baliser l'information de contact sur tout le site (voir particulièrement [http://www.international.unt.edu/offices/ieli/people/instructors/profiles la liste des profils des instructeurs IELI])<br />
* [http://www.giraffo.de giraffo.de] a différentes hCards sur chaque page (+ geo dans "kontakt")<br />
* [http://www.enap.com ENAP, Inc.] liste le contact de la DRH en format hCard sur la page [http://www.enap.com/career.aspx Career Opportunities].<br />
* Les listes des panélistes et participants à [http://sxsw07.conferenceer.com/people Conferenceer] durant la conférence interactive 2007 South de Southwest est au format hCard.<br />
* [http://news.stanford.edu Stanford News] (Redesign) hCard dans le pied de page sur chaque page tout comme le balisage pour chaque membre du staff sur la page Staff.<br />
* [http://en.wikipedia.org/wiki/St_George%27s_Minster%2C_Doncaster St George's Minster, Doncaster, sur Wikipedia] <br />
* AOL Journals publie des hCards pour les auteurs. [http://journals.aol.com/carowill/whats-happening Example] <br />
* La [http://ian.mckellar.org/ home page] de Ian McKellar est une hCard stylisée pour ressembler à une carte de visite professionnelle.<br />
* [[Christophe Ducamp]] sur une [http://www.wikiservice.at/fractal/wikidev.cgi?FR/MicroFormats/ChristopheDucamp page personnelle] d'une branche-wiki dédié à construire un groupe francophone sur les microformats. Aidé par [http://www.wikiservice.at/fractal/wikidev.cgi?LaurentLunati Laurent Lunati] pour le design, tout le monde peut la corriger en [http://www.wikiservice.at/fractal/wikidev.cgi?action=edit&id=FR/MicroFormats/ChristopheDucamp éditant la page].<br />
* [http://www.matthewwest.co.uk Matthew West] a une hCard sur sa page [http://www.matthewwest.co.uk/email contact].<br />
* Le portofolio du FreeLance en développement web [http://www.webmaster.waw.pl Paweł Wrzosek] <br />
*[http://thibeaultstudios.com Thibeault Studios] a une hCard d'entreprise dans le pied de page sur chaque page tout comme des hCards individuelles sur la page [http://thibeaultstudios.com/contact_us.php Contact].<br />
*Le balisage hCard [http://www.stanford.edu/ Stanford.edu] est inclus dans le pied de page de la page d'accueil et toutes les pages subséquentes dans le répertoire /home.<br />
*[http://openid.ne.jp OpenID.ne.jp] Premier fournisseur de service OpenID au Japon (日本語). Chaque page personnelle OpenID (par ex :[http://eouia.openid.ne.jp http://eouia.openid.ne.jp]) est balisée sous hCard. Et il y a aussi une hCard de société sur chaque page.<br />
* L'adresse de [http://www.qwertycars.co.uk/garages/mechanics-near-tadworth.aspx UK Car Garages] au Royaume Uni au format hCard.<br />
* La page About Us de [http://www.columbiaautomation.com/sub/contact.php Columbia Automation] a balisé chaque employé sous une hCard et dispose aussi d'une hCard de société avec l'information geo.<br />
* [http://www.pointermix.com Pointermix Design] utilise le format hCard.<br />
* La page contact de [http://eight6.com/contact/ eight6] utilise le format hCard<br />
* Les listes d'annonces de [http://www.raveaboutit.com.au Rave About It] utilisent le format hCard.<br />
* La page de l'équipe d'[http://optics.org/cws/Contact/OurTeam.do optics.org].<br />
* La première tentative de [http://www.robcottingham.ca/contact Rob Cottingham] dans les microformats est une hCard sur la page contact de son blog personnel (Il a été inspiré par la présentation de Tantek Çelik lors de Web Directions North 2007.)<br />
* [http://redmonk.net/about-this-site Steve Ivy] - hcard sur la page "about", inclut les suspects usuels + XFN sur les 'url's, photo, et geo.<br />
* L'[http://seattleu.edu Université de Seattle] utilise hCard sur sa page d'accueil et la plupart des pages qui partagent un gabarit officiel.<br />
* [http://www.josemarti.waw.pl L'école secondaire José Marti XXII à Varsovie] inclut hCard sur les sections Contact et A propos de l'auteur <br />
* [http://www.jaama.co.uk Jaama] a mis ses détails de société sous une vcard téléchargeable sur page [http://www.jaama.co.uk/Contact.aspx contact]<br />
* [http://3amproductions.net 3AM Productions] a les détails de société balisés sous hCard sur tout le site et particulièrement pour [http://3amproductions.net/jason.php Jason] et [http://3amproductions.net/gilbert.php Gilbert] <br />
* [http://berlin.barwick.de/index.html Berlin Guide] est en train de convertir son balisage d'adresses en hCard, par ex. [http://berlin.barwick.de/shopping/kadewe-kaufhaus-des-westens.html KaDeWe] <br />
* [http://www.xlntads.com XLNTads] a son information de contact balisée en hCard, tout comme son plan de développement balisé en hCalendar<br />
* [http://derrick.pallas.us Derrick Pallas] dit aux personnes de le chercher là.<br />
* [http://bluemonkcreative.com/contact/ Bill Turner] ajoute une hCard à la page contact de son site web de freelance.<br />
* [http://www.oppenheim.com.au/ Le blog de James Oppenheim] inclut une hCard de l'auteur dans la ligne dans le pied de page de chaque page et aussi sur la page de contact.<br />
* [http://steinhardt.nyu.edu/ NYU Steinhardt] a [http://steinhardt.nyu.edu/faculty_bios/list/Faculty plus de 240 bios de faculté balisées], par ex. [http://steinhardt.nyu.edu/faculty_bios/view/Susan_Murray].<br />
* [http://www.boogdesign.com/aboutus.html boogdesign.com] a ajouté une syntaxe hCard sur la page de contact.<br />
* [http://www.gptg.org GreatPlaceToGolf], hCards pour les clubs de golf autour du monde, par exemple [http://www.gptg.org/club/12/]. Utilisation de hCard pour les joueurs et les terrains de golf, geo pour les coordonnées des terrains, et hAtom. Réalisé par FredericLepied<br />
* [http://www.economie-poitiers.fr/ Le Service Développement Economique de la Communauté d'agglomération de Poitiers] a utilisé une hCard pour son information de contact en bas de page.<br />
* [http://www.lesgenets.com/ Le camping des Genêts à l'ile de Ré] a utilisé une hCard pour inclure ses informations de contact.<br />
* [http://www.entrepots-lafond.fr/ Le site des entrepots Lafond] a publié ses informations de contact à l'aide d'une hCard.<br />
* [http://www.walkerfineart.com Walker Fine Art Gallery] La plupart des pages contiennent une hCard en pied de page.<br />
* [http://www.brdatasystems.com.au/contact-us.html B&R Data Systems] est une hCard d'organisation. Nous avons aussi utilisé l'outil technorati pour la télécharger sous une vCard, ce qui je pense est utile pour une entreprise.<br />
* [http://chewbittel.com/contact.php Chew Bittel Assoc., Inc.] est une hCard d'organisation. Il y a des abbr's dedans et un champ téléphone dupliqué et quelques choses cachées. J'essaie vraiment de pousser les choses à leur limite ici. Ce devrait être un bon test pour votre parseur.<br />
* la [http://redmonk.net/about-this-site/ page about] de [[User:Steve Ivy|Steve Ivy]] a sa hCard, comprenant un lien vers son fil de contact Technorati pour laisser les visiteurs télécharger son information de contact.<br />
* La hCard de Scott Allan Wallick est [[User:ScottWallick|sa page utilisateur]] et sur son blog, [http://www.plaintxt.org/about/2/ plaintxt.org]<br />
* La hCard de [[User:Bob_Jonkman|Bob Jonkman]] '''sur ce 'wiki'''' <br />
* [http://thetenwordreview.com The Ten Word Review] contient simplement des critiques de dix mots. Toutes les critiques sont balisées sous des [[hreview-fr|hReviews]] et l'information utilisateur est balisée sous hCard.<br />
* Le [http://www.westmidlandbirdclub.com/ West Midland Bird Club] (Club d'oiseau d'intérieur occidental d'Angleterre) utilise hCard sur sa [http://www.westmidlandbirdclub.com/ home page], son [http://www.westmidlandbirdclub.com/diary/ annuaire d'événements], sa page [http://www.westmidlandbirdclub.com/club/contact.htm contact], sa page de [http://www.westmidlandbirdclub.com/site/links.htm liens], la [http://www.westmidlandbirdclub.com/club/older.htm liste des anciens] et dans un pied de page qui est graduellement implémenté sur tout le site.<br />
* OffshoreAgile.com, un sous-site de Starsoft Development Labs, utilise hCard dans les sections [http://www.offshoreagile.com/company/contact/ Contacts Starsoft] et 'Media Inquiries'.<br />
* T-Mobile utilise hCard pour la [http://t-mobilepressoffice.co.uk/press/contact-details/ page T-Mobile UK Press Contact Details], tout comme pour quelques-uns de ses derniers communiqués de presse.<br />
* La division de publication 'Psychology Press' et 'Routledge's Behavioral' a implémenté des pages contact sur 17 de ses sites web (exemple sur la page contact de [http://www.clinicalpsychologyarena.com/contact/ Clinical Psychology Arena])<br />
*[http://72ppi.us 72ppi], utilise hCard dans le pied de page.<br />
*[http://www.csarven.ca Sarven Capadisli] utilise hCard dans tout le site (y compris les commentaires utilisateurs dans les articles).<br />
* [https://www.urbanbody.com/information/contact-us Urban Body Men's Clothing] utilise hCard pour les adresses des magasins et hCalendar pour les horaires d'ouverture.<br />
* [http://www.iqair.us/ IQAir North America], utilise hCard pour l'information de contact.<br />
* [http://www.infoiasi.ro/ Le site web de la Faculté des Computer Science], "A. I. Cuza" University Ia&#351;i, Romania utilise hCard pour chaque membre du staff.<br />
* [http://www.finds.org.uk/ The Portable Antiquities Scheme au British Museum] a des hCards ajoutées dans le pied de page de chaque page et vers les section des contacts. En train de travailler pour en ajouter plus.<br />
* Dans [http://www.ideasfornet.com/ IdeasForNet.com - the ideas repository] des hCards ont été implémentées partiellement dans le pied de page de chaque page, et de façon plus compréhensive dans les pages contact et à propos.<br />
* Le [http://www.cst.ed.ac.uk/ Centre of Canadian Studies] à l'Université d'Edinburgh utilise les hCards pour l'information de contact dans le pied de page du site.<br />
* [http://www.theatrestudies.llc.ed.ac.uk/ Theatre Studies: European Theatre] à l'Univiersité d'Edinburg utilise les hCards pour l'information de contact sur sa page d'accueil.<br />
* [http://www.carolinemockett.com/design/about.aspx Caroline Mockett] a une hCard sur sa page About Me<br />
* [http://wait-till-i.com Christian Heilmann] a une adresse en pied de page utilisant hCard <br />
*[http://www.audience-response-rentals.com/ Audience Response System Rentals] utilise hCard comme un popup dans l'aire d'accessibilité du site (en bas à droite) pour un copier/coller facile de l'adresse par ses clients.<br />
* [http://www.fischsolutions.com/ Fisch Internet Solutions] utilise une hCard embarquée et une vCard pour fournir aux clients un moyen facile de les contacter sur leur section [http://fischsolutions.com/contactus.html Contact Us] du site web. <br />
* [http://www.micatholicconference.org/ Michigan Catholic Conference] utilise hCard pour l'information de contact dans la barre latérale.<br />
* [http://www.adambunn.co.uk/ Adam Bunn] fournit les détails de contact dans la barre latérale en utilisant hCard.<br />
* [http://www.belkin.com/pressroom/releases/uploads/10_10_06NotebookExpansionDock.html Les communiqués de presse de Belkin] utilisent les hCards pour les contacts de Relations Publiques et les bureaux. <br />
* [http://mybank.com myBank.com] utilise hCard pour ses listings de chaque branche de chaque banque assurée FDIC aux Etats-Unis.<br />
* [http://leftlogic.com Left Logic] utilise hCard pour l'information de contact embarquée. <br />
* [http://inga-art.co.uk/artist Inga Scholes] utilise hCard pour l'information de contact dans la barre latérale.<br />
* [http://www.lussumo.com/ Lussumo] utilise hCard sur les pages de profil dans son forum de discussions logiciel [http://www.getvanilla.com/ Vanilla]. <br />
* [http://www.creative-ways.nl/ Ron Kok] utilise des hCards pour baliser les noms et URLs des commentateurs sur son blog. Il utilise aussi les hCards en combinaison avec XFN dans ses billets de blog pour pointer vers des amis et a une hcard pour lui-même dans le pied de page de son blog.<br />
* La page des [http://www.parisweb2006.org/orateurs.php orateurs de paris web 2006] (Paris-France) contient une hCard pour tous les intervenants.<br />
* [http://tagg.no Tagg Media] utilise hCard pour l'[http://heine.tagg.no/contact.php information de contact] et fournit un lien vers un téléchargement de vcard dans la section contact.<br />
* L'article à propos du personnage de Matrixx [http://en.wikipedia.org/wiki/Neo_%28The_Matrix%29 Thomas A Anderson dans Wikipedia] est maintenant balisé avec hCard.<br />
* [http://dconstruct06.madgex.com/ d.Construct 2006 Backnetwork] utilise des hCards pour les congressistes à la conférence (et fournit le balisage de façon à ce que les congressistes puisses copier et coller leurs cartes dans leurs propres sites).<br />
* [http://www.brown.edu Brown University] utilise maintenant hCard sur la page d'accueil.<br />
* [http://www.wideblueyonderweb.co.uk Dunks chez Wide Blue Yonder Web Design] a ajouté un balisage hCard sur sa [http://www.wideblueyonderweb.co.uk/wbyw/pages/contact.htm page contact] et cherche à l'implémenter sur toutes les pages des contacts passés et futurs pour les clients.<br />
* [http://southamptonrubberstamp.com Southampton Rubber Stamp Company] a déspormais un balisage hCard avec un téléchargement de vCard sur chaque page.<br />
* [http://barefoot-ceramics.com Barefoot Ceramics paint your own pottery studio] (à Newport, South Wales) a ajouté un balisage hCard à sa page [http://barefoot-ceramics.com/find#address "Find"] page et d'autres exemples d'adresses. Ils espèrent mettre en oeuvre un listing d'événement hCalendar dès qu'une classe PHP ics vers hCalendar puisse être trouvée ou écrite.<br />
* [http://dsingleton.co.uk/ David Singleton] a ajouté une hCard à son blog.<br />
* [http://www.thestreet.org.au The Street Theatre (Canberra, Australia)] a ajouté un balisage hCard pour baliser vers sa page [http://www.thestreet.org.au/contact.htm Contact Us]. Un balisage hCalendar sera bientôt ajouté pour toutes les pièces.<br />
* [http://www.informatik.uni-hamburg.de/SVS/personnel/henrich/index.php Henrich C. P&ouml;hls] a balisé sa page "about" en utilisant hcard, y compris sa clé PGP qui est stockée dans une "abbr title", en utilisant class=key.<br />
* [http://www.yalf.de Yalf Webentwicklung] a sa page [http://www.yalf.de/kontakt d'information de contact] disponnible sous hCard (et vCard).<br />
* [http://www.zeldman.com/about/ Jeffrey Zeldman]. Jeffrey Zeldman a balisé sa page 'about' en utilisant hCard.<br />
* [http://WhereAreYouCamping.com Where Are You Camping]. Des hCards pour tous les membres et camps, employant tout aussi bien 'include pattern'. A la limite de ce que je connais, c'est le premier Burning Man en rapport avec l'implémentation des microformats, pour ne pas citer des adresses dans Black Rock City.<br />
* [http://www.clacksweb.org.uk Clackmannanshire Council ]. hCard est implémenté pour tous les détails de contact sur le site et pour des individus spécifiques comme les membres élus (les 'Councillors').<br />
* [http://www.webdirections.org Web Directions ]. La hCard est utilisée comme information de contact pour la conférence, et les conférenciers sont balisés avec hCard.<br />
* [http://www.markthisdate.com/contactform.html MarkThisDate.com ]. Une hCard est implémentée sur notre formulaire de contact. Pour nos calendriers les hCalendars suivront dès que possible.<br />
* [http://kollitsch.de/ Patrick Kollitsch] a construit son Profil personnel sous hCard.<br />
* [http://www.msiinet.com/contact/ MSI Systems Integrators] a sa page &quot;Contact MSI&quot; encodé avec des hCards.<br />
* [http://www.coolblue.nl/ Le site web corporate de Coolblue BV]. Les hCards ont été implémentées à la fois dans le pied de page de chaque page, et dans la section "News" pour l'information contact presse.<br />
* [http://www.besancon.fr/index.php?p=32 Le site officiel de la ville de Besançon (France)] utilise hCard pour chaque page concernant les petites villes entourant Besançon.<br />
* [http://2006.dconstruct.org/speakers/ la liste des conférenciers d.Construct 2006] a été implémentée en utilisant des hCards.<br />
* [http://local.yahoo.com Yahoo Local] supporte maintenant les hCards pour les commerces et endroits dans les résultats de recherche<br />
* [http://learningtheworld.eu/imprint/ Learning the World] a une information hCard sur l'impression, parce ce que nous n'avons pas réussi à baliser proprement les numéros de téléphone et de fax professionnels.<br />
* Le site web [http://www.fuckparade.org F’parade] utilise hcard, même s'il n'a pas trouvé un type pour distinguer les numéros de téléphone mobile et fixes ''(recommandation utiliser <code>cell</code> pour les mobiles)''.<br />
* [http://www.miranet.nl/contact.htm Miranet Webdesign] a ajouté une hCard sur sa [http://www.miranet.nl/contact.htm page 'contact']<br />
* [http://weblog.200ok.com.au/ Ben Buchanan] a ajouté une vCard à la page [http://weblog.200ok.com.au/about/ 'About'sur le welbog 200ok]<br />
* [http://www.radiantcore.com Radiant Core] a son information de contact [http://www.radiantcore.com/contact/ disponible dans la hCard].<br />
* [http://www.mikerumble.co.uk/ Mike Rumble] [http://www.mikerumble.co.uk/contact.html a mis en ligne sa hCard].<br />
* [http://www.saumag.edu/ Southern Arkansas University] a son pied de page encodé comme une hCard.<br />
* [http://main.uab.edu/ University of Alabama at Birmingham] a son pied de page contact encodé sous hCard.<br />
* [http://www.capital.edu Capital University] a le contact en pied de page et les noms des blogueurs encodés sous hCard. Aussi, toutes les informations de pages spécifiques de contact sont encodées sous hCards (voir la page [http://www.capital.edu/Internet/Default.aspx?pid=67 Admissions] pour un exemple)<br />
* [http://main.uab.edu/shrp/ UAB School of Health Professions] utilise hCard dans son pied de page contact<br />
* [http://green.carisenda.com/ Stephen Stewart] a sa hCard sur la page d'accueil de son weblog (section 'You are here')<br />
* [http://www.direction.es/ Direction] utilise hCard pour l'information de contact.<br />
* [http://audiobank.tryphon.org AudioBank] utilise hCard pour afficher les informations des membres.<br />
* [http://www.vivabit.com/atmedia2006/speakers/ @media speakers] sont balisés avec hCard (les photos dépendent du support du tag BASE ce qui fait de cela un très bon cas de test)<br />
* [http://www.dougransom.com Doug Ransom] utilise hCard pour sa pratique de conseil financier. <br />
* [http://rubyandrails.org/usergroups/newcastle/members.html ncl.rb] utilise hCard pour l'information de contact.<br />
* [http://www.snowinteractive.com/ Snow Interactive] utilise hCard pour l'information de contact.<br />
* [http://flickr.com Flickr] supporte maintenant [[hcard-fr|hCard]] et [http://gmpg.org/xfn XFN] sur les pages de profil. Voir [http://flickr.com/photos/factoryjoe/113866484/ photo d'écran de l'interface utilisateur dans le navigateur Flock utilisant l'extension Flocktails - 17 mars 2006].<br />
* [http://www.ndiyo.org/contact information contact pour le projet Ndiyo]<br />
* [http://www.pixelenvy.co.uk/ Pixel Envy] utilise hCard pour l'information de contact sur chaque page.<br />
* [http://stilbuero.de/contact/ Klaus Hartl] utilise hCard dans la barre latérale pour l'information de contact (peut être plus facile à parser à travers la distribution xhtml que xml).<br />
* [http://charlvn.virafrikaans.com/contact hCard de Charl van Niekerk]<br />
* [http://billy-girlardo.com/WP/ BillyBLOGirlardo] utilise hCard pour l'information de contact.<br />
* [http://www.hicksdesign.co.uk/ Hicksdesign] utilise hCard pour l'information de contact.<br />
* http://www.gr0w.com/articles/press/growsearch_launched_press_release/ - hCard dans un communiqué de presse pour l'information contact de presse.<br />
* http://www.redmonk.com/cote/archives/2006/03/testing_out_mic.html - hCard avec explication<br />
* [http://andy.ciordia.info/ it's my island], blog personnel, hcard sur la page ''[http://andy.ciordia.info/pages/about_me About the Writer]''. [[User:Ciordia9|Andy Ciordia]]<br />
* [http://www.windowonwoking.org.uk/ Window on Woking], un site de communauté locale au Royaume-Uni, utilise hCard dans la page d'accueil de chaque membre de l'organisation et conseiller local.<br />
* [http://ChunkySoup.net/ ChunkySoup.net] a reconçu le site complet en utilisant hAtom 0.1 et les hCards -- par [[User:ChrisCasciano|Chris Casciano]]<br />
* [http://www.30boxes.com/ 30 Boxes], une application de calendrier social et agrégateur de style de vie digital, crée automatiquement une hcard pour vous avec votre compte. Il est trouvé sous Settings > Syndication.<br />
* [http://www.nearwhere.com/ Nearwhere.com] vous permet de mettre une hcard sur une carte interactive.<br />
* [http://www.brentozar.com/ Brent Ozar] a ajouté une page [http://www.brentozar.com/contact.php contact] hCard.<br />
* [http://www.kerihenare.com/ Keri Henare] a récrit sa page [http://www.kerihenare.com/contact/ contact] hCard. Utilisant maintenant <code><object></code> au lieu de <code><img></code> pour la photo. (Merci à Brian Suda pour avoir mis à jour le convertisseur vCard)<br />
* [http://michaelraichelson.com/contact/ Michael Raichelson] avait un hCard sur sa page contact avant SXSW, mais n'avait jamais pensé à l'ajouter ici jusqu'à ce que Tantek lui ait demandé. <br />
* [http://www.commoner.com/~lsimon/lindsey_simon_hcard.html Lindsey Simon] a ajouté une hCard à son site suite à la demande SXSW de Tantek pour que les types l'essayent.<br />
* [http://www.davidgagne.net/ David Gagne] a une hCard dans sa barre latérale.<br />
* [http://www.churchzip.com/map/ Churchzip.com/map] et [http://www.skiwhere.com/map/ Skiwhere.com/map], mettent des églises, hôtels et stations de ski sur les mêmes cartes. Les endroits sont mis en page sous forme de hcards.<br />
* Toutes les [http://www.iqdir.com/ IQ Directory Solutions] des portails web des Yellow Pages utilisent la syntaxe [[hcard-fr|hCard]] sur les listes. Par exemple, [http://www.yellowpages-cambodia.com/ Cambodia Yellow Pages] et [http://www.superpages.com.my/ Malaysia Super Pages]<br />
* L'application cloneable Group de ning utilise la correspondance floue pour mapper les champs personnalisés en syntaxe [[hcard-fr|hCard]] sur ses [http://group.ning.com/index.php?controller=person&action=view&content=JonathanAquino pages profile].<br />
* [http://claimid.com/factoryjoe La hCard ClaimID de Chris Messina]<br />
* [http://factoryjoe.com/blog/hcard La hCard de Chris Messina]<br />
* [http://flock.com/about Flock About]<br />
* [http://tantek.com/microformats/2006/03-01-TechPlenAgenda.html Agenda: W3C Technical Plenary Day, March 1 2006] a une syntaxe [[hcard-fr|hCard]] et [[hcalendar-fr|hCalendar]]. ([http://www.w3.org/2006/03/01-TechPlenAgenda.html original ici]).<br />
* [http://www.gr0w.com/articles/press/growsearch_launched_press_release/ GrowSearch Launched (Press Release)] utilise un hCard pour fournir le Contact du Point Presse.<br />
* La [http://www.arborday.org/ National Arbor Day Foundation] a commencé à utiliser les hCards pour ses [http://arborday.org/programs/conferences/hazardtrees-treeplanting/ conférences] <br />
[http://arborday.org/programs/conferences/communityforestry/index.cfm à venir] <br />
* [http://www.multipack.co.uk The Multipack] a de nombreuses hCards, tout spécialement sur [http://www.multipack.co.uk/members/ les pages membres], tout comme pour les informations des prochaines réunions.<br />
* [http://deadringrancor.livejournal.com/ Justin McDowell] a utilisé une hCard pour faire référence [http://deadringrancor.livejournal.com/221332.html à une personne dans son billet de blog]<br />
* [http://davecardwell.co.uk/cv/ Dave Cardwell] a inclus sa hCard dans son Curriculum Vitae.<br />
* [http://blog.usweb.com/ Shaun Shull] a écrit un billet magnifique sur [http://blog.usweb.com/archives/how-microformats-affect-search-engine-optimization-seo How Microformats Affect SEO], et a inclus sa [[hcard-fr|hCard]] comme l'un des exemples. <br />
* [http://www.thefutureoftheweb.com/ Jesse Skinner] a écrit un [http://www.thefutureoftheweb.com/blog/2006/1/hcard tutoriel simple avec des exemples]<br />
* [http://www.w3.org/2005/12/allgroupoverview.html 2006 W3C Technical Plenary Week] a marqué tous les participants, contacts et membres du comité de programme avec hCard.<br />
* [http://www.avf-nexus.co.uk AVF-Nexus] a une hCard sur sa [http://www.avf-nexus.co.uk/contact/ page contact] - (par [http://creation.uk.com Creation"])<br />
* [http://www.thefantasticos.com/andrew/ Andrew White] a posté [http://www.thefantasticos.com/andrew/index.php/my-hcard/ sa hCard] et [http://www.thefantasticos.com/andrew/index.php/62/microformats-the-should-have-been-obvious-web-dev-tool/ a blogué à propos].<br />
* [http://www.2sheds.ru Oleg "2sheds" Kourapov] dans son [http://www.2sheds.ru/blog/ blog] ([http://suda.co.uk/projects/X2V/get-vcard.php?uri=http://www.2sheds.ru/blog X2V]) a transformé son profil personnel en hCard ([http://suda.co.uk/projects/X2V/get-vcard.php?uri=http://www.2sheds.ru/blog/hcard.html X2V]) et sa blogroll - par une combinaison de XFN/hCards ([http://suda.co.uk/projects/X2V/get-vcard.php?uri=http://www.2sheds.ru/blog/friends.html X2V])<br />
* [http://www.approveddesign.co.uk Approved Design Consultancy] a une hCard sur sa [http://www.approveddesign.co.uk/about/contact/ page contact] tout comme sur sa [http://www.approveddesign.co.uk/about/people/ section "people"] - (par [http://creation.uk.com Creation"])<br />
* [http://weblog.200ok.com.au/ Ben Buchanan] et [http://www.griffith.edu.au/cgi-bin/phone_search.pl?string=colin+morris&format=search Colin Morris] ont [http://weblog.200ok.com.au/2006/01/griffith-phonebook-adds-hcard-and.html implémenté les hCards et vCards] pour [http://www.griffith.edu.au/find/content_phonebook.html l'annuaire téléphonique en ligne] de l'[http://www.griffith.edu.au Université Griffith]. par ex. [http://www.griffith.edu.au/cgi-bin/phone_search.pl?string=ben+buchanan&format=search la vCard de Ben] et [http://www.griffith.edu.au/cgi-bin/phone_search.pl?string=colin+morris&format=search la vCard de Colin]<br />
* WWF-Australia [http://wwf.org.au/about/contactdetails/ page "contact details"]<br />
* [http://rasterweb.net/raster/ Pete Prodoehl] a utilisé le format hCard sur sa page [http://rasterweb.net/raster/contact.html Contact]<br />
* [http://alexander-mette.de amette] utilise le format hCard dans un module de son blog motorisé par TikiWiki<br />
* [http://staff.washington.edu/oren/weblog2/ Oren Sreebny] a une hCard sur son gabarit principal <br />
* [http://www.cs.brandeis.edu/~zippy/ Patrick Tufts] a une hCard sur sa page personnelle.<br />
* [http://ascii20.blogspot.com/ Mathias Kolehmainen et Jamie Taylor] ont des hCards sur leur weblog.<br />
* [http://www.hoppsan.org/jamesb/blogger/ Barnaby James] a une hCard sur son weblog.<br />
* [http://esa-education.com/schools/map ESA Education] utilise les hCards pour ses 100+ écoles et chacun des sites individuels des écoles.<br />
* [http://www.thereisnocat.com/#vcard Ralph Brandi] a ajouté une hCard à la barre latérale de son weblog suite à la présentation des Microformats de Tantek Çelik lors de SXSW 2006.<br />
* [http://www.yellowpencil.com/contact/ Yellow Pencil] utilise les microformats pour présenter l'information de contact de la société.<br />
* [http://www.pierce.ctc.edu/ephone/ Pierce College] -- le répertoire de la communauté du collège utilise hCard sur toutes les entrées individuelles des carnets d'adresses.<br />
* [http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/ the Institutional Web Management Workshop 2006] a balisé tous ses [http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/committee/ présentateurs avec hCard].<br />
* http://wikitravel.org/en/Singapore/Sentosa. Wikitravel est en train d'expérimenter hcard sur ses guides de voyage. Ce guide utilise hcard pour tous ses listings d'affaires. Plus d'informations sur http://wikitravel.org/en/Wikitravel_talk:Listings.<br />
* [http://www.musik-erber.de/ Musik-Erber] utilise hcard pour présenter l'information de contact dans sa barre latérale.<br />
* [http://cdevroe.com/about/#contact Colin D. Devroe] utilise hCard pour afficher son information de contact sur sa page "about".<br />
* L'ECS (Scool of Electronics and Computer Science à l'Université de Southampton), les [http://www.ecs.soton.ac.uk/people People Pages] utilisent vCard. Contactez cjg@ecs.soton.ac.uk s'il y a quelque bug.<br />
* [http://www.southwestern.edu/~ramseyp Pat Ramsey] a son information de contact sur son blog balisée avec hCard. Contacter [mailto:ramsey.pat@gmail.com ramsey.pat@gmail.com] s'il y a quelque bug.<br />
* [http://www.vyre.com/company/contact-us/ VYRE] est une société de développement de CMS avec une hCard "contact us"<br />
* [http://www.lefdal.cc/info.php Alf Kåre Lefdal] utilise hCard dans le balisage de son information de contact.<br />
* [http://www.pignwhistle.com.au/ Pig N Whistle, une chaîne de pubs dans Brisbane, Australie] utilise hCard pour baliser toutes les pages contacts pour ses établissements et son siège social.<br />
* [http://kollitsch.de/ Patrick Kollitsch] a construit son Profil personnel sous hCard.<br />
* [http://www.hbs.edu/faculty/dspar/ Harvard Business School] a des hCards sur ses pages 'faculty'<br />
* [http://openmikes.org/ openmikes.org] utilise des hCards pour les adresses des lieux dans les pages listes détaillées.<br />
* [http://www.intertecnollc.com/ InterTecno, LCC] publie une hCard sur la page d'accueil et la page contact.<br />
* [http://canaltcm.com/ver/sobre-tcm Le site web de Turner Classic Movies TCM espagnol] a publié les détails de contacts sous une hCard<br />
* [http://rejuvenation.com/ Rejuvenation] utilise maintenant hCard pour son information de contact.<br />
* [http://www.mattash.com/contact/ Matthew Ash] utilise hCard dans sa section contacts.<br />
* [http://yarmouthguide.com/business.php Yarmouth Guide] utilise hCard pour chaque page de détails sur le business.<br />
* [http://www.merchantcircle.com MerchantCircle] a embarqué une hCard dans chacun de ses listings professionnels de plus de 15 millions d'adresses.<br />
* [http://blog.roub.net/ Paul Roub] a une hcard pour lui-même sur la page d'accueil de son blog.<br />
* [http://citizenspace.us/citizens Citizen Space Citizens] est une liste des locataires pour un espace de coworking à San Francisco. La problématique a été soulevée que les ''nicknames'' sont généralement situés au milieu du ''fn'', qui n'est pas valide comme selon la règle [[hcard-brainstorming-fr#FN_implicite_.C3.A0_partir_de_N|FN implicite à partir de N]. Il semble qu'il sevrait être possible néanmoins d'inclure un "nickname" au milieu d'un FN ou même entre un ''given-name'' et un ''family-name''.<br />
* [http://www.fixya.com/repair/cars/us/ca/san_francisco FixYa] (the troubleshooting site) has an hCard (vCard) in the repair directory displaying information about all kinds service providers.<br />
* [http://www.alive77.cn/ z.Yleo77] it's my blog, from now on, supports hCard, eg: article pages..<br />
<br />
<br />
<!-- <br />
<br />
SVP ajoutez les nouveaux exemples *en haut de cette section*<br />
<br />
--><br />
<br />
== exemples par catégories ==<br />
'''Vous voulez une hCard ?''' Commencez par écrire une [[hcard-fr|hCard]] en utilisant le [http://microformats.org/code/hcard/creator hCard creator] pour écrire quelque information de contact, [[validators-fr#hCard|validez]] et publiez-la, ou suivez [[hcard-authoring-fr|les trucs de rédaction hCard]] pour ajouter un marquage hCard à votre site. Regardez cette section pour des exemples similaires de types de pages qui tirent profit du marquage hCard.<br />
<br />
Cette section organise les exemples en plusieurs catégories comme suit. Si un exemple rentre dans plus d'une catégorie, utilisez la *dernière* catégorie dans cette liste qui correspond aux exemples spécifiques de hCard dans la jungle que vous essayez de catégoriser.<br />
# '''[[hcard-examples-in-wild-fr#Individuels|Individuels]]''' - une carte par personne, peut-être trier alphabétiquement par "nom de famille". Les personnes avec leurs propres hCards (typiquement) sur leurs propres sites.<br />
# '''[[hcard-examples-in-wild-fr#Organisations|Organisations]]''' - une carte par organisation, alphabétiquement par "fn". Les organisations avec leurs propres hCard(s) sur leur propre site.<br />
# '''[[hcard-examples-in-wild-fr#Institutions|Institutions]]''' - qui listent plus d'une personne, avec un compteur estimant le # de hCards, par ex. plus de 40k pour Avon. Indiquez aussi la complexité de l'information fournie, par ex. juste le nom et le numéro de tél vs détails complets. Trié alphabétiquement par "org" avec peut-être quelques individus listés dans une sous-bulle unique, délimitée par une virgule, triée par "family-name".<br />
# '''[[hcard-supporting-user-profiles-fr|Profils en ligne]] triés alphabétiquement par société / nom de service.<br />
# '''[[hcard-examples-in-wild-fr#Lieux_en_linge|Lieux en ligne]]''' - listings pour entreprises ou organisations, avec un comptage estimant le nombre de lieux, par ex. ~10k pour Upcoming.org. Triés alphabétiquement par nom de service/site, avec peut-être quelques lieux spécifiques listés dans une sous-bulle unique, délimités par des virgules, triés par "fn".<br />
# '''[[hcard-examples-in-wild-fr#Listes_de_Conférenciers|Listes de conférenciers]]''' - les pages des sites événements où les conférenciers sont marqués avec hCard. Triés par date, sous-groupés par années. Les plus récents en premier. Peut-être quelques individus listés dans une sous-bulle unique de chaque événement.. Triés par date, sous-groupés par année. Les plus récents en premier. Peut-être quelques individus listés dans une sous-bulle unique de chaque événement, délimités par des virgules, triés par "family-name".<br />
# '''[[hcard-examples-in-wild-fr#Blogs_de_groupes|Blogs de groupe]]''' - blogs avec plusieurs auteurs marqués avec hCard<br />
# '''[[hcard-examples-in-wild-fr#Auteurs|Auteurs]]''' - les pages à propos d'autre chose, telles que des livres, des critiques, qui ont marqué leurs auteurs avec hCard<br />
# '''[[hcard-examples-in-wild-fr#Résultats_de_recherche|Résultats de Recherche]]''' - les pages résultantes des moteurs de recherche (soit générique ou pour les personnes/organisations) qui renvoient des personnes marquées avec hCard.<br />
# '''[[hcard-examples-in-wild-fr#Listing_Contact|Listing Contact]]''' - information de contact pour un listing comme les annonces d'emploi, petites annonces, etc.<br />
<br />
En outre, il existe une section séparée "[[hcard-examples-in-wild-fr#Exemples_UTF8|Exemples UTF8]]" qui peut être utilisée pour déposer un autre lien vers tout exemple de hCard dans la jungle qui exerce différents caractères non-ASCII7 / non-anglais pour différentes valeurs de propriétés.<br />
<br />
Au fur et à mesure que chaque section en elle-même deviendra trop grande (nous pourrions être encore là, une fois que nous aurons trié les "Exemples critiqués" ci-dessus), elle sera probablement migrée sur une page séparée, laissant son titre ici en place et remplaçant ses contenus ici avec un lien vers la page séparée et peut-être un résumé statistique.<br />
<br />
<br />
=== Individus ===<br />
Groupés alphabétiquement par "family-name".<br />
<br />
Joliment stylisées : <br />
* la page d'accueil de [http://www.jaredhanson.net/ Jared Hanson] a une hCard magnifique avec de nombreux moyens de le contacter, et une mise à jour en temps réel de son statut en ligne sur différents réseaux de messagerie (utilise javascript).<br />
* l'information de contact de [http://rogieking.com/#contact Rogie King] est marquée avec hCard et très joliment stylisée.<br />
* la page d'accueil de [http://timvandamme.com/ Tim Van Damme] est une très belle hCard.<br />
** a besoin de quelques réparations mineures : http://tr.im/hctvd (lien vers les résultats du validateur de hCard)<br />
<br />
<br />
Pages web simples :<br />
* hCard UID d'[http://abernier.name Antoine Bernier] :<br />
** Lien de téléchargement Dynamique VCF (à travers le [http://suda.co.uk/projects/microformats/hcard/get-contact.php?uri= hcard parseur])<br />
** QRcode dynamique (à travers [http://microform.at/hcard2qrcode/ hcard2qrcode])<br />
** Avtar dynamique (à travers [http://www.gravatar.com/ Gravatar])<br />
** Prêt pour [http://wiki2008.openid.net/Delegation openID] <br />
** [http://hcard.geekhood.net/?url=http%3A%2F%2Fabernier.name valide]<br />
* La page d'accueil de [http://dbaron.org/ David Baron] est marquée avec hCard.<br />
* La page d'accueil de [http://tantek.com/ Tantek Çelik] inclut une hCard d'auteur dans la ligne en bas de la page.<br />
* [http://christophertcressman.com/ Christopher T. Cressman] place ses détails de contact sur [http://christophertcressman.com/ Who is Chris Cressman?] et elle est marquée avec hCard.<br />
* [http://factoryjoe.com/hcard.html Chris Messina] a une page dédiée avec ses détails de contact.<br />
* [http://blog.roub.net/ Paul Roub] a une hCard pour lui-même sur la page de son blog.<br />
* Patrick Trettenbrein est l'opérateur de [http://skateboardspot.info/ skateboardspot.info] et utilise hCard sur sa [http://skateboardspot.info/cat/about#operator page "about"] pour son info de contact.<br />
* [http://blogs.msdn.com/cwilso/ Chris Wilson] a une page hCard pour lui-même sur [http://blogs.msdn.com/cwilso/about.aspx sa page about].<br />
* ...<br />
<br />
Cachée ! La donnée invisible est fortement découragée, ces exemples ont été groupés ici dans l'espoir que les auteurs rendront un nour leurs hCards visible :<br />
* La page d'accueil de [http://ajbrown.org/ A.J. Brown] a une hCard cachée en bas de page.<br />
<br />
Avant. Les URLs semblent brisées.<br />
* <nowiki>http://tomleo.com/about.html</nowiki> La page about de Tom Leo avait une hCard. (manquante en date du 2009-08-23)<br />
<br />
=== Organisations ===<br />
* [http://www.michrome.com Michrome Marketing Lists (UK)] utilise hCard sur toutes ses données de résultats de recherche. Par exemple, [http://michrome.com/free-leads/162-Bradford-BD9 Startup Companies in Bradford].<br />
* [http://technorati.com Technorati] (3)<br />
** Les pages [http://technorati.com/about/ about], [http://technorati.com/press/ press] et [http://technorati.com/about/contact.html contact] sont balisées avec hCard et ont des liens "Add to Address Book" qui utilisent le [http://feed.technorati.com/contacts/ Technorati service Fil de Contacts].<br />
* [http://technorati.jp Technorati Japan] (1)<br />
** [http://technorati.jp/about/contact.html la page contact] est marquée avec hCard<br />
<br />
=== Institutions ===<br />
* [http://conferences.oreillynet.com/contacts.csp La page Team des Conférences O'Reilly] a des hCards pour son équipe (~14) avec un lien vers "Download the below contact info in vcf format" qui utilise le [http://feeds.technorati.com/contacts/ service de fil Technorati contacts] pour convertir les hCards en vCards.<br />
** '''sous-optimal''': L' "org" ne devrait pas être caché avec "display:none". Utilisez à la place le [[include-pattern-fr|include-pattern]] pour inclure le "org" à partir du texte quelque part sur la page (pour éviter la duplication du texte).<br />
* La [http://technorati.com/about/staff.html page Staff de Technorati] a des hCards pour ses collaborateurs (~31)<br />
** par ex. [http://technorati.com/about/staff.html?s=matthew_levine#matthew_levine Matthew Levine], [http://technorati.com/about/staff.html?s=ryan_king#ryan_king Ryan King], etc.<br />
'''avec quelques problèmes :'''<br />
* L'[http://www.ibm.com/contact/employees/ Annuaire des Employés d'IBM] renvoie des hCards dans ses résultats de recherche : <br />
** par ex. [http://www.ibm.com/contact/employees/servlets/lookup?country=us&language=en&search_country=all&lastname=Kaply&firstname=Michael recherche sur Michael Kaply], <br />
** mais avec quelques problèmes :<br />
*** '''invalide''' : pas de "fn" (pourrait se résoudre par would be addressed by the [[hcard-brainstorming-fr#FN_implicite_.C3.A0_partir_de_N|fn implicite à partir de n]]) <br />
*** '''sous-optimisé : ''': adr n'a pas d'enfants et de ce fait ne fournit pas quelque donnée (peut se résoudre par la [[hcard-brainstorming-fr#sous-propri.C3.A9t.C3.A9s_adr_implicites|proposition implicite des sous propriétés adr]])<br />
* [http://www.boltonmuseums.org.uk Bolton Museum and Archive Service] utilise hCard sur sa page <br />
**[http://www.boltonmuseums.org.uk/about/contact/ Contacts]<br />
***'''invalide''' : Plusieurs n'ont pas de "fn"<br />
**et sur chacune de ses pages d'attractions visiteur par ex. sur la page [http://www.boltonmuseums.org.uk/visiting/findhallthwood/ Hall i' th' Wood location page].<br />
***'''sous-optimal''' : les propriété "email" et "tel" incluent par erreur des étiquettes "Email:" et "Telephone:" .<br />
* [http://soap.stanford.edu/ Stanford Online Accessibility Program] has implemented hCard on every page<br />
** '''sous-optimal''' : positionnés hors écran via CSS<br />
* [http://www.belkin.com/pressroom/releases/uploads/10_09_06SportCommand.html Belkin Press Release] - Tous les communiqués de presse de Belkin depuis octobre 2006 utilisent hCard et vCard pour l'information de contact de la société.<br />
** '''invalide''' : L'exemple a une hCard invalide (sur 3) du au manque de "fn".<br />
* [http://www.alexa.com Alexa Internet] a marqué sa page [http://www.alexa.com/site/company/managers managers' page] avec hCard.<br />
** '''sous-optimal''' : job "title" est inclus dans la propriété "fn".<br />
* ...<br />
<br />
=== Profils En Ligne ===<br />
Voir [[hcard-supporting-profiles-fr]].<br />
<br />
=== Lieux en Ligne ===<br />
* [http://www.sydneydirectory.org/ Sydney Directory Wiki] supporte hCard et les coordonnées géographiques pour les endroits, par ex. [http://www.sydneydirectory.org/index.php/Opera_House Sydney Opera House].<br />
* [http://www.airfix.com/stockists-and-distributors/ Airfix Stockists and Distributors], par ex. [http://www.airfix.com/stockists-and-distributors/?postcode=b1+1bb&root_rid=1&search.x=0&search.y=0&search=search]<br />
**'''sous-optimal''' : <code>street-address</code> contient street address, locality et region (par ex. "99 Hobs Moat Rd, Solihull, W. Midlands")<br />
**'''sous-optimal''' : <code>postal-code</code> et <code>country-name</code> incluent des virgules<br />
**'''sous-optimal''' : <code>fn</code> est utilisé ; devrait être <code>fn org</code><br />
<br />
<br />
===Listes de conférenciers===<br />
==== 2007 ====<br />
[[to-do]] : jeter un oeil aux [[presentations-fr|présentations]] 2007 car elles contiennent probablement des liens vers des conférences qui ont marqué leurs pages de conférenciers avec hCard.<br />
* 09: [http://2006.dconstruct.org/speakers/ d.Construct 2007 speakers]<br />
==== 2006 ====<br />
[[to-do]]: jeter un oeil aux [[presentations-fr|présentations]] 2006 car elles contiennent probablement des liens vers des conférences qui ont marqué leurs pages de conférenciers avec hCard.<br />
* 09: [http://2006.dconstruct.org/speakers/ d.Construct 2006 speakers]<br />
==== 2005 ====<br />
[[to-do]] : jeter un oeil aux [[presentations-fr|présentations]] 2005 car elles contiennent probablement des liens vers des conférences qui ont marqué leurs pages de conférenciers avec hCard.<br />
* 12: [http://tantek.com/microformats/2005/syndicate/speakers-list.html Syndicate - Speaker List] (version hCardée hébergée chez tantek.com)<br />
* 10: [http://tantek.com/microformats/2005/web2/speakers.html Web 2.0 Conference 2005 -- Speakers] (version hCardée hébergée chez tantek.com)<br />
* 09: Web Essentials 2005 - Les Présentateurs <nowiki>http://we05.com/presenters.cfm</nowiki> (semble avoir cessé de fonctionner en date du 2007-12-18, peut-être plus tôt) renvoient sur tantek.com : [http://tantek.com/microformats/2005/we05/presenters.html Web Essentials 2005 - The Presenters]. Web Essentials 2005 (we05) était la [http://tantek.com/log/2005/10.html#d06t1720 première conférence à avoir adopté hCard et hCalendar] sur son site web.<br />
<br />
=== Blogs de Groupe ===<br />
'''avec quelques problèmes :'''<br />
* Le [http://www.ibm.com/shortcuts/ Podcast IBM Shortcuts] a des auteurs marqués avec des hCards qui ont quelques problèmes :<br />
** '''cachée''' : L'élément racine hCard tout comme chaque propriété contenue à l'intérieur est rendu invisible par un attribut de style contenant "position:absolute; visibility:hidden".<br />
<br />
=== Auteurs ===<br />
* [http://lazylibrary.com LazyLibrary] uses author hCard's on every book page. Example: [http://lazylibrary.com/book/0751370576]<br />
** '''suboptimal''' [http://lazylibrary.com/book/0751370576 Example] has an fn of "Dorling Kindersley, David West Reynolds" which should be split into two hCards! (site would also benefit from hReview).<br />
<br />
=== Résultats de Recherche ===<br />
* [http://www.bath.ac.uk/contact/ University of Bath] Person Finder results are encoded with hCards so you can easily create a vCard from any result. <br />
** '''invalid''': attempt to use Implied-N optimization where that's not possible,<br />
** '''suboptimal''': honorific-prefix could be explicitly marked up<br />
*** Error appears for external users only. Won't be fixed any time soon. -- [[User:PhilWilson|PhilWilson]] 00:03, 28 Jan 2006 (GMT)<br />
<br />
=== Listes de contacts ===<br />
L'information de contact sur les listings, par ex. les listes d'annonces de recrutement, les items à vendre, etc. <br />
<br />
* [http://seogadget.co.uk/search-marketing-executive-upto-30k-portsmouth/ search marketing executive] publiée par [http://seogadget.co.uk/ SEOgadget].<br />
** '''propriété url invalide''' - manque href sur l'élément propriété url <nowiki>http://</nowiki>, de ce fait il est invalide et lie vers une URL relative inexistante.<br />
** '''XHTML invalide''' - le validateur W3C rapporte que cette page est [http://validator.w3.org/check?uri=http://seogadget.co.uk/search-marketing-executive-upto-30k-portsmouth/ XHTML 1.0 Transitional] (109 errors en date du 2009-08-20).<br />
<br />
===Exemples en UTF8 ===<br />
Ces exemples contiennent tous un ou plusieurs caractères en UTF8 qui sont en dehors de la gamme ASCII7 et font des cas excellents pour les tests afin de s'assurer que vous gérez bien proprement l'UTF8 à travers votre parseur hCard et la transformation. Et tout spécialement si vous générez des vCards, ces tests aideront à vous assurer que vous générez des vCards UTF8 de façon qu'elles puissent être reconnues par les applications UTF8 supportant les vCards. Trié à peu près par ordre alphabétique (selon l'Unicode).<br />
<br />
* [http://sphinx.net.ru/author/ Dmitry Dzhus] a embarqué sa hCard encodée UTF8 avec des caractères russes dans la page "Auteur" de son site web.<br />
* [http://ecdlweb.com/ ECDLWeb.com] encode l'information hCard et Geo information des centres de test ECDL et ICDL en UTF-8. Le cas de test pour l'Europe Centrale (caractères [http://ecdlweb.com/en/czech-republic/sps-ceska-lipa tchèque], [http://ecdlweb.com/en/hungary/athene-idegenforgalmi-informatikai-es-uzletemberkepzo-szakkozepiskola hongrois] etc.) et [http://ecdlweb.com/en/belarus/belhard cyrillique].<br />
* [http://tantek.com/ Tantek's Thoughts] encode Çelik comme de l'UTF8 dans la ligne.<br />
* [http://technorati.jp/about/contact.html L'information de contact Technorati Japon] encode le japonais comme de l'UTF8 dans la ligne.<br />
* [http://uk.wikipedia.org/wiki/%D0%93%D0%B5%D1%82%D1%8C%D0%BC%D0%B0%D0%BD_%D0%92%D0%B0%D0%B4%D0%B8%D0%BC_%D0%9F%D0%B5%D1%82%D1%80%D0%BE%D0%B2%D0%B8%D1%87 Vadym Hetman] (Wikipedia-UK (Ukrainien))<br />
<br />
<br />
==== seulement des nickname ====<br />
Ces exemples UTF8 n'ont que l'UTF8 pour la propriété "nickname" et sont de ce fait un peu plus faciles pour tester que les exemples précédents.<br />
* Différents articles de la Wikipedia-EN, par ex. le "nickname" dans : [http://en.wikipedia.org/wiki/Noyabrsk Noyabrsk] (Russe), [http://en.wikipedia.org/wiki/Thessaloniki Thessaloniki] (Grec), [http://en.wikipedia.org/wiki/Kyoto Kyoto] (Japonais) et [http://en.wikipedia.org/wiki/Beijing Beijing] (Chinois)<br />
<br />
===Exemples Non-HTML ===<br />
* [http://dannyayers.com/misc/microformats/hcard-svg la démo hCard SVG de Danny Ayers]<br />
<br />
== Pages Apparentées==<br />
{{hcard-related-pages-fr}}</div>
ChiefRA
https://microformats.org/wiki/index.php?title=news&diff=62104
news
2013-09-05T07:24:30Z
<p>ChiefRA: Undo revision 62040 by HubertConn (Talk) removed spammy content</p>
<hr />
<div>This is a page for tracking the effort to develop a news microformat for publishing news on the web.<br />
<br />
== The Problem ==<br />
<br />
While there are dozens of formats used on thousands of news sites, there is no single standardized format for presentation of news on the web. Having a standardized news format for web publishing would significantly benefit readers, aggregators, search engines and researchers alike. With no standard format for news, search engines are forced to parse unstructured data, and errors can be costly (see ''[http://www.wired.com/threatlevel/2008/09/six-year-old-st/ Wired.com], 2008'').<br />
<br />
<br />
Per the microformats [[process]]:<br />
<br />
* [[news-examples]]<br />
* [[news-formats]]<br />
* [[news-brainstorming]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=hcard-examples-in-wild&diff=55337
hcard-examples-in-wild
2013-06-21T12:35:54Z
<p>ChiefRA: Undo revision 55333 by Aleculus (Talk) spam removed</p>
<hr />
<div><entry-title>hCard Examples in the wild</entry-title><br />
<div style="height:7.5em;text-align:center;font-weight:bold;font-size:larger"><br />
<span style="padding:3em 0;float:left;width:33%">[[hcard-examples-in-wild#examples_by_category|Want hCards]]</span><span style="padding:3em 0;float:left;width:33%">[[hcard-examples-in-wild#new_and_uncategorized_examples|Have hCards]]</span><br />
</div><br />
<br />
This page is an '''informative''' section of the [[hcard|hCard specification]].<br />
<br />
The following sites have published [[hcard|hCards]], and thus are a great place to start for anyone looking for examples "in the wild" for inspiration, or try parsing and indexing.<br />
<br />
== new and uncategorized examples ==<br />
'''Have hCard?''' If you have a site with hCard(s), add it to the top of this list. Include at least one URL to a page that includes actual [[hcard|hCard]] markup. Examples without direct links to pages with hCard(s) will be removed. Check back after a few days, to see if anyone has found any problems with the examples supplied. Note that examples may be categorized and moved to the grouped section below.<br />
[http://www.telsgroup.com.de/services/railroad_freightage/ bahnspedition]<br />
You may want to use these buttons on your pages with hCards. See [[buttons#hCard]] for any recent additions.<br />
<br />
http://www.davidjanes.com/images/mf_hcard.png <!-- was originally http://www.crowley.nl/images/hcard.png --> <!-- http://rbach.priv.at/2006/buttons/hcard.png --> http://www.boogdesign.com/images/buttons/microformat_hcard.png<br />
<br />
* [http://www.bfdlawyers.com BFD Lawyers] uses hCard formatting for business address information.<br />
* [http://www.topbanklocations.com Top bank locations in USA] uses hCard for on banks list in all US states and bank profile pages.<br />
* [http://en.datocapital.com/ Dato Capital] uses hCard for millions of public profiles of company executives, Example: [http://en.datocapital.com/es/executives/Eduardo-Amo-Garcia.html Executive profile]<br />
<br />
* [http://www.iprocess.firm.in/ iProcess] uses hCard for binding its legal location derived from founder specifically, though its an online only business firm.<br />
* [http://www.likeminders.co.uk/contact-register/contact-us/ Like Minders Babysitting Agency] uses hCard markup on their contact page. However, it has some problems:<br />
** bad: invisible duplicate data using style="display:none"<br />
*** update 2012-09-01: only the country-name is display:none now. <br />
** bad: empty "fn" (should be on same element as "org")<br />
*** still a problem 2012-09-01.<br />
** suboptimal: email could be marked up but isn't<br />
*** fixed 2012-09-01!<br />
** suboptimal: URL could be marked up but isn't<br />
*** fixed 2012-09-01!<br />
Thank you for the feedback on problems - improvements made - hope better now!<br />
** 2012-09-01: There are some worse problems now, e.g. the &lt;a class="url fn org"&gt; element has no contents, so there is no "fn" or "org"! This may be due to an accidental &lt;/p&gt;. Better to simply update the div class="org" to div class="fn org", and make the a href class="url" only.<br />
*** 2012-09-10<br />
Thank you again - the second round of improvements have been made - hope better take 2!<br />
<br />
* [http://www.historichotels.org Historic Hotels of America] uses hCard for location pages for each property. Example: [http://www.historichotels.org/hotels-resorts/the-wigwam/location.php Historic Hotels in Litchfield Park, Arizona - The Wigwam]<br />
* [http://www.boxuk.com/ Box UK] uses hCard for location pages for each of it's office locations. Example: [http://www.boxuk.com/contact-us/our-offices/ Office Locations]<br />
* [http://www.ehomeservices.com.sg E Home Services] uses hCard on Contact us page [http://www.ehomeservices.com.sg/contact.html E home Services Contact] & Article page [http://www.ehomeservices.com.sg/articles.html E home Services Blog]<br />
* [http://www.estrategiadelcontenido.com EstrategiadelContenido.com] uses hCard and Microdata markup in the contact section.<br />
* [http://www.aquaviaspa.com AquaviaSpa.com] uses hCard and Microdata markup in the contact section and the retailers and SAT list.<br />
* http://www.cadmap.co.uk/ Cadmap Land & Building Surveyors uses hCard markup on the footer of each page.<br />
* [http://expertdent.ca/en ExpertDent dental clinics] uses hCard markup in the header as well as the contact section for its three dental care clinics].<br />
* [http://www.carpet-cleaning.com.sg Singapore Carpet Cleaning Pte Ltd] uses hCard on Contact us page [http://www.carpet-cleaning.com.sg/contact.html Singapore Carpet Cleaning Contact Page] & Article page [http://www.carpet-cleaning.com.sg/news.html Carpet Cleaning Blog]<br />
* [http://www.us-inverters.com/ US-Inverters.com] uses hCard, geo, and hProduct markup on home page, [http://www.us-inverters.com/contact/ contact page] and [http://www.us-inverters.com/where-to-buy/china.php distributor pages], and on [http://www.us-inverters.com/inverter-chargers/ms4124e.php product pages].<br />
* [http://www.henryandjames.co.uk/contact/ Henry & James Estate Agents] use hCard markup on their contact page.<br />
* [http://wpoosc.com.au/ West Pymble Out of School Care] uses hCard markup for their physical address in the sidebar.<br />
* [http://www.your-move.co.uk/ YOUR MOVE estate agents]uses hCard markup for branch addresses. Example: [http://www.your-move.co.uk/estate-agent/york.html York Branch Page]<br />
* [http://www.aircon-servicing.com Aircon Servicing (Singapore)] uses hCard on Contact us page [http://www.aircon-servicing.com/contactus.html Aircon Servicing (Singapore) Contact] & Article page [http://www.aircon-servicing.com/articles.html Aircon Servicing (Singapore) Blog]<br />
* [http://telcoavi.es Telco Audio Vídeo e Ilumianción] uses hCards on the contact page. Example:[http://telcoavi.es/contacto.php Contacto]<br />
* [http://nicolasbouliane.com Nicolas Bouliane - Conception de sites internet] uses hCards on the contact page as well as in the header and footer.<br />
* [http://www.lslps.co.uk/ LSL Property Services]uses hCard markup for details of Press Contacts. Example: [http://www.lslps.co.uk/news Property News Page]<br />
* [http://www.breaflorist.net/pages/Florist-La-Habra/display La Habra Florist] - Uses hCard markup in their la habra florsit page below.<br />
* [http://iprefer.com/ I Prefer Guest Benefit Program] uses hCard for each property page. Example: [http://iprefer.com/luxury-hotel/Campinas/Royal-Palm-Tower/ Royal Palm Tower, Design Hotels in Campinas]<br />
* [http://preferredhotels.com/ Preferred Hotels and Resorts] uses hCard for each property page. Example: [http://preferredhotels.com/luxury-hotel/Singapore/The-Fullerton-Hotel-Singapore/ The Fullerton Hotel Singapore, Luxury Hotels in Singapore]<br />
* [http://www.binvisions.com/ CSS3 and HTML5 Blog] - uses hCard to get vCard of users who make comments on blog posts. Example: [http://www.binvisions.com/articles/seo-using-css-text-indent-or-images-for-logos/ CSS Text-Indent or Images for Logos in SEO?]<br />
* [http://www.singaporelaundry.com Singapore Laundry] uses hCard on Contact us page [http://www.singaporelaundry.com/contact.html Singapore Laundry Contact] & Article page [http://www.singaporelaundry.com/articles.html Singapore Laundry Blog]<br />
* [http://collectiverecyclers.com Collective Recyclers] - Uses hCard for contact details.<br />
* [http://www.stylebar.de/ stylebar websolutions] Uses an hCard for the contact information on the right site in the website.<br />
* [http://southpawed.com/ Steve Holland] uses hCard for his contact details.<br />
* [http://www.pestcontrolsg.com Pest Control Singapore] uses hCard on Contact us page [http://www.pestcontrolsg.com/contact.html Pest Control Singapore Contact]<br />
* [http://sterlingdesignhotels.com Sterling Design Hotels] uses hCard for each property page on their website, e.g. [http://sterlingdesignhotels.com/design-hotel/Miami/Hotel-Urbano-AT-Brickell/ Hotel Urbano AT Brickell, Design Hotels in Miami]<br />
* [http://sterlinghotels.com Sterling Hotels] uses hCard for each property page on their website, e.g. [http://sterlinghotels.com/smart-hotel/Hong-Kong/The-Fleming/ The Fleming, Smart Hotels in Hong Kong]<br />
* [http://www.carpetcleaningsingapore.com Carpet Cleaning] uses hCard on Contact us page [http://www.carpetcleaningsingapore.com/contactus.html Carpet Cleaning Contact] & Article page [http://www.carpetcleaningsingapore.com/articles.html Carpet Cleaning Blog]<br />
* [http://daniele.gobbetti.name daniele.gobbetti.name] uses hCard for his own profile. The template is released under CC-BY-SA and available on [https://github.com/danielegobbetti/about-me github]<br />
* [http://www.sabzoo.de SABZOO.de] uses hCard for the about us page. Here is the direct link: [http://www.sabzoo.de/ueber-sabzoo/impressum.html About us]<br />
* [http://www.coinspcgs.com Coins PCGS] uses hCard for the about us page. Example: [http://www.coinspcgs.com/p/about.html About PCGS Coins]<br />
* [http://summithotels.com Summit Hotels and Resorts] uses hCard for each property page on the website. Example: [http://summithotels.com/luxury-hotel/Honolulu/Waikiki-Parc-Hotel/ Waikiki Parc Hotel, Luxury Hotels in Honolulu]<br />
* [http://www.aircon-servicing.com Aircon Servicing] uses hCard on Contact us page [http://www.aircon-servicing.com/contactus.html Singapore Aircon Servicing Contact Us Page]<br />
* [https://plus.google.com/ Google+] uses hCard for each user profile and company page. Example: [https://plus.google.com/112111196451586545452/ ReadWriteWeb profile page]<br />
* [http://www.coatncast.de/ Coat'n Cast] has hCard formatted address information in the page markup, mainly to provide data to geolocation services.<br />
* [http://fiestapartyjumpers.com Party Rentals Simi Valley] is a party rental business using hCard and Microdata markup in footer section and soon will be on hompage.<br />
* [http://turfwholesalersusa.com Artificial Turf Los Angeles] a los angeles turf wholesaler using hcard markup in the footer area.<br />
* [http://www.airconservices.com.sg Singapore Aircon Services] uses hCard on Contact us page [http://www.airconservices.com.sg/contact.html Aircon Services Contact Page] & In Article[http://www.airconservices.com.sg/articles/10-air-conditioner-mistakes-to-take-note.html 10 Aircon Mistakes To Avoid]<br />
* [http://preferredboutique.com/ Preferred Boutique] uses hCard for each property page on their website, e.g. [http://preferredboutique.com/luxury-hotel/Atlanta/TWELVE-Atlantic-Station/ TWELVE Atlantic Station, Luxury Boutique Hotels in Atlanta.]<br />
* [http://www.rentcarsingapore.com Car Rental (Singapore)] uses hCard on Contact us page [http://www.rentcarsingapore.com/contactme.html Car Rental (Singapore) Contact]<br />
* [http://www.last.fm Last.fm] uses hCard for event pages and user profile pages (however user profile hCard information is very incomplete and sub-optimal) e.g. [http://www.last.fm/event/1448900+She+-+Him+at+Millennium+Park+on+7+June+2010 She & Him at Millennium Park (Chicago) on 7 Jun 2010 – Last.fm]<br />
* [http://www.auntiecleaner.com.sg Auntie Cleaner] uses hCard on Contact us page [http://www.auntiecleaner.com.sg/contact.html Auntie Cleaner Contact] & Article page [http://www.auntiecleaner.com.sg/articles.html Auntie Cleaner Blog]<br />
* [http://www.msichicago.org/ The Museum of Science and Industry in Chicago] uses hCard for their address in the "museum location" area on each page.<br />
* [http://www.brewcamp.com/ Brew Camp | Chicago's Local Home Brew Shop] uses hCard for the address under the map on the main page.<br />
* [http://www.larsbeck.info/ larsbeck.info] uses hCard for personal contact information.<br />
* [http://www.linkedin.com LinkedIn] uses hCard for each user profile page.<br />
* [http://www.absolutesolutions.com.sg @bsolute Solutions] uses hCard on Contact us page [http://www.absolutesolutions.com.sg/contact.htm @bsolute Solutions Pte Ltd.]<br />
* [http://www.tripadvisor.com TripAdvisor] uses hCard on property pages, however it appears that they have lumped in locality, region, and postal-code into locality. Example: [http://microformatique.com/optimus/?uri=http://www.tripadvisor.com/Hotel_Review-g42763-d90229-Reviews-Detroit_Marriott_Troy-Troy_Michigan.html Detroit Marriott Troy]<br />
* [http://www.megatravel.com.mx/ Mega Travel] uses an hcard for the contact information in the web site footer [http://www.megatravel.com.mx/ Mega Travel].<br />
* [http://www.thebasketcasedeli.com The Basket Case Deli] uses hCard for organizational addresses as well as employee contact information e.g. [http://thebasketcasedeli.com/about.php About The Basket Case Deli].<br />
* [http://www.thejokes.net TheJokes.Network] uses hCard markup on user profile pages e.g. [http://thejokes.net/profile.php?uid=3 User Profile for Sid Parker]<br />
* [http://www.therecipedepository.com The Recipe Depository] uses hCard markup on user profile pages e.g. [http://www.therecipedepository.com/user/jay User Profile for Jay Allen].<br />
* [http://www.airconditioningdetroit.org/ Air Conditioning Repair Detroit] uses hCard markup on the homepage of their air conditioning website.<br />
* [http://losangeles.trenchless-sewer.com/ Los Angeles Trenchless Sewer] implements hcard on the footer of their trenchless sewer website.<br />
* [http://www.granitecountertopsdetroit.org/ Granite Countertops Detroit] uses hCard markup on the footer of their kitchen counter top website.<br />
* [http://www.web-id.nl/ Web-id. Webdesign, SEO and Software] Uses an hCard for the contact information.<br />
* [http://advanced-simple.de/ Advanced Simple] uses an hcard for the contact information in the page footer of their website.<br />
* [http://profispan.de/galerie/ Profi Span GmbH - Holz in aller Form] uses hcard for the contact information box on the right side of nearly every page.<br />
* [http://hochzeiten-partys-feten.de/ Hochzeiten Partys & Feten] uses hcard markup for the contact information box on every page.<br />
* [http://www.partyrentalsplace.com/ Party Rental Place] uses hCard markup on the testimonials page of their website.<br />
* [http://www.getlocalmaps.com/ Google Map Marketing] is using hCard on the contact page of their website.<br />
* [http://www.hardcoreepoxyflooringdetroit.com/ Hardcore Epoxy Floors] is using hCard on the footer section of their epoxy paint website. Click [http://www.hardcoreepoxyflooringdetroit.com/ epoxy michigan] to view example.<br />
* [http://www.internetmarketingnuke.com/internet-marketing-tools/bookmarking-demon-review-1/ Bookmarking demon review]. Uses an hCard on their contact page.<br />
* [http://www.themexicanjewelry.com/index.php?route=information/information&information_id=14 The Mexican Jewlry]. Uses an hCard for the contact information with OpenCart.<br />
* [http://www.garmentprintiIng.co.uk/contact-us.php Garment Printing]. Uses an hCard for the contact information.<br />
* [http://www.cabs.co.za/ CABS Car hire]. Uses an hCard for the contact information on page footers.<br />
* [http://www.mlgphotography.co.za/ MLG Wedding Photography]. Uses an hCard for the contact information.<br />
* [http://www.e-kyttaritida.gr/ Κυτταρίτιδα]. E-kyttaritida.gr uses an hCard on their contact page.<br />
* [http://www.tierarztpraxis-kellerberg.de/ Tierarztpraxis Kellerberg Steingaden]. A veterinary practice that uses hCard markup to provide contact information.<br />
* [http://www.bastajulborden.se/julbord-p%C3%A5-junibacken.html]. Uses an hCard for the contact information.<br />
* [http://www.bastajulborden.se/.html]. Uses an hCard for the contact information.<br />
* [https://www.redflymarketing.com/contact-us/ Redfly Ireland]. Uses an hCard for the contact information.<br />
* [http://www.designliga.com Designliga] uses hCard markup with company contact information on its Contact and Imprint pages.<br />
* [http://allinsuranceinfo.org/agents/alabama/montgomery.html AllInsuranceInfo.org] uses hCard markup to format insurance agents directory.<br />
* [http://www.seveermedia.com/ Seveer Media] uses hCard markup and allow for vCard download on their contact page.<br />
* [http://london.alleycats.co London.Alleycats.co], by Alleycats.co, uses hCard to format all their fixed-gear directory listings.<br />
* [http://www.spaachat.com Spaachat.com], by Aquavia Spa, uses hCard and Microdata markup in the contact section and the retailers list.<br />
* [http://www.waketoolz.de/info/impressum.html Waketoolz] uses hCard markup on their contact page.<br />
<br />
* [http://tigermechanical.net/ Tiger Mechanical] uses hCard markukp throughout the website, inside the copyright area, [http://tigermechanical.net/ appliance repair gilbert] and in the sub domain [http://paradise-valley-appliance-repair.tigermechanical.net/ appliance repair paradise valley].<br />
* [http://www.thedentureclinic.co.uk/ The Denture &amp; Implant Clinic] uses hCard markup and allow for vCard download on their contact page.<br />
* [http://ReallyGoodEnergy.com/ RGE] uses hCard markup and allows for vCard download on their page footers.<br />
* [http://pHElixir.com/ pH Elixir] uses hCard markup and allows for vCard download on their page footers.<br />
* [http://www.air-bourne.com/ Airbourne AC and Heating] uses hCard in footer of the air conditioning website. Example: [http://www.air-bourne.com/ Houston Air Conditioning]<br />
* [http://theworkoutwarehouse.net/ Gym Riverview MI] uses hCard inside the footer of the workout fitness website. Example: [http://theworkoutwarehouse.net/ Weight Training Riverview MI]<br />
* [http://www.carleasinguk.com/ www.carleasinguk.com] uses hCard markup and allow for vCard download on their page footers.<br />
* [http://www.naples-fl-real-estate.com Naples Florida Real Estate] uses hCard markup and allow for vCard download on their contact page.<br />
* [http://www.technicsgroup.com/ Technics Group] uses hCard markup and allow for vCard download on their page footers.<br />
* [http://www.manageathome.co.uk/ Manage At Home] uses hCard markup and allow for vCard download on their contact page.<br />
* [http://www.cleverelectric.com/ San Jose Electrician] uses hCard electrian footer page of their website. to see an example in action visit [http://www.cleverelectric.com/san-jose-electrical-service.html/ San Jose Electrical Contractor]<br />
* [http://www.skin-care-health.org/spots-on-skin.html Skin Care & Health] uses hCard markup on their contact page.<br />
* [http://www.bed-bugs-handbook.com/bed-bugs.html Bed Bugs Handbook] uses hCard markup on their contact page.<br />
* [http://www.oakleydental.co.uk/ Oakley Dental] uses hCard markup on their address which can be downloaded as a vCard.<br />
* [http://www.appliancerepairmedic.com/ Appliance Repair Bergen County] implements hCard in the footer area of their appliance repair site.<br />
* [http://www.cahilldentalcare.co.uk/ Cahill Dental Care] uses hCard markup on their address in the footer which can be downloaded as a vCard.<br />
* [http://www.returnondigital.com/ Return On Digital] uses hCard markup on their site wide footer addresses and on their [http://www.returnondigital.com/about-us/dave-ashworth.php staff pages] - these can also be downloaded as vCards.<br />
* [http://www.arouatek.com/eng/ Aroua Range hoods] uses hCard markup on their [http://www.arouatek.com/eng/contact.php Contact] page.<br />
* [http://www.gembuild.co.uk/contact.htm Gem Build UK ] uses an hCard on their contact page.<br />
* [http://www.1host.gr/web-hosting/ web hosting] uses hCard markup with company contact information on its Contact and Imprint pages.<br />
* [http://nwnasalestraining.com/contact/ Noel Walsh] - uses hCard on the contact page as well as a downloadable vCard.<br />
* [http://www.formundcode.de/ Form & Code] - uses hCard with company contact details in page header.<br />
* [http://www.dptraining.co.uk/contact/ DP Training] - uses hCard with H2VX's bookmarklet to allow users to download the details as a vCard.<br />
* [http://starthilfeberlin.de/ Starthilfe Berlin] - uses hCard (and geo, XFN, rel-license, rel-profile) in (Joomla HTML5) '<#footer role="contentinfo" <footer #footertrademark <address' in all pages.<br />
* [http://trade-service.eu/kontakt/ Trade-Service] - uses hCard in (WP HTML5) '<.address role="contentinfo" <address' in all pages, and extended hCard in the [http://trade-service.eu/kontakt/ contact page].<br />
* [http://lanceguyatt.com/ lanceguyatt.com] - uses hCard as the index page.<br />
* [http://www.easi-services.fr easi services] utilise hCard dans sa page de [http://www.easi-services.fr/contact contact].<br />
* [http://www.umovefree.com/ UMoveFree] - Uses hCard for rental property address. Example: [http://www.umovefree.com/Apartment/cirque-apartments-dallas-tx/ Cirque Apartments Dallas].<br />
* [http://www.newtosandiego.com/ NewToSanDiego] - Uses hCard for organization and business address. Example: [http://www.newtosandiego.com/Ocean-Beach-People's-Organic-Foods-Co-op/ Ocean Beach People's Organic Foods Co op].<br />
* [http://www.northwooduk.com/ Northwood Estate Agents] use hCard on their branch landing pages, here is [http://www.northwooduk.com/letting-agents/edinburgh an example].<br />
* [http://www.signsbannerswraps-houston.com/ Car Wraps Houston] uses hCard on the footer section at the bottom of page see [http://www.signsbannerswraps-houston.com/vehicle-graphics-and-car-wraps-houston.html vehicle wraps houston] page.<br />
* [http://www.elevatelocal.co.uk Elevatelocal] uses hCard on their [http://www.elevatelocal.co.uk/contact Contact Us] page.<br />
* [http://lucumalabs.com Lúcuma labs] uses hCard in the index page.<br />
* [http://railsjobs.co.uk Ruby on Rails Jobs UK] uses hCard in the footer.<br />
* [http://www.ufirstgroup.com/ UFirst Group] uses an hCards in the footer of every page<br />
* [http://www.brodwax.com/ Brodwax Lighting] uses an hCard on their [http://www.brodwax.com/fluorescent-lighting-fixtures.html fluorescent light fixtures] page.<br />
* [http://tripedge.co.uk Tripedge] uses hCard in the footer<br />
* [http://www.appliancerepairbergencountynj.com/ Appliance Repair Bergen County NJ] uses hCard code in the footer of the appliance repair site.<br />
* [http://www.morgenson.com/ Morgenson Realty] uses hCard on their [http://www.morgenson.com/cameron-heights-apartments.php Apartment Listing] pages.<br />
* [http://www.bientek.com/ BienTek] uses hCard on their [http://www.bientek.com/about-us/ About page].<br />
* [http://www.yourtraces.com YourTraces] uses hCard on their profiles [http://www.yourtraces.com/biography/1120.html example].<br />
* [http://www.findwell.com findwell Real Estate] uses hCard on their [http://www.findwell.com/contact Contact Us] page.<br />
* [http://droidvsiphone.org Droid vs iPhone] uses hCard in the footer<br />
* [http://howdoyouknowifyouhavebedbugs.com HowDoYouKnowIfYouHaveBedBugs.com] uses hCard in the footer<br />
* [http://www.schiessle.org schiessle.org] uses hCard at the index/contact page<br />
* [http://www.deadbedbugs.co.uk/ deadbedbugs] deadbedbugs use hCard on their [http://www.deadbedbugs.co.uk/contact.html contact page].<br />
* [http://johanramon.fr/ Johan Ramon] uses hCard on his resume. <br />
* [http://www.saveontapestries.com/ Wall Art Shop] uses hCards on all contact pages, including their [http://www.saveontapestries.com/blog/ Wall Art Blog] and [http://www.saveontapestries.com/message.php Contact Us] Page<br />
* [http://www.placedash.com/ placedash] uses hCard on all place pages, such as [http://accountants.placedash.com/b/4591 Steven R Aron CPA] and [http://taxconsultants.placedash.com/b/21916885 KPMG]<br />
* [http://www.slimmeria.com/bookings-contact Slimmeria Detox Retreat ] in the UK uses an hCard on the Bookings and Contact page.<br />
* [http://www.airbourneairconditioning.com/houston-ac-repair.html Houston AC Repair ] in Houston uses an hCard on the footer of the air conditioning website..<br />
* [http://www.iluminacionmidava.com/ Iluminación Midava, SL ] in Spain uses an hCard on their pages.<br />
* [http://shop.artgpa.com.ua/contacts.html ArtGPA SHOP in Ukraine ] uses an hCard on their contact page.<br />
* [http://clothesonline.info/ ClothesOnline] uses hCard to identify clothing brands, shops and users. Example: [http://clothesonline.info/shops/mark-spencer Mark & Spencer].<br />
* [http://www.beltmann.com Beltmann Relocation Group] uses an hCard on their [http://www.beltmann.com/atlanta-movers.aspx Atlanta Movers] page.<br />
* [http://www.therapistinlondon.com/ Therapist in London ] Delma Walsh uses an hCards in the footer of every page.<br />
* [http://www.novelwebdesigns.com/ Web Design & SEO] NWD uses an hCard on their contact page.<br />
* [http://www.webscatalunya.com/ Webs Catalunya ] uses an hCards in the footer of every page.<br />
* [http://rinklinks.ca/ RinkLinks.ca: A Comprehensive Rinks and Arenas Directory for North America] uses an hCard for every listing in their directory.<br />
* [http://immotek.fr/ Immotek general contractor in Toulouse, France] uses hCard in the footer of every page (plus hAtom on entries).<br />
* [http://www.aoinstitute.com/ Advanced Orthopaedic Institute ] uses an hCards on the footer of every page.<br />
* [http://www.orchard-barn.co.uk/contact.htm Orchard House B&B ] uses an hCard on their contact page.<br />
* [http://www.medivisas.com/contact.asp Medi Visas UK ] uses an hCard on their contact page.<br />
* [http://www.premierlogos.co.uk/page/contact Premier Logo T Shirts ] uses hCard on the contact page.<br />
* [http://eastsideentrepreneurs.ning.com/profile/MrsClean/ Mrs Clean House Cleaning ] uses hCards in the profile page.<br />
* [http://www.thesanfordhouse.com/ The Sanford House Bed & Breakfast ] uses hCards in the footer of every page.<br />
* [http://www.imap.cat/ Imap Internet Marketing] uses hCards in the footer of every page.<br />
* [http://www.haraldjoergens.com/Copyright.html Harald Joergens Photography ] uses hCards on the page and in the footer of every page (see blog post [http://www.haraldjoergens.com/blog "From website to address book in one click"]).<br />
* [http://www.ethoseo.com/ Ethoseo Internet Marketing in Washington State ] uses hCards in the footer of every page. <br />
* [http://www.roofingandsidingdetroit.com/ Roofing Detroit] uses hCards inside the footer of every page on their roofing website. <br />
* [http://www.popalockofjacksonville.com/ Pop-A-Lock Locksmith Jacksonville] is using hCard in the footer on all the pages on their website and the hReview code on their testimonials page [http://www.popalockofjacksonville.com/jacksonville-reliable-safe-locksmith.html/ Pop-A-Lock Locksmith Jacksonville Testimonials]<br />
* [http://Tutiendadeinformatica.com/ oferta de portatiles] - uses hCard as the index page.<br />
<br />
* [http://www.harleytherapy.co.uk Harley Therapy, Counselling London] uses an hCard (Organisation) on the home page as well as an hcard for an individual practitioner on the [http://www.harleytherapy.co.uk/psychiatrists-london.htm Psychiatrist] page.<br />
* [http://www.mwmachineshop.com/ M & W Machine Shop] is using hCard in the footer on the entire site.<br />
* [http://carmela.co.uk/ Carmela Make-up] is using hCard on most pages of her site, including the [http://carmela.co.uk/wedding-make-up.htm wedding make-up] page.<br />
* [http://www.findaporsche.com/ Find a Porsche] is using hCard on their [http://www.findaporsche.com/?page_id=17 Contact Us] page.<br />
* [http://www.atrendyhome.com/ A Trendy Home - Home Improvement Store] is using hCard on their [http://www.atrendyhome.com/contactus.html Contact Us] page.<br />
* [http://tedswoodworkingplan.com/ Teds Woodworking] uses hcard for their site information.<br />
* [http://www.mrscleanusa.com/ Mrs. Clean's Cleaning Service] is using hCard on their [http://www.mrscleanusa.com/en/cleaning-services/mrs-clean/about-us.html About Us] page.<br />
* [http://www.merrittsforhair.co.uk/ Merritts for Hair] is using hCard on their [http://www.merrittsforhair.co.uk/contacts/ Contact Us] page.<br />
* [http://www.alwaysonmessage.com/contact/get-in-touch.aspx Always on Message] is using hCard on their Contact Us page and are interested to see/hear how hCard's can be used in Smartphone Apps,<br />
* [http://sroe.home.cern.ch/sroe/sroe/Welcome.html Shaun Roe] is using hCard on his work page at CERN,<br />
* [http://www.localdatabase.com/ Local Database] uses hCard on all category and business profile pages, [http://www.localdatabase.com/texas/Houston/Veterinarians/ Houston Vets]<br />
* [http://www.pinbud.ca/ www.PinBud.ca and www.PinBud.com (a search and get quotes website)] uses hCard on all the listing pages, example: [http://www.pinbud.ca/list-services/475-Personal-trainers-in-Calgary,%20AB Personal trainers in Calgary]<br />
* [http://www.quippd.com/popular quippd] uses hCard on profile pages and story listings.<br />
* [http://www.davidrivers.name David Rivers] uses hCard markup on his [http://www.davidrivers.name/contact Contact David Rivers] page<br />
* [http://www.pabloestrada.us/pe/pablo.estrada.html Pablo Estrada] uses hcard on his resume page.<br />
* [http://www.nieruchomosci-czubak.pl/ AJ Czubak Nieruchomości] uses hcard markup in the fixed contact info section on the left and within the [http://www.nieruchomosci-czubak.pl/kontakt.html contact subpage]<br />
* [http://www.metalgigs.de Metalgigs.de] uses hcard for the profile pages at metalgigs.de/userpage/username, see [http://www.metalgigs.de/userpage/Testuser]<br />
* [http://www.ankeboelens.nl/ Anke Boelens Interieurvormgeving] uses hcard markup in page footer<br />
* [http://ragtagntextile.org.uk Rag Tag 'n' Textile] - Mental health charity in Skye and Lochalsh, the Highlands of Scotland - uses hCards for locations of head office and craft shops]<br />
* [http://atzkey.org/ Denis Bakunovitch] — IT professional — has nicely styled hCard<br />
* [http://www.olaru.ca/ Maria Olaru - lawyer / avocat - Montreal Law Firm] uses hCard for the law office.<br />
* [http://www.epinux.co.uk/contact Mike Shutlar at Epinux] uses hCard markup on his contact page.<br />
* [http://nzia.org/practitioner-directory/ New Zealand Institute of Acupuncture] uses hCards to display member's contact details.<br />
* [http://www.mamscatering.nl/ MAMS Catering] uses the drupal hCard module for contact information on the website.<br />
* [http://www.ialphan.com Alphan Gunaydin] uses hCard markup throughout the home page (index).<br />
* [http://www.phytodoc.de/therapeuten-suche/ PhytoDoc's database for therapists in Germany] uses hCards for contact data on the detail pages of every therapist. [http://www.phytodoc.de/therapeut/wiesloch/berthold-musselmann/ Examplary therapist's page].<br />
* [http://www.charleschurch.com Charles Church House Builder] uses hCard for property development addresses and geo latitude and longitude. See [http://www.charleschurch.com/carmarthenshire_ammanford/pen-y-bryn-1067 Homes for sale in Ammanford] page for embedded hcard on property development pages.<br />
* [http://www.canisphouse.com Canisp House Bed and Breakfast]Establishment uses hcard to mark up business address. Validates with Google Rich Snippets.<br />
* [http://www.jondon.com/stores/index.htm Local Stores Locations Page], the store details on store pages are Hcard.<br />
* [http://www.mrpainter.com.sg Mr Painter] uses hCard on Contact us page [http://www.mrpainter.com.sg/contact.html Mr Painter Contact] & Article page [http://www.mrpainter.com.sg/articles.html Mr Painter Blog]<br />
* [http://www.sucklings.co.nz/contact-us Contact page of Sucklings Shoes Store], the store details are an Hcard.<br />
* [http://www.a3architekten.com/ Contact details of a3architekten]. A combination of two hCards looking like one.<br />
* [http://www.imap.cat]. A combination of two hCards looking like one.<br />
* [http://www.sigmacom.nl/ Corporate website of Sigmacom]. hCards were implemented in the footer<br />
* [http://www.fpc.wa.gov.au Forest Products Commission] hCards to markup addresses & contact info for:<br />
** all its offices and media contacts: [http://www.fpc.wa.gov.au/content_migration/about_us/contacting_us.aspx office locations]<br />
** search results for suppliers of timber within Western Australia: [http://www.fpc.wa.gov.au/BuyTimber/Search?Species=&Region= find a timber supplier]<br />
* [http://www.hirners.com Hirners Hotel Guide] uses hCards to markup addresses and contact info of every property, including geo coordinates. Example: [http://www.hirners.com/properties/4-atlanta-hotel-in-vienna-austria Hotel Atlanta in Vienna, Austria]<br />
* [http://www.cartuse-imprimante.ro/ Cartuse Imprimante], printers and printer cartridges supplier, uses an hCard on home page and contact page of the website.<br />
* [http://www.seminee-bellfires.ro/ Seminee Bellfires], interior fireplaces design company uses an hCard on every page of the website.<br />
* [http://www.eurodata.com.ro/ Eurodata Serv], IT consulting and service company uses an hCard on every page of the website.<br />
* [http://www.chipwreck.de/blog/contact/ Mario Fischer] uses a hCard with his contact information<br />
* [http://joebergantine.com/contact Joe Bergantine] has marked up his contact information with hCard and XFN<br />
* [http://www.nonleaguegrounds.com nonleaguegrounds.com], a database of English non-league football stadiums, uses hCards on every specific club detail page. Example: [http://www.nonleaguegrounds.com/gb/london/afc-wimbledon AFC Wimbledon]<br />
* [http://thetruthaboutabs1.com/ Thetruthaboutabs] uses hcard for their site information.<br />
* [http://www.simourix.nl/ Simourix Hosting] uses an hCard for contact information on the website.<br />
* [http://www.aquastop-vochtwering.nl/ Aquastop vochtwering] uses an hCard on every page of the website.<br />
* [http://www.kennysaunders.com/ Kenny Saunders] uses an hCard on for contact information on this business card website.<br />
* [http://thesilverfishbug.com/ Silverfish Bug] uses hcard for their site information.<br />
* [http://annuaire.leperon.fr/ L’Annuaire du Cheval] is a French directory of equestrian professionals. We have just added hCards to all the client pages. Sample one here [http://annuaire.leperon.fr/client/0b1s/tarder-camille-et-frederic Tarder]. We also added an 'add to your address book' button but had to take it out again as some Windows machines choked on the accents, not recognising the UTF-8.<br />
*[http://www.cheapholidays.com/ Cheap Holidays] uses an hCard on each page footer.<br />
*[http://www.flightline.co.uk/ Flightline] uses an hCard on each page footer.<br />
*[http://www.affordablestorage.net.nz/contactus.html Affordable Storage] Uses hCard for contact information.<br />
* [http://www.norfolkblackhistorymonth.org.uk/contact.html Norfolk Black History Month] - Uses hCard on the Contact page and throughout the site, providing contact information for event locations, organisers and partner organisations.<br />
* [http://www.veganusofa.com/ VeganUSofA] - Uses hCard for organization and business address. Example: [http://www.veganusofa.com/index.php?listing=4 The All Vegan Store].<br />
*[http://adrianindo.blogspot.com ADRIAN'S BLOG] have included hCard to introduce myself more closely with the visitors of my blog. the hCard has been listed as a name, blog url and organizations. This hCard you can see on the lower right sidebar of my blog layout. <br />
* [http://www.canadianpokerexpo.com The Canadian Poker Expo (Toronto)], a Poker Lifestyle Expo focusing specifically on the Toronto market, is using hCard for [http://www.canadianpokerexpo.com/Contact-Us/Contact-Form their contact page] as part of their efforts to increase the site's local relavance.<br />
* [http://www.semineeas.ro Seminee As], a Romanian fireplace manufacturer, uses hCard for [http://www.semineeas.ro/contact/ contact info] with optional vCard download.<br />
*[http://www.gastrohep.com/aboutus.asp GastroHep.com] About Us page uses an hCard for the contact address.<br />
*[http://wedding-slideshows.net/ Wedding Slideshows] uses hCard for business address and contact details.<br />
*[http://leemannphotography.ca/?p=contact Lee Mann Photography] Uses an hCard on the main Contact page as well as the blog.Ideally it will soon be on the footer of every single page.<br />
*[http://www.kimburgess.info Kim Burgess] Minimalist info website with hCard markup positioned throughout.<br />
*[http://www.plumbset.co.uk/ContactUs.asp PlumbSet UK Ltd] Uses hCard for the contact address, including multiple street-address entries.<br />
*[http://www.manuhealth.com/products/manuka-soap-75gm Manuhealth Natural Remedies] Uses hCard for the return address on product pages.<br />
*[http://www.farmaciasarria.com/esp/mapa.php Farmàcia Sarrià - Farmàcia Finestres Capdevila] uses an hCard for his contact information.<br />
*[http://www.naturesbestshot.com Nature's Best Shot Photography] - uses an hcard on the contact page<br />
*[http://www.noomii.com/life-coach Noomii.com Coach Directory] - each professional life coach in the directory is an hcard<br />
*[http://www.ethical-junction.org/member/org-2012.html Ethical Junction CIC - Profile page] We use hCard for every organisation on their profile page<br />
*[http://www.bowtietv.com Bow Tie Television] Uses hCard for contact information on every page and in the contacts section.<br />
*[http://www.tauruslogistics.co.nz/about/contact Taurus Logistics] Uses hCard for contact information.<br />
*[http://www.professdiamond.com/ professdiamond] encodes Thai as UTF8 in an inline hCard at the bottom of every page.<br />
*[http://avonvalleylocalguide.iinet.net.au/ Avon Valley Local Guide] uses hCard for contact information of advertisers.<br />
*[http://www.arizonafirstresponse.com/ Arizona First Response] uses an hCard on each page footer.<br />
*[http://dillingham.me.uk/ Iain Dillingham] uses an hCard on each page footer, and has a styled example (with the microformats logo) on his [http://dillingham.me.uk/contact.html contact page].<br />
*[http://www.pixeflips.com/ Pixelflips Web &amp; Interface Design] hCard is used in the footer of all pages for easy access to contact information.<br />
*[http://www.herminesperr.at/ Hermine Sperr, Qualified Practitionier of the Grinberg Method&reg; in Wien/Austria] A hcard is used for contact information on every page on her website.<br />
* [http://www.ivycat.com/ IvyCat Website Services] - Web design & hosting firm uses hCard for business contact info. Example: [http://www.ivycat.com/contact/ Contact Us].<br />
* [http://www.modeltrainswithlarry.com/ ModelTrainsWithLarry] - Uses hCard for organization and business address. Example: [http://www.modeltrainswithlarry.com/index.php?listing=502 Choo Choo Barn].<br />
* [http://www.gardeningwithlarry.com/ GardeningWithLarry] - Uses hCard for organization and business address. Example: [http://www.gardeningwithlarry.com/index.php?listing=2681 United States Botanic Garden].<br />
* [http://abyrvalg.com/ Abyrvalg] - russian city community. Uses hCard to display local businesses address. Example: [http://moscow.abyrvalg.com/biz/faq-cafe FAQ cafe in Moscow].<br />
* [http://www.jdclark.org/v1 Jordan Clark], from the Swansea area of Wales in the United Kingdom, uses [http://www.jdclark.org/card hcard for contact information].<br />
* [http://whichtwitterapp.com/ WhichTwitterApp] provides [http://whichtwitterapp.com/reviews/iphone/tweetie reviews of twitter apps] using hCard, hReview, rel-tag and rel-home.<br />
* [http://www.robinleysen.be/Robin.html Robin Leysen] has a hCard on a separate page. Tried to be as complete as possible. hCard validated with Optimus.<br />
* [http://www.jay-photographics.de/ Jay Photographics] Photographer from Stuttgart, Germany. The hcard format is used on all pages for contact information.<br />
* [http://www.uniquesite.co.uk/ UNIQUEsite] Website designer based in Brighton, UK. Uses the hcard format for contact information.<br />
* [http://www.slideshare.net/ SlideShare] uses hcard to identify its users. see [http://hcard.geekhood.net/?url=http%3A%2F%2Fwww.slideshare.net%2Fkcmani#result Validated hcard] and [http://www.slideshare.net/kcmani Mani's SlideShare profile]<br />
* [http://chrisruppel.com Chris Ruppel], a web developer in Dallas, TX, uses an hcard for contact information site-wide (as well as XFN)<br />
* [http://greenspiritgardeners.com/ Green Spirit Gardeners] uses the hCard format throughout the site, including on the portfolio page for [http://greenspiritgardeners.com/portfolio/ commercial clients] and the [http://greenspiritgardeners.com/contact/ contact] page.<br />
* [http://www.dorettebos.nl/ Dorette Bos Coaching &amp; Training] uses hcard microformat on the [http://www.dorettebos.nl/contact.php contactpage]<br />
* [http://volunteers.st/ Steffi &amp; the volunteers] is an Austrian band and uses hcards for [http://volunteers.st/ band-contact in the footer] and on the page of the [http://volunteers.st/crew.html crew]<br />
* Turkish business directory website [http://www.firmasec.com/ firmasec.com] implements valid hCard and hReview-Aggregate for companies, contact information with geo tags and user comments. Example: [http://www.firmasec.com/firma/mmfzz-caprice-palace-hotel-didim/ Caprice palace hotel profile page]<br />
* [http://www.textundkonzept.at Bernhard Ulrich] an Austrian copywriter uses the hcard format [http://www.textundkonzept.at on all pages of his website] for his contact information<br />
* [http://www.powerbrand.at/contact.html POWERBRAND] a brand name development agency uses a [http://www.powerbrand.at/contact.html hcard for contact information]<br />
*[http://www.koerperarbeit.net/ Anita Braunsberger, Qualified Practitionier of the Grinberg Method&reg; in Linz/Austria] A hcard is used for contact information on her website.<br />
*[http://www.carpetscleansandiego.com Durbin's Carpet Care] displays a vCard for contact information and relevancy<br />
*[http://www.nationalrural.org/organisation.aspx?id=96a3fc04-5c03-4d31-bb8a-2c55cc29aed4 National Rural Knowledge Exchange] uses an hCard with geo tags when displaying an organisations information<br />
* [http://www.tinstar.co.uk/about-tinstar-design/contact-tinstar-design.html Tinstar Design] uses an hCard for company contact information.<br />
* [http://www.interdixit.com/esp/contacto.php Interdixit] uses an hCard for his contact information.<br />
* [http://www.sisnova.com/ Sisnova] uses hCard for his location pages.<br />
* [http://www.fenoyarquitectura.com/esp/situacion.php Eduard Fenoy i Associats] uses an hCard.<br />
* [http://www.deltronic.com/ Deltronic Corporation] of Santa Ana, CA has posted an hCard with geo tags on its [http://www.deltronic.com/contact.shtml Contact] page. Background image of a contact card reinforces content. For those without enabling browser extensions, both hCard "logo" and text link make vCard available via external parser.<br />
* [http://transitionsmft.org/ Transitions Marriage and Family Therapy] has an hCard with geo tags in the footer of each page. There is also an hCard for each counselor on the [http://transitionsmft.org/about.php About] and [http://transitionsmft.org/contact.php Contact]pages.<br />
* [http://ball.in.th/ ball.in.th] uses hCard to display all usernames.<br />
* Italian business directory and community portal [http://www.cylex.it/ cylex.it] implements hCard for companies’ contact information with geo tags. Example: [http://www.cylex.it/azienda/computerland-10559319.html company profile]<br />
* [http://jermy.musicremedy.com/ Jermy Leeuwis MSc] uses an hCard for his contact information.<br />
* [http://idoinfotech.com Gary Eckstein] uses an hCard for [http://idoinfotech.com/contact contact information].<br />
* [http://www.drsuarez.net/ Dr. Suarez] uses hCard on his [http://www.drsuarez.net/cvitae.html resume page]<br />
* [http://sourceforge.net/projects/adx/ addressbook.xml] provides hCard support: [http://elektronengehirn.net/addressbook/addressbook.html adx live example]<br />
* [http://aplawrence.com APlawrence.com] is using hCard for its [http://aplawrence.com/Links/consultants.html Unix and Linux Consultants Page]<br />
* [http://www.afonsoduarte.com Afonso Duarte's Portfolio]. Uses an hCard for the contact information.<br />
* [http://www.rafe.me Web development by Rafe Harwood]. Uses an hCard for the contact line in the footer of every page.<br />
* [http://www.frogmeat.com Los Angeles Web Design]. Uses an hCard for contact information.<br />
* [http://www.arbea.basilicata.it/ ARBEA - Agenzia della Regione Basilicata per le Erogazioni in Agricoltura]. hCard is used both for classic [http://www.arbea.basilicata.it/index.php?option=com_contact&view=contact&id=4&Itemid=101 Contact page] and for farms showcase ("Vetrina Aziende Agricole") available for registered users. I've embedded it modifying Joomla! 1.5 com_contact core component. Users of this CMS can [http://joomlacode.org/gf/project/hcardcontact/ download my patch].<br />
* [http://trumps.net Los Angeles Search Engine Optimization] Uses hCard in the footer of all pages.<br />
* [http://www.oasisroofinginc.com/ Seattle Roofing] Uses hCard in the footer of their roofing website see [http://www.oasisroofinginc.com/ Roofing Seattle WA] to see the hcard.<br />
* [http://reaganvick.com Personal Portfolio of Lance Reagan Vick]. Includes examples of PGP and SSH public keys I have not seen used anywhere else. Hopefully someone finds it helpful!<br />
* [http://www.fracturedstudios.com Los Angeles Search Engine Optimization] uses hCard to provide address information at bottom of page<br />
* [http://www.csid.upt.ro/home.php The Distance Learning Center - CSID, "Politehnica" University Timisoara], Romania uses hCard, including geo information, in every page's footer for encoding the University address. hCard is also used for [http://www.csid.upt.ro/personal.php staff] and student contact information.<br />
* [http://rehabpizza.co.uk Rehab Restaurant] London restaurant, see the sidebar for link to [http://rehabpizza.co.uk/rehab.hcard the hcard].<br />
* [http://www.outdoorla.org/ Los Angeles Hiking Trails] at the bottom right, our contact information is marked up as an hcard.<br />
* [http://c7.se Code7 Interactive] uses a hCard for Peter's [http://c7.se/contact contact details].<br />
* The [http://www.austinartcollective.com Austin Art Collective] is a group dedicated to helping emerging artists sell their artwork online. There is space for users to submit [http://www.austinartcollective.com/gallery/Art-City-Austin.html art gallery reviews] as well, [http://www.austinartcollective.com/austin-galleries/Downtown.html organized by neighborhood] in Austin, TX USA.<br />
* [http://www.squaremeal.co.uk/ Square Meal Restaurant Guide] uses hCards and hReviews for all restaurant listings and [http://www.squaremeal.co.uk/review/Ristorante_Semplice/1596 visitor reviews].<br />
* [http://www.vegan-nottingham.co.uk/ Vegan Nottingham Guide] uses hcards, including geo information, for each entry in the guide.<br />
* [http://www.cgtworld.com/ Cybernation Gamers Tournament] uses hCard in all users profiles like [http://www.cgtworld.com/profile/id-1/ Moonlext's Profile] and in the [http://www.cgtworld.com/about/press.html press page of CGT].<br />
* [http://fcctlh.org First Christian Church of Tallahassee] Uses hCard in the footer of all pages.<br />
* [http://www.pseps.com/vc-people/a.cfm The PSEPS Venture Capital and Private Equity Directory] Venture capital and private equity directory using microformats (both for professionals and firms).<br />
* [http://www.koningskindkadootjes.nl koningskindkadootjes.nl] Hcard located at the bottom of the pages.<br />
* [http://www.futurix.nl futurix.nl website and webshop development] At the bottom of the pages you'll find the hcard. With a link to technorati the hcard is used to get a vcard out of the hcard.<br />
* [http://romjon.com/contact-us romjon.com website design &amp; development] Contact Us page using hcard to markup address details. By using Operator, Google Maps and Yahoo! Maps can be made to open with the pointer, respectively, in pretty much and more or less exactly the right place.<br />
* [http://www.thebeanmachine.nl/ The Bean Machine] at the bottom right, our contact information is marked up as a hcard<br />
* [http://www.universalmedicalid.com/canada Universal Medical ID Canada] uses hCard to provide address information at bottom of page, as well as on a number of pages within the site.<br />
* [http://www.floristfullerton.com/ fullerton florsit] uses an hcard for the web site footer [http://www.floristfullerton.com/ florist fullerton].<br />
* [http://puronicsorangecounty/ Puronics Orange County] uses an hcard for example view footer [http://puronicsorangecounty.com/ water softener orange county].<br />
* [http://web.mac.com/a.gibson/ Alex Gibson Web Developer] uses hCard for contact info on his homepage.<br />
* [http://www.wardelldesign.com/html/contact/index.php Wardell Design] uses hCard for contact info with optional vCard download.<br />
* [http://www.drfosterhealth.co.uk/hospital-guide/ Dr Foster Hospital Guide] uses hCard to mark up hospital addresses. See [http://www.drfosterhealth.co.uk/hospital-guide/hospital/nhs/Basingstoke-and-North-Hampshire-Hospital-366.aspx Basingstoke hospital page] for example.<br />
* [http://www.drfosterhealth.co.uk/complementary-therapist-guide/ Dr Foster Complementary therapist guide] The [http://www.drfosterhealth.co.uk/complementary-therapist-guide/objectlist.aspx?w=32&p=8&obid=&sub=0 regulatory bodies page] uses hCard for contact details.<br />
* [http://wayne.edu/ Wayne State University] uses hCard for University address and contact details in the global footer used on most web pages.<br />
* [http://www.brakemeters.co.nz/ Portable Brake Meters N.Z. Ltd] uses hCard for business address and contact details.<br />
* [http://www.tallpoppieshamilton.co.nz/ Tall Poppies Florist] uses hCard for business address and contact details.<br />
* [http://www.livingcolour.co.nz/ Living Colour Florist] uses hCard for business address and contact details. See [http://www.livingcolour.co.nz/Information.aspx Information] page<br />
* [http://www.dallasfamilyhomes.com/ DallasFamilyHomes.com] uses hCard for property addresses and geo latitude and longitude. See [http://www.dallasfamilyhomes.com/dallas-homes/ Dallas Homes] page for embedded hcards and property detail pages.<br />
** Pretty good. An improvement might be to use <code>agent</code> to mark up the agent's contact details, and <code>note</code> to mark up the property descriptions. [[User:TobyInk|TobyInk]] 16:22, 4 December 2008 (UTC)<br />
** Thanks for the suggestion Toby. Added the <code>note</code> for the description to the homes listings and home detail pages. <br />
* [http://www.jabz.de/ Jabz | Internet Marketing Agentur] uses hCard for business address and contact details. See [http://www.jabz.de/kontakt/ Contact Page] <br />
* [http://www.headyperfume.com/ Headyperfume.com] Uses hCard for contact information.<br />
* [http://sixthirteendesign.com/ Six Thirteen Design] uses an embedded hCard along with other contact details on the footer of each page (http://sixthirteendesign.com/) <br />
** ''Problems:'' page also includes class="vcard" used in a non-hCard context (for a VCARD download); types for telephone number and e-mail address are improper. [[User:TobyInk|TobyInk]] 16:22, 4 December 2008 (UTC)<br />
* [http://www.locanto.com/ Locanto - Free Classifieds] uses hcards to geolocate their classified listings. Visit the ad pages for examples.<br />
* [http://www.yalwa.com/ Yalwa - Local Directory] uses hcard on their directory listings. Example: [http://wiesbaden.yalwa.de/ID_102318221/Yalwa-GmbH.html Yalwa Address Listing] <br />
* [http://www.fluendi.com/Contact Fluendi Consulting] uses hcard on their contact page (http://www.fluendi.com/Contact) <br />
* [http://www.badbedbugs.com/ Bed Bugs] uses hcard for their site information. See the [http://www.badbedbugs.com/about-bad-bed-bugs/ about bed bugs] page. <br />
* [http://www.lawyer-directory.net/ Lawyer Directory] uses hcard for addresses within the lawyer directory. Example [http://www.lawyer-directory.net/lawyer/Grand-Rapids-Bar-Association-Grand-Rapids-law434032.htm listing]<br />
* [http://www.hanfmuseum.de/about About Hanf Museum Berlin] uses hcard for addresses and contact informations.<br />
* [http://maps.google.com/ Google Maps] uses hCards for addresses. See [http://googlemapsapi.blogspot.com/2007/06/microformats-in-google-maps.html Microformats in Google Maps].<br />
* [http://local.mapquest.com/ MapQuest Local] uses hCards for locations, hCalendar for events and supports the draft Geo format when lat/lng data is provided. See [http://blog.mapquest.com/2008/09/25/microformat-support-on-mapquest-local/ Microformat Support on MapQuest Local] for more information.<br />
* [http://www.whitepoppy.com/ WhitePoppy.com] uses hCard for business address. See [http://www.whitepoppy.com/Contact.aspx Contact Page]<br />
* [http://www.hightechcville.com/ HighTechCville] uses hcard to mark up people and organizations. See [http://www.hightechcville.com/people/72-eric-pugh Eric Pugh] for an example.<br />
* [http://www.cleanertoday.com/ Cleaner Today] uses hcard to mark up contact details. (see [http://www.cleanertoday.com/Cleaner-Today-a/1.htm Contact Page])<br />
* [http://www.aduk.org Audience Data UK] use hcard on their [http://www.aduk.org/contact.php contact page] and [http://www.aduk.org/directory.php directory of related organisations]<br />
* [http://georgebrock.com georgebrock.com] used hcard for George's contact details<br />
* [http://suggestionbox.com/ SuggestionBox] uses hcard for companies listed on its site. Example: [http://transfercar.suggestionbox.com/ Transfercar].<br />
* [http://www.vcventerprise.com/wp/ Christopia] uses hcard to mark up contact details. (see [http://vcventerprise.com/wp/contact/])<br />
* [http://www.rossirovetti.com/ Rossi & Rovetti Flowers in San Francisco] uses hcard to mark up company details in the about us page of the website. (see [http://www.rossirovetti.com/scripts/aboutus.asp example])<br />
* [http://youtube.com YouTube] uses hcard to identify video contributors (see [http://www.flickr.com/photos/factoryjoe/2793731119/in/photostream/ screenshot]]<br />
* [http://sewmyheadon.com/contact sewmyheadon.com] uses hcard to mark up contact details on contact and about pages.<br />
* [http://www.kleinassoc.com/ Klein & Associates - Estate Planning] used hcard to mark up contact details on law firm's contact page.<br />
* [http://www.markuspage.com/markus/en/contact Markus Kil&aring;s] uses hCard to mark up his contact details.<br />
* [http://www.southsidewarriors.com/impressum.cfm Southside Warriors] uses hcard to mark up contact details on the imprint page.<br />
* [http://applesold.com/ Apple Realty - Bristol Real Estate Company] uses hcard to mark up company details in the footer of website.<br />
* [http://www.surfcom.co.uk/app/contact/ Surf Commission] uses hcard to mark up company contact details with option to download vcard.<br />
* [http://www.k9yardpatch.com/contact-us/ K9YardPatch] uses hcard to markup company contact details with option to download.<br />
* [http://www.ecovian.com Ecovian] uses hCard to mark up eco-friendly business contact details, see [http://www.ecovian.com/l/san-francisco-ca/jardiniere-restaurant example]<br />
* [http://www.dischord.com/ Dischord Records] uses hCard to mark up company contact details in the footer of the home page.<br />
* [http://www.thinkambient.co.uk/ ThinkAmbient] uses hCard to mark up company contact details.<br />
* [http://proofile.org/ Proofile] extensive profiles with hCard, vCard, XFN and FOAF support.<br />
* [http://www.ebycattle.com/horses/index.html Eby Ranch] uses hCard for the different branches of the company, with option to download the vCard.<br />
* [http://www.clavex.com/contactus.aspx Clavex - A Latin America Financial Institution ] Uses hCard and geo for the contact information. Simple but effective.<br />
* [http://www.dancefederation.co.uk Dance Federation Salsa Dancing & Jive Dancing Lessons and Events ] Directory for classes, lessons and events users hcard on its lessons and events -- region and url properties are empty. Is that an error?<br />
* [http://mop.ardom.co.il/contact.php Southern Arava Research and Development Center] uses hCard for their contact details on their contact page and in sub pages with contact info. -- one card has two fn properties.<br />
* [http://www.itma.org.uk/find-expert/London] - ITMA Trade Mark Attorney search presents results as hCards<br />
* [http://interkonect.com Interkonect > Website Application Specialists] Office contact details marked up using vcard.<br />
* [http://library.christchurch.org.nz/ContactUs/ Christchurch City Libraries (N.Z.)] contact page plus each of our libraries' individual pages linked from [http://library.christchurch.org.nz/Community/Libraries/ Library Locations map].<br />
* [http://www.leftclick.com/about-us/ LeftClick] uses hcards for contact information.<br />
* [http://ideas.veer.com/skinny Veer's Skinny Blog] implements hcard for comments and post authors.<br />
* [http://wolpy.com/missha Wolpy] Uses hcards for contacts and [http://wolpy.com/missha/profile profile]. <br />
* [http://www.veganworldorder.com/index.php?m=vegguide Vegan World Order | Restaurants ] Uses hcards for restaurant listings. <br />
* [http://mahalo.com Mahalo] per the announcement [http://www.seanpercival.com/blog/2008/04/23/mahalo-adds-microformats/]<br />
* [http://www.buythatlocally.com BuyThatLocally ] uses hcards for local business information. <br />
* [http://www.firmendb.de Firmendb] uses hCard for individual business contacts, e.g. [http://www.firmendb.de/firmen/15592.php]<br />
* [http://autopendium.com Autopendium] has resources (e.g. suppliers, clubs) marked up with throughout the site, e.g. [http://autopendium.com/clubs/8-Volvo-Enthusiasts-Club]<br />
* [http://display-block.co.uk Display-Block] uses hCard contacts for People and Companies on my personal Blog.<br />
* [http://www.codesignville.com/ Codesignville] uses hCard for his contact details.<br />
* [http://fan-expo.com/Contactez-nous,2 Forum des Acteurs du Numérique] (a French trade show and exhibition dedicated to content management) uses hCard for contact information (exhibition staff and exhibitors). It also makes use of hCalendar as well as rel-tag when relevant.<br />
* [http://www.corewhisperer.com/ The Core Whisperer] (Paul Ransom) Geological Services uses hCard for contact information.<br />
* [http://chairmanship.mfa.md/en/ The regional presidencies] of Republic of Moldova to the SEECP, CEI, MAG-RACVIAC, SEEHN, CEFTA uses hCard on [http://chairmanship.mfa.md/seecp-contacts/ contacts pages]<br />
* [http://www.viget.com/about/team Viget Labs] - Team page and Individuals' Pages.<br />
* [http://www.re3elstance.com RE3EL STANCE] - Entrepreneurship: Rebel Style.<br />
* [http://www.worldeventsguide.com World Events Guide] - Events occuring around the world marked up with hCard.<br />
* [http://www.amaliahotel.eu/en/contact.html Amalia Hotel Apartments] uses hCard in the contact-info page.<br />
* [http://www.sslcertificaten.nl/contact.php Xolphin SSL Certificaten] uses hCard for their contact details<br />
* [http://examples.tobyinkster.co.uk/hcard hCard + RDFa Example] - raising the bar for parsers...<br />
* [http://competitiondiva.com/ Competition Diva] uses hCard in its page footer (and plans on it for the upcoming profile pages).<br />
* [http://sanisoft.com/ SANIsoft] uses hCard in its page footer<br />
* [http://www.bossalive.com BossaLive] uses [[hcard|hCard]] on user profile pages. <br />
** Example: [http://www.bossalive.com/user/barry Barry's Profile]<br />
** Also uses rel-tag microformat for tagging music. Publishes rel-tags for album, artist and genre.<br />
* [http://hillhursthardware.com/ Hillhurst Hardware's] contact info w.logo uses hcard.<br />
* Birmingham's [http://bigcityplan.org.uk/ Big City Plan] (England)<br />
* Producer [http://www.sun-treader.com/contact.html Christopher Davis] uses hCard markup on his contact page.<br />
* [http://www.tpexpress.co.uk/Liverpool08-Capital-of-Culture/ First TransPennine Express - Liverpool 08, Capital of Culture] - uses hCard to markup suggested venues.<br />
* [http://anand.ws/ Anand's Musings] uses hCard to mark up authors for comments and posts.<br />
* [http://www.onyomo.com/ OnYoMo] uses hCard markup for all addresses listed in their local search results.<br />
* [http://www.dctalks.org/design/ DC Design Talks] used hCard to mark up the speakers for this one-day event.<br />
* [http://www.entidi.it eNTiDi software] provides a basic hCard sample.<br />
* [http://quickbase.intuit.com QuickBase] uses hCard markup on our contact us page.<br />
* [http://www.pixsense.com/contact_us.html PixSense.com] uses hCard markup for addresses across the PixSense website.<br />
* [http://www.areaguides.net areaguides.net] uses hCard markup for all addresses across the site.<br />
** Examples: http://chicagoil.areaguides.net/ypcyellowpg/restaurants.html, http://newyorkny.areaguides.net/hotels.html<br />
* [http://www.ll.georgetown.edu/ Georgetown University Law Library] in Washington, D.C. now uses hCard for our address on all pages. Also, library staff biography pages use hCard such as [http://www.ll.georgetown.edu/staff/bio.cfm?id_no=105 here] and [http://www.ll.georgetown.edu/staff/bio.cfm?id_no=32 here].<br />
* [http://www.ll.georgetown.edu/ Georgetown University Law Library] in Washington, D.C. now uses hCard for our address on all pages. Also, library staff biography pages use hCard such as [http://www.ll.georgetown.edu/staff/bio.cfm?id_no=105 here] and [http://www.ll.georgetown.edu/staff/bio.cfm?id_no=32 here].<br />
<br />
* [http://www.mtgd.gov.md/ Ministry of Transport and Road Industry] of Republic of Moldova. First Moldavian governmental site using hCards on [http://www.mtgd.gov.md/ministrul/ staff pages], [http://www.mtgd.gov.md/subdiviziunile-ministerului/ subdivisions page] and in the footer of each page (contact information) <br />
**Only [http://www.mtgd.gov.md/ Romanian] and [http://www.mtgd.gov.md/ru/ Russian] versions available yet <br />
* [http://www.auctionlink.com.au/ AuctionLink] uses hCard for Auctioneer records like [http://www.auctionlink.com.au/Auctioneers/Auctioneer/Cam_Brown_Auctions/ Cam Brown Auctions] (also uses hCalendar)<br />
* [[User:WebOrganics|User WebOrganics]] The Microformats wiki has hcards on its user pages.<br />
* [http://www.ontwerpkliniek.nl Ontwerpkliniek - Bureau voor Visuele Identiteit] uses the hCard contact information at the frontpage and the contact page.<br />
* [http://www.instantdes.com L'instant des...] uses the hCard format for all photographers published on this collective photoblog.<br />
* the mediadesigner groupblog [http://www.pixeltapete.de Pixeltapete] uses the hCard for the contactinformation of the authorpages of [http://www.pixeltapete.de/alex Alex] and [http://www.pixeltapete.de/carsten Carsten] and also for the [http://www.pixeltapete.de/kontakt imprint]. [http://www.pixeltapete.de Pixeltapete] uses its own [http://www.pixeltapete.de/2007/11/hcard-sidebarwidget-fuer-wordpress/ hcard widget] for wordpress sidebars. <br />
* [http://www.thorsten-ott.de Thorsten Ott] uses hCard format for the contact section of his online resume.<br />
* [http://rosebleed.net/ Rosebleed] supports [[hCard user profiles]] - your profile URL is <nowiki>http://rosebleed.net/users/profile.php/</nowiki> followed by your username, e.g. [http://rosebleed.net/users/profile.php/silvermoon82 silvermoon82].<br />
**'''Fixed''' profiles now explicitly mark up 'n' where possible, otherwise omits it<br />
* [http://www.whitepages.com WhitePages.com] Now WhitePages.com main implemented hCard on all its listings. Over 120 million hCards! Includes work information.<br />
* [http://www.warmoth.com Warmoth Guitar Products] features hCard contact information in two places, [http://www.warmoth.com/customerservice/customer.cfm?fuseaction=order How To Order] and all of the [http://www.warmoth.com/catalog Warmoth E-Store]<br />
* [http://www.bbc.co.uk/worldservice/bangladeshboat BBC World Service Bangladesh River Journey] a social network mashup, with hCard & other microformats. See [http://dharmafly.com/blog/bangladeshboat Dharmafly blog discussion].<br />
* [http://www.amants-du-chocolat.net/ ACCP:Les Amants du Chocolat de la Couronne Parisienne] uses hCard on their contact page and in the chocolate maker they've reviewed.<br />
* [http://www.accountviewsoftware.nl/ AccountviewSoftware.nl] makes use of hCards for the dealer directory [http://www.accountviewsoftware.nl/dir/ (directory)]<br />
* [http://www.crystalvision.co.il/ CrystalVision] uses hCard on their contact page and in the footer throughout the site.<br />
* [http://www.joshuamcginnis.com Joshua McGinnis] uses hCard to display his contact information to potential clients.<br />
* [http://www.bo.ingv.it/contents/INGV-Bologna/Staff.html INGV Bologna] implemented hCards for staff-members, marked-up as HTML table-rows ([[include-pattern]] also used to add organization-name and fax-number to each hCard).<br />
* [http://www.lefora.com Lefora] is a free forum hosting site (using custom forum software). Every user's profile contains an hCard. (Example forum for testing: [http://funstuff.lefora.com funstuff.lefora.com])<br />
* [http://theultimates.whitepages.com WhitePages.com] A special version of whitepages.com has all its listings marked up in hCard.<br />
* [http://piermontweb.com/contact/ Piermont Web Design] uses hCard on its contact page.<br />
* [http://www.ie.asm.md/en/ The Institute of Power Engineering] of the Academy of Science of Moldova. First Moldavian site using hCards on staff pages, e.g [http://www.ie.asm.md/employees/oleschuk-valentin/]<br />
**Also in Russian: [http://www.ie.asm.md/employees-ru/sit-michail-lvovich/] and Romanian: [http://www.ie.asm.md/angajati/chiorsac-mihail/]<br />
* The good ship [http://styrheim.com/test/leonid.html Leonid Miloslavskiy] spotted in the North Atlantic<br />
* [http://richi.co.uk/blog/2005/12/structured-blogging.html Richi Jennings] has put up his attempt<br />
*[http://oberrycavanaugh.com O'Berry|Cavanaugh] has an organization hCard in the footer on every page as while as individual hCards on the [http://oberrycavanaugh.com/team.php Team] page.<br />
* [http://fortisgc.com Fortis General Counsel], e. g. [http://fortisgc.com/joyce_lan_kim.html Joyce Kim's profile], uses hCard for profile and contact information.<br />
* [http://peryplo.com Peryplo.com], e. g. [http://peryplo.com/personal/7e6786e711c6d051a39a1b7085f34955 Sample Page], uses hCard for Hotels, Gastronomy Places and services for tourists.<br />
* [http://www.navitraveler.com/places/629/ NaviTraveler], e. g. [http://www.navitraveler.com/places/629/Lincoln_Memorial.html Lincoln Memorial], including [[geo|Geo]].<br />
* [http://corewar.atspace.com/about.html sfghoul] has marked her contact info with [[hcard|hCard]]<br />
* [http://www.zaadz.com Zaadz] uses [[hcard|hCard]] and [http://gmpg.org/xfn XFN] for friends on a user's profile page.<br />
*[http://www.xoxiety.com/about.html Xoxiety] uses hCards on its about page, linking data from a within a block of text.<br />
*[http://yedda.com Yedda] - Yedda provides hcard based identities on all of the people's profiles<br />
*[http://openid.ne.jp OpenID.ne.jp] First OpenID provider service in Japan(æ¥æ¬èª). Each personal OpenID page (ex:[http://eouia.openid.ne.jp http://eouia.openid.ne.jp]) is marked up as his hCard. And there is a company hCard on every page, too.<br />
* [http://www.goldenglovepromotions.com/ Golden Glove Promotions] used hcards on the footer of every page to store contact information.<br />
* Australian national news sites The Australian and Australian IT use hCard on their contact pages: [http://www.theaustralian.com.au/contactus The Australian (contact us)] and [http://www.australianit.news.com.au/contactus Australian IT (contact us)]<br />
* [http://www.thekiwiholiday.com/ The Kiwi Holiday] uses hCards for [http://www.thekiwiholiday.com/view-hostels New Zealand Hostels], [http://www.thekiwiholiday.com/view-restaurants New Zealand Restaurants], and [http://www.thekiwiholiday.com/view-activities New Zealand Activities]. Also provides hCard "download to address book" functionality on listing detail pages, e.g. [http://www.thekiwiholiday.com/restaurant/tonys-steak Tonys Steak Restaurant]<br />
* [http://www.qcindustries.com/ QC Industries Conveyors] uses hcards to store contact information in the site footer and in their [http://www.qcindustries.com/news/press-releases/ press releases].<br />
* [http://www.confuciusinstitute.ac.uk/ The Confucius Institute for Scotland at the University of Edinburgh] has their used a hcard to store contact information in the footer of the page.<br />
* [http://admnj.com/ Affiliated Direct Mail] is a New Jersey based direct mail company that has their contact information and footer in hCard format.<br />
* [http://www.golfdigest.com/ Golf Digest] now supports hCard in its [http://www.golfdigest.com/courses/places Course Finder] detail pages. [http://www.golfdigest.com/courses/places/2483 example]<br />
* [http://dev.opera.com/authors/ Dev Opera] Opera's developer site uses hCards on the author details pages.<br />
* [http://chrischerry.name/ Chris Cherry's contact page with his hCard]<br />
* [http://www.kiteboarder.com.au/php/search.php www.kiteboarder.com.au] A new Australian kiteboarding portal. Microformats have been used so that users can export the shops <s>directly to outlook</s>. I was able to learn microformats through the Media 2007 conference in London. Author: Damien King<br />
* [http://krevi.dk/ KREVI] A Danish research institute. Using hCard in the footer of each page and on staff list. This is the first known danish website from the public sector of Denmark using microformats.[http://krevi.dk/om-krevi/organisation/medarbejdere example staff list]<br />
* [http://www.hss.ed.ac.uk/web-team/ College of Humanities and Social Science Web Team's site], University of Edinburgh uses a hCard in the footer of each page.<br />
* [http://www.theglobeandmail.com/ globeandmail.com] Canada's National Newspaper uses an hCard for their contact information.<br />
* [http://www.logisteam.pl/ Krzysztof Rucinski] uses an hCard for his contact details on [http://www.logisteam.pl/kontakt.html Logisteam keylogger contact] page.<br />
* Creation design & marketing has hCards throughout the site, including the [http://www.creation.uk.com/contact/ contact page], the [http://www.creation.uk.com/company/leigh-scott/ company profile pages] and on the [http://www.creation.uk.com/news/2007/06/06/easy-money/#comments-view comments on articles]<br />
* [http://www.thomsonlocal.com/ ThomsonLocal.com], major UK business directory publisher, use hcard on the search results and company information pages.<br />
* [http://www.corissia.com Corissia Group Hotels in Crete Greece] have included contact information as a hCard on the footer of every page of the website. There is a multilingual implementation as well.<br />
* [http://zucchetti.co.uk/2007/03/06/simple-address-formatting-solution/ Laura Zucchetti] illustrates a simple address formatting solution as a hCard and marked up in a definition list. <br />
* [http://www.feike.de/Kontakt.html Feike Contact] has a hCard on to top of the page.<br />
* [http://www.londondrum.com/ London Drum] uses a whole host of microformats - there are hcards and geo's on the hotel pages, events are written up in hcalendar format on the cityguide page, and you can also find some hreviews as well (like on the [http://www.londondrum.com/hotels/athenaeum.php Athenaeum Hotel page]) <br />
* [http://www.regels-stadskanaal.nl/ Regelingenbank Stadskanaal] has a hCard on each page, containing Geo-information too. <br />
* [http://www.tomstone.se Tom Stone - Trollkarl] has a hCard in the footer of each page of the site.<br />
* [http://www.rolandinsh.lv/ Rolands Umbrovskis]'s home page has hCard in [http://www.rolandinsh.lv/?ro=contacts contact page] and all other pages with contact information.<br />
* [http://twitter.com Twitter] uses hCard for user information (along with [http://ihack.us/2007/05/14/twitter-gets-microformatted/ several other microformats])<br />
* [http://www.bendodson.com/developer/ Ben Dodson] uses an hCard for his contact details on every page of his site as well as using hCards for any XFN relationships in his blogrolls.<br />
*[http://www.pats.ua.ac.be/group PATS Group Members] uses hCard to mark up member contact information.<br />
*[http://couchsurfing.com CouchSurfing] has limited information in hCard available on members' profiles (such as [http://www.couchsurfing.com/people/guaka Guaka's]).<br />
* [http://kpumuk.info Dmytro Shteflyuk] uses an hCard on his [http://kpumuk.info/contact/ contact] and [http://kpumuk.info/curriculum-vitae/ curriculum vitae] pages.<br />
* The [http://www.bayofislands.net/ Bay of Islands] site has implemented hCard on all listing pages, eg: [http://www.bayofislands.net/accommodation/backpackers/saltwater-lodge/ Saltwater Lodge]<br />
* [http://people.cs.uchicago.edu/~mpschaef/index.html Merrick Schaefer] is psyched to use hCard on his homepage for his contact info.<br />
* Christian Hess (from San José, Costa Rica) has an hCard in his [http://www.hess-cr.com home page], [http://www.hess-cr.com/utilidades/correo.shtml#postal contact] and [http://www.hess-cr.com/secciones/curriculum/datos.shtml personal résumé] pages (all in Spanish). He also recommends using the [https://addons.mozilla.org/es-ES/firefox/addon/4106 Operator] extension in Firefox to check them out.<br />
* [http://www.JamPlanet.com Jam Planet] uses hCard in Contact Us page; application can generate hCard for a contact.<br />
* [http://www.anisfield-wolf.org/ The Anisfield-Wolf Book Awards], designated specifically to recognize works addressing issues of racism and diversity, uses hCard for the author bios of [http://www.anisfield-wolf.org/Winners/PastWinners/ past winners].<br />
* [http://www.buy-our-honeymoon.com/ Buy Our Honeymoon], a [http://www.buy-our-honeymoon.com/registry honeymoon registry] service, uses hCard in their [http://www.buy-our-honeymoon.com/contact Contact Us] page.<br />
* '''W3C webmaster''' [http://www.w3.org/People/Jean-Gui/ Jean-Guilhem Rouel] now has an hCard.<br />
* [http://source.ibegin.com/ iBegin Source] - All 10.8+ million business listings have their information marked up in hCard. Example: [http://source.ibegin.com/california/adelanto/aeronautical-supplies/general-atomics-9779-yucca-rd-1.html General Atomics]<br />
* [http://david.weekly.org/ David Weekly] has added an hCard to his home page for himself.<br />
* [http://ficlets.com/stories/12 Ficlets] story page uses hCard for author bio.<br />
* [http://redmonk.com/contact/ RedMonk Contact page] uses hCard for RedMonk firm as well as each analysts.<br />
* [http://source.ibegin.com/ iBegin Source] uses hCard to identify business information for all 10.5+ million businesses listed.<br />
* [http://cloudislands.com/contact.php Cloud Islands] uses hCard for our Contact Info.<br />
* [http://www.international.unt.edu UNT International] uses hCard to mark up contact information sitewide (see esp. [http://www.international.unt.edu/offices/ieli/people/instructors/profiles the IELI instructor profile listing])<br />
* [http://www.giraffo.de giraffo.de] has different hCards on every page (+ geo in "kontakt")<br />
* [http://www.enap.com ENAP, Inc.] lists the HR Contact in hCard format on the [http://www.enap.com/career.aspx Career Opportunities] page.<br />
* [http://sxsw07.conferenceer.com/people Conferenceer] lists panelists and participants to the 2007 South by Southwest interactive conference in hCard format<br />
* [http://news.stanford.edu Stanford News] (Redesign) hCard in the footer on every page as well as markup for every staff member on the Staff page.<br />
* [http://www.wikiservice.at/fractal/wikidev.cgi?FR/EveMoreau Valérie-Eve Moreau] has an hCard on her wiki-homepage.<br />
* [http://en.wikipedia.org/wiki/St_George%27s_Minster%2C_Doncaster St George's Minster, Doncaster, on Wikipedia]<br />
* AOL Journals publishes hCards for authors. [http://journals.aol.com/carowill/whats-happening Example]<br />
* Ian McKellar's [http://ian.mckellar.org/ home page] is an hCard that's styled to look like a business card.<br />
* [[Christophe Ducamp]]'s hCard based on [http://www.wikiservice.at/fractal/wikidev.cgi?FR/MicroFormats/ChristopheDucamp wiki personal page] of a wiki-branch which could be dedicated to seed a french group to support microformats. Thanks to Laurent Lunati for the CSS. You can [http://www.wikiservice.at/fractal/wikidev.cgi?action=edit&id=FR/MicroFormats/ChristopheDucamp edit it]. Any suggestions welcome.<br />
* [http://www.matthewwest.co.uk Matthew West] has an hCard on his [http://www.matthewwest.co.uk/email contact] page.<br />
*[http://www.webmaster.waw.pl PaweÅ Wrzosek] Freelance webdeveloper`s portfolio<br />
*[http://www.stanford.edu/ Stanford.edu] hCard markup is included in the footer of the homepage and all subsequent pages within the /home directory.<br />
*[http://openid.ne.jp OpenID.ne.jp] First OpenID provider service in Japan(æ¥æ¬èª). Each personal OpenID page (ex:[http://eouia.openid.ne.jp http://eouia.openid.ne.jp]) is marked up as his hCard. And there is a company hCard on every page, too.<br />
* [http://www.qwertycars.co.uk/garages/mechanics-near-tadworth-kt20.aspx UK Car Garages] Address of car mechanics in the UK, in hCard format.<br />
* [http://www.columbiaautomation.com/sub/contact.php Columbia Automation]'s About Us page every employee marked up as an hCard, as well as having a company hCard with geo information.<br />
* [http://www.pointermix.com Pointermix Design] uses the hCard format.<br />
* [http://eight6.com/contact/ eight6]'s contact page uses the hCard format.<br />
* [http://www.raveaboutit.com.au Rave About It]'s business listings use the hCard format.<br />
* [http://optics.org/cws/Contact/OurTeam.do optics.org]'s team page.<br />
* [http://www.robcottingham.ca/contact Rob Cottingham]'s first foray into microformats is an hCard on the contact page of his personal blog. (He was inspired by Tantek Ãelik's presentation at Web Directions North 2007.)<br />
* [http://seattleu.edu Seattle University] uses hCard on it's front page and most pages that share an official template. <br />
* [http://www.josemarti.waw.pl Jose Marti XXII Secondary School in Warsaw] includes hCard on Contact and About Author sections<br />
* [http://www.jaama.co.uk Jaama] have their company details as a vCard download on their [http://www.jaama.co.uk/Contact.aspx contact] page.<br />
* [http://3amproductions.net 3AM Productions] has company details marked up as hCard all across the site and particularly for [http://3amproductions.net/jason.php Jason] and [http://3amproductions.net/gilbert.php Gilbert]<br />
* [http://jc-development.co.uk/ JC's Development] has company contact details as hCard.<br />
* [http://berlin.barwick.de/index.html Berlin Guide] is converting their address markup to hcard, e.g. [http://berlin.barwick.de/shopping/kadewe-kaufhaus-des-westens.html KaDeWe] <br />
* [http://www.xlntads.com XLNTads] has their contact information marked up in hCard, as well as their development schedule/timeline in hCalendar<br />
* [http://derrick.pallas.us Derrick Pallas] tells people to look for him here.<br />
* [http://bluemonkcreative.com/contact/ Bill Turner] adds an hCard to the contact page of his freelance business' website.<br />
* [http://www.oppenheim.com.au/ James Oppenheim's blog] includes an inline author hCard in the footer of each page and also on the contact page.<br />
* [http://steinhardt.nyu.edu/ NYU Steinhardt] has [http://steinhardt.nyu.edu/faculty_bios/list/Faculty 240+ faculty bios marked up], e.g. [http://steinhardt.nyu.edu/faculty_bios/view/Susan_Murray].<br />
* [http://www.boogdesign.com/aboutus.html boogdesign.com] has added hCard markup on the contact page.<br />
* [http://www.gptg.org/ Great Places To Golf], hCards for golf clubs around the world, e.g. [http://www.gptg.org/club/12/]<br />
*[http://www.travellerspoint.com/ The Travellerspoint Travel Community] has added hCards to all of their member profiles (e.g. [http://www.travellerspoint.com/member_profile.cfm?user=jax_07]). Details include name, photo, location, notes and url. <br />
* The [http://www.westmidlandbirdclub.com/ West Midland Bird Club] in the English Midlands uses hCard on its [http://www.westmidlandbirdclub.com/ home page], [http://www.westmidlandbirdclub.com/diary/ events diary], [http://www.westmidlandbirdclub.com/club/contact.htm contact pages], [http://www.westmidlandbirdclub.com/site/links.htm links page], [http://www.westmidlandbirdclub.com/club/older.htm list of the world's oldest bird clubs] and in a page footer which is gradually being rolled out across the whole site. {{UpdateMarker}} Page-footer's hCard now has logo, using [[include-pattern]].<br />
*[http://wizardishungry.com/blog/ wizardishungry/blog] has the author's hCard in the footer of every page with a link to X2V.<br />
* [http://www.walkerfineart.com Walker Fine Art Gallery] Most pages contain an hCard in the footer.<br />
* [http://chewbittel.com/contact.php Chew Bittel Assoc., Inc.] is an organization hCard. It's got abbr's in there, and a duplicate telephone field, and some hidden things. I'm really pushing things to the limit here. This should be a great test for your parser.<br />
* Scott Allan Wallick's hCard is [[User:ScottWallick|his user page]] and on his blog, [http://www.plaintxt.org/about/2/ plaintxt.org]<br />
* [[User:Bob_Jonkman|Bob Jonkman's hCard]] '''on this 'wiki'''' <br />
* [http://thetenwordreview.com The Ten Word Review] simply contains ten word long reviews. All reviews are marked up as [[hreview|hReviews]], and user information is marked up as hCards.<br />
*OffshoreAgile.com, a subsite of Starsoft Development Labs, uses hCard in the [http://www.offshoreagile.com/company/contact/ Starsoft Contacts] and Media Inquiries sections<br />
*T-Mobile uses hCard for the [http://t-mobilepressoffice.co.uk/press/contact-details/ T-Mobile UK Press Contact Details page], as well as for some of the latest press releases<br />
* Psychology Press and Routledge's Behavioral Sciences' publishing division have implemented hCard on their contact pages on 17 of their websites (example on the contact page on their [http://www.clinicalpsychologyarena.com/contact/ Clinical Psychology Arena])<br />
* [http://www.drycleaning.com.sg Singapore Dry Cleaning] uses hCard on Contact us page [http://www.drycleaning.com.sg/contact.html Singapore Dry Cleaning Contact] & Article page [http://www.drycleaning.com.sg/articles.html Singapore Dry Cleaning Blog]<br />
*[http://72ppi.us 72ppi], uses hCard in the footer.<br />
*[http://www.csarven.ca Sarven Capadisli] uses hCard throughout the site (including user comments in articles).<br />
* [https://www.urbanbody.com/information/contact-us Urban Body Men's Clothing] uses hCard for business locations and hCalendar for business hours.<br />
* [http://www.iqair.us/ IQAir North America], uses hCard for contact information.<br />
* [http://www.infoiasi.ro/ The website of the Faculty of Computer Science], "A. I. Cuza" University Ia&#351;i, Romania uses hCard for each staff member.<br />
* [http://www.finds.org.uk/ The Portable Antiquities Scheme at the British Museum] hCards added to footer of every page and to contacts section. Working on adding more and getting it right.<br />
* In [http://www.ideasfornet.com/ IdeasForNet.com - the ideas repository] hCards were implemented partially in the footer of each page, and more comprehensively in the contact and about pages.<br />
* The [http://www.cst.ed.ac.uk/ Centre of Canadian Studies] at the University of Edinburgh use hCards for contact information in the footer of their site.<br />
* [http://www.theatrestudies.llc.ed.ac.uk/ Theatre Studies: European Theatre] at the University of Edinburgh use hCards for contact information on their home page<br />
* [http://www.carolinemockett.com/design/about.aspx Caroline Mockett] has an hCard on her About Me page<br />
* [http://wait-till-i.com Christian Heilmann] has a footer address using hCard<br />
*[http://www.audience-response-rentals.com/ Audience Response System Rentals] uses hcard as a popup in the site accessibility area (lower right) for easy copy and paste of address by customers.<br />
* [http://www.fischsolutions.com/ Fisch Internet Solutions] uses an embedded hCard and a vCard download to provide customers an easy way to contact them on their [http://fischsolutions.com/contactus.html Contact Us] section of the website.<br />
* [http://www.micatholicconference.org/ Michigan Catholic Conference] uses hCard for contact information in the sidebar.<br />
* [http://www.adambunn.co.uk/ Adam Bunn] provides contact details in the sidebar using hCard.<br />
* [http://www.belkin.com/pressroom/releases/uploads/10_10_06NotebookExpansionDock.html Belkin Press Releases] are using hCards for PR contacts and corporate offices.<br />
* [http://mybank.com myBank.com] uses hCard for its listings of every branch of every FDIC-insured bank in the United States.<br />
* [http://leftlogic.com Left Logic] uses hCard for embedded contact information.<br />
* [http://inga-art.co.uk/artist Inga Scholes] uses hCard for contact information in the sidebar.<br />
* [http://www.lussumo.com/ Lussumo] uses hCards on user profile pages in its open-source [http://www.getvanilla.com/ Vanilla] Discussions Forum software.<br />
* [http://www.creative-ways.nl/ Ron Kok] uses hCards to mark-up the names and URLs of commentors on his blog. He also uses hCards in combination with XFN in his blogposts to refer to friends, and has an hCard for himself on every page on his blog.<br />
* [http://tagg.no Tagg Media] uses hCard for [http://heine.tagg.no/contact.php contact information] and provide link to vCard download in the contact section.<br />
* [http://www.windowgrill.com.sg Window Grill Singapore] uses hCard on Contact us page [http://www.windowgrill.com.sg/contact.html Window Grill Singapore Contact] & Article page [http://www.windowgrill.com.sg/articles.html Window Grill Singapore Blog]<br />
* The article about the fictitious Matrix character [http://en.wikipedia.org/wiki/Neo_%28The_Matrix%29 Thomas A Anderson in Wikipedia] is now marked up with hCard.<br />
* [http://dconstruct06.madgex.com/ d.Construct 2006 Backnetwork] uses hCards for conference delegates (and provides the markup so that delegates can copy and paste cards into their own sites).<br />
* [http://www.brown.edu Brown University] now uses hCard on the front page<br />
* [http://www.wideblueyonderweb.co.uk Dunks at Wide Blue Yonder Web Design] has added hCard markup on his [http://www.wideblueyonderweb.co.uk/wbyw/pages/contact.htm contact page] and is looking to implement it on all past & future contact pages for clients.<br />
* [http://southamptonrubberstamp.com Southampton Rubber Stamp Company] now has hCard markup with a vCard download link on every page.<br />
* [http://barefoot-ceramics.com Barefoot Ceramics paint your own pottery studio] (in Newport, South Wales) has added hCard markup to its [http://barefoot-ceramics.com/find#address "Find"] page and other address instances. They hopes to implement hCalendar event lists as soon as an ics to hCalendar PHP class can be found or written.<br />
* [http://dsingleton.co.uk/ David Singleton] has added a hCard to his blog.<br />
* [http://www.thestreet.org.au The Street Theatre (Canberra, Australia)] has added hCard markup to its [http://www.thestreet.org.au/contact.htm Contact Us] page. hCalendar markup will soon be added for all of our performances.<br />
* [http://www.informatik.uni-hamburg.de/SVS/personnel/henrich/index.php Henrich C. P&ouml;hls] has marked up his about page using hcard, including his PGP-Key that is stored in an abbr title, using class=key.<br />
* [http://www.yalf.de Yalf Webentwicklung] has [http://www.yalf.de/kontakt contact information] available as hCard (and vCard).<br />
* [http://www.zeldman.com/about/ Jeffrey Zeldman]. Jeffrey Zeldman has marked up his about page using hcard.<br />
* [http://WhereAreYouCamping.com Where Are You Camping]. hCards for all members and camps, employing the include pattern as well. AFAIK this is the first Burning Man related microformats implementation, not to mention addresses in Black Rock City.<br />
* [http://www.clacksweb.org.uk Clackmannanshire Council ]. hCard is implemented for all contact details across the site, and for specific individuals such as elected members (Councillors).<br />
* [http://www.webdirections.org Web Directions]. hCard is used as contact information for the conference, while speakers are marked up with hCard.<br />
* [http://www.markthisdate.com/contactform.html MarkThisDate.com]. An hCard is implemented on our contact form. For our calendars hCalendars will follow as soon as possible.<br />
* [http://www.msiinet.com/contact/ MSI Systems Integrators] has its &quot;Contact MSI&quot; page encoded with hCards.<br />
* [http://www.coolblue.nl/ Corporate website of Coolblue BV]. hCards were implemented in both the footer of each page, and in the "News" section for press contact information.<br />
* [http://www.besancon.fr/index.php?p=32 Official site of Besançon (France)] uses hCard for each page concerning the small towns surrounding Besançon.<br />
* [http://2006.dconstruct.org/speakers/ d.Construct 2006 conference speakers list] is implemented using hCards.<br />
* [http://local.yahoo.com Yahoo Local] now supports hCards for business and places in the search results<br />
* [http://learningtheworld.eu/imprint/ Learning the World] has hcard information on the imprint, alas we didn't succeed to mark-up the work phone and fax numbers properly.<br />
* The [http://www.fuckparade.org Fâparade] website uses hCard, though I didn't find a type to distinguish mobile and landline phone numbers.<br />
**Use <code>cell</code> for mobiles.<br />
* [http://www.miranet.nl/contact.htm Miranet Webdesign] have added a hcard to their [http://www.miranet.nl/contact.htm 'contact' page]<br />
* [http://weblog.200ok.com.au/ Ben Buchanan] has added a vCard to the [http://weblog.200ok.com.au/about/ 'About' page on The 200ok Weblog]<br />
* [http://www.radiantcore.com Radiant Core] has their contact information [http://www.radiantcore.com/contact/ available in hCard].<br />
* [http://www.mikerumble.co.uk/ Mike Rumble] has [http://www.mikerumble.co.uk/contact.html uploaded his hCard].<br />
* [http://www.saumag.edu/ Southern Arkansas University] has its contact footer encoded as hCard<br />
* [http://main.uab.edu/ University of Alabama at Birmingham] has its contact footer encoded as hCard<br />
* [http://www.capital.edu Capital University] has contact footer and bloggers' names encoded as hCard. Also, all page-specific contact information is encoded as hCards (see [http://www.capital.edu/Internet/Default.aspx?pid=67 Admissions] page for an example)<br />
* [http://main.uab.edu/shrp/ UAB School of Health Professions] uses hCard in its contact footer<br />
* [http://green.carisenda.com/ Stephen Stewart] has his hCard on the front page of his weblog ('You are here' section)<br />
* [http://www.direction.es/ Direction] uses hCard for contact information.<br />
* [http://audiobank.tryphon.org AudioBank] uses hCard to display member informations.<br />
* [http://www.vivabit.com/atmedia2006/speakers/ @media speakers] are marked up with hCard (photos depend on BASE tag support which makes this a good test case)<br />
* [http://www.dougransom.com Doug Ransom] uses hCard for his financial advisory practice. <br />
* [http://rubyandrails.org/usergroups/newcastle/members.html ncl.rb] uses hCard for contact information.<br />
* [http://www.snowinteractive.com/ Snow Interactive] uses hCard for contact information.<br />
* [http://flickr.com Flickr] now supports [[hcard|hCard]] and [http://gmpg.org/xfn XFN] on profile pages. See [http://flickr.com/photos/factoryjoe/113866484/ screenshot of Flickr UI in Flock browser using Flocktails extension - March 17th 2006].<br />
* [http://www.ndiyo.org/contact Contact information for the Ndiyo project]<br />
* [http://www.pixelenvy.co.uk/ Pixel Envy] uses hCard for contact information on every page<br />
* [http://stilbuero.de/contact/ Klaus Hartl] uses hCard in the sidebar for contact information (maybe easier to parse through delivering xhtml as xml).<br />
* [http://charlvn.virafrikaans.com/contact Charl van Niekerk's hCard]<br />
* [http://billy-girlardo.com/WP/ BillyBLOGirlardo] uses hCard for contact information.<br />
* [http://www.hicksdesign.co.uk/ Hicksdesign] uses hCard for contact information.<br />
* http://www.gr0w.com/articles/press/growsearch_launched_press_release/ - hCard in a press release for the press contact info<br />
* http://www.redmonk.com/cote/archives/2006/03/testing_out_mic.html - hCard with explanation<br />
* [http://andy.ciordia.info/ it's my island], personal blog, hcard on the ''[http://andy.ciordia.info/pages/about_me About the Writer]'' page. [[User:Ciordia9|Andy Ciordia]]<br />
* [http://www.windowonwoking.org.uk/ Window on Woking], a local community site in the UK, uses hCard in the homepage of each member organisation and local Councillor.<br />
* [http://ChunkySoup.net/ ChunkySoup.net] has redesigned using hAtom 0.1 and hCards on the entire site -- by [[User:ChrisCasciano|Chris Casciano]]<br />
* [http://www.30boxes.com/ 30 Boxes],a social calendar application and digital lifestyle aggregator, automatically creates an hcard for you with your account. It is found under Settings > Syndication.<br />
* [http://www.nearwhere.com/ Nearwhere.com] allow you to put an hcard on an interactive map.<br />
* [http://www.brentozar.com/ Brent Ozar] added a [http://www.brentozar.com/contact.php contact] page hCard.<br />
* [http://www.kerihenare.com/ Keri Henare] has rewritten his [http://www.kerihenare.com/contact/ contact] page hCard. Now using <code><object></code> instead of <code><img></code> for photo. (Thanks Brian Suda for updating the vCard converter)<br />
* [http://michaelraichelson.com/contact/ Michael Raichelson] had an hCard on his contact page before SXSW, but never thought to add it here until Tantek requested it.<br />
* [http://www.commoner.com/~lsimon/lindsey_simon_hcard.html Lindsey Simon] has added an hCard to his website as per Tantek's SXSW request for folks to try it <br />
* [http://www.davidgagne.net/ David Gagne] has an hCard in his sidebar.<br />
* [http://www.churchzip.com/map/ Churchzip.com/map] and [http://www.skiwhere.com/map/ Skiwhere.com/map], provide churches, hotels, and ski resorts on the same maps. Locations are formatted as hCards.<br />
* All [http://www.iqdir.com/ IQ Directory Solutions] Yellow Pages web portals use [[hcard|hCard]] markup on listings. For example [http://www.yellowpages-cambodia.com/ Cambodia Yellow Pages] and [http://www.superpages.com.my/ Malaysia Super Pages]<br />
* Ning's cloneable Group app uses fuzzy matching to map custom fields to [[hcard|hCard]] markup on its [http://group.ning.com/index.php?controller=person&action=view&content=JonathanAquino profile] pages.<br />
* [http://claimid.com/factoryjoe Chris Messina' ClaimID hCard]<br />
* [http://factoryjoe.com/ Chris Messina' homepage]<br />
* [http://flock.com/about Flock About]<br />
* [http://tantek.com/microformats/2006/03-01-TechPlenAgenda.html Agenda: W3C Technical Plenary Day, March 1 2006] has [[hcard|hCard]] and [[hcalendar|hCalendar]] markup. ([http://www.w3.org/2006/03/01-TechPlenAgenda.html original here]).<br />
* [http://www.gr0w.com/articles/press/growsearch_launched_press_release/ GrowSearch Launched (Press Release)] uses an hCard to provide Press Contact Point.<br />
* The [http://www.arborday.org/ National Arbor Day Foundation] has started using hCards for their [http://arborday.org/programs/conferences/communityforestry/index.cfm upcoming] [http://arborday.org/programs/conferences/hazardtrees-treeplanting/ conferences].<br />
* [http://www.multipack.co.uk The Multipack] has numerous hCards, especially on the [http://www.multipack.co.uk/members/ members page], as well as the next meeting information.<br />
* [http://deadringrancor.livejournal.com/ Justin McDowell] used an hCard when [http://deadringrancor.livejournal.com/221332.html referring to a person in his blog post]<br />
* [http://davecardwell.co.uk/cv/ Dave Cardwell] has included his hCard in his Curriculum Vitae.<br />
* [http://blog.usweb.com/ Shaun Shull] has written a great post on [http://blog.usweb.com/archives/how-microformats-affect-search-engine-optimization-seo How Microformats Affect SEO], and has included his [[hcard|hCard]] as one of the examples.<br />
* [http://www.thefutureoftheweb.com/ Jesse Skinner] has written a simple [http://www.thefutureoftheweb.com/blog/2006/1/hcard tutorial with examples]<br />
* [http://www.w3.org/2005/12/allgroupoverview.html 2006 W3C Technical Plenary Week] has marked up the venue, contacts, and program committee members all with hCard.<br />
* [http://www.avf-nexus.co.uk AVF-Nexus] have a hCard on their [http://www.avf-nexus.co.uk/contact/ contact page] - (by [http://creation.uk.com Creation"])<br />
* [http://www.thefantasticos.com/andrew/ Andrew White] posted [http://www.thefantasticos.com/andrew/index.php/my-hcard/ his hCard] and [http://www.thefantasticos.com/andrew/index.php/62/microformats-the-should-have-been-obvious-web-dev-tool/ blogged about it].<br />
* [http://www.2sheds.ru Oleg "2sheds" Kourapov] in his [http://www.2sheds.ru/blog/ blog] ([http://suda.co.uk/projects/X2V/get-vcard.php?uri=http://www.2sheds.ru/blog X2V]) has turned personal profile into hCard ([http://suda.co.uk/projects/X2V/get-vcard.php?uri=http://www.2sheds.ru/blog/hcard.html X2V]) and his blogroll - into combination XFN/hCards ([http://suda.co.uk/projects/X2V/get-vcard.php?uri=http://www.2sheds.ru/blog/friends.html X2V])<br />
* [http://www.approveddesign.co.uk Approved Design Consultancy] have a hCard on their [http://www.approveddesign.co.uk/about/contact/ contact page] as well as on their [http://www.approveddesign.co.uk/about/people/ people section] - (by [http://creation.uk.com Creation"])<br />
* [http://weblog.200ok.com.au/ Ben Buchanan] and [http://www.griffith.edu.au/cgi-bin/phone_search.pl?string=colin+morris&format=search Colin Morris] have [http://weblog.200ok.com.au/2006/01/griffith-phonebook-adds-hcard-and.html implemented hCards and vCards] for the [http://www.griffith.edu.au Griffith University] [http://www.griffith.edu.au/find/content_phonebook.html online phone book]. Eg. [http://www.griffith.edu.au/cgi-bin/phone_search.pl?string=ben+buchanan&format=search Ben's vCard] and [http://www.griffith.edu.au/cgi-bin/phone_search.pl?string=colin+morris&format=search Colin's vCard]<br />
* WWF-Australia [http://wwf.org.au/about/contactdetails/ contact details page]<br />
* [http://rasterweb.net/raster/ Pete Prodoehl] used the hCard format on his [http://rasterweb.net/raster/contact.html Contact page] and his [http://rasterweb.net/portfolio/ Portfolio]<br />
* [http://amette.eu amette] uses the hCard format in a module of his TikiWiki powered blog and a more complete hCard on his [http://amette.eu/contact contact page]<br />
* [http://staff.washington.edu/oren/weblog2/ Oren Sreebny] has an hcard on his blog main index template <br />
* [http://www.cs.brandeis.edu/~zippy/ Patrick Tufts] has an hCard on his homepage.<br />
* [http://ascii20.blogspot.com/ Mathias Kolehmainen and Jamie Taylor] have hCards on their weblog.<br />
* [http://www.hoppsan.org/jamesb/blogger/ Barnaby James] has a hCard on his weblog.<br />
* [http://esa-education.com/schools/map ESA Education] Uses hCards for their 100+ schools and each of the individual school sites.<br />
* [http://www.thereisnocat.com/#vcard Ralph Brandi] has added an hCard to the sidebar of his weblog as a result of Tantek Ãelik's portion of the Microformats presentation at SXSW 2006.<br />
* [http://www.pierce.ctc.edu/ephone/ Pierce College] -- community college directory uses hCard on all individual directory entries.<br />
* [http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/ the Institutional Web Management Workshop 2006] have marked up all their [http://www.ukoln.ac.uk/web-focus/events/workshops/webmaster-2006/committee/ speakers with hCard].<br />
* http://wikitravel.org/en/Singapore/Sentosa. Wikitravel is experimenting with hcard on its travel guides. This guide uses hcard for all its business listings. More info on http://wikitravel.org/en/Wikitravel_talk:Listings.<br />
* [http://www.musik-erber.de/ Musik-Erber] uses to present contact information at the sidebar<br />
* [http://cdevroe.com/about/#contact Colin D. Devroe] uses hCard to display his contact information on his about page<br />
* The ECS (Scool of Electronics and Computer Science at the University of Southampton) [http://www.ecs.soton.ac.uk/people People Pages] use vCard. Contact cjg@ecs.soton.ac.uk if there's any bugs.<br />
* [http://www.southwestern.edu/~ramseyp Pat Ramsey] has his contact information on his blog marked up with hCard. Contact [mailto:ramsey.pat@gmail.com ramsey.pat@gmail.com] if there are any bugs there.<br />
* [http://www.vyre.com/company/contact-us/ VYRE] is a CMS development company with a "contact us" hCard<br />
* [http://www.lefdal.cc/info.php Alf KÃ¥re Lefdal] uses hCard in the markup of his contact information<br />
* [http://www.pignwhistle.com.au/ Pig N Whistle, a chain of pubs in Brisbane, Australia] is using hcard to mark up all the contact pages for its outlets and head office<br />
* [http://www.applianceman-repair-fortbend.com/ac-air-conditioning-repair-katy-tx.html Air Conditioning Katy TX] uses hCard in the footer of the air conditioning repair website. To view an example visit [http://www.applianceman-repair-fortbend.com/sugar-land-appliance-repair.html Appliance Repair Sugar Land]<br />
* [http://kollitsch.de/ Patrick Kollitsch] has built his personal Profil as hCard<br />
* [http://www.audiophile.pl/ Car Audio] uses the hCard in his contacts section.<br />
* [http://www.hbs.edu/faculty/dspar/ Harvard Business School] has hCards on their faculty pages<br />
* [http://openmikes.org/ openmikes.org] uses hCards for open mike venue addresses in its listing detail pages.<br />
* [http://www.intertecnollc.com/ InterTecno, LCC] publishes an hCard on the home page and contact page.<br />
* [http://canaltcm.com/ver/sobre-tcm Turner Classic Movies TCM Spanish website] has published contact details as a hCard<br />
* [http://rejuvenation.com/ Rejuvenation] is now using hCard for contact information.<br />
* [http://www.mattash.com/contact/ Matthew Ash] uses the hCard in his contacts section.<br />
* [http://www.atbbuildinginc.com/ Kitchen Remodeling Detroit] uses the hCard in the footer section of the home remodeling website. To view an example visit [http://www.atbbuildinginc.com/kitchen-remodeling-farmington-hills.html kitchen remodeling farmington hills mi]<br />
* [http://www.metrohomeimprovementsinc.com/ General Contractor Detroit] uses the hCard in the header section of the contractor website. To see example visit [http://www.metrohomeimprovementsinc.com/insulation.html insulation contractor detroit]<br />
* [http://yarmouthguide.com/business.php Yarmouth Guide] uses hCard for each business details page.<br />
* [http://www.merchantcircle.com MerchantCircle] has embedded an hCard in every one of their 15+ million US business listings.<br />
* [http://citizenspace.us/citizens Citizen Space Citizens] is a list of tenants for a coworking space in San Francisco. The issue was raised that ''nicknames'' are usually located in the middle of ''fn'', which is not valid as per the [http://microformats.org/wiki/hcard-brainstorming#Implied_FN_from_N Implied_FN_from_N] rule. It seems that it should be possible, however, to include a ''nickname'' in the middle of an FN or even between a ''given-name'' and a ''family-name''.<br />
<br />
* [http://www.brownbook.net The Brownbook - the open yellow pages] The Brownbook is a peer-produced (like a wiki, but not a using a wiki engine) local business search website. It Uses hCard to allow users to export local business contact details to Outlook or other desktop apps, plus for providing detailed maps from Google. <br />
** Example of a search results page: [http://www.brownbook.net/business/search/?tag=hair+in+egham&x=21&y=4 Hairdressers in Egham]<br />
*** '''suboptimal''': Adresses, e.g "2 Station Rd North, Egham, Surrey", are marked up as <code>street-address</code><br />
** Example of a single business's details [http://www.brownbook.net/business/view/122516 The Hair Emporium].<br />
*** '''suboptimal''': Adresses, e.g "2 Station Rd North, Egham, Surrey", are marked up as <code>street-address</code><br />
* [http://www.Sylphen.com Sylphen] is a IT-solutions-provider and uses hCards on the [http://www.sylphen.com/content/kontakt/kontakt.htm Contact]<br />
** '''invalid''' two of the three examples lack the required <code>fn</code> or <code>fn org</code> property<br />
* [http://www.cosmotourist.com www.cosmotourist.com] and [http://www.cosmotourist.de www.cosmotourist.de] A new German and English portal around travel tips. Using hidden hCard for hotel listings, wherever address data is available. <br />
**Hidden.<br />
* [http://www.venncommunications.com/contact/ Venn] uses a hidden hCard on the contact page. <br />
**Hidden.<br />
* [http://www.last.fm Last FM] has hCards hidden on their profile pages e.g. [http://www.last.fm/user/Crok/?scrobbling=t1].<br />
**Hidden.<br />
* [http://krisswatt.co.uk/ Kriss Watt] has hidden an hCard his blog footer.<br />
**Hidden.<br />
* [http://www.fberriman.com/ Frances Berriman] has a hidden vCard in the footers of her website.<br />
**Hidden.<br />
* [http://www.candlescience.com/ CandleScience Candle Supply] added a hidden hcard sitewide.<br />
**Hidden.<br />
* [http://www.meryl.net/ Meryl K. Evans] has a hidden hCard on her homepage.<br />
**Hidden.<br />
* [http://www.highflyerscareers.com High Flyers Careers], India's first flight-crew placement agency uses microformats for their [http://www.highflyerscareers.com/corporate/ corporate information] page. Using standards couldn't be easier or better.<br />
**Has honorific prefixes as part of "fn", rather than marked up separatley.<br />
* Spotstor.com eg - [http://spotstor.com/] uses hCard on profile pages (where user has elected to show contact information).<br />
<br />
* [http://www.naturalengland.org.uk/press/default.htm Natural England] (new UK government agency, formed 2006-10-01). <br />
** No "fn" - which makes it invalid.<br />
*[http://drop-off.co.uk G3:2] uses hCard with geo tags in the copyright and on the about me page<br />
** Address data is hidden using CSS. <br />
* [http://zdnet.co.uk/misc/contact/ ZDnet Contact Us Page] supports [[hcard|hCard]].<br />
** by [http://www.subtleasafish.com/ James Myers] and [http://www.fromthefrontend.co.uk/2006/11/23/zdnet-uses-microformats/ David Long]<br />
**Images and e-mail addresses are hidden; telephone numbers do not comply with [http://en.wikipedia.org/wiki/E.123 E.123]<br />
* [http://gbraad.nl/ Gerard Braad] has published an example on his [http://gbraad.nl/site/?p=profile profile] page that is almost consistent with his original [http://gbraad.nl/files/gbraad.vcf vCard] file. Also progress is made for transforming his [http://files.gbraad.nl/foaf.rdf FoaF] file to a hCard encoded representation (also done for my spouse:[http://spouse.gbraad.nl/site/?p=profile Yong Yuan])<br />
** (2005-09-27) PASSED, PASSED<br />
** WARNINGS<br />
*** uses 'n given-name' and 'n family-name' instead of nesting the given- and family- names inside the 'n'<br />
*** has one 'tel' value with a bunch of values stuffed in<br />
*** probably more problems --[[User:RyanKing|RyanKing]] 17:19, 5 Jan 2006 (PST)<br />
* [http://kinrowan.net/ Cori Schlegel] [http://kinrowan.net/blog/wp/archives/2005/07/08/a-problem-with-the-structured-blogging-plug-in-for-wordpress/ discusses how he has updated] [http://kinrowan.net/blog/contact his contact page with hCard]<br />
** INVALID - using 'prefix' instead of 'honorific-prefix' and type's in classnames (in both adr and tel) and has two photo's (the second could be 'logo') --[[User:RyanKing|RyanKing]] 15:15, 5 Jan 2006 (PST)<br />
* [http://landsbank.fo/#hCard Landsbanki Føroya]<br />
** INVALID - using embedded RDF/XML invalidly<br />
<br />
* [http://www.yellowpencil.com/contact/ Yellow Pencil] Using microformats to present company contact information<br />
** First hcard has empty "fn" and no "n". "fn" should be with "org" -- [[User: ScottReynen |ScottReynen]] 21:29, 19 Jun 2006 (CST)<br />
<br />
* [http://www.art-switch.com/ArtSwitch/contactUs.html Art-Switch Exchange Limited] uses hCard for their contact details on their contact page.<br />
* [http://onyomo.com/ OnYoMo] uses hCard markup for all addresses listed in their local search results.<br />
* [http://vcardplus.info/show.asp?uid=Z9959-06323 Greg Bays], the author of vCardPlus! has made his sites vCard display page hCard complaint.<br />
* [http://www.rosenblittdentistry.com/contact.php Dr. Jon Rosenblitt] uses hCard icon with '''Add to Address Book''' link. <br />
* [http://www.nfwebsolutions.com/ New Frontier Web Solutions] uses hCard on their front page along with a link pointing to Brian Suda's [http://suda.co.uk/projects/X2V/get-vcard?uri=http://www.nfwebsolutions.com/ X2V].<br />
* [http://shiftingpixel.com/about/the-artist shifting pixel photoblog] has published an hCard.<br />
* [http://thoughtport.blogspot.com/ Aiden Kenny] hasn't published his hCard yet, but he has [http://thoughtport.blogspot.com/2005/07/elemental-particles-of-web.html published his hCard icon]: http://photos1.blogger.com/blogger/4224/444/320/AK-Hcard-icon.gif<br />
* [http://thedredge.org Andy Hume] uses hCards to mark-up the names and URLs of commentors on his blog, e.g. his [http://thedredge.org/2005/06/using-hcards-in-your-blog/ blog post on "Using hCards in your blog"]. <br />
* [http://www.bidclix.com/ BidClix]'s [http://www.bidclix.com/AboutContact.html Contact BidClix] page has it's ''contact info'' marked up with an hCard.<br />
* [http://suda.co.uk/ Brian Suda] has managed to embed a photo in [http://suda.co.uk/contact/ his hCard] through the [http://www.ietf.org/rfc/rfc2397.txt data URI scheme] by converting the image to BASE64 code. View the Source to see how this is accomplished. [http://suda.co.uk/projects/X2V/get-vcard.php?uri=http%3A//suda.co.uk/contact/ The X2V link] will extract the image and encode it for a vCard which will be displayed in some address book applications.<br />
** Inspired by this I thought to try the same for SVG at [http://barefoot-ceramics.com/find Barefoot] ...<br />
** &lt;img class="photo" style="display:none;" src="data:image/svg+xml;text,&lt;?xml version='1.0' encoding='UTF-8' standalone='no'?&gt;&lt;svg xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' version='1.0' width='50' height='80' id='svg3957'&gt;&lt;defs id='defs3959' />&lt;path d='M 28.91433,...32.192802 z' style='fill:#cc4d00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1' id='path9551' /&gt;&lt;/svg&gt;" alt="Barefoot"&gt;<br />
** Does it work?? Well it parses OK. Some automated tools replace the &lt; with %3C (etc., e.g. Brian Suda's vCard form). Unfortunately Kontact (KDE contacts tool) doesn't handle SVG as a vCard photo or logo format - I don't know if this is a standard. It seems it could work and maybe even does somewhere. Maybe the text field needs to be Base64 encoded? ... see [http://slashdot.org/~pbhj/journal/142382 pbhj's slashdot journal] for a bit more on this.<br />
* [http://cinematreasures.org Cinema Treasures] uses hCard to markup venue information for 10,000+ movie theaters.<br />
* [http://www.w3.org/People/Connolly/events/ Dan Connolly's index of events and talks] has hCards for many of the people he has met at those events. In Mar 2006, he moved a bunch of hotel contact info from his PDA to this page; it's now up to 32 hCards.<br />
* [http://doncrowley.blogspot.com/ Don Crowley] has published [http://www.crowley.nl/hcard.html his hCard] as well as a nifty hCard button: http://www.crowley.nl/images/hcard.png<br />
* [http://loadaveragezero.com/hnav/contact.php Douglas W. Clifton] added all types of contact information<br />
* [http://eventful.com Eventful] publishes all of its venue information pages with embedded hCards.<br />
* [http://www.iowamilitaryveteransband.com/members/ Iowa Military Veterans Band Contacts] - 95 hCards [http://weblog.randomchaos.com/archive/2005/10/24/Microformats/ marked up by Scott Reynen]<br />
* [http://JackWolfgang.blogspot.com Jack L. Wolfgang II] has [http://jack.randomata.com/resume/ converted the addresses in his resume to hCards].<br />
* [http://www.efas.fupl.asso.fr/efas/_Mathieu-Drouet_.html Mathieu Drouet] and [http://www.efas.fupl.asso.fr/efas/_Annie-Leger_.html Annie Leger] both have hCards<br />
* [http://www.oliverbrown.me.uk/ Oliver Brown] has published his hCard.<br />
* [http://www.paradigmproductions.org/contact/ Paradigm Productions] published a vCard as a <code>ul</code> (marked up by [http://www.linkingarts.com/ Peter Jacobson])<br />
* [http://www.splintered.co.uk/ Patrick H. Lauke] has marked up [http://www.splintered.co.uk/about/ his contact info with hCard].<br />
* [http://blah Paul Schreiber has published his hCard on [http://paulschreiber.com/about/?contact his about page].<br />
* [http://paulschreiber.com/blog/ Paul Schreiber]'s [http://concerts.shrub.ca/ Sunnyvale House Concerts] site publishes hCards for upcoming artists, as well as an hCard for the page itself. In addition the [http://concerts.shrub.ca/shows Past Shows] page contains hCards for all past artists.<br />
* [http://www.paulmichaelsmith.com/blog/hcard.htm Paul Smith] has created an hCard page which is Human Readable, and a link to X2V passing the same hCard page to generate a vCard.<br />
* [http://www.windley.com/archives/2005/07/hcards_trying_o.shtml Phil Windley has published] [http://phil.windley.org/hcard.html his hCard].<br />
* [http://www.go-curiosity.com/about.htm Piercarlo Slavazza] has published an hCard.<br />
* [http://zooibaai.nl/ Rob Mientjes] has published his hCard on [http://zooibaai.nl/about/ his about page].<br />
* [http://www.dumpsterrentalsdetroit.com/ Dumpster Rental Detroit] has published their hCard on the footer of every page see [http://www.dumpsterrentalsdetroit.com/ Kincaide Dumpster Rental].<br />
* [http://rbach.priv.at/Contact Robert Bachmann] has published his hCard and [http://rbach.priv.at/Images/hcard a button].<br />
* [http://blah Scott Reynen has published his hCard on [http://www.randomchaos.com/document.php?source=scott_reynen his profile page].<br />
* [http://www.stackframe.com/ StackFrame, LLC] has published [http://www.stackframe.com/people/ employee] and [http://www.stackframe.com/contact/ general] contact information as hCards.<br />
* [http://www.wolfsreign.com Steven Ametjan] has published his hCard on [http://www.wolfsreign.com/about/ his about page].<br />
* [http://tantek.com/microformats/2005/syndicate/speakers-list.html Syndicate - Speaker List] as a set of hCards<br />
* [http://tagcamp.org/index.cgi?ContactList TagCamp contact list]<br />
* [http://www.deadringerart.com/ The Brothers McDowell] have hCards at their Contact page.<br />
* [http://twinsparc.com/ Twinsparc] put an hCard in the header and footer of all their pages.<br />
* [http://tantek.com/microformats/2005/web2/speakers.html Web 2.0 Conference speakers page marked up with hCard]<br />
* [http://www.uoguelph.ca/directory/ The University of Guelph] includes hCard info in its directory.<br />
* [http://www.echildcare.com.au/ The Australian Child Care Index] has over 3000 entries listing child care services across Australia - and every single one is marked up with an hCard!<br />
* [http://www.cadforless.com/partners/ CADforless, Inc.] we listed our partners using hCard<br />
* [http://avon.com/ Avon] - publishes all 40,000+ Avon representatives' contact info with hCard.<br />
* [http://flock.com/about Flock About] page supports hCard microformat.<br />
** by [[implementations#Flock|Flock]]<br />
* [http://www.iowamilitaryveteransband.com/members/ Iowa Military Veterans Band]<br />
* [http://www.nature.com/ Nature homepage], uses [[XOXO]].<br />
** by [[implementations#Nature Publishing Group|Nature Publishing Group]]<br />
* [http://concerts.shrub.ca/shows Sunnyvale House Concerts] supports hCard and [[hcalendar|hCalendar]].<br />
* [http://www.bath.ac.uk/ University of Bath] [http://www.bath.ac.uk/contact/ Person Finder] supports hCard, e.g. see [http://www.bath.ac.uk/person/139897 Mr T Natt] page.<br />
* [http://www.monster-prague.cz/ Monster Prague Openings] supports hCard, e.g. home page, contact list to come.<br />
* [http://www.vogelelaw.com/contact.html Colette Vogele] has an hCard on her contact page with many types of name and contact information. (Marked up by [http://www.talkingtiger.net Naomi Raine]).<br />
* [http://www.fixya.com/repair/cars/us/ca/san_francisco FixYa] (the troubleshooting site) has an hCard (vCard) in the repair directory displaying information about all kinds service providers.<br />
* [http://www.alive77.cn/ z.Yleo77] it's my blog, from now on,supports hCard, eg: article pages..<br />
* [http://www.wfl-networks.co.uk/ WFL-Networks Computer Repair in Aylesbury] a localised IT Support company in Buckinghamshire, UK supporting hCard on its contact pages.<br />
* [http://www.elcafedelcentre.com/index.html El Cafè del Centre] uses an hCard for his contact information in firts place.<br />
* [http://www.petardos.org/index.php Petardos 4x4] uses an hCard for his contact information at the footer in all pages.<br />
* [http://www.artimap.com artimap.com] uses vCards for helping the javascript in-page local search-engine.<br />
* [http://www.handballkreis-koeln-rheinberg.de Handballkreis Köln/Rheinberg] uses hCard for contact informations of officials<br />
* [http://www.evopapetarie.ro] uses hCard for contact page.<br />
* [http://www.musiktagespflege-leichlingen.de Musiktagespflege Leichlingen] uses hCard for imprint and contact informations.<br />
* [http://www.siam-property.com Siam Property Thailand] uses hCard for property consultants.<br />
* [http://www.atbbuildinginc.com/ ATB Building Royal Oak MI] is using hCard on the contact page of their website.<br />
* [http://www.badspiderbites.com/ Bad Spider Bites] uses hCard on their about page for customer submissions and contact information.<br />
* [http://www.xn--mxacivya8br.net/ Φαψεβοοκ] Φαψεβοοκ uses hCard on their [http://www.xn--mxacivya8br.net/about-us/ Φαψεβοοκ about page] for customer contact information.<br />
* [http://www.xn--oxaagxsa.com.gr/ Γοογλε] Γοογλε uses hCard on their [http://www.γοογλε.com.gr/terms/about-us/ Γοογλε about page] for customer contact information.<br />
* [http://www.gogole.us.com/ Gogole] Gogole uses hCard on their [http://www.gogole.us.com/terms/about-us/ Gogole about page] for customer contact information.<br />
* [http://www.gogle.us.com/ Gogle] Gogle uses hCard on their [http://www.gogle.us.com/terms/about-us/ Gogle about page] for customer contact information.<br />
* [http://www.gooogle.us.com/ Gooogle] Gooogle uses hCard on their [http://www.gooogle.us.com/terms/about-us/ Gooogle about page] for customer contact information.<br />
* [http://www.zappbug.com/ ZappBug] uses hCard markup on [http://www.zappbug.com/contact/ their contact page].<br />
* [http://www.kalayaffa.co.il/ Kala Yaffa] uses hCard in front page describing the business.<br />
<br />
* [http://www.xn--rgba6eo.sa.com/ جوجل] Google Arabic uses hCard on their [http://www.جوجل.sa.com/terms/about-us/ جوجل about page] for customer contact information.<br />
<br />
== examples by category ==<br />
'''Want hCard?''' Get started with writing an [[hcard|hCard]] using the [http://microformats.org/code/hcard/creator hCard creator] to write up some contact information, [[validators#hCard|validate]] and publish it, or following the [[hcard-authoring|hCard authoring tips]] to add hCard markup to your current site. Check out this section for similar examples of types of pages that benefit from hCard markup.<br />
<br />
This section organizes examples into several rough categories as follows. If an example fits in more than one category, use the *last* matching category in this list that matches the specific hCard example(s) in the wild that you are trying to categorize.<br />
# '''[[hcard-examples-in-wild#Individuals|Individuals]]''' - one card per person, perhaps sort alphabetically by "family-name". People with their own hCards (typically) on their own site.<br />
# '''[[hcard-examples-in-wild#Organizations|Organizations]]''' - one card per organization, alphabetical by "fn". Organizations with their own hCard(s) (typically) on their own site.<br />
# '''[[hcard-examples-in-wild#Institutions|Institutions]]''' - which list more than one person, with a count estimating the # of hCards, e.g. 40k for Avon. Also indicate complexity of information supplied, eg. just name+number vs. complete details. Alphabetically sorted by "org" with perhaps a few individuals listed in a single sub-bullet, comma delimited, sorted by "family-name".<br />
# '''[[hcard-supporting-user-profiles|Online Profiles]]''' - which host profiles for more than one person, with a count estimating the # of hCards, e.g. 10m+ for Flickr.com. Alphabetically sorted by company / service name.<br />
# '''[[hcard-examples-in-wild#Online_Venues|Online Venues]]''' - which provide listings for businesses or organizations, with a count estimating the # of venues, e.g. ~10k for Upcoming.org. Alphabetically sorted by service/site name, with perhaps a few specific venues listed in a single sub-bullet, comma delimited, sorted by "fn".<br />
# '''[[hcard-examples-in-wild#Event_Speakers|Event Speakers]]''' - event pages where the speaker for the event is marked up with hCard.<br />
# '''[[hcard-examples-in-wild#Speakers_Listings|Speakers Listings]]''' - event sites' speakers pages where the speakers are marked up with hCard. Sort by date, sub-grouped by year. Most recent first. Perhaps a few individuals listed in a single sub-bullet each event, comma delimited, sorted by "family-name".<br />
# '''[[hcard-examples-in-wild#Group_Blogs|Group Blogs]]''' - blogs with multiple authors marked up with hCard<br />
# '''[[hcard-examples-in-wild#Wiki_Templates|Wiki templates]]''' - community wikis that have templates that automatically generate hCards on pages<br />
# '''[[hcard-examples-in-wild#Authors|Authors]]''' - pages about some other thing, such as books, perhaps reviews etc., which have marked up their authors with hCard<br />
# '''[[hcard-examples-in-wild#Search_Results|Search Results]]''' - results pages from search engines (either generic or for people/organizations) that return people marked up with hCards.<br />
# '''[[hcard-examples-in-wild#Listing_Contact|Listing Contact]]''' - contact information for a listing like a job posting, for sale offering, etc.<br />
<br />
In addition there is a separate "[[hcard-examples-in-wild#UTF8_Examples|UTF8 Examples]]" section that can be used to put another link to any hCard examples in the wild which exercise various non-ASCII7 / non-english characters for various property values.<br />
<br />
As each section itself become quite large (we might be there already, once we sort through the above "Reviewed Examples"), it will probably be moved to a separate page, leaving its heading here in place, and replacing its contents here with a link to the separate page and perhaps a stats summary.<br />
<br />
=== Individuals ===<br />
Groupings alphabetically by "family-name".<br />
<br />
Nicely styled:<br />
* [http://npdoty.name/ Nick Doty]'s home page has a very cleanly designed hCard with a map background indicating his current general geographic location.<br />
* [http://www.jaredhanson.net/ Jared Hanson]'s home page has a beautiful hCard with numerous ways of contacting him, and live updating of his online status on various messaging networks (uses javascript).<br />
* [http://timvandamme.com/ Tim Van Damme]'s home page is a beautiful hCard (click the "About" tab to have Operator recognize it if it's not immediately active).<br />
<br />
Simple web pages (sorted by family name)<br />
<br />
B:<br />
* [http://dbaron.org/ David Baron]'s home page is marked up with hCard.<br />
* [http://abernier.name Antoine Bernier]'s UID hcard:<br />
** Dynamic VCF download link (through [http://suda.co.uk/projects/microformats/hcard/get-contact.php?uri= hcard parser])<br />
** Dynamic QRcode (through [http://microform.at/hcard2qrcode/ hcard2qrcode])<br />
** Dynamic avatar (through [http://www.gravatar.com/ Gravatar])<br />
** [http://wiki2008.openid.net/Delegation openID] ready<br />
** [http://hcard.geekhood.net/?url=http%3A%2F%2Fabernier.name valid]<br />
* [http://www.eugenbusoiu.com Eugen Bușoiu]'s home page marked up with hCard<br />
C/Ç:<br />
* [http://tantek.com/ Tantek Çelik]'s home page includes an inline author hCard at the bottom of the page.<br />
* [http://www.vipulschawathe.ind.in/ Chawathe, Vipul] hosts barely (in(head)line CSS) styled resume where hCard is part of by default visible bio-data section, and other (ancestral)sections may be kept visible by user.<br />
* [http://christycollins.net/ Christy Collins]'s home page is a detailed profile hCard.<br />
* [http://christophertcressman.com/ Christopher T. Cressman] put his contact details on [http://christophertcressman.com/ Who is Chris Cressman?] and marked them up with hCard.<br />
I:<br />
* [http://monkinetic.com/ Steve Ivy] with hCard and [http://monkinetic.com/about-this-site.html about page] with the usual suspects + XFN on 'url's, photo.<br />
J:<br />
* [http://www.ryanmjones.com Ryan Jones]'s home page is also an hCard.<br />
M:<br />
* [http://factoryjoe.com/hcard.html Chris Messina] has a page set aside with his contact details.<br />
* [http://madebyjordan.com/ Jordan Moore]'s blog contains an inline hCard.<br />
R:<br />
* [http://blog.roub.net/ Paul Roub] has an hCard for himself on his blog's home page.<br />
S:<br />
* [http://www.w3.org/People/Smith/hcard/ Michael(tm) Smith has an hCard] on a page linked from [http://www.w3.org/People/Smith/ his W3C staff page]<br />
** note lack of 'n' property but explicit use of 'given-name' and 'family-name' - more evidence we should drop the 'n' requirement (flatter is better) [[User:Tantek|Tantek]] 04:10, 6 May 2011 (UTC)<br />
T:<br />
* [http://paultarjan.com Paul Tarjan]'s home page has hCard and is a rel="me" hub<br />
** needs a few minor fixes: http://tr.im/hctvd (links to hCard validator results)<br />
* Patrick Trettenbrein is the operator of [http://skateboardspot.info/ skateboardspot.info] and uses hCard on its [http://skateboardspot.info/cat/about#operator "about" page] for his contact info.<br />
W:<br />
* [http://blogs.msdn.com/cwilso/ Chris Wilson] has an hCard for himself on [http://blogs.msdn.com/cwilso/about.aspx his about page].<br />
* ...<br />
Z:<br />
* [http://www.afteru.co.il/?p=919 Aviran Zazon] has an hCard on his company personal webpage (Staff).<br />
Hidden! Invisible data is strongly discouraged, these examples have been grouped here in the hopes that the authors will someday make their hCards visible:<br />
* [http://ajbrown.org/ A.J. Brown]'s home page includes a hidden hCard at the bottom of the page.<br />
<br />
Former. URLs that seem to have broken.<br />
* <nowiki>http://rogieking.com/#contact</nowiki> Rogie King's contact info was marked up with hCard and very nicely styled. (missing as of 2013-03-15)<br />
* <nowiki>http://tomleo.com/about.html</nowiki> Tom Leo's about page had an hCard. (missing as of 2009-08-23)<br />
* <nowiki>http://bogomil.info?l=en/</nowiki> Bogomil Shopov had an hCard for himself (missing as of 2011-125)<br />
<br />
=== Organizations ===<br />
Sites for specific organizations with their own hCard on home page, or contact/about page(s). Grouped by country, sorted alphabetically (US first by convention). When this section gets too big we can make a separate business directory page.<br />
<br />
==== US orgs ====<br />
* [http://www.pinewoodgroup.com/ Pinewood Shepperton plc] includes an hCard on their home page, and several more upon clicking their "Contact Us" button (found via [http://www.thedrum.co.uk/news/2011/09/07/25776-pinewood-studios-launch-website-created-by-multiply/ 2011-09-07 Pinewood Studios launch website created by Multiply] [[press]] article).<br />
* [http://www.primerica.com/public/contact.html Primerica] uses hCard on "Contact Primerica" page for home office address.<br />
* [http://RippleFxInc.com/ RippleFxInc.com] including both [http://blog.RippleFxInc.com/ Ideas Blog @ Ripple FX] and [http://wiki.RippleFxInc.com/ Knowledge Wiki @ Ripple FX] use hCard markup and allows for vCard download on their page footers; because they care, the same is standard on every site they design.<br />
* [http://www.sfmoma.org/ San Francisco Museum of Modern Art] (SFMOMA)'s home page and pages in general have their address marked up in hCard.<br />
* [http://www.unisonarts.org/ Unison Arts Center] home page has an hCard with [[adr]], [[geo]], tel, email, and shows up with a [https://www.google.com/search?q=unisonarts search result rich-snippet] with map pin <span style="white-space:nowrap">http://www.google.com/intl/en_us/mapfiles/ms/icons/red-dot.png address</span> underneath, and call out map box using lat/long. ([https://twitter.com/anewc2/status/225592163109584899 as tweeted 2012-07-18])<br />
<br />
==== Australia orgs ====<br />
* [http://www.brdatasystems.com.au/contact-us.html B&R Data Systems] is an organisation hCard. We have also used the technorati tool to download as a vCard, which I think is useful for a business.<br />
<br />
==== England orgs ====<br />
* [http://www.alexandersremovals.co.uk/ Alexanders Removals] uses hCard for business address and contact details.<br />
* [http://www.confidence2smile.co.uk/ Confidence 2 Smile] uses hCard for business address and contact details.<br />
* [http://www.dovetaildental.co.uk/ Dovetail Dental] uses hCard for business address and contact details.<br />
* [http://www.electricalcerts.co.uk/ Electrical Certs] uses hCard for business address and contact details.<br />
<br />
==== France orgs ====<br />
* [http://www.fnacspectacles.com fnacspectacles], (online ticket office) uses hCard (vcard) and hCalendar (vevent) on events. Example [http://www.fnacspectacles.com/place-spectacle/manifestation/Film-PIERRE-RABHI---AU-NOM-DE-LA-TERRE-PRAB.htm Film Pierre Rahbi - Au nom de la Terre] (note the english section on http://www.fnactickets.com/ does not support microformats)<br />
* [http://www.vtcreative.fr/ Vtcreative] uses hCard in the footer on the home page.<br />
<br />
==== Germany orgs ====<br />
* [http://www.hsg-kl.de/impressum/index.php Hohenstaufen Gymnasium Kaiserslautern] has hCard contact info<br />
** '''suboptimal''': <code>adr</code> subproperties are not recognized due to lack of explicit "adr" property.<br />
*** evidence that has helped drive the flatter design of [[microformats-2]] including h-card which permits adr properties, e.g. 'street-address' directly inside the hCard instead of requiring an explicit 'adr' in the hierarchy. - [[User:Tantek|Tantek]] 01:46, 17 May 2012 (UTC)<br />
<br />
==== Georgia orgs ====<br />
* [http://www.serviceklimatistikon.gr/contact/ magiClima's contact page] uses for customer contact information.<br />
<br />
==== Israel orgs ====<br />
* [http://artprints.co.il/contact.html Art Prints contact information]<br />
* [http://printsolution.ro reincarcari cartuse] uses hCard on contact listings.<br />
* [http://www.troya-garden.co.il Troya Garden wedding hall contact information]<br />
* [http://www.taim.co.il/%D7%A4%D7%A8%D7%98%D7%99-%D7%94%D7%AA%D7%A7%D7%A9%D7%A8%D7%95%D7%AA Sandwich Bar contact information]<br />
<br />
==== Italy orgs ====<br />
* [http://www.webmotion.it Webmotion - Siti internet] uses hCard markup on their [http://www.webmotion.it/contatti contact page].<br />
* [http://www.numidia.it Numidia.it] uses hCard markup for their [http://www.numidia.it/#/direzioni contact info].<br />
<br />
==== Netherlands orgs ====<br />
* [http://www.kdvkabouterbos.nl/ Kinderdagverblijf Kabouterbos], a day care / nursery that uses an hCard for their contact information (footer).<br />
<br />
Mis-sorted - this should be moved to a search results section:<br />
* [http://www.michrome.com Michrome Marketing Lists (UK)] use hCard on all their search result data. For example, [http://michrome.com/free-leads/162-Bradford-BD9 Startup Companies in Bradford].<br />
<br />
Old: (these sites used to have hCard, some may have gone offline)<br />
* <nowiki>http://technorati.com Technorati</nowiki> (2004-2011)<br />
** <nowiki>http://technorati.com/about/ about, http://technorati.com/press/ press, and http://technorati.com/about/contact.html contact</nowiki> pages with hCard and have "Add to Address Book" links with the <nowiki>http://feed.technorati.com/contacts/ Technorati Contacts Feed service</nowiki>.<br />
* <nowiki>http://technorati.jp Technorati Japan</nowiki> (2004-2011)<br />
** <nowiki>http://technorati.jp/about/contact.html contact</nowiki> page marked up with hCard.<br />
<br />
==== Russia orgs ====<br />
* [http://xn----dtbqhchsfl0ah.xn--p1ai/ Buy Rockwool] uses hCard markup on its [http://xn----dtbqhchsfl0ah.xn--p1ai/%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D1%8B/ contact page].<br />
<br />
==== Scotland orgs ====<br />
* [http://www.fdantiques.com/contact.asp Hannies Antiques Ltd contact page] has an hCard with geo too.<br />
<br />
==== Uruguay orgs ====<br />
* [http://blog.cuboxlabs.com/ Cubox labs] has a nice contact info hCard on their blog home page with address, email, telephone, twitter, github.<br />
<br />
=== Institutions ===<br />
* Mozilla's WebFWD [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages have hCards, including [[microformats-2]] h-card markup.<br />
* [http://conferences.oreillynet.com/contacts.csp O'Reilly's Conferences Team page] has hCards for their team (~14) with a link to "Download the below contact info in vcf format" that uses the old Technorati contacts feed service to convert the hCards into vCards.<br />
** needs updating to use [[H2VX]] instead of Technorati<br />
** '''suboptimal''': The "org" shouldn't be hidden with "display:none". Instead, use the [[include-pattern]] to include the "org" from text elsewhere on the page (to avoid duplicating the text).<br />
<br />
'''with some problems:'''<br />
* The [http://www.ibm.com/contact/employees/ IBM Employee Directory] returns hCards in its query results<br />
** E.g. [http://www.ibm.com/contact/employees/servlets/lookup?country=us&language=en&search_country=all&lastname=Kaply&firstname=Michael search for Michael Kaply], <br />
** but with some problems: <br />
*** '''invalid''': no "fn" (would be addressed by the [[hcard-brainstorming#Implied_FN_from_N|implied fn from n proposal]]) <br />
*** '''suboptimal''': adr has no children and thus is not providing any data (may be addressed by the [[hcard-brainstorming#implied_adr_subproperties|implied adr subproperties proposal]])<br />
* [http://www.boltonmuseums.org.uk Bolton Museum and Archive Service] uses hCard on its<br />
**[http://www.boltonmuseums.org.uk/about/contact/ Contacts] page<br />
***'''invalid''': Several have no "fn"<br />
**and on each of its visitor attractions pages e.g. on the [http://www.boltonmuseums.org.uk/visiting/findhallthwood/ Hall i' th' Wood location page].<br />
***'''suboptimal''': "email" and "tel" properties mistakenly include "Email:" and "Telephone:" labels.<br />
* [http://soap.stanford.edu/ Stanford Online Accessibility Program] has implemented hCard on every page<br />
** '''suboptimal''': positioned off screen via CSS<br />
* [http://www.belkin.com/pressroom/releases/uploads/10_09_06SportCommand.html Belkin Press Release] - All Belkin press releases since October 2006 use hCard and vCard for company contact info.<br />
** '''invalid''': Example has 1 (out of 3) invalid hCard due to lack of "fn".<br />
* [http://www.alexa.com Alexa Internet] marked up its [http://www.alexa.com/site/company/managers managers' page] with hCard.<br />
** '''suboptimal''': job "title" is included inside within "fn" property.<br />
* ...<br />
<br />
old:<br />
* 2005-2010(?) <nowiki>http://technorati.com/about/staff.html Technorati's Staff page had hCards for its employees (~31)</nowiki><br />
** E.g. <nowiki>http://technorati.com/about/staff.html?s=matthew_levine#matthew_levine Matthew Levine, http://technorati.com/about/staff.html?s=ryan_king#ryan_king Ryan King, etc.</nowiki><br />
<br />
=== Online Profiles ===<br />
* See [[hcard-supporting-profiles]].<br />
<br />
=== Online Venues ===<br />
* [http://www.airfix.com/stockists-and-distributors/ Airfix Stockists and Distributors], e.g. [http://www.airfix.com/stockists-and-distributors/?postcode=b1+1bb&root_rid=1&search.x=0&search.y=0&search=search]<br />
**'''suboptimal''': <code>street-address</code> contains street address, locality and region (e.g. "99 Hobs Moat Rd, Solihull, W. Midlands")<br />
**'''suboptimal''': <code>postal-code</code> and <code>country-name</code> include preprended commas<br />
**'''suboptimal''': <code>fn</code> is used; should be <code>fn org</code><br />
* [http://citysearch.com/ Citysearch] supports hCard (e.g. [http://seattle.citysearch.com/profile/10767458/seattle_wa/tulio_ristorante.html Tulio Ristorante in Seattle] and [http://sanfrancisco.citysearch.com/profile/46396865/san_francisco_ca/four_barrel_coffee.html Four Barrel in SF]) nested inside an [[hreview-aggregate]].<br />
* [http://www.easthampshire.org/ easthampshire.org] - hCard on events and events map - e.g. http://easthampshire.org/eventdetail/wine_society_evening/1372606 and http://easthampshire.org/eventmap/wine_society_evening/1372606 built by [http://www.callendercreates.com Callender Creates]<br />
* [http://foursquare.com Foursquare] supports hCard on venue pages, e.g. [https://foursquare.com/v/four-barrel-coffee/480d1a5ef964a520284f1fe3 Four Barrel Coffee]<br />
* [http://rinklinks.ca/ RinkLinks.ca: A Comprehensive Rinks and Arenas Directory for North America] supports an hCards for listings in their directory.<br />
* [http://www.sydneydirectory.org/ Sydney Directory Wiki] supports hCard and geographical coordinates for locations, e.g. the [http://www.sydneydirectory.org/index.php/Opera_House Sydney Opera House].<br />
* [http://webmaker.org Webmaker] (by Mozilla) supports hCard (and [[uf2]] h-card) on venues of events, e.g. [https://webmaker.org/en-US/events/192f56eb9/ IndieWebCamp 2012] (as [https://twitter.com/microformats/status/212207925643587585 tweeted 2012-06-12]).<br />
<br />
=== Event Venues ===<br />
* [http://eventbrite.com Eventbrite] events all have their venues/locations marked up with hCard, e.g. [http://csswgtucson.eventbrite.com Meet The W3C CSS Working Group!]<br />
* ...<br />
<br />
=== Event Speakers ===<br />
* [http://fluentconf.com/fluent2012 O'Reilly fluent conference 2012] sessions, e.g. [http://fluentconf.com/fluent2012/public/schedule/detail/25831 Federated Wiki Mashes Data in Your Browser] have speakers marked up with hCard.<br />
* ...<br />
<br />
=== Speakers Listings ===<br />
* ... lots more to add from events since 2007, e.g. every dConstruct etc.<br />
<br />
==== 2007 ====<br />
[[to-do]]: check 2007 [[presentations]] as they likely contain links to conferences that marked up their speakers page(s) with hCard.<br />
* 09: [http://2006.dconstruct.org/speakers/ d.Construct 2007 speakers]<br />
==== 2006 ====<br />
[[to-do]]: check 2006 [[presentations]] as they likely contain links to conferences that marked up their speakers page(s) with hCard.<br />
* 09: [http://2006.dconstruct.org/speakers/ d.Construct 2006 speakers]<br />
==== 2005 ====<br />
[[to-do]]: check 2005 [[presentations]] as they likely contain links to conferences that marked up their speakers page(s) with hCard.<br />
* 12: [http://tantek.com/microformats/2005/syndicate/speakers-list.html Syndicate - Speaker List] (hCarded version hosted at tantek.com)<br />
* 10: [http://tantek.com/microformats/2005/web2/speakers.html Web 2.0 Conference 2005 -- Speakers] (hCarded version hosted at tantek.com)<br />
* 09: [http://web.archive.org/web/20051102094339/we05.com/ Web Essentials 05] - [http://web.archive.org/web/20051102094339/we05.com/presenters.cfm The Presenters] <nowiki>original URL: http://we05.com/presenters.cfm</nowiki> (appears to have stopped working as of 2007-12-18, perhaps earlier). Web Essentials 2005 (we05) was the [http://tantek.com/log/2005/10.html#d06t1720 first conference to adopt hCard and hCalendar] on their website and marked up all their presenters with hCard.<br />
<br />
=== Group Blogs === <br />
* The [http://www.ibm.com/shortcuts/ IBM Shortcuts Podcast] has authors marked up with hCard but has some problems:<br />
** '''hidden''': The root hCard element as well as every property contained therein is made invisible through a style attribute containing "position:absolute; visibility:hidden".<br />
<br />
=== Wiki Templates ===<br />
* Wikipedia<br />
**Wikipedia-EN<br />
*** People. starting to roll-out on articles about people, for example [http://en.wikipedia.org/wiki/Albert_einstein Albert Einstein]. The nature of Wikipedia means that there are a large number of templates to update (Albert's is "infobox scientist; there's also "infobox military people", "infobox musician" and so on, almost ad infinitum). DoB is only included if it's entered using a birth-date template, not as raw text. <br />
*** Places/orgs. starting to roll-out on articles about places, for example on UK Railway station template, e.g. [http://en.wikipedia.org/wiki/Birmingham_New_Street Birmingham New Street station] (includes Geo); and cities, for example [http://en.wikipedia.org/wiki/New_York_City New York]. See above for note on Wikipedia templates.<br />
***[http://en.wikipedia.org/wiki/Category:Templates_generating_Geo Wikipedia templates generating Geo]<br />
****'''hidden''' - for example [http://en.wikipedia.org/wiki/List_of_Minnesota_State_Parks List of Minnesota state parks]; [http://en.wikipedia.org/w/index.php?title=Alberta_Highway_60&diff=prev&oldid=157308650 Alberta Highway 60]<br />
****Note also removal of hCard properties, e.g. [http://en.wikipedia.org/w/index.php?title=List_of_Gaudi_Buildings&diff=prev&oldid=157704557 List_of_Gaudi_Buildings]<br />
*** Any Wikipedia editors willing to assist with updating templates should see [http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Microformats Wikipedia's microformat project]; [http://en.wikipedia.org/wiki/Category:Templates_generating_hCards Wikipedia templates generating hCards]<br />
***Unfortunately, [http://en.wikipedia.org/w/index.php?title=Template:Infobox_Protected_area&diff=prev&oldid=152308153 other editors are already breaking some of the implementations on Wikipedia]; e.g. [http://en.wikipedia.org/wiki/Grand_Canyon_National_Park Grand Canyon National Park]; [http://en.wikipedia.org/w/index.php?title=List_of_islands_of_Argentina&diff=prev&oldid=155590535 removal of "region" attributes]<br />
*** <s> Wikipedia now has a template, [http://en.wikipedia.org/wiki/Template:Hcard-geo hcard-geo], for in-line hCards with coordinates, such as that on [http://en.wikipedia.org/wiki/Engine_Arm Engine Arm]</s><br />
**Wikipedia-UK (Ukranian) starting to roll out on biographies e.g. [http://uk.wikipedia.org/wiki/%D0%93%D0%B5%D1%82%D1%8C%D0%BC%D0%B0%D0%BD_%D0%92%D0%B0%D0%B4%D0%B8%D0%BC_%D0%9F%D0%B5%D1%82%D1%80%D0%BE%D0%B2%D0%B8%D1%87 Vadym Hetman]<br />
* Wikiqueer<br />
** [http://www.wikiqueer.org/w/Category:Templates_generating_hCards Wikiqueer templates generating hCards]<br />
** [http://www.wikiqueer.org/w/Category:Templates_generating_microformats Wikiqueer templates generating microformats] in general<br />
<br />
=== Authors ===<br />
* [http://time.com TIME.com] marks up articles with hAtom including authors with hCard, e.g. [http://techland.time.com/2012/05/10/like-to-brag-on-facebook-or-twitter-thats-because-self-disclosure-is-like-eating-and-sex-says-study/ Like to Brag on Facebook or Twitter? That’s Because Self-Disclosure Is like Eating and Sex, Says Study]<br />
* [http://lazylibrary.com LazyLibrary] uses author hCard's on every book page. Example: [http://lazylibrary.com/book/0751370576]<br />
** '''suboptimal''' [http://lazylibrary.com/book/0751370576 Example] has an fn of "Dorling Kindersley, David West Reynolds" which should be split into two hCards! (site would also benefit from hReview).<br />
* ... many more (e.g. see unsorted list above, verify and move here)<br />
<br />
=== Search Results ===<br />
* [http://www.bath.ac.uk/contact/ University of Bath] Person Finder results are encoded with hCards so you can easily create a vCard from any result. <br />
** '''invalid''': attempt to use Implied-N optimization where that's not possible,<br />
** '''suboptimal''': honorific-prefix could be explicitly marked up<br />
*** Error appears for external users only. Won't be fixed any time soon. -- [[User:PhilWilson|PhilWilson]] 00:03, 28 Jan 2006 (GMT)<br />
* [http://www.yourtraces.com/social_index.php YourTraces SocialSearch] Try ''high results'' (hohe Relevanz) to get only websites marked with hcard as a person.<br />
<br />
=== Listing Contact ===<br />
Contact information for listings, e.g. job postings, items for sale, etc.<br />
* [http://bestsecurityjobs.co.uk/ Best Security Jobs] is a UK jobs board that uses hCard on the homepage for job listings.<br />
* [http://printsolution.ro reincarcari cartuse] uses hCard on contact listings.<br />
* [http://seogadget.co.uk/search-marketing-executive-upto-30k-portsmouth/ search marketing executive] published by [http://seogadget.co.uk/ SEOgadget].<br />
** '''invalid url property''' - href of the url property element lacks <nowiki>http://</nowiki>, thus being invalid and linking to a non-existent relative URL.<br />
** '''invalid XHTML''' - W3C validator reports this page as [http://validator.w3.org/check?uri=http://seogadget.co.uk/search-marketing-executive-upto-30k-portsmouth/ XHTML 1.0 Transitional] (109 errors as of 2009-08-20).<br />
<br />
===UTF8 Examples===<br />
These examples all contain one or more characters in UTF8 that are outside the ASCII7 range and make for excellent test cases to make sure you are handling UTF8 properly throughout your hCard parsing and transforming. And especially if you are generating vCards, these test cases will help you make sure you are generating UTF8 vCards in such a way that can be recognized by UTF8 supporting vCard applications. Sorted roughly alphabetically (per Unicode).<br />
* [http://imageconcept.ru/contacts.html ImageConcept (ИмиджКонцепт)] embedded UTF8 encoded hCard with Russian characters in «Contacts» page of website.<br />
* [http://sphinx.net.ru/author/ Dmitry Dzhus] embedded his UTF8 encoded hCard with Russian characters in «Author» page of his website.<br />
* [http://ecdlweb.com/ ECDLWeb.com] encodes hCard and Geo information of ECDL and ICDL test centres in UTF-8. Test case for Central European ([http://ecdlweb.com/en/czech-republic/sps-ceska-lipa Czech], [http://ecdlweb.com/en/hungary/athene-idegenforgalmi-informatikai-es-uzletemberkepzo-szakkozepiskola Hungarian] etc.) and [http://ecdlweb.com/en/belarus/belhard Cyrillic] characters.<br />
* [http://tantek.com/ Tantek's Thoughts] encodes Ãelik as inline UTF8.<br />
* [http://technorati.jp/about/contact.html Technorati Japan contact information] encodes Japanese as inline UTF8.<br />
* [http://uk.wikipedia.org/wiki/%D0%93%D0%B5%D1%82%D1%8C%D0%BC%D0%B0%D0%BD_%D0%92%D0%B0%D0%B4%D0%B8%D0%BC_%D0%9F%D0%B5%D1%82%D1%80%D0%BE%D0%B2%D0%B8%D1%87 Vadym Hetman] (Wikipedia-UK (Ukranian))<br />
<br />
==== nickname only ====<br />
These UTF8 examples only have UTF8 for the "nickname" property and are thus are a bit easier for testing than the previous examples.<br />
* Various Wikipedia-EN articles, e.g. the "nickname" in: [http://en.wikipedia.org/wiki/Noyabrsk Noyabrsk] (Russian), [http://en.wikipedia.org/wiki/Thessaloniki Thessaloniki] (Greek), [http://en.wikipedia.org/wiki/Kyoto Kyoto] (Japanese) and [http://en.wikipedia.org/wiki/Beijing Beijing] (Chinese)<br />
<br />
===non-HTML examples===<br />
* [http://dannyayers.com/misc/microformats/hcard-svg Danny Ayers' SVG hCard demo]<br />
<br />
=== missing ===<br />
Examples that used to have one or more hCards but now don't seem to have any. If you do find one, please include direct links to at least two (assuming there are two or more) pages at the referenced site that have one or more hCards.<br />
* [http://mapquest.com Mapquest] now supports hCards for business and places in the search results (e.g. [http://www.mapquest.com/maps/map.adp?searchtype=address&country=US&searchtab=home&formtype=address&cat=Whole+Foods&city=san+francisco&state=ca search for Whole Foods in San Francisco])<br />
** appears to be missing hCards as of 2008-09-07<br />
<br />
== related pages ==<br />
{{hcard-related-pages}}<br />
* [[hcalendar-examples-in-wild|hCalendar examples in the wild]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=seo&diff=54953
seo
2013-06-17T13:34:04Z
<p>ChiefRA: spammy content</p>
<hr />
<div></div>
ChiefRA
https://microformats.org/wiki/index.php?title=microformats2-ro&diff=54045
microformats2-ro
2013-06-06T12:31:11Z
<p>ChiefRA: /* Sumar */</p>
<hr />
<div><entry-title>microformate 2</entry-title><br />
<br />
Bine ati venit pe pagina de microformate versiunea a 2 a<br />
<br />
== Sumar ==<br />
Microformatele v. 2 imbunatatesc si usureaza totodata implementarea de catre autori (publishers) si developeri (programatori de [[microformats2-parsing|analizoare]]), cu urmatoarele simplificari:<br />
<br />
# '''prefixele pentru numele de clase''' folosite pentru microformate, acelea care incep cu 'h-' 'p-' 'u-' 'dt-', 'e-' = '''sunt suntaxe independente de vocabular''' si pot fi imbunatatite mai departe separat.<br />
#* 'h-*' pentru numele de clase de root, ex. 'h-card'<br />
#* 'p-*' pentru proprietati simple (text), ex. 'p-name'<br />
#* 'u-*' pentru proprietati ale URL-urilor, ex. 'u-photo'<br />
#* 'dt-*' pentru proprietati de data/timp, ex. 'dt-bday'<br />
#* 'e-*' pentru proprietati de markup incorporate, ex. 'e-note'. Vezi [[microformats2#naming_conventions_for_generic_parsing|conventii de denumiri ale prefixelor]] pentru mai multe detalii.<br />
# '''seturi standard de proprietati optionale''' pentru toate microformatele (datele ierarhic aranjate folosesc microformate combinate). Proprietatile sunt toate optionale si pot contine mai multe valori (aplicatiile care necesita o singura iteratie pot folosi numai prima instanta).<br />
# '''marcarea unei singure clase pentru uzul comun''' - pentru tiparele simple de markup de uz comun, o simpla clasa de root a unui microformat poate contine de la sine cateva proprietati generice - nume, adresa URL, poza. De exemplu:<br />
<br />
=== exemple de microformate 2 simple ===<br />
Aici avem cateva exemple simple de microformate 2 care demonstreaza cele mai multe schimbari, impreuna cu canonicalele [[JSON]].<br />
<br />
* O referinta simpla catre o persoana:<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Frances Berriman"] <br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* O referinta simpla catre o persoana cu tot cu URL:<br />
<source lang=html4strict><br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Ben Ward"],<br />
"url": ["http://benward.me"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* O referinta simpla catre poza unei persoane:<br />
<source lang=html4strict><br />
<a class="h-card" href="http://rohit.khare.org/"><br />
<img alt="Rohit Khare"<br />
src="https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg" /><br />
</a><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Rohit Khare"],<br />
"url": ["http://rohit.khare.org"],<br />
"photo": ["https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Exemple de cazuri simple mai puteti gasi si in [[microformats-2-implied-properties]].<br />
<br />
<br />
----<br />
<br />
* Marcarea mai detaliata in cod a persoanelor (bazate pe exemple de microformate 2 din viata reala [https://webfwd.org/about/experts/]).<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<img class="u-photo" alt="photo of Mitchell"<br />
src="https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"/><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a><br />
(<a class="u-url" <br />
href="https://twitter.com/MitchellBaker"<br />
>@MitchellBaker</a>)<br />
<span class="p-org">Mozilla Foundation</span><br />
<p class="p-note"><br />
Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.<br />
</p><br />
<span class="p-category">Strategy</span><br />
<span class="p-category">Leadership</span><br />
</div><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"photo": ["https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"],<br />
"name": ["Mitchell Baker"],<br />
"url": [<br />
"http://blog.lizardwrangler.com/",<br />
"https://twitter.com/MitchellBaker"<br />
],<br />
"org": ["Mozilla Foundation"],<br />
"note": ["Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities."],<br />
"category": [<br />
"Strategy",<br />
"Leadership"<br />
]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
Note: <br />
# Codul JSON <code>"type"</code> foloseste toata clasa de root a microformatului (ex. <code>"h-card"</code>) pentru identificarea corecta de fiecare data.<br />
# toate proprietatile sunt optionale si sintactic sunt puse la plural cu valori asezate in ordinea de analizare a codului documentului; cazurile particulare de microformate ( si aplicatiile care le folosesc) s-ar putea sa aplice iteratii specifice/singulare primelor valori ale unei proprietati.<br />
<br />
== vocabular v.2 ==<br />
Status: '''<span id="draft_v2_vocabularies">draft</span>'''. Va rugam revizuiti si veniti cu sugestii pe canalul #microformats din [[IRC]].<br />
<br />
=== h-adr ===<br />
numele clasei radacina: '''<code>h-adr</code>'''<br/><br />
profil/tip: <nowiki>http://microformats.org/profile/h-adr</nowiki><br />
<br />
proprietati:<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>''' - nou in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-geo</code>''' (or '''<code>u-geo</code>''' din RFC 5870 geo: URL) - nou in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
* '''<code>p-longitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
* '''<code>p-altitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
<br />
Pentru compatibiliatea cu versiunea anterioara, parserele pentru microformate v.2 {{ar trebui}} sa detecteze urmatoarele nume de clase radacina si nume de proprietati. Un parser pentru microformate v.2 poate folosi alte [[parsers|parsere]] de microformate deja existente pentu a extrage aceste proprietati. Daca un "h-adr" este gasit, nu mai cautati inca un "adr" in acelasi element.<br />
<br />
Numele clasei radacinii compacte: <code id="adr">adr</code><br/><br />
proprietati: (analizate ca '''p-''' text simplu daca nu este specificat altfel)<br />
* <code>post-office-box</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
<br />
=== h-card ===<br />
root class name: '''<code>h-card</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-card</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-honorific-prefix</code>'''<br />
* '''<code>p-given-name</code>'''<br />
* '''<code>p-additional-name</code>'''<br />
* '''<code>p-family-name</code>'''<br />
* '''<code>p-sort-string</code>'''<br />
* '''<code>p-honorific-suffix</code>'''<br />
* '''<code>p-nickname</code>'''<br />
* '''<code>u-email</code>'''<br />
* '''<code>u-logo</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-adr</code>'''<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>'''<br />
* '''<code>p-geo</code>''' or '''<code>u-geo</code>''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-tel</code>'''<br />
* '''<code>p-note</code>'''<br />
* '''<code>dt-bday</code>'''<br />
* '''<code>u-key</code>'''<br />
* '''<code>p-org</code>'''<br />
* '''<code>p-job-title</code>''' - previously 'title' in hCard, disambiguated.<br />
* '''<code>p-role</code><br />
* '''<code>u-impp</code>''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-sex</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-gender-identity</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>dt-anniversary</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* ...<br />
<br />
Reserved properties: (properties not used much (if at all) in practice)<br />
* '''<code>p-organization-name</code>'''<br />
* '''<code>p-organization-unit</code>'''<br />
* '''<code>p-tz</code>'''<br />
* '''<code>dt-rev</code>'''<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-card" is found, don't look for a "vcard" on the same element.<br />
<br />
compat root class name: <code id="vcard">vcard</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>honorific-prefix</code><br />
* <code>given-name</code><br />
* <code>additional-name</code><br />
* <code>family-name</code><br />
* <code>honorific-suffix</code><br />
* <code>nickname</code><br />
* <code>email</code> - parse as '''u-'''<br />
* <code>logo</code> - parse as '''u-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>uid</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>adr</code> - parse as '''<code>p-adr h-adr</code>''' including compat root class <code>adr</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
* <code>label</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root class <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* <code>tel</code><br />
* <code>note</code><br />
* <code>bday</code> - parse as '''dt-'''<br />
* <code>key</code> - parse as '''u-'''<br />
* <code>org</code><br />
* <code>organization-name</code><br />
* <code>organization-unit</code><br />
* <code>title</code> - parse as '''p-job-title'''<br />
* <code>role</code><br />
* ...<br />
<br />
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:<br />
* <code>tz</code><br />
* <code>rev</code> - parse as '''dt-'''<br />
* ...<br />
<br />
Note: use of 'value' within 'tel' should be automatically handled by the support of the [[value-class-pattern]]. And for now, the 'type' subproperty of 'tel' is dropped/ignored. If there is demonstrable documented need for additional tel types (e.g. fax), we can introduce new flat properties as needed (e.g. p-tel-fax).<br />
<br />
=== h-entry ===<br />
root class name: '''<code>h-entry</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-entry</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' (was p-entry-title, see issues)<br />
* '''<code>p-summary</code>''' (was p-entry-summary, see issues)<br />
* '''<code>e-content</code>''' (was e-entry-content, see issues)<br />
* '''<code>dt-published</code>'''<br />
* '''<code>dt-updated</code>'''<br />
* '''<code>p-author</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
<br />
This is an update to [[hAtom]]. <br />
<br />
Brainstorming:<br />
<br />
The following properties are proposed additions to h-entry above and beyond what hAtom (or Atom) provides, based on various existing link preview markup conventions:<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-audio</code>''' - consider special u- parsing rules for <code>&lt;audio></code><br />
* '''<code>u-video</code>''' - consider special u- parsing rules for <code>&lt;video></code><br />
* '''<code>u-in-reply-to</code>''' - for links to other posts that this post is a reply to (comment regarding, etc.)<br />
<br />
Backward compatibility: <br />
<br />
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer <code>p-name</code> over <code>p-entry-title</code>, and use <code>p-entry-title</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For hAtom backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-entry" is found, don't look for a "hentry" on the same element.<br />
<br />
compat root class name: <code id="hentry">hentry</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>entry-title</code> - parse as '''<code>p-name</code>'''<br />
* <code>entry-summary</code><br />
* <code>entry-content</code> - parse as '''e-'''<br />
* <code>published</code> - parse as '''dt-'''<br />
* <code>updated</code> - parse as '''dt-'''<br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>category</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
<span id="h-entry-faq">FAQ:</span><br />
<div class="discussion"><br />
* '''What is the <code>p-name</code> of a [http://indiewebcamp.com/note note]?'''<br />
** A few options, from simplest to most detailed.<br />
*** '''same as the p-content/e-content''' property.<br />
*** '''same as the <code>title</code> element''' on the note permalink post page. When publishing a note on its own permalink post page, the contents of the note are likely abbreviated for the title of the page. The same abbreviation can be used for the p-name.<br />
*** '''first sentence of the p-content/e-content''' property. It may be better for [http://indiewebcamp.com/syndication syndication] and [[link-preview]] purposes to provide just the first sentence of the note as the <code>p-name</code>. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the <code>p-summary</code>.<br />
* ...<br />
</div><br />
<br />
Resolved Issues:<br />
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:<br />
** Use '''<code>p-summary</code> instead of <code>p-entry-summary</code>'''. The historical semantic of "entry-summary" is not different from "summary" in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.<br />
** Use '''<code>e-content</code> instead of <code>e-entry-content</code>'''. Same point and advantage. In microformats2, entry-content is no more.<br />
** '''drop <code>p-entry-title</code>'''. Unnecessary and subsumed by "p-name". Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.<br />
<br />
=== h-event ===<br />
root class name: '''<code>h-event</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-event</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-summary</code>'''(*)<br />
* '''<code>dt-start</code>'''<br />
* '''<code>dt-end</code>'''<br />
* '''<code>dt-duration</code>'''<br />
* '''<code>p-description</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-location</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* ...<br />
<br />
This is an update to [[hCalendar]]. <br />
<br />
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer <code>p-name</code> over <code>p-summary</code>, and use <code>p-summary</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-event" is found, don't look for a "vevent" on the same element.<br />
<br />
compat root class name: <code id="vevent">vevent</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> - parse as '''<code>p-name</code>'''<br />
* <code>dtstart</code> - parse as '''<code>dt-start</code>'''<br />
* <code>dtend</code> - parse as '''<code>dt-end</code>'''<br />
* <code>duration</code> - parse as '''<code>dt-duration</code>'''<br />
* <code>description</code><br />
* <code>url</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>location</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code>, and compat root <code>adr</code> in the absence of <code>h-adr</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
=== h-geo ===<br />
root class name: '''<code>h-geo</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-geo</nowiki><br />
<br />
properties:<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-geo" is found, don't look for an "geo" on the same element.<br />
<br />
compat root class name: <code id="geo">geo</code><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>latitude</code><br />
* <code>longitude</code><br />
<br />
=== h-item ===<br />
root class name: '''<code>h-item</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-item</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
<br />
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of "h-item" won't require any explicit properties at all (since microformats2 parsers will infer name, photo, and url properties from the structure of the element with "h-item" and its contained content/elements if any).<br />
<br />
=== h-product ===<br />
root class name: '''<code>h-product</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-product</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the product<br />
* '''<code>u-photo</code>''' - photo of the product<br />
* '''<code>p-brand</code>''' - manufacturer, can also be a nested <code>h-card</code><br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>e-description</code>'''<br />
* '''<code>u-url</code>''' - URL of the product<br />
* '''<code>u-identifier</code>''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.<br />
* '''<code>p-review</code>''' - a review of the product, can also be a nested <code>h-review</code><br />
* '''<code>p-price</code>''' - retail price of the product<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-product" is found, don't look for an "hproduct" on the same element.<br />
<br />
compat root class name: <code id="hproduct">hproduct</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>brand</code><br />
* <code>category</code><br />
* <code>description</code><br />
* <code>identifier</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>review</code> - including compat root class <code>hreview</code> in the absence of <code>h-review</code><br />
* <code>price</code><br />
<br />
Note: [[hProduct]] has at least one experimental property which has real world adoption due to [[Google]] and [[Bing]] search support of hProduct. Currently this is: price<br />
<br />
=== h-recipe ===<br />
root class name: '''<code>h-recipe</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-recipe</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - the name of the recipe<br />
* '''<code>p-ingredient</code>''' - describes one or more ingredients used in the recipe.<br />
* '''<code>p-yield</code>''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies <br />
* '''<code>e-instructions</code>''' - the method of the recipe.<br />
* '''<code>dt-duration</code>''' - the time it takes to prepare the meal described by the recipe.<br />
* '''<code>u-photo</code>''' - an accompanying image<br />
<br />
Experimental properties with wide adoption<br />
* '''<code>p-summary</code>''' - provides a short summary or introduction <br />
* '''<code>p-author</code>''' - the person who wrote the recipe with <code>h-card</code><br />
* '''<code>dt-published</code>''' - the date the recipe was published<br />
* '''<code>p-nutrition</code>''' - nutritional information like calories, fat, dietary fiber etc.<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-recipe" is found, don't look for an "hrecipe" on the same element.<br />
<br />
compat root class name: <code id="hrecipe">hrecipe</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>ingredient</code><br />
* <code>yield</code><br />
* <code>instructions</code> - parse as '''e-'''<br />
* <code>duration</code> - parse as '''dt-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>summary</code><br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>nutrition</code><br />
<br />
Note: [[hRecipe]] has a number of experimental properties which have real world adoption due to [[Google]] recipe search support of hRecipe. These are: summary, author, published and nutrition<br />
<br />
=== h-resume ===<br />
root class name: '''<code>h-resume</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-resume</nowiki><br />
<br />
properties:<br />
* '''<code>p-summary</code>''' - overview of qualifications and objectives<br />
* '''<code>p-contact</code>''' - current contact info in an <code>h-card</code><br />
* '''<code>p-education</code>''' - an education <code>h-calendar</code> event, years, nested <code>h-card</code> of the school, location.<br />
* '''<code>p-experience</code>''' - a job or other professional experience <code>h-calendar</code> event, years, nested <code>h-card</code> of the organization, location, job-title.<br />
* '''<code>p-skill</code>''' - a skill or ability, optionally including level and/or duration of experience<br />
* '''<code>p-affiliation</code>''' - an affiliation with an <code>h-card</code> organization<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-resume" is found, don't look for an "hresume" on the same element.<br />
<br />
compat root class name: <code id="hresume">hresume</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code><br />
* <code>contact</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>education</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>experience</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>skill</code><br />
* <code>affiliation</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
<br />
Note: skill has a [[hresume-skill-brainstorm|proposed expansion into competency]] with explicit summary, rating and/or duration components. Based on existing real world adoption, we should consider an h-competency vocabulary with p-summary, p-rating, and dt-duration properties.<br />
<br />
=== h-review ===<br />
root class name: '''<code>h-review</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-reviewer</code>''' - person who authored the review <br />
* '''<code>dt-reviewed</code>''' - date time of when the review was written<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating a rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>e-description</code>''' - the full text written evaluation and opinion of the reviewer<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review" is found, don't look for an "hreview" on the same element.<br />
<br />
compat root class name: <code id="hreview">hreview</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>reviewer</code> - including compat root vcard in the absence of h-card<br />
* <code>dtreviewed</code> - parse as '''dt-'''<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>description</code> - parse as '''e-'''<br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
Note: The [[hReview]] format has three properties which make use of <code>rel</code> attribute, these are <code>tag</code>, permalink (via the <code>self</code> and <code>bookmark</code> values) and <code>license</code>. Microformats 2 parsers {{should}} map these URLs into the page scoped rel collection.<br />
<br />
=== h-review-aggregate ===<br />
root class name: '''<code>h-review-aggregate</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review-aggregate</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating average rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>p-count</code>''' - number of reviews aggregated.<br />
* '''<code>p-votes</code>''' - number of reviewers who have rated the product, thus contributing to the average rating.<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer<br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review-aggregate" is found, don't look for an "hreview-aggregate" on the same element.<br />
<br />
compat root class name: <code id="hreview-aggregate">hreview-aggregate</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>count</code><br />
* <code>votes</code><br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
<br />
=== v2 vocab notes ===<br />
Notes: <br />
* All v2 vocabularies are defined as flat lists of properties of an object/item, and thus can be used in microformats-2 syntax as shown, or in microdata items, or RDFa. The microformats-2 property parsing prefixes "p-", "u-", "dt-", "e-" are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.<br />
* Profile URLs are provided for use with the HTML4 <code>profile</code> attribute, microdata <code>itemtype</code> attribute, and RDFa <code>vocab</code> &amp; <code>typeof</code> attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). <br />
* microformats 2 properties may also be explicitly bound as URIs using [[rel-profile]], the [[html5-profile]] attribute proposal, or an HTML5 'vocab' attribute instead. If URI bound terms are important to you, please express interest on [[rel-profile]], [[html5-profile]], or contribute to an [[html5-vocab]] draft.<br />
<br />
=== v2 vocab to-do ===<br />
To do: <br />
* actual profile documents at <nowiki>http://microformats.org/profile/h-*</nowiki> URLs mentioned above.<br />
* Provide any necessary microdata-specific language as needed (e.g. to be comparably understandable to the [http://www.whatwg.org/specs/web-apps/current-work/#vcard sample vCard4/hCard1 microdata vocabulary]. Also provide any necessary RDFa-specific language as needed. Both preferably in a generic vocabulary-independent way.<br />
* write a porting guide mapping v1 property -> v2 property<br />
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).<br />
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)<br />
* write a simple tutorial for creating/getting started with microformats-2 markup for new content<br />
<br />
== combining microformats ==<br />
Since microformats 2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.<br />
<br />
=== h-event location h-card ===<br />
Events commonly have venue information with additional structure, like address information. For example:<br />
<br />
<source lang=html4strict><br />
<div class="h-event"><br />
<a class="p-name u-url" href="http://indiewebcamp.com/2012"><br />
IndieWebCamp 2012<br />
</a><br />
from <time class="dt-start">2012-06-30</time> <br />
to <time class="dt-end">2012-07-01</time> at <br />
<span class="p-location h-card"><br />
<a class="p-name p-org u-url" href="http://geoloqi.com/"><br />
Geoloqi<br />
</a>, <br />
<span class="p-street-address">920 SW 3rd Ave. Suite 400</span>, <br />
<span class="p-locality">Portland</span>, <br />
<abbr class="p-region" title="Oregon">OR</abbr><br />
</span><br />
</div><br />
</source><br />
<br />
The nested h-card used to structure the p-location of the h-event is represented as a structured value for "location" in the JSON, which has an additional key, "value" that represents the plain text version parsed from the p-location.<br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-event"],<br />
"properties": {<br />
"name": ["IndieWebCamp 2012"],<br />
"url": ["http://indiewebcamp.com/2012"],<br />
"start": ["2012-06-30"],<br />
"end": ["2012-07-01"],<br />
"location": [{<br />
"value": "Geoloqi, 920 SW 3rd Ave. Suite 400, Portland, OR",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Geoloqi"],<br />
"org": ["Geoloqi"],<br />
"url": ["http://geoloqi.com/"],<br />
"street-address": ["920 SW 3rd Ave. Suite 400"],<br />
"locality": ["Portland"],<br />
"region": ["Oregon"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Questions:<br />
<div class="discussion"><br />
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, how do we avoid expansion of the JSON geometrically proportional to the depth of microformat nesting? (Or do we not worry about it?)<br />
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no, we stick with one canonical JSON for uf2 which is hierarchical. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, should the flattened JSON have references from properties to nested microformats that have been pushed to the top level per flattening? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
</div><br />
<br />
Notes:<br />
* The 'location' value reflects the visible text of its element, including spaces and punctuation, as well as the state abbreviation 'OR'. The 'h-card' property values are only what is marked up, and thus include structure values without extra punctuation, and the state takes the expanded form from the <code>title</code> attribute of its <code>&lt;abbr&gt;</code> element.<br />
<br />
=== h-card org h-card ===<br />
People often publish information general to their company rather than specific to them, in which case, they may wish to encapsulate that in separately nested microformat. E.g. here is a simple h-card example with org property:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)<br />
<br />
with source:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<span class="p-org">Mozilla Foundation</span>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": ["Mozilla Foundation"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Sometimes such organization affiliations are hyperlinked to the website of the organization:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])<br />
<br />
You can mark that up with a nested h-card:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an <code>&lt;a href&gt;</code> would.<br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
The nested 'h-card' could be marked up as an 'h-org' as well, which adds it to the nested microformat's type array, all as part of the property specified by the 'p-org'.<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card h-org" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card", "h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Without a property class name like 'p-org' holding all the nested objects together, we need to introduce another array for nested children (similar to the existing DOM element notion of children) of a microformat that are not attached to a specific property:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card","h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
Since there's no property class name on the element with classes 'h-card' and 'h-org', the microformat representing that element is collected into the children array.<br />
<br />
Such a nested microformat implies some relationship (containment, being related), but is not as useful as if the nested microformat was a specific property of its parent.<br />
<br />
For this reason it's recommended that authors should not publish nested microformats without a property class name, and instead, when nesting microformats, authors should always specify a property class name (like 'p-org') on the same element as the root class name(s) of the nested microformat(s) (like 'h-card' and/or 'h-org').<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Or the nested object could be only marked up with 'h-card'. Source:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
'''TO DO: Add h-event h-card example and JSON, per real world publishing examples like [http://www.swingtime.co.uk/List/ClSouth.html Swing Time: Classes in Southern England].'''<br />
<br />
== authoring ==<br />
=== minimal markup ===<br />
The best way to use microformats-2 is with as little additional markup as possible. This keeps your code cleaner, improves its maintainability, and thus the quality and longevity of your microformats.<br />
<br />
One big advantage of microformats-2 over previous microformats (and others) is the ability to add one class name to an existing element to create a structured item.<br />
<br />
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.<br />
<br />
Simple hCards work just by adding <code>class="h-card"</code> :<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
<br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
<br />
<img class="h-card" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
<br />
<a class="h-card" href="http://tantek.com"><br />
<img alt="Tantek Çelik" src="http://ttk.me/logo.jpg"/><br />
</a><br />
</source><br />
<br />
* Tip: Inside an open tag, put the <code>class</code> attribute <em>first</em>, then any human text content attributes (e.g. <code>alt</code>), then URL attributes (e.g. <code>href</code> <code>src</code>), and lastly other attributes (e.g. <code>style</code>). Putting the class attribute first ties it closely to the element name/tag itself, makes it more obvious, and thus more likely to be kept up to date.<br />
<br />
=== backward compatible ===<br />
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats-2]], you can include both existing microformats and microformats-2 markup.<br />
<br />
In short: use both sets of class names simultaneously. <br />
<br />
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.<br />
<br />
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a <code>&lt;span&gt;</code>) to separate the root class name element from explicit property class name elements:<br />
<br />
<source lang=html4strict><br />
<span class="h-card vcard"><br />
<span class="p-name fn">Frances Berriman</span><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="p-name fn u-url url" href="http://benward.me">Ben Ward</a><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<img class="p-name fn u-photo photo" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="u-url url" href="http://tantek.com"><br />
<img class="p-name fn u-photo photo" alt="Tantek Çelik" <br />
src="http://ttk.me/logo.jpg"/><br />
</a><br />
</span><br />
</source><br />
<br />
<br />
Tips:<br />
* use the microformats-2 class name first, e.g.<br />
** <code>class="h-card vcard"</code><br />
** <code>class="u-url url"</code><br />
* and pair them when using an element for multiple properties, e.g.:<br />
** <code>class="p-name fn u-url url"</code><br />
** <code>class="p-name fn u-photo photo"</code><br />
* put microformats classes after classes for CSS (since page authors will likely interact more with their own classes for design than with microformats classes), e.g. as used on individual microformats [[events]] pages:<br />
** <code>class="event-page h-event vevent"</code> <br />
<br />
The prefixes (h-, p-, etc.) of microformats2 class names provide easier recognition, and when followed by the similarly named existing class name, they're more easily recognized as related and thus kept together when the markup is maintained over time.<br />
<br />
Related FAQ: [[microformats2-faq#when_using_both_h-card_and_vcard_which_should_be_first_and_why|When using both h-card and vcard which should be first and why?]]<br />
<br />
== validators ==<br />
microformats2 validators:<br />
<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
Barnaby Walters has a hosted version of the open source php-mf2 [[parser]] where you can enter your markup into a textarea and see how it's parsed:<br />
* http://waterpigs.co.uk/php-mf2/<br />
<br />
See the [[validators]] page for a longer list of validators.<br />
<br />
== Examples in the wild ==<br />
Please add new examples in the wild of microformats-2 to the top of this list. When it gets too big we can move it to a separate page like [[microformats-2-examples-in-wild]].<br />
<br />
* ...<br />
* [http://www.w3.org/conf/ W3Conf 2013] uses h-event for the main event, and h-card for all the speakers and notable attendees. The h-cards make particularly good use of implied name, url, and photo properties.<br />
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*<br />
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages<br />
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].<br />
* Aaron Parecki uses h-card to markup both authorship and references to people in his notes permalinks, e.g. [http://aaronparecki.com/2012/230/reply/1 2012/230/reply/1].<br />
* [http://tantek.com/ Tantek Çelik] uses h-card, h-event, and h-entry on his home page, as well as h-entry on all post permalinks, e.g. [http://tantek.com/2012/243/t1/name-beats-title-modern-use-dubline-core-wrong-uf2 2012-243 post], with [[rel-prev]]/[[rel-next]] (if applicable) to indicate prev/next posts, and with [[rel-author]] to his home page with canonical hCard to indicate authorship.<br />
* [http://waterpigs.co.uk/ Barnaby Walters] uses h-card on his home page, h-card, h-entry and XFN markup on his [http://waterpigs.co.uk/notes notes page].<br />
** 2013-01-25 Barnaby Walters: <cite>[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]</cite> - describes how he's using microformats2 vocabularies: <code>h-adr</code>, <code>h-card</code>, <code>h-entry</code>, <code>h-event</code>, <code>h-geo</code>, <code>h-review</code>, and experimental vocabularies: <code>h-feed</code> (embedded for update histories), [[activity-streams]] objects <code>h-as-article</code>, <code>h-as-collection</code>, <code>h-as-note</code>, <code>h-as-update</code>, as well as experimental properties: <code>u-alternate</code> and <code>u-as-downstream-duplicate</code> (links to POSSE copies), and <code>u-in-reply-to</code> (links to content that the posts are in reply to). <br />
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.<br />
* [http://tantek.com/presentations/2012/06/pdf2012-indieweb.html Rise of the Indie Web hCards] (from Personal Democracy Forum 2012 #pdf12 #pdf2012) has [[microformats-2]] h-calendar and h-card markup<br />
* WebMaker by Mozilla has [[microformats-2]] h-calendar and h-card on event search (e.g. [https://webmaker.org/en-US/events/near/?lat=45.5234515&lng=-122.6762071 search near Portland Oregon]) and event pages (e.g. [https://webmaker.org/en-US/events/192f56eb9/ IndieWebCamp 2012]).[https://twitter.com/microformats/status/212207925643587585]<br />
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages<br />
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.<br />
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.<br />
<br />
== Implementations ==<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
<br />
Blogging tools:<br />
* '''Storytlr''' parses the 'target' from [http://indiewebcamp.com/pingback pingbacks] for [https://github.com/storytlr/storytlr/blob/master/protected/application/public/controllers/PingbackController.php#L63 h-entry with properties and nested h-card] for information to automatically display in the [http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html comments section on a post].<br />
<br />
<br />
Parsers and other implementations of microformats2, typically open source:<br />
<br />
Javascript:<br />
* '''microformat-node''' Node.js microformats2 parser<br />
** github open source: https://github.com/glennjones/microformat-node<br />
** test suite: https://github.com/microformats/tests<br />
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/<br />
** live: http://microformat2-node.jit.su/<br />
* '''microformat-shiv''' - cross browser javascript microformats 2 parser which can also be used in browser extensions.<br />
** http://microformatshiv.com/<br />
** github open source: https://github.com/glennjones/microformat-shiv<br />
PHP:<br />
* '''<span id="php-mf2">php-mf2</span>''' - PHP microformats2 parser<br />
** github open source: https://github.com/indieweb/php-mf2<br />
** Packagist: https://packagist.org/packages/mf2/mf2<br />
** live: <br />
*** textarea entry: http://waterpigs.co.uk/php-mf2/<br />
*** URL entry: http://pin13.net/ (where it says "Microformats Parser")<br />
Ruby:<br />
* '''G5/microformats2''' Ruby microformats2 parser<br />
** github open source: https://github.com/G5/microformats2<br />
<br />
== Presentations ==<br />
Presentations about microformats2:<br />
* 2013-01-24 <cite>[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]</cite> presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.<br />
* 2012-09-21 <cite>[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp; bits of HTML5: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.<br />
* 2012-07-21 <cite>[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-21-cascadesf|Innovators of the Web conference]] in San Francisco, CA.<br />
* 2012-07-14 <cite>[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-14-open-web-camp-4|Open Web Camp IV]] in San Jose, CA.<br />
<br />
== Testimonials ==<br />
* <blockquote class="twitter-tweet">To prove the web standards community can come up with better standards than the SE’s, compare this: http://microformats.org/wiki/microformats-2 with schema . org &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]</blockquote><br />
* <blockquote class="twitter-tweet">... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]</blockquote><br />
* <blockquote class="twitter-tweet">... But damn Microformats2 are sexy. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]</blockquote><br />
<br />
== About This Brainstorm ==<br />
The rest of this page is a brainstorm currently written in narrative / exploratory format, that is, acknowledging the success that microformats have had, why so, and then a walk through of known issues with microformats in general along with iteration of ways to address said issues, ending up with the current microformats 2 design as a conclusion.<br />
<br />
The proposals build on each other resulting in a solution that addresses the vast majority of general issues. The proposed changes merit a major version number increment, hence microformats 2.<br />
<br />
This mathematical proof/derivation style is used to explicitly encourage understanding (and double-checking) of the rational steps taken in the development of microformats 2. Reasons are documented, sometimes along with alternatives considered (and reasons for rejection of those alternatives).<br />
<br />
When the microformats 2 brainstorm has evolved sufficiently to demonstrate some degree of stability, usability, and implementability, it will be rewritten in a more declarative specification style, and this narrative/derivation will be archived to a background development page for historical purposes.<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
== Background ==<br />
<br />
2004: In early February microformats were introduced as a concept at eTech, and in September [[hCard]] and [[hCalendar]] were proposed at FOO Camp.<br />
<br />
2010:<br />
* 34% of webdevs use microformats ([http://www.webdirections.org/sotw10/markup/#semantics 2010 State of Web Development survey])<br />
* 1.88 billion hCards (per [[Yahoo]] SearchMonkey)<br />
* 36 million hCalendar events (ibid)<br />
<br />
* XFN -> Social Graph API -> Web as Social Network / Address Book<br />
<br />
== Addressing Issues ==<br />
=== AUTHORS and PUBLISHING ===<br />
Authors and publishers are perhaps the most important constituency in the microformats community. There are more of them than there are developers, programmers, parsers, etc. and they're the ones that solved the chicken-egg problem by publishing microformats even before tools were available for consuming them.<br />
<br />
Therefore we must first address author/publisher general issues with microformats.<br />
<br />
==== can we make the simplest case simpler ====<br />
Issue: '''How can we make it easier for authors to publish microformats?'''<br />
<br />
Currently the simplest hCard:<br />
<source lang=html4strict><br />
<span class="vcard"><br />
<span class="fn"><br />
Chris Messina<br />
</span><br />
</span><br />
</source><br />
<br />
requires 2 elements (nested, with perhaps at least one being pre-existing), and 2 class names.<br />
<br />
Web authors/designers are used to the simplicity of most HTML tags, e.g. to mark up a heading:<br />
<br />
<source lang=html4strict><br />
<h1>Chris Messina</h1><br />
</source><br />
<br />
requires just 1 element.<br />
<br />
[http://zeldman.com/ Jeffrey Zeldman] pointed out this apparent perceived incremental complexity (2 elements vs 1) during a microformats workshop in 2009 in New York City.<br />
<br />
'''How can we make microformats just as easy?'''<br />
<br />
'''Proposal: allow root class name only.'''<br />
<br />
This would enable:<br />
<br />
<source lang=html4strict><br />
<h1 class="vcard">Chris Messina</h1><br />
</source><br />
<br />
requiring only 1 class name for the simplest case.<br />
<br />
<br />
==== renaming for usability ====<br />
Otherwise known as, choosing one form of consistency over another.<br />
<br />
'''Can we do even better?'''<br />
<br />
One of the most common questions asked about hCard is:<br />
<br />
[[hcard-faq#Why_does_hCard_use_vcard_as_the_root_class_name|Why does hCard use vcard as the root class name?]]<br />
<br />
This slight inconsistency between the name of the format and the name of the root class name consistently causes confusion in a large percentage of newcomers to microformats.<br />
* See [[issues#hcard-vs-vcard-name]] for details/links.<br />
<br />
Though in microformats we believe very strongly in the [[principle]] of [[reuse]], we have to admit that in this case experience/evidence has shown that this may be a case where we re-used something too far beyond it's original meaning. Thus:<br />
<br />
'''Proposal: use root class name "hcard" instead of "vcard" for future hCards.'''<br />
<br />
This would result in:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard">Chris Messina</h1><br />
</source><br />
<br />
making the simple case even simpler:<br />
<br />
Just 1 additional class name, named the same as the format you're adding. Think hCard, markup class="hcard".<br />
<br />
At a minimum for compatibility we should document that parsers should accept "hcard" as an alternative to "vcard" as the root class name for hCard 1.0, and similarly for hCalendar 1.0: "hcalendar" in addition to "vcalendar", "hevent" in addition to "vevent".<br />
<br />
However, for [[microformats-2]] we are going to distinguish root class names further by using an "h-" prefix (e.g. "h-card"). Read on to understand why.<br />
<br />
==== simplifying to only needing one element ====<br />
It's very important for the simple case to be as simple as possible, to enable the maximum number of people to get started with minimum effort. (The idea of using a single class name for a microformat was proposed by Ryan Cannon in 2006 specifically [[hcard-implied|for hCard]], and rediscovered by [[User:Tantek|Tantek]] in 2010 and subsequently generalized to all microformats.)<br />
<br />
From there on, it's ok to require incremental effort for incremental return.<br />
<br />
E.g. to add any additional information about a person, add explicit property names.<br />
<br />
'''How does this simple root-only case work?'''<br />
<br />
* root class name reflects name of the microformat<br />
* every microformat must require at most 1 property (preferably 0)<br />
** admit that requiring a field in an application just results in noise (the 90210 problem - apps which require zip code get lots of false 90210 entries), and specify that any application use cases which appear to "require" specific properties must instead define how to imply sensible defaults for them.<br />
* when only a root class name is specified, imply the entire text contents of the element as the value of the primary property of the microformat. e.g.<br />
** "hcard" implies "fn"<br />
** hcalendar event - "hevent" - implies "summary"<br />
** "hreview" implies "summary"<br />
** "hentry" implies "entry-summary" (perhaps collapse into "summary" - in practice they're not sufficiently semantically distinct to require separate property names)<br />
** '''OR''' instead of making the one implied property be vocabulary specific, introduce a new generic (applicable to all vocabularies) 'p-name' property (subsuming hCard's 'fn'). See [[microformats-2-brainstorming#further_simplifications|microformats 2 brainstorming: further simplifications]] for latest thoughts along these lines, including the following specific mark-up implied generic properties across all microformats (based on existing published markup use-cases)<br />
*** 'p-name'<br />
*** 'u-url'<br />
*** 'u-photo'<br />
<br />
==== flat sets of properties ====<br />
'''What more can we simplify about microformats?'''<br />
<br />
Numerous individuals have provided the feedback that whenever there is more than one level of hierarchy in a microformat, many (most?) developers get confused - in particular Kavi Goel of Google / Rich Snippets provided this feedback at a microformats dinner. Thus depending on multiple levels of hierarchy is likely resulting in a loss of authorability, perhaps even accuracy as confusion undoubtedly leads to more errors. Thus:<br />
<br />
'''Proposal: simplify all microformats to flat sets of properties. '''<br />
<br />
What this means:<br />
* all microformats are simply an object with a set of properties with values.<br />
* no more subproperties- drop the notion of subproperties.<br />
* use composition of multiple microformats for any further hierarchy, e.g. the "location" of an hCalendar event can be an hCard, or the "agent" of one hCard can be another hCard.<br />
<br />
For example for hCard this would mean the following specific changes to keep relevant functionality:<br />
* drop "n", promote all "n" subproperties to full properties<br />
** given-name, family-name, additional-name, honorific-prefix, honorific-suffix<br />
* treat "geo" as a nested microformat<br />
* treat "adr" as a nested microformat (what to do about adr's "type"?)<br />
* treat "org" as a flat string and drop "organization-name" and "organization-unit" (in practice rarely used, also not revealed or ignored in contact management user interfaces - e.g. Address Book)<br />
<br />
Example: add a middle initial to the previous example Chris Messina's name, and markup each name component:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard"><br />
<span class="fn"><br />
<span class="given-name">Chris</span><br />
<abbr class="additional-name">R.</abbr><br />
<span class="family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
Note:<br />
# use of an explicit span with "fn" to markup his entire formatted name<br />
# use of the abbr element to explicitly indicate the semantic that "R." is merely an abbreviation for his additional-name.<br />
<br />
==== distinguishing properties from other classes ====<br />
Current microformats properties re-use generic terms like "summary", "photo", "updated" both for ease of use and understanding.<br />
<br />
However, through longer term experience, we've seen sites that accidentally drop (or break) their microformats support (e.g. Upcoming.org, Facebook) because web authors sometimes rewrite all their class names, and either are unaware that microformats were in the page, or couldn't easily distinguish microformats property class names from other site-specific class names.<br />
<br />
This issue has been reported by a number of web authors.<br />
* See: [[issues#class-collisions]]<br />
<br />
Thus microformats 2 uses ''prefixes'' for property class names, e.g.:<br />
* '''p-summary''' instead of ''summary''<br />
* '''u-photo''' instead of ''photo'' <br />
* '''dt-updated''' instead of ''updated''<br />
<br />
Such prefixing of all microformats class names was first suggested by Scott Isaacs of Microsoft to Tantek on a visit to Microsoft sometime in 2006/2007, but specifically aimed at making microformats easier to parse. At the time the suggestion was rejected since microformats were focused on web authors rather than parsers.<br />
<br />
However, since experience has shown that distinguishing property class names is an issue for '''both web authors and parser developers''', this is a key change that microformats 2 is adopting. See the next section for details.<br />
<br />
=== COMMUNITY and TOOLS ===<br />
The second most important constituency in the microformats community are the developers, programmers, tool-makers.<br />
<br />
A non-trivial number of them have been sufficiently frustrated with some general issues with microformats that they've done the significant extra work to support very different and less friendly alternatives (microdata, RDFa). Based on this real-world data (market behavior), it behooves us to address these general issues with microformats for this constituency.<br />
<br />
==== existing microformats parsing requirements ====<br />
COMMUNITY and TOOLS (that) USE MICROFORMATS <br />
* parser / parsing<br />
* structured<br />
* getting the data out<br />
* json - 1:1 mapping<br />
<br />
[[parsing]] microformats currently requires<br />
# a list of root class names of each microformat to be parsed<br />
# a list of properties for each specific microformats, along with knowledge of the type of each property in order to parse their data from potentially different portions of the HTML markup<br />
# some number of format-specific specific rules (markup/content optimizations)<br />
<br />
This has meant that whenever a new microformat is drafted/specificied/adopted, parsers need to updated to handle it correctly, at a minimum to parse them when inside other microformats and avoid errantly implying properties from one to the other (containment, [[mfo]] problem).<br />
<br />
==== naming conventions for generic parsing ====<br />
I think there is a fairly simple solution to #1 and #2 from the above list, and we can make progress towards minimizing #3. In short:<br />
<br />
'''Proposal: a set of naming conventions for microformat root class names and properties that make it obvious when:'''<br />
* a class name represents a microformat root class name<br />
* a class name represents a microformat property name<br />
* a class name represents a microformat property that needs special parsing (specific type of property).<br />
<br />
In particular - derived from the real world examples of existing proven microformats (rather than any abstraction of what a schema should have)<br />
* '''"h-*" for root class names''', e.g. "h-card", "h-event", "h-entry"<br />
** The 'h-' prefix is based on the existing microformats naming pattern of starting with 'h'.<br />
* '''"p-*" for simple (text) properties''', e.g. "p-fn", "p-summary"<br />
** vocabulary generic parsing, element text in general, treat certain HTML element/attribute combination as special and use those first, e.g. img/alt, abbr/title.<br />
** The 'p-' prefix is based on the word "property" starting with 'p'.<br />
* '''"u-*" for URL properties''', e.g. "u-url", "u-photo", "u-logo"<br />
** special parsing required: prefer a/href, img/src, object/data etc. attributes to element contents.<br />
** The 'u-' prefix is based on URL/URI starting with the letter 'u', which is the type of most of these related properties.<br />
* '''"dt-*" for datetime properties''', e.g. "dt-start", "dt-end", "dt-bday"<br />
** special parsing required: [[value-class-pattern]], in particular separate date time value parsing for better human readabillity / DRY balance.<br />
** The 'dt-' prefix is based on "date time" having the initials "dt" and the preponderance of existing date time properties starting with "dt", e.g. dtstart, dtend, dtstamp, dtreviewed.<br />
* '''"e-*" for element tree properties''' where the entire contained element hierarchy is the value, e.g. "e-content" (formerly "entry-content") for [[hAtom]]. The 'e-' prefix can also be mnemonically remembered as "element tree", "embedded markup", or "encapsulated markup".<br />
** special parsing required: follow the [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments HTML spec: Serializing HTML Fragments algorithm] to create a serialization.<br />
<br />
This provides a simpler transition/education story for existing microformats authors/publishers: <br />
* "h*" to "h-*", "dt*" to "dt-*", url-like properties to "u-*", entire embedded markup to "e-*", and "p-*" for all "plain text" properties.<br />
<br />
See [[microformats-2-prefixes]] for further thoughts and discussions on these and other class prefixes.<br />
<br />
Example: taking that simple heading hCard example forward:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card">Chris Messina</h1><br />
</source><br />
<br />
As part of microformats 2 we would immediately define root class names and property names for all existing microformats and drafts consistent with this naming convention, and require support thereof from all new implementations, as well as strongly encouraging existing implementations to adopt the simplified microformats 2 syntax and mechanism. Question: which microformats deserve explicit backward compatibility?<br />
<br />
As a community we would continue to use the microformats [[process]] both for researching and determining the need for new microformats, and for naming new microformat property names for maximum re-use and interoperability of a shared vocabulary.<br />
<br />
If it turns out we need a new property type in the future, we can use one of the remaining single-letter-prefixes to add it to microformats 2. This would require updating of parsers of course, but in practice the number of different types of properties has grown very slowly, and we know from other schema/programming languages that there's always some small limited number of scalar/atomic property types that you need, and using those you can create compound types/objects that represent richer / more complicated types of data. See [[microformats-2-prefixes]] for documentation of existing single-letter class name prefixes in practice.<br />
<br />
=== ADVANTAGES ===<br />
This has numerous advantages:<br />
* '''better maintainability''' - much more obvious to web authors/designers/publishers which class names are for/from microformats.<br />
* '''no chance of collision''' - for all practical purposes with existing class names and thus avoiding any need to add more complex CSS style rules to prevent unintended styling effects.<br />
* '''simpler parsing''' - parsers can now do a simple stream-parse (or in-order DOM tree walk) and parse out '''all''' microformat objects, properties, and values, without having to know anything about any specific microformats.<br />
* '''separation of syntax and vocabulary''' - by abstracting microformats 2 syntax independent of any vocabulary, it allows and encourages development of shared vocabularies that can work in alternative syntaxes.<br />
<br />
More examples: here is that same heading example with name components:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<span class="p-fn"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
with a hyperlink to Chris's URL:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<a class="p-fn u-url" href="http://factoryjoe.com/"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
=== COMPATIBILITY ===<br />
<br />
microformats 2 is backwards compatible in that in permits content authors to markup with both old and new class names for compatibility with old tools.<br />
<br />
Here is a simple example:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<span class="fn">Chris Messina</span><br />
</h1><br />
</source><br />
<br />
a microformats 2 parser would see the class name "h-card" and imply the one required property from the contents, while a microformats 1.0 parser would find the class name "vcard" and then look for the class name "fn". no data duplication is required. this is a very important continuing application of the <abbr title="don't repeat yourself">DRY</abbr> [[principle]].<br />
<br />
And the above hyperlinked example with both sets of class names:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<a class="p-fn u-url n fn url" href="http://factoryjoe.com/"><br />
<span class="p-given-name given-name">Chris</span><br />
<abbr class="p-additional-name additional-name">R.</abbr><br />
<span class="p-family-name family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
<br />
=== VENDOR EXTENSIONS ===<br />
<br />
(this section was only discussed verbally and not written up during discussions - capturing here as it is topical)<br />
<br />
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.<br />
<br />
Proprietary or experimental CSS3 property implementations have been very successful.<br />
<br />
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:<br />
<br />
* -moz-border-radius<br />
* -webkit-border-radius<br />
<br />
etc.<br />
<br />
Note that these are merely string '''prefixes''', not bound to any URL, and thus not namespaces in any practical sense of the word. This is quite an important distinction, as avoiding the need to bind to a URL has made them easier to support and use.<br />
<br />
This use of vendor specific CSS properties has in recent years allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.<br />
<br />
The benefits have been two-fold:<br />
* designers have been able to make more attractive sites sooner (at least in some browsers)<br />
* features have been market / real-world tested before being fully standardized, thus resulting in better features<br />
<br />
Implementers have used/introduced "x-" prefixes for IETF MIME/content-types for experimental content-types, MIME parameter extensions, and HTTP header extensions, per RFC 2045 Section 6.3, RFC 3798 section 3.3, and [https://secure.wikimedia.org/wikipedia/en/wiki/List_of_HTTP_header_fields#Common_non-standard_headers Wikipedia: HTTP header fields - non-standard headers] (could use RFC reference instead) respectively, like:<br />
<br />
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])<br />
* x-spam-score (in email headers)<br />
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])<br />
<br />
Some standard types started as experimental "x-" types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:<br />
<br />
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])<br />
<br />
There have been times when specific sites have wanted to extend microformats beyond what the set of properties in the microformat, and currently lack any '''experimental''' way to do so - to try and see if a feature (or even a whole format) is interesting in the real world before bothering to pursue researching and walking it through the microformats process. Thus:<br />
<br />
'''Proposal:'''<br />
* '*-x-' + '-' + meaningful name for root and property class names<br />
** where "*" indicates the single-character-prefix as defined above<br />
** where "x" indicates a literal 'x' for an experimental extension OR<br />
** OR "x" indicates a vendor prefix (more than one character, e.g. like CSS vendor extension abbreviations, or some stock symbols, avoiding first words/phrases/abbreviations of microformats properties like dt-)<br />
** e.g.<br />
** "h-bigco-one-ring" - a hypothetical "bigco" vendor-specific "one-ring" microformat root class name.<br />
** "p-goog-preptime" - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's "preptime" property extension] to [[hRecipe]] (aside: "duration" may be another property type to consider separate from "datetime" as it may be subject to different parsing rules.)<br />
** "p-x-prep-time" - a possible experimental property name to be added to hRecipe upon consideration/documentation of real-world usage/uptake.<br />
<br />
Background - this proposal is a composition of the following (at least somewhat) successful vendor extension syntaxes<br />
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]<br />
* IETF MIME/content-type "x-*" extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]<br />
* IETF MIME experimental fields (e.g. x-spam-score)<br />
* HTTP header extensions (e.g. x-pingback)<br />
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]<br />
<br />
=== USERS ===<br />
Need more tools and interfaces that:<br />
* publish<br />
* copy/paste<br />
* right-click on a microformat<br />
* share<br />
* search results<br />
<br />
discussed some existing like: [[H2VX]] converts hCard to vCard, hCalendar to iCalendar<br />
<br />
how would we re-implement Live Clipboard today, making it easier for publishers and developers?<br />
<br />
=== SEE ALSO ===<br />
* [[microformats2]]<br />
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.<br />
* [[microformats2-prefixes]]<br />
* [[microformats2-faq]]<br />
* [[microformats2-parsing]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=microformats2-ro&diff=54044
microformats2-ro
2013-06-06T12:30:28Z
<p>ChiefRA: /* h-adr */</p>
<hr />
<div><entry-title>microformate 2</entry-title><br />
<br />
Bine ati venit pe pagina de microformate versiunea a 2 a<br />
<br />
== Sumar ==<br />
Microformatele v. 2 imbunatatesc si usureaza totodata implementarea de catre autori (publishers) si developeri ([[microformats2-parsing|parseri]] programatori), cu urmatoarele simplificari:<br />
<br />
# '''prefixele pentru numele de clase''' folosite pentru microformate, acelea care incep cu 'h-' 'p-' 'u-' 'dt-', 'e-' = '''sunt suntaxe independente de vocabular''' si pot fi imbunatatite mai departe separat.<br />
#* 'h-*' pentru numele de clase de root, ex. 'h-card'<br />
#* 'p-*' pentru proprietati simple (text), ex. 'p-name'<br />
#* 'u-*' pentru proprietati ale URL-urilor, ex. 'u-photo'<br />
#* 'dt-*' pentru proprietati de data/timp, ex. 'dt-bday'<br />
#* 'e-*' pentru proprietati de markup incorporate, ex. 'e-note'. Vezi [[microformats2#naming_conventions_for_generic_parsing|conventii de denumiri ale prefixelor]] pentru mai multe detalii.<br />
# '''seturi standard de proprietati optionale''' pentru toate microformatele (datele ierarhic aranjate folosesc microformate combinate). Proprietatile sunt toate optionale si pot contine mai multe valori (aplicatiile care necesita o singura iteratie pot folosi numai prima instanta).<br />
# '''marcarea unei singure clase pentru uzul comun''' - pentru tiparele simple de markup de uz comun, o simpla clasa de root a unui microformat poate contine de la sine cateva proprietati generice - nume, adresa URL, poza. De exemplu:<br />
<br />
=== exemple de microformate 2 simple ===<br />
Aici avem cateva exemple simple de microformate 2 care demonstreaza cele mai multe schimbari, impreuna cu canonicalele [[JSON]].<br />
<br />
* O referinta simpla catre o persoana:<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Frances Berriman"] <br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* O referinta simpla catre o persoana cu tot cu URL:<br />
<source lang=html4strict><br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Ben Ward"],<br />
"url": ["http://benward.me"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* O referinta simpla catre poza unei persoane:<br />
<source lang=html4strict><br />
<a class="h-card" href="http://rohit.khare.org/"><br />
<img alt="Rohit Khare"<br />
src="https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg" /><br />
</a><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Rohit Khare"],<br />
"url": ["http://rohit.khare.org"],<br />
"photo": ["https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Exemple de cazuri simple mai puteti gasi si in [[microformats-2-implied-properties]].<br />
<br />
<br />
----<br />
<br />
* Marcarea mai detaliata in cod a persoanelor (bazate pe exemple de microformate 2 din viata reala [https://webfwd.org/about/experts/]).<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<img class="u-photo" alt="photo of Mitchell"<br />
src="https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"/><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a><br />
(<a class="u-url" <br />
href="https://twitter.com/MitchellBaker"<br />
>@MitchellBaker</a>)<br />
<span class="p-org">Mozilla Foundation</span><br />
<p class="p-note"><br />
Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.<br />
</p><br />
<span class="p-category">Strategy</span><br />
<span class="p-category">Leadership</span><br />
</div><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"photo": ["https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"],<br />
"name": ["Mitchell Baker"],<br />
"url": [<br />
"http://blog.lizardwrangler.com/",<br />
"https://twitter.com/MitchellBaker"<br />
],<br />
"org": ["Mozilla Foundation"],<br />
"note": ["Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities."],<br />
"category": [<br />
"Strategy",<br />
"Leadership"<br />
]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
Note: <br />
# Codul JSON <code>"type"</code> foloseste toata clasa de root a microformatului (ex. <code>"h-card"</code>) pentru identificarea corecta de fiecare data.<br />
# toate proprietatile sunt optionale si sintactic sunt puse la plural cu valori asezate in ordinea de analizare a codului documentului; cazurile particulare de microformate ( si aplicatiile care le folosesc) s-ar putea sa aplice iteratii specifice/singulare primelor valori ale unei proprietati.<br />
<br />
== vocabular v.2 ==<br />
Status: '''<span id="draft_v2_vocabularies">draft</span>'''. Va rugam revizuiti si veniti cu sugestii pe canalul #microformats din [[IRC]].<br />
<br />
=== h-adr ===<br />
numele clasei radacina: '''<code>h-adr</code>'''<br/><br />
profil/tip: <nowiki>http://microformats.org/profile/h-adr</nowiki><br />
<br />
proprietati:<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>''' - nou in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-geo</code>''' (or '''<code>u-geo</code>''' din RFC 5870 geo: URL) - nou in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
* '''<code>p-longitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
* '''<code>p-altitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
<br />
Pentru compatibiliatea cu versiunea anterioara, parserele pentru microformate v.2 {{ar trebui}} sa detecteze urmatoarele nume de clase radacina si nume de proprietati. Un parser pentru microformate v.2 poate folosi alte [[parsers|parsere]] de microformate deja existente pentu a extrage aceste proprietati. Daca un "h-adr" este gasit, nu mai cautati inca un "adr" in acelasi element.<br />
<br />
Numele clasei radacinii compacte: <code id="adr">adr</code><br/><br />
proprietati: (analizate ca '''p-''' text simplu daca nu este specificat altfel)<br />
* <code>post-office-box</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
<br />
=== h-card ===<br />
root class name: '''<code>h-card</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-card</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-honorific-prefix</code>'''<br />
* '''<code>p-given-name</code>'''<br />
* '''<code>p-additional-name</code>'''<br />
* '''<code>p-family-name</code>'''<br />
* '''<code>p-sort-string</code>'''<br />
* '''<code>p-honorific-suffix</code>'''<br />
* '''<code>p-nickname</code>'''<br />
* '''<code>u-email</code>'''<br />
* '''<code>u-logo</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-adr</code>'''<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>'''<br />
* '''<code>p-geo</code>''' or '''<code>u-geo</code>''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-tel</code>'''<br />
* '''<code>p-note</code>'''<br />
* '''<code>dt-bday</code>'''<br />
* '''<code>u-key</code>'''<br />
* '''<code>p-org</code>'''<br />
* '''<code>p-job-title</code>''' - previously 'title' in hCard, disambiguated.<br />
* '''<code>p-role</code><br />
* '''<code>u-impp</code>''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-sex</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-gender-identity</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>dt-anniversary</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* ...<br />
<br />
Reserved properties: (properties not used much (if at all) in practice)<br />
* '''<code>p-organization-name</code>'''<br />
* '''<code>p-organization-unit</code>'''<br />
* '''<code>p-tz</code>'''<br />
* '''<code>dt-rev</code>'''<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-card" is found, don't look for a "vcard" on the same element.<br />
<br />
compat root class name: <code id="vcard">vcard</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>honorific-prefix</code><br />
* <code>given-name</code><br />
* <code>additional-name</code><br />
* <code>family-name</code><br />
* <code>honorific-suffix</code><br />
* <code>nickname</code><br />
* <code>email</code> - parse as '''u-'''<br />
* <code>logo</code> - parse as '''u-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>uid</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>adr</code> - parse as '''<code>p-adr h-adr</code>''' including compat root class <code>adr</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
* <code>label</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root class <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* <code>tel</code><br />
* <code>note</code><br />
* <code>bday</code> - parse as '''dt-'''<br />
* <code>key</code> - parse as '''u-'''<br />
* <code>org</code><br />
* <code>organization-name</code><br />
* <code>organization-unit</code><br />
* <code>title</code> - parse as '''p-job-title'''<br />
* <code>role</code><br />
* ...<br />
<br />
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:<br />
* <code>tz</code><br />
* <code>rev</code> - parse as '''dt-'''<br />
* ...<br />
<br />
Note: use of 'value' within 'tel' should be automatically handled by the support of the [[value-class-pattern]]. And for now, the 'type' subproperty of 'tel' is dropped/ignored. If there is demonstrable documented need for additional tel types (e.g. fax), we can introduce new flat properties as needed (e.g. p-tel-fax).<br />
<br />
=== h-entry ===<br />
root class name: '''<code>h-entry</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-entry</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' (was p-entry-title, see issues)<br />
* '''<code>p-summary</code>''' (was p-entry-summary, see issues)<br />
* '''<code>e-content</code>''' (was e-entry-content, see issues)<br />
* '''<code>dt-published</code>'''<br />
* '''<code>dt-updated</code>'''<br />
* '''<code>p-author</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
<br />
This is an update to [[hAtom]]. <br />
<br />
Brainstorming:<br />
<br />
The following properties are proposed additions to h-entry above and beyond what hAtom (or Atom) provides, based on various existing link preview markup conventions:<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-audio</code>''' - consider special u- parsing rules for <code>&lt;audio></code><br />
* '''<code>u-video</code>''' - consider special u- parsing rules for <code>&lt;video></code><br />
* '''<code>u-in-reply-to</code>''' - for links to other posts that this post is a reply to (comment regarding, etc.)<br />
<br />
Backward compatibility: <br />
<br />
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer <code>p-name</code> over <code>p-entry-title</code>, and use <code>p-entry-title</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For hAtom backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-entry" is found, don't look for a "hentry" on the same element.<br />
<br />
compat root class name: <code id="hentry">hentry</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>entry-title</code> - parse as '''<code>p-name</code>'''<br />
* <code>entry-summary</code><br />
* <code>entry-content</code> - parse as '''e-'''<br />
* <code>published</code> - parse as '''dt-'''<br />
* <code>updated</code> - parse as '''dt-'''<br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>category</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
<span id="h-entry-faq">FAQ:</span><br />
<div class="discussion"><br />
* '''What is the <code>p-name</code> of a [http://indiewebcamp.com/note note]?'''<br />
** A few options, from simplest to most detailed.<br />
*** '''same as the p-content/e-content''' property.<br />
*** '''same as the <code>title</code> element''' on the note permalink post page. When publishing a note on its own permalink post page, the contents of the note are likely abbreviated for the title of the page. The same abbreviation can be used for the p-name.<br />
*** '''first sentence of the p-content/e-content''' property. It may be better for [http://indiewebcamp.com/syndication syndication] and [[link-preview]] purposes to provide just the first sentence of the note as the <code>p-name</code>. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the <code>p-summary</code>.<br />
* ...<br />
</div><br />
<br />
Resolved Issues:<br />
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:<br />
** Use '''<code>p-summary</code> instead of <code>p-entry-summary</code>'''. The historical semantic of "entry-summary" is not different from "summary" in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.<br />
** Use '''<code>e-content</code> instead of <code>e-entry-content</code>'''. Same point and advantage. In microformats2, entry-content is no more.<br />
** '''drop <code>p-entry-title</code>'''. Unnecessary and subsumed by "p-name". Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.<br />
<br />
=== h-event ===<br />
root class name: '''<code>h-event</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-event</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-summary</code>'''(*)<br />
* '''<code>dt-start</code>'''<br />
* '''<code>dt-end</code>'''<br />
* '''<code>dt-duration</code>'''<br />
* '''<code>p-description</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-location</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* ...<br />
<br />
This is an update to [[hCalendar]]. <br />
<br />
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer <code>p-name</code> over <code>p-summary</code>, and use <code>p-summary</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-event" is found, don't look for a "vevent" on the same element.<br />
<br />
compat root class name: <code id="vevent">vevent</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> - parse as '''<code>p-name</code>'''<br />
* <code>dtstart</code> - parse as '''<code>dt-start</code>'''<br />
* <code>dtend</code> - parse as '''<code>dt-end</code>'''<br />
* <code>duration</code> - parse as '''<code>dt-duration</code>'''<br />
* <code>description</code><br />
* <code>url</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>location</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code>, and compat root <code>adr</code> in the absence of <code>h-adr</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
=== h-geo ===<br />
root class name: '''<code>h-geo</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-geo</nowiki><br />
<br />
properties:<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-geo" is found, don't look for an "geo" on the same element.<br />
<br />
compat root class name: <code id="geo">geo</code><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>latitude</code><br />
* <code>longitude</code><br />
<br />
=== h-item ===<br />
root class name: '''<code>h-item</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-item</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
<br />
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of "h-item" won't require any explicit properties at all (since microformats2 parsers will infer name, photo, and url properties from the structure of the element with "h-item" and its contained content/elements if any).<br />
<br />
=== h-product ===<br />
root class name: '''<code>h-product</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-product</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the product<br />
* '''<code>u-photo</code>''' - photo of the product<br />
* '''<code>p-brand</code>''' - manufacturer, can also be a nested <code>h-card</code><br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>e-description</code>'''<br />
* '''<code>u-url</code>''' - URL of the product<br />
* '''<code>u-identifier</code>''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.<br />
* '''<code>p-review</code>''' - a review of the product, can also be a nested <code>h-review</code><br />
* '''<code>p-price</code>''' - retail price of the product<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-product" is found, don't look for an "hproduct" on the same element.<br />
<br />
compat root class name: <code id="hproduct">hproduct</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>brand</code><br />
* <code>category</code><br />
* <code>description</code><br />
* <code>identifier</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>review</code> - including compat root class <code>hreview</code> in the absence of <code>h-review</code><br />
* <code>price</code><br />
<br />
Note: [[hProduct]] has at least one experimental property which has real world adoption due to [[Google]] and [[Bing]] search support of hProduct. Currently this is: price<br />
<br />
=== h-recipe ===<br />
root class name: '''<code>h-recipe</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-recipe</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - the name of the recipe<br />
* '''<code>p-ingredient</code>''' - describes one or more ingredients used in the recipe.<br />
* '''<code>p-yield</code>''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies <br />
* '''<code>e-instructions</code>''' - the method of the recipe.<br />
* '''<code>dt-duration</code>''' - the time it takes to prepare the meal described by the recipe.<br />
* '''<code>u-photo</code>''' - an accompanying image<br />
<br />
Experimental properties with wide adoption<br />
* '''<code>p-summary</code>''' - provides a short summary or introduction <br />
* '''<code>p-author</code>''' - the person who wrote the recipe with <code>h-card</code><br />
* '''<code>dt-published</code>''' - the date the recipe was published<br />
* '''<code>p-nutrition</code>''' - nutritional information like calories, fat, dietary fiber etc.<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-recipe" is found, don't look for an "hrecipe" on the same element.<br />
<br />
compat root class name: <code id="hrecipe">hrecipe</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>ingredient</code><br />
* <code>yield</code><br />
* <code>instructions</code> - parse as '''e-'''<br />
* <code>duration</code> - parse as '''dt-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>summary</code><br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>nutrition</code><br />
<br />
Note: [[hRecipe]] has a number of experimental properties which have real world adoption due to [[Google]] recipe search support of hRecipe. These are: summary, author, published and nutrition<br />
<br />
=== h-resume ===<br />
root class name: '''<code>h-resume</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-resume</nowiki><br />
<br />
properties:<br />
* '''<code>p-summary</code>''' - overview of qualifications and objectives<br />
* '''<code>p-contact</code>''' - current contact info in an <code>h-card</code><br />
* '''<code>p-education</code>''' - an education <code>h-calendar</code> event, years, nested <code>h-card</code> of the school, location.<br />
* '''<code>p-experience</code>''' - a job or other professional experience <code>h-calendar</code> event, years, nested <code>h-card</code> of the organization, location, job-title.<br />
* '''<code>p-skill</code>''' - a skill or ability, optionally including level and/or duration of experience<br />
* '''<code>p-affiliation</code>''' - an affiliation with an <code>h-card</code> organization<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-resume" is found, don't look for an "hresume" on the same element.<br />
<br />
compat root class name: <code id="hresume">hresume</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code><br />
* <code>contact</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>education</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>experience</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>skill</code><br />
* <code>affiliation</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
<br />
Note: skill has a [[hresume-skill-brainstorm|proposed expansion into competency]] with explicit summary, rating and/or duration components. Based on existing real world adoption, we should consider an h-competency vocabulary with p-summary, p-rating, and dt-duration properties.<br />
<br />
=== h-review ===<br />
root class name: '''<code>h-review</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-reviewer</code>''' - person who authored the review <br />
* '''<code>dt-reviewed</code>''' - date time of when the review was written<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating a rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>e-description</code>''' - the full text written evaluation and opinion of the reviewer<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review" is found, don't look for an "hreview" on the same element.<br />
<br />
compat root class name: <code id="hreview">hreview</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>reviewer</code> - including compat root vcard in the absence of h-card<br />
* <code>dtreviewed</code> - parse as '''dt-'''<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>description</code> - parse as '''e-'''<br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
Note: The [[hReview]] format has three properties which make use of <code>rel</code> attribute, these are <code>tag</code>, permalink (via the <code>self</code> and <code>bookmark</code> values) and <code>license</code>. Microformats 2 parsers {{should}} map these URLs into the page scoped rel collection.<br />
<br />
=== h-review-aggregate ===<br />
root class name: '''<code>h-review-aggregate</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review-aggregate</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating average rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>p-count</code>''' - number of reviews aggregated.<br />
* '''<code>p-votes</code>''' - number of reviewers who have rated the product, thus contributing to the average rating.<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer<br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review-aggregate" is found, don't look for an "hreview-aggregate" on the same element.<br />
<br />
compat root class name: <code id="hreview-aggregate">hreview-aggregate</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>count</code><br />
* <code>votes</code><br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
<br />
=== v2 vocab notes ===<br />
Notes: <br />
* All v2 vocabularies are defined as flat lists of properties of an object/item, and thus can be used in microformats-2 syntax as shown, or in microdata items, or RDFa. The microformats-2 property parsing prefixes "p-", "u-", "dt-", "e-" are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.<br />
* Profile URLs are provided for use with the HTML4 <code>profile</code> attribute, microdata <code>itemtype</code> attribute, and RDFa <code>vocab</code> &amp; <code>typeof</code> attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). <br />
* microformats 2 properties may also be explicitly bound as URIs using [[rel-profile]], the [[html5-profile]] attribute proposal, or an HTML5 'vocab' attribute instead. If URI bound terms are important to you, please express interest on [[rel-profile]], [[html5-profile]], or contribute to an [[html5-vocab]] draft.<br />
<br />
=== v2 vocab to-do ===<br />
To do: <br />
* actual profile documents at <nowiki>http://microformats.org/profile/h-*</nowiki> URLs mentioned above.<br />
* Provide any necessary microdata-specific language as needed (e.g. to be comparably understandable to the [http://www.whatwg.org/specs/web-apps/current-work/#vcard sample vCard4/hCard1 microdata vocabulary]. Also provide any necessary RDFa-specific language as needed. Both preferably in a generic vocabulary-independent way.<br />
* write a porting guide mapping v1 property -> v2 property<br />
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).<br />
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)<br />
* write a simple tutorial for creating/getting started with microformats-2 markup for new content<br />
<br />
== combining microformats ==<br />
Since microformats 2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.<br />
<br />
=== h-event location h-card ===<br />
Events commonly have venue information with additional structure, like address information. For example:<br />
<br />
<source lang=html4strict><br />
<div class="h-event"><br />
<a class="p-name u-url" href="http://indiewebcamp.com/2012"><br />
IndieWebCamp 2012<br />
</a><br />
from <time class="dt-start">2012-06-30</time> <br />
to <time class="dt-end">2012-07-01</time> at <br />
<span class="p-location h-card"><br />
<a class="p-name p-org u-url" href="http://geoloqi.com/"><br />
Geoloqi<br />
</a>, <br />
<span class="p-street-address">920 SW 3rd Ave. Suite 400</span>, <br />
<span class="p-locality">Portland</span>, <br />
<abbr class="p-region" title="Oregon">OR</abbr><br />
</span><br />
</div><br />
</source><br />
<br />
The nested h-card used to structure the p-location of the h-event is represented as a structured value for "location" in the JSON, which has an additional key, "value" that represents the plain text version parsed from the p-location.<br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-event"],<br />
"properties": {<br />
"name": ["IndieWebCamp 2012"],<br />
"url": ["http://indiewebcamp.com/2012"],<br />
"start": ["2012-06-30"],<br />
"end": ["2012-07-01"],<br />
"location": [{<br />
"value": "Geoloqi, 920 SW 3rd Ave. Suite 400, Portland, OR",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Geoloqi"],<br />
"org": ["Geoloqi"],<br />
"url": ["http://geoloqi.com/"],<br />
"street-address": ["920 SW 3rd Ave. Suite 400"],<br />
"locality": ["Portland"],<br />
"region": ["Oregon"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Questions:<br />
<div class="discussion"><br />
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, how do we avoid expansion of the JSON geometrically proportional to the depth of microformat nesting? (Or do we not worry about it?)<br />
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no, we stick with one canonical JSON for uf2 which is hierarchical. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, should the flattened JSON have references from properties to nested microformats that have been pushed to the top level per flattening? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
</div><br />
<br />
Notes:<br />
* The 'location' value reflects the visible text of its element, including spaces and punctuation, as well as the state abbreviation 'OR'. The 'h-card' property values are only what is marked up, and thus include structure values without extra punctuation, and the state takes the expanded form from the <code>title</code> attribute of its <code>&lt;abbr&gt;</code> element.<br />
<br />
=== h-card org h-card ===<br />
People often publish information general to their company rather than specific to them, in which case, they may wish to encapsulate that in separately nested microformat. E.g. here is a simple h-card example with org property:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)<br />
<br />
with source:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<span class="p-org">Mozilla Foundation</span>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": ["Mozilla Foundation"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Sometimes such organization affiliations are hyperlinked to the website of the organization:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])<br />
<br />
You can mark that up with a nested h-card:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an <code>&lt;a href&gt;</code> would.<br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
The nested 'h-card' could be marked up as an 'h-org' as well, which adds it to the nested microformat's type array, all as part of the property specified by the 'p-org'.<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card h-org" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card", "h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Without a property class name like 'p-org' holding all the nested objects together, we need to introduce another array for nested children (similar to the existing DOM element notion of children) of a microformat that are not attached to a specific property:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card","h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
Since there's no property class name on the element with classes 'h-card' and 'h-org', the microformat representing that element is collected into the children array.<br />
<br />
Such a nested microformat implies some relationship (containment, being related), but is not as useful as if the nested microformat was a specific property of its parent.<br />
<br />
For this reason it's recommended that authors should not publish nested microformats without a property class name, and instead, when nesting microformats, authors should always specify a property class name (like 'p-org') on the same element as the root class name(s) of the nested microformat(s) (like 'h-card' and/or 'h-org').<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Or the nested object could be only marked up with 'h-card'. Source:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
'''TO DO: Add h-event h-card example and JSON, per real world publishing examples like [http://www.swingtime.co.uk/List/ClSouth.html Swing Time: Classes in Southern England].'''<br />
<br />
== authoring ==<br />
=== minimal markup ===<br />
The best way to use microformats-2 is with as little additional markup as possible. This keeps your code cleaner, improves its maintainability, and thus the quality and longevity of your microformats.<br />
<br />
One big advantage of microformats-2 over previous microformats (and others) is the ability to add one class name to an existing element to create a structured item.<br />
<br />
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.<br />
<br />
Simple hCards work just by adding <code>class="h-card"</code> :<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
<br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
<br />
<img class="h-card" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
<br />
<a class="h-card" href="http://tantek.com"><br />
<img alt="Tantek Çelik" src="http://ttk.me/logo.jpg"/><br />
</a><br />
</source><br />
<br />
* Tip: Inside an open tag, put the <code>class</code> attribute <em>first</em>, then any human text content attributes (e.g. <code>alt</code>), then URL attributes (e.g. <code>href</code> <code>src</code>), and lastly other attributes (e.g. <code>style</code>). Putting the class attribute first ties it closely to the element name/tag itself, makes it more obvious, and thus more likely to be kept up to date.<br />
<br />
=== backward compatible ===<br />
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats-2]], you can include both existing microformats and microformats-2 markup.<br />
<br />
In short: use both sets of class names simultaneously. <br />
<br />
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.<br />
<br />
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a <code>&lt;span&gt;</code>) to separate the root class name element from explicit property class name elements:<br />
<br />
<source lang=html4strict><br />
<span class="h-card vcard"><br />
<span class="p-name fn">Frances Berriman</span><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="p-name fn u-url url" href="http://benward.me">Ben Ward</a><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<img class="p-name fn u-photo photo" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="u-url url" href="http://tantek.com"><br />
<img class="p-name fn u-photo photo" alt="Tantek Çelik" <br />
src="http://ttk.me/logo.jpg"/><br />
</a><br />
</span><br />
</source><br />
<br />
<br />
Tips:<br />
* use the microformats-2 class name first, e.g.<br />
** <code>class="h-card vcard"</code><br />
** <code>class="u-url url"</code><br />
* and pair them when using an element for multiple properties, e.g.:<br />
** <code>class="p-name fn u-url url"</code><br />
** <code>class="p-name fn u-photo photo"</code><br />
* put microformats classes after classes for CSS (since page authors will likely interact more with their own classes for design than with microformats classes), e.g. as used on individual microformats [[events]] pages:<br />
** <code>class="event-page h-event vevent"</code> <br />
<br />
The prefixes (h-, p-, etc.) of microformats2 class names provide easier recognition, and when followed by the similarly named existing class name, they're more easily recognized as related and thus kept together when the markup is maintained over time.<br />
<br />
Related FAQ: [[microformats2-faq#when_using_both_h-card_and_vcard_which_should_be_first_and_why|When using both h-card and vcard which should be first and why?]]<br />
<br />
== validators ==<br />
microformats2 validators:<br />
<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
Barnaby Walters has a hosted version of the open source php-mf2 [[parser]] where you can enter your markup into a textarea and see how it's parsed:<br />
* http://waterpigs.co.uk/php-mf2/<br />
<br />
See the [[validators]] page for a longer list of validators.<br />
<br />
== Examples in the wild ==<br />
Please add new examples in the wild of microformats-2 to the top of this list. When it gets too big we can move it to a separate page like [[microformats-2-examples-in-wild]].<br />
<br />
* ...<br />
* [http://www.w3.org/conf/ W3Conf 2013] uses h-event for the main event, and h-card for all the speakers and notable attendees. The h-cards make particularly good use of implied name, url, and photo properties.<br />
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*<br />
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages<br />
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].<br />
* Aaron Parecki uses h-card to markup both authorship and references to people in his notes permalinks, e.g. [http://aaronparecki.com/2012/230/reply/1 2012/230/reply/1].<br />
* [http://tantek.com/ Tantek Çelik] uses h-card, h-event, and h-entry on his home page, as well as h-entry on all post permalinks, e.g. [http://tantek.com/2012/243/t1/name-beats-title-modern-use-dubline-core-wrong-uf2 2012-243 post], with [[rel-prev]]/[[rel-next]] (if applicable) to indicate prev/next posts, and with [[rel-author]] to his home page with canonical hCard to indicate authorship.<br />
* [http://waterpigs.co.uk/ Barnaby Walters] uses h-card on his home page, h-card, h-entry and XFN markup on his [http://waterpigs.co.uk/notes notes page].<br />
** 2013-01-25 Barnaby Walters: <cite>[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]</cite> - describes how he's using microformats2 vocabularies: <code>h-adr</code>, <code>h-card</code>, <code>h-entry</code>, <code>h-event</code>, <code>h-geo</code>, <code>h-review</code>, and experimental vocabularies: <code>h-feed</code> (embedded for update histories), [[activity-streams]] objects <code>h-as-article</code>, <code>h-as-collection</code>, <code>h-as-note</code>, <code>h-as-update</code>, as well as experimental properties: <code>u-alternate</code> and <code>u-as-downstream-duplicate</code> (links to POSSE copies), and <code>u-in-reply-to</code> (links to content that the posts are in reply to). <br />
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.<br />
* [http://tantek.com/presentations/2012/06/pdf2012-indieweb.html Rise of the Indie Web hCards] (from Personal Democracy Forum 2012 #pdf12 #pdf2012) has [[microformats-2]] h-calendar and h-card markup<br />
* WebMaker by Mozilla has [[microformats-2]] h-calendar and h-card on event search (e.g. [https://webmaker.org/en-US/events/near/?lat=45.5234515&lng=-122.6762071 search near Portland Oregon]) and event pages (e.g. [https://webmaker.org/en-US/events/192f56eb9/ IndieWebCamp 2012]).[https://twitter.com/microformats/status/212207925643587585]<br />
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages<br />
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.<br />
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.<br />
<br />
== Implementations ==<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
<br />
Blogging tools:<br />
* '''Storytlr''' parses the 'target' from [http://indiewebcamp.com/pingback pingbacks] for [https://github.com/storytlr/storytlr/blob/master/protected/application/public/controllers/PingbackController.php#L63 h-entry with properties and nested h-card] for information to automatically display in the [http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html comments section on a post].<br />
<br />
<br />
Parsers and other implementations of microformats2, typically open source:<br />
<br />
Javascript:<br />
* '''microformat-node''' Node.js microformats2 parser<br />
** github open source: https://github.com/glennjones/microformat-node<br />
** test suite: https://github.com/microformats/tests<br />
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/<br />
** live: http://microformat2-node.jit.su/<br />
* '''microformat-shiv''' - cross browser javascript microformats 2 parser which can also be used in browser extensions.<br />
** http://microformatshiv.com/<br />
** github open source: https://github.com/glennjones/microformat-shiv<br />
PHP:<br />
* '''<span id="php-mf2">php-mf2</span>''' - PHP microformats2 parser<br />
** github open source: https://github.com/indieweb/php-mf2<br />
** Packagist: https://packagist.org/packages/mf2/mf2<br />
** live: <br />
*** textarea entry: http://waterpigs.co.uk/php-mf2/<br />
*** URL entry: http://pin13.net/ (where it says "Microformats Parser")<br />
Ruby:<br />
* '''G5/microformats2''' Ruby microformats2 parser<br />
** github open source: https://github.com/G5/microformats2<br />
<br />
== Presentations ==<br />
Presentations about microformats2:<br />
* 2013-01-24 <cite>[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]</cite> presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.<br />
* 2012-09-21 <cite>[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp; bits of HTML5: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.<br />
* 2012-07-21 <cite>[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-21-cascadesf|Innovators of the Web conference]] in San Francisco, CA.<br />
* 2012-07-14 <cite>[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-14-open-web-camp-4|Open Web Camp IV]] in San Jose, CA.<br />
<br />
== Testimonials ==<br />
* <blockquote class="twitter-tweet">To prove the web standards community can come up with better standards than the SE’s, compare this: http://microformats.org/wiki/microformats-2 with schema . org &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]</blockquote><br />
* <blockquote class="twitter-tweet">... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]</blockquote><br />
* <blockquote class="twitter-tweet">... But damn Microformats2 are sexy. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]</blockquote><br />
<br />
== About This Brainstorm ==<br />
The rest of this page is a brainstorm currently written in narrative / exploratory format, that is, acknowledging the success that microformats have had, why so, and then a walk through of known issues with microformats in general along with iteration of ways to address said issues, ending up with the current microformats 2 design as a conclusion.<br />
<br />
The proposals build on each other resulting in a solution that addresses the vast majority of general issues. The proposed changes merit a major version number increment, hence microformats 2.<br />
<br />
This mathematical proof/derivation style is used to explicitly encourage understanding (and double-checking) of the rational steps taken in the development of microformats 2. Reasons are documented, sometimes along with alternatives considered (and reasons for rejection of those alternatives).<br />
<br />
When the microformats 2 brainstorm has evolved sufficiently to demonstrate some degree of stability, usability, and implementability, it will be rewritten in a more declarative specification style, and this narrative/derivation will be archived to a background development page for historical purposes.<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
== Background ==<br />
<br />
2004: In early February microformats were introduced as a concept at eTech, and in September [[hCard]] and [[hCalendar]] were proposed at FOO Camp.<br />
<br />
2010:<br />
* 34% of webdevs use microformats ([http://www.webdirections.org/sotw10/markup/#semantics 2010 State of Web Development survey])<br />
* 1.88 billion hCards (per [[Yahoo]] SearchMonkey)<br />
* 36 million hCalendar events (ibid)<br />
<br />
* XFN -> Social Graph API -> Web as Social Network / Address Book<br />
<br />
== Addressing Issues ==<br />
=== AUTHORS and PUBLISHING ===<br />
Authors and publishers are perhaps the most important constituency in the microformats community. There are more of them than there are developers, programmers, parsers, etc. and they're the ones that solved the chicken-egg problem by publishing microformats even before tools were available for consuming them.<br />
<br />
Therefore we must first address author/publisher general issues with microformats.<br />
<br />
==== can we make the simplest case simpler ====<br />
Issue: '''How can we make it easier for authors to publish microformats?'''<br />
<br />
Currently the simplest hCard:<br />
<source lang=html4strict><br />
<span class="vcard"><br />
<span class="fn"><br />
Chris Messina<br />
</span><br />
</span><br />
</source><br />
<br />
requires 2 elements (nested, with perhaps at least one being pre-existing), and 2 class names.<br />
<br />
Web authors/designers are used to the simplicity of most HTML tags, e.g. to mark up a heading:<br />
<br />
<source lang=html4strict><br />
<h1>Chris Messina</h1><br />
</source><br />
<br />
requires just 1 element.<br />
<br />
[http://zeldman.com/ Jeffrey Zeldman] pointed out this apparent perceived incremental complexity (2 elements vs 1) during a microformats workshop in 2009 in New York City.<br />
<br />
'''How can we make microformats just as easy?'''<br />
<br />
'''Proposal: allow root class name only.'''<br />
<br />
This would enable:<br />
<br />
<source lang=html4strict><br />
<h1 class="vcard">Chris Messina</h1><br />
</source><br />
<br />
requiring only 1 class name for the simplest case.<br />
<br />
<br />
==== renaming for usability ====<br />
Otherwise known as, choosing one form of consistency over another.<br />
<br />
'''Can we do even better?'''<br />
<br />
One of the most common questions asked about hCard is:<br />
<br />
[[hcard-faq#Why_does_hCard_use_vcard_as_the_root_class_name|Why does hCard use vcard as the root class name?]]<br />
<br />
This slight inconsistency between the name of the format and the name of the root class name consistently causes confusion in a large percentage of newcomers to microformats.<br />
* See [[issues#hcard-vs-vcard-name]] for details/links.<br />
<br />
Though in microformats we believe very strongly in the [[principle]] of [[reuse]], we have to admit that in this case experience/evidence has shown that this may be a case where we re-used something too far beyond it's original meaning. Thus:<br />
<br />
'''Proposal: use root class name "hcard" instead of "vcard" for future hCards.'''<br />
<br />
This would result in:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard">Chris Messina</h1><br />
</source><br />
<br />
making the simple case even simpler:<br />
<br />
Just 1 additional class name, named the same as the format you're adding. Think hCard, markup class="hcard".<br />
<br />
At a minimum for compatibility we should document that parsers should accept "hcard" as an alternative to "vcard" as the root class name for hCard 1.0, and similarly for hCalendar 1.0: "hcalendar" in addition to "vcalendar", "hevent" in addition to "vevent".<br />
<br />
However, for [[microformats-2]] we are going to distinguish root class names further by using an "h-" prefix (e.g. "h-card"). Read on to understand why.<br />
<br />
==== simplifying to only needing one element ====<br />
It's very important for the simple case to be as simple as possible, to enable the maximum number of people to get started with minimum effort. (The idea of using a single class name for a microformat was proposed by Ryan Cannon in 2006 specifically [[hcard-implied|for hCard]], and rediscovered by [[User:Tantek|Tantek]] in 2010 and subsequently generalized to all microformats.)<br />
<br />
From there on, it's ok to require incremental effort for incremental return.<br />
<br />
E.g. to add any additional information about a person, add explicit property names.<br />
<br />
'''How does this simple root-only case work?'''<br />
<br />
* root class name reflects name of the microformat<br />
* every microformat must require at most 1 property (preferably 0)<br />
** admit that requiring a field in an application just results in noise (the 90210 problem - apps which require zip code get lots of false 90210 entries), and specify that any application use cases which appear to "require" specific properties must instead define how to imply sensible defaults for them.<br />
* when only a root class name is specified, imply the entire text contents of the element as the value of the primary property of the microformat. e.g.<br />
** "hcard" implies "fn"<br />
** hcalendar event - "hevent" - implies "summary"<br />
** "hreview" implies "summary"<br />
** "hentry" implies "entry-summary" (perhaps collapse into "summary" - in practice they're not sufficiently semantically distinct to require separate property names)<br />
** '''OR''' instead of making the one implied property be vocabulary specific, introduce a new generic (applicable to all vocabularies) 'p-name' property (subsuming hCard's 'fn'). See [[microformats-2-brainstorming#further_simplifications|microformats 2 brainstorming: further simplifications]] for latest thoughts along these lines, including the following specific mark-up implied generic properties across all microformats (based on existing published markup use-cases)<br />
*** 'p-name'<br />
*** 'u-url'<br />
*** 'u-photo'<br />
<br />
==== flat sets of properties ====<br />
'''What more can we simplify about microformats?'''<br />
<br />
Numerous individuals have provided the feedback that whenever there is more than one level of hierarchy in a microformat, many (most?) developers get confused - in particular Kavi Goel of Google / Rich Snippets provided this feedback at a microformats dinner. Thus depending on multiple levels of hierarchy is likely resulting in a loss of authorability, perhaps even accuracy as confusion undoubtedly leads to more errors. Thus:<br />
<br />
'''Proposal: simplify all microformats to flat sets of properties. '''<br />
<br />
What this means:<br />
* all microformats are simply an object with a set of properties with values.<br />
* no more subproperties- drop the notion of subproperties.<br />
* use composition of multiple microformats for any further hierarchy, e.g. the "location" of an hCalendar event can be an hCard, or the "agent" of one hCard can be another hCard.<br />
<br />
For example for hCard this would mean the following specific changes to keep relevant functionality:<br />
* drop "n", promote all "n" subproperties to full properties<br />
** given-name, family-name, additional-name, honorific-prefix, honorific-suffix<br />
* treat "geo" as a nested microformat<br />
* treat "adr" as a nested microformat (what to do about adr's "type"?)<br />
* treat "org" as a flat string and drop "organization-name" and "organization-unit" (in practice rarely used, also not revealed or ignored in contact management user interfaces - e.g. Address Book)<br />
<br />
Example: add a middle initial to the previous example Chris Messina's name, and markup each name component:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard"><br />
<span class="fn"><br />
<span class="given-name">Chris</span><br />
<abbr class="additional-name">R.</abbr><br />
<span class="family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
Note:<br />
# use of an explicit span with "fn" to markup his entire formatted name<br />
# use of the abbr element to explicitly indicate the semantic that "R." is merely an abbreviation for his additional-name.<br />
<br />
==== distinguishing properties from other classes ====<br />
Current microformats properties re-use generic terms like "summary", "photo", "updated" both for ease of use and understanding.<br />
<br />
However, through longer term experience, we've seen sites that accidentally drop (or break) their microformats support (e.g. Upcoming.org, Facebook) because web authors sometimes rewrite all their class names, and either are unaware that microformats were in the page, or couldn't easily distinguish microformats property class names from other site-specific class names.<br />
<br />
This issue has been reported by a number of web authors.<br />
* See: [[issues#class-collisions]]<br />
<br />
Thus microformats 2 uses ''prefixes'' for property class names, e.g.:<br />
* '''p-summary''' instead of ''summary''<br />
* '''u-photo''' instead of ''photo'' <br />
* '''dt-updated''' instead of ''updated''<br />
<br />
Such prefixing of all microformats class names was first suggested by Scott Isaacs of Microsoft to Tantek on a visit to Microsoft sometime in 2006/2007, but specifically aimed at making microformats easier to parse. At the time the suggestion was rejected since microformats were focused on web authors rather than parsers.<br />
<br />
However, since experience has shown that distinguishing property class names is an issue for '''both web authors and parser developers''', this is a key change that microformats 2 is adopting. See the next section for details.<br />
<br />
=== COMMUNITY and TOOLS ===<br />
The second most important constituency in the microformats community are the developers, programmers, tool-makers.<br />
<br />
A non-trivial number of them have been sufficiently frustrated with some general issues with microformats that they've done the significant extra work to support very different and less friendly alternatives (microdata, RDFa). Based on this real-world data (market behavior), it behooves us to address these general issues with microformats for this constituency.<br />
<br />
==== existing microformats parsing requirements ====<br />
COMMUNITY and TOOLS (that) USE MICROFORMATS <br />
* parser / parsing<br />
* structured<br />
* getting the data out<br />
* json - 1:1 mapping<br />
<br />
[[parsing]] microformats currently requires<br />
# a list of root class names of each microformat to be parsed<br />
# a list of properties for each specific microformats, along with knowledge of the type of each property in order to parse their data from potentially different portions of the HTML markup<br />
# some number of format-specific specific rules (markup/content optimizations)<br />
<br />
This has meant that whenever a new microformat is drafted/specificied/adopted, parsers need to updated to handle it correctly, at a minimum to parse them when inside other microformats and avoid errantly implying properties from one to the other (containment, [[mfo]] problem).<br />
<br />
==== naming conventions for generic parsing ====<br />
I think there is a fairly simple solution to #1 and #2 from the above list, and we can make progress towards minimizing #3. In short:<br />
<br />
'''Proposal: a set of naming conventions for microformat root class names and properties that make it obvious when:'''<br />
* a class name represents a microformat root class name<br />
* a class name represents a microformat property name<br />
* a class name represents a microformat property that needs special parsing (specific type of property).<br />
<br />
In particular - derived from the real world examples of existing proven microformats (rather than any abstraction of what a schema should have)<br />
* '''"h-*" for root class names''', e.g. "h-card", "h-event", "h-entry"<br />
** The 'h-' prefix is based on the existing microformats naming pattern of starting with 'h'.<br />
* '''"p-*" for simple (text) properties''', e.g. "p-fn", "p-summary"<br />
** vocabulary generic parsing, element text in general, treat certain HTML element/attribute combination as special and use those first, e.g. img/alt, abbr/title.<br />
** The 'p-' prefix is based on the word "property" starting with 'p'.<br />
* '''"u-*" for URL properties''', e.g. "u-url", "u-photo", "u-logo"<br />
** special parsing required: prefer a/href, img/src, object/data etc. attributes to element contents.<br />
** The 'u-' prefix is based on URL/URI starting with the letter 'u', which is the type of most of these related properties.<br />
* '''"dt-*" for datetime properties''', e.g. "dt-start", "dt-end", "dt-bday"<br />
** special parsing required: [[value-class-pattern]], in particular separate date time value parsing for better human readabillity / DRY balance.<br />
** The 'dt-' prefix is based on "date time" having the initials "dt" and the preponderance of existing date time properties starting with "dt", e.g. dtstart, dtend, dtstamp, dtreviewed.<br />
* '''"e-*" for element tree properties''' where the entire contained element hierarchy is the value, e.g. "e-content" (formerly "entry-content") for [[hAtom]]. The 'e-' prefix can also be mnemonically remembered as "element tree", "embedded markup", or "encapsulated markup".<br />
** special parsing required: follow the [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments HTML spec: Serializing HTML Fragments algorithm] to create a serialization.<br />
<br />
This provides a simpler transition/education story for existing microformats authors/publishers: <br />
* "h*" to "h-*", "dt*" to "dt-*", url-like properties to "u-*", entire embedded markup to "e-*", and "p-*" for all "plain text" properties.<br />
<br />
See [[microformats-2-prefixes]] for further thoughts and discussions on these and other class prefixes.<br />
<br />
Example: taking that simple heading hCard example forward:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card">Chris Messina</h1><br />
</source><br />
<br />
As part of microformats 2 we would immediately define root class names and property names for all existing microformats and drafts consistent with this naming convention, and require support thereof from all new implementations, as well as strongly encouraging existing implementations to adopt the simplified microformats 2 syntax and mechanism. Question: which microformats deserve explicit backward compatibility?<br />
<br />
As a community we would continue to use the microformats [[process]] both for researching and determining the need for new microformats, and for naming new microformat property names for maximum re-use and interoperability of a shared vocabulary.<br />
<br />
If it turns out we need a new property type in the future, we can use one of the remaining single-letter-prefixes to add it to microformats 2. This would require updating of parsers of course, but in practice the number of different types of properties has grown very slowly, and we know from other schema/programming languages that there's always some small limited number of scalar/atomic property types that you need, and using those you can create compound types/objects that represent richer / more complicated types of data. See [[microformats-2-prefixes]] for documentation of existing single-letter class name prefixes in practice.<br />
<br />
=== ADVANTAGES ===<br />
This has numerous advantages:<br />
* '''better maintainability''' - much more obvious to web authors/designers/publishers which class names are for/from microformats.<br />
* '''no chance of collision''' - for all practical purposes with existing class names and thus avoiding any need to add more complex CSS style rules to prevent unintended styling effects.<br />
* '''simpler parsing''' - parsers can now do a simple stream-parse (or in-order DOM tree walk) and parse out '''all''' microformat objects, properties, and values, without having to know anything about any specific microformats.<br />
* '''separation of syntax and vocabulary''' - by abstracting microformats 2 syntax independent of any vocabulary, it allows and encourages development of shared vocabularies that can work in alternative syntaxes.<br />
<br />
More examples: here is that same heading example with name components:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<span class="p-fn"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
with a hyperlink to Chris's URL:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<a class="p-fn u-url" href="http://factoryjoe.com/"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
=== COMPATIBILITY ===<br />
<br />
microformats 2 is backwards compatible in that in permits content authors to markup with both old and new class names for compatibility with old tools.<br />
<br />
Here is a simple example:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<span class="fn">Chris Messina</span><br />
</h1><br />
</source><br />
<br />
a microformats 2 parser would see the class name "h-card" and imply the one required property from the contents, while a microformats 1.0 parser would find the class name "vcard" and then look for the class name "fn". no data duplication is required. this is a very important continuing application of the <abbr title="don't repeat yourself">DRY</abbr> [[principle]].<br />
<br />
And the above hyperlinked example with both sets of class names:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<a class="p-fn u-url n fn url" href="http://factoryjoe.com/"><br />
<span class="p-given-name given-name">Chris</span><br />
<abbr class="p-additional-name additional-name">R.</abbr><br />
<span class="p-family-name family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
<br />
=== VENDOR EXTENSIONS ===<br />
<br />
(this section was only discussed verbally and not written up during discussions - capturing here as it is topical)<br />
<br />
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.<br />
<br />
Proprietary or experimental CSS3 property implementations have been very successful.<br />
<br />
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:<br />
<br />
* -moz-border-radius<br />
* -webkit-border-radius<br />
<br />
etc.<br />
<br />
Note that these are merely string '''prefixes''', not bound to any URL, and thus not namespaces in any practical sense of the word. This is quite an important distinction, as avoiding the need to bind to a URL has made them easier to support and use.<br />
<br />
This use of vendor specific CSS properties has in recent years allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.<br />
<br />
The benefits have been two-fold:<br />
* designers have been able to make more attractive sites sooner (at least in some browsers)<br />
* features have been market / real-world tested before being fully standardized, thus resulting in better features<br />
<br />
Implementers have used/introduced "x-" prefixes for IETF MIME/content-types for experimental content-types, MIME parameter extensions, and HTTP header extensions, per RFC 2045 Section 6.3, RFC 3798 section 3.3, and [https://secure.wikimedia.org/wikipedia/en/wiki/List_of_HTTP_header_fields#Common_non-standard_headers Wikipedia: HTTP header fields - non-standard headers] (could use RFC reference instead) respectively, like:<br />
<br />
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])<br />
* x-spam-score (in email headers)<br />
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])<br />
<br />
Some standard types started as experimental "x-" types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:<br />
<br />
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])<br />
<br />
There have been times when specific sites have wanted to extend microformats beyond what the set of properties in the microformat, and currently lack any '''experimental''' way to do so - to try and see if a feature (or even a whole format) is interesting in the real world before bothering to pursue researching and walking it through the microformats process. Thus:<br />
<br />
'''Proposal:'''<br />
* '*-x-' + '-' + meaningful name for root and property class names<br />
** where "*" indicates the single-character-prefix as defined above<br />
** where "x" indicates a literal 'x' for an experimental extension OR<br />
** OR "x" indicates a vendor prefix (more than one character, e.g. like CSS vendor extension abbreviations, or some stock symbols, avoiding first words/phrases/abbreviations of microformats properties like dt-)<br />
** e.g.<br />
** "h-bigco-one-ring" - a hypothetical "bigco" vendor-specific "one-ring" microformat root class name.<br />
** "p-goog-preptime" - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's "preptime" property extension] to [[hRecipe]] (aside: "duration" may be another property type to consider separate from "datetime" as it may be subject to different parsing rules.)<br />
** "p-x-prep-time" - a possible experimental property name to be added to hRecipe upon consideration/documentation of real-world usage/uptake.<br />
<br />
Background - this proposal is a composition of the following (at least somewhat) successful vendor extension syntaxes<br />
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]<br />
* IETF MIME/content-type "x-*" extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]<br />
* IETF MIME experimental fields (e.g. x-spam-score)<br />
* HTTP header extensions (e.g. x-pingback)<br />
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]<br />
<br />
=== USERS ===<br />
Need more tools and interfaces that:<br />
* publish<br />
* copy/paste<br />
* right-click on a microformat<br />
* share<br />
* search results<br />
<br />
discussed some existing like: [[H2VX]] converts hCard to vCard, hCalendar to iCalendar<br />
<br />
how would we re-implement Live Clipboard today, making it easier for publishers and developers?<br />
<br />
=== SEE ALSO ===<br />
* [[microformats2]]<br />
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.<br />
* [[microformats2-prefixes]]<br />
* [[microformats2-faq]]<br />
* [[microformats2-parsing]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=microformats2-ro&diff=54037
microformats2-ro
2013-06-06T10:38:02Z
<p>ChiefRA: </p>
<hr />
<div><entry-title>microformate 2</entry-title><br />
<br />
Bine ati venit pe pagina de microformate versiunea a 2 a<br />
<br />
== Sumar ==<br />
Microformatele v. 2 imbunatatesc si usureaza totodata implementarea de catre autori (publishers) si developeri ([[microformats2-parsing|parseri]] programatori), cu urmatoarele simplificari:<br />
<br />
# '''prefixele pentru numele de clase''' folosite pentru microformate, acelea care incep cu 'h-' 'p-' 'u-' 'dt-', 'e-' = '''sunt suntaxe independente de vocabular''' si pot fi imbunatatite mai departe separat.<br />
#* 'h-*' pentru numele de clase de root, ex. 'h-card'<br />
#* 'p-*' pentru proprietati simple (text), ex. 'p-name'<br />
#* 'u-*' pentru proprietati ale URL-urilor, ex. 'u-photo'<br />
#* 'dt-*' pentru proprietati de data/timp, ex. 'dt-bday'<br />
#* 'e-*' pentru proprietati de markup incorporate, ex. 'e-note'. Vezi [[microformats2#naming_conventions_for_generic_parsing|conventii de denumiri ale prefixelor]] pentru mai multe detalii.<br />
# '''seturi standard de proprietati optionale''' pentru toate microformatele (datele ierarhic aranjate folosesc microformate combinate). Proprietatile sunt toate optionale si pot contine mai multe valori (aplicatiile care necesita o singura iteratie pot folosi numai prima instanta).<br />
# '''marcarea unei singure clase pentru uzul comun''' - pentru tiparele simple de markup de uz comun, o simpla clasa de root a unui microformat poate contine de la sine cateva proprietati generice - nume, adresa URL, poza. De exemplu:<br />
<br />
=== exemple de microformate 2 simple ===<br />
Aici avem cateva exemple simple de microformate 2 care demonstreaza cele mai multe schimbari, impreuna cu canonicalele [[JSON]].<br />
<br />
* O referinta simpla catre o persoana:<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Frances Berriman"] <br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* O referinta simpla catre o persoana cu tot cu URL:<br />
<source lang=html4strict><br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Ben Ward"],<br />
"url": ["http://benward.me"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* O referinta simpla catre poza unei persoane:<br />
<source lang=html4strict><br />
<a class="h-card" href="http://rohit.khare.org/"><br />
<img alt="Rohit Khare"<br />
src="https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg" /><br />
</a><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Rohit Khare"],<br />
"url": ["http://rohit.khare.org"],<br />
"photo": ["https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Exemple de cazuri simple mai puteti gasi si in [[microformats-2-implied-properties]].<br />
<br />
<br />
----<br />
<br />
* Marcarea mai detaliata in cod a persoanelor (bazate pe exemple de microformate 2 din viata reala [https://webfwd.org/about/experts/]).<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<img class="u-photo" alt="photo of Mitchell"<br />
src="https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"/><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a><br />
(<a class="u-url" <br />
href="https://twitter.com/MitchellBaker"<br />
>@MitchellBaker</a>)<br />
<span class="p-org">Mozilla Foundation</span><br />
<p class="p-note"><br />
Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.<br />
</p><br />
<span class="p-category">Strategy</span><br />
<span class="p-category">Leadership</span><br />
</div><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"photo": ["https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"],<br />
"name": ["Mitchell Baker"],<br />
"url": [<br />
"http://blog.lizardwrangler.com/",<br />
"https://twitter.com/MitchellBaker"<br />
],<br />
"org": ["Mozilla Foundation"],<br />
"note": ["Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities."],<br />
"category": [<br />
"Strategy",<br />
"Leadership"<br />
]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
Note: <br />
# Codul JSON <code>"type"</code> foloseste toata clasa de root a microformatului (ex. <code>"h-card"</code>) pentru identificarea corecta de fiecare data.<br />
# toate proprietatile sunt optionale si sintactic sunt puse la plural cu valori asezate in ordinea de analizare a codului documentului; cazurile particulare de microformate ( si aplicatiile care le folosesc) s-ar putea sa aplice iteratii specifice/singulare primelor valori ale unei proprietati.<br />
<br />
== vocabular v.2 ==<br />
Status: '''<span id="draft_v2_vocabularies">draft</span>'''. Va rugam revizuiti si veniti cu sugestii pe canalul #microformats din [[IRC]].<br />
<br />
=== h-adr ===<br />
numele clasei radacina: '''<code>h-adr</code>'''<br/><br />
profil/tip: <nowiki>http://microformats.org/profile/h-adr</nowiki><br />
<br />
proprietati:<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>''' - nou in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-geo</code>''' (or '''<code>u-geo</code>''' din RFC 5870 geo: URL) - nou in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
* '''<code>p-longitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
* '''<code>p-altitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-adr" is found, don't look for an "adr" on the same element.<br />
<br />
compat root class name: <code id="adr">adr</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>post-office-box</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
<br />
=== h-card ===<br />
root class name: '''<code>h-card</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-card</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-honorific-prefix</code>'''<br />
* '''<code>p-given-name</code>'''<br />
* '''<code>p-additional-name</code>'''<br />
* '''<code>p-family-name</code>'''<br />
* '''<code>p-sort-string</code>'''<br />
* '''<code>p-honorific-suffix</code>'''<br />
* '''<code>p-nickname</code>'''<br />
* '''<code>u-email</code>'''<br />
* '''<code>u-logo</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-adr</code>'''<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>'''<br />
* '''<code>p-geo</code>''' or '''<code>u-geo</code>''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-tel</code>'''<br />
* '''<code>p-note</code>'''<br />
* '''<code>dt-bday</code>'''<br />
* '''<code>u-key</code>'''<br />
* '''<code>p-org</code>'''<br />
* '''<code>p-job-title</code>''' - previously 'title' in hCard, disambiguated.<br />
* '''<code>p-role</code><br />
* '''<code>u-impp</code>''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-sex</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-gender-identity</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>dt-anniversary</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* ...<br />
<br />
Reserved properties: (properties not used much (if at all) in practice)<br />
* '''<code>p-organization-name</code>'''<br />
* '''<code>p-organization-unit</code>'''<br />
* '''<code>p-tz</code>'''<br />
* '''<code>dt-rev</code>'''<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-card" is found, don't look for a "vcard" on the same element.<br />
<br />
compat root class name: <code id="vcard">vcard</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>honorific-prefix</code><br />
* <code>given-name</code><br />
* <code>additional-name</code><br />
* <code>family-name</code><br />
* <code>honorific-suffix</code><br />
* <code>nickname</code><br />
* <code>email</code> - parse as '''u-'''<br />
* <code>logo</code> - parse as '''u-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>uid</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>adr</code> - parse as '''<code>p-adr h-adr</code>''' including compat root class <code>adr</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
* <code>label</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root class <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* <code>tel</code><br />
* <code>note</code><br />
* <code>bday</code> - parse as '''dt-'''<br />
* <code>key</code> - parse as '''u-'''<br />
* <code>org</code><br />
* <code>organization-name</code><br />
* <code>organization-unit</code><br />
* <code>title</code> - parse as '''p-job-title'''<br />
* <code>role</code><br />
* ...<br />
<br />
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:<br />
* <code>tz</code><br />
* <code>rev</code> - parse as '''dt-'''<br />
* ...<br />
<br />
Note: use of 'value' within 'tel' should be automatically handled by the support of the [[value-class-pattern]]. And for now, the 'type' subproperty of 'tel' is dropped/ignored. If there is demonstrable documented need for additional tel types (e.g. fax), we can introduce new flat properties as needed (e.g. p-tel-fax).<br />
<br />
=== h-entry ===<br />
root class name: '''<code>h-entry</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-entry</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' (was p-entry-title, see issues)<br />
* '''<code>p-summary</code>''' (was p-entry-summary, see issues)<br />
* '''<code>e-content</code>''' (was e-entry-content, see issues)<br />
* '''<code>dt-published</code>'''<br />
* '''<code>dt-updated</code>'''<br />
* '''<code>p-author</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
<br />
This is an update to [[hAtom]]. <br />
<br />
Brainstorming:<br />
<br />
The following properties are proposed additions to h-entry above and beyond what hAtom (or Atom) provides, based on various existing link preview markup conventions:<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-audio</code>''' - consider special u- parsing rules for <code>&lt;audio></code><br />
* '''<code>u-video</code>''' - consider special u- parsing rules for <code>&lt;video></code><br />
* '''<code>u-in-reply-to</code>''' - for links to other posts that this post is a reply to (comment regarding, etc.)<br />
<br />
Backward compatibility: <br />
<br />
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer <code>p-name</code> over <code>p-entry-title</code>, and use <code>p-entry-title</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For hAtom backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-entry" is found, don't look for a "hentry" on the same element.<br />
<br />
compat root class name: <code id="hentry">hentry</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>entry-title</code> - parse as '''<code>p-name</code>'''<br />
* <code>entry-summary</code><br />
* <code>entry-content</code> - parse as '''e-'''<br />
* <code>published</code> - parse as '''dt-'''<br />
* <code>updated</code> - parse as '''dt-'''<br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>category</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
<span id="h-entry-faq">FAQ:</span><br />
<div class="discussion"><br />
* '''What is the <code>p-name</code> of a [http://indiewebcamp.com/note note]?'''<br />
** A few options, from simplest to most detailed.<br />
*** '''same as the p-content/e-content''' property.<br />
*** '''same as the <code>title</code> element''' on the note permalink post page. When publishing a note on its own permalink post page, the contents of the note are likely abbreviated for the title of the page. The same abbreviation can be used for the p-name.<br />
*** '''first sentence of the p-content/e-content''' property. It may be better for [http://indiewebcamp.com/syndication syndication] and [[link-preview]] purposes to provide just the first sentence of the note as the <code>p-name</code>. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the <code>p-summary</code>.<br />
* ...<br />
</div><br />
<br />
Resolved Issues:<br />
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:<br />
** Use '''<code>p-summary</code> instead of <code>p-entry-summary</code>'''. The historical semantic of "entry-summary" is not different from "summary" in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.<br />
** Use '''<code>e-content</code> instead of <code>e-entry-content</code>'''. Same point and advantage. In microformats2, entry-content is no more.<br />
** '''drop <code>p-entry-title</code>'''. Unnecessary and subsumed by "p-name". Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.<br />
<br />
=== h-event ===<br />
root class name: '''<code>h-event</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-event</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-summary</code>'''(*)<br />
* '''<code>dt-start</code>'''<br />
* '''<code>dt-end</code>'''<br />
* '''<code>dt-duration</code>'''<br />
* '''<code>p-description</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-location</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* ...<br />
<br />
This is an update to [[hCalendar]]. <br />
<br />
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer <code>p-name</code> over <code>p-summary</code>, and use <code>p-summary</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-event" is found, don't look for a "vevent" on the same element.<br />
<br />
compat root class name: <code id="vevent">vevent</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> - parse as '''<code>p-name</code>'''<br />
* <code>dtstart</code> - parse as '''<code>dt-start</code>'''<br />
* <code>dtend</code> - parse as '''<code>dt-end</code>'''<br />
* <code>duration</code> - parse as '''<code>dt-duration</code>'''<br />
* <code>description</code><br />
* <code>url</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>location</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code>, and compat root <code>adr</code> in the absence of <code>h-adr</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
=== h-geo ===<br />
root class name: '''<code>h-geo</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-geo</nowiki><br />
<br />
properties:<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-geo" is found, don't look for an "geo" on the same element.<br />
<br />
compat root class name: <code id="geo">geo</code><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>latitude</code><br />
* <code>longitude</code><br />
<br />
=== h-item ===<br />
root class name: '''<code>h-item</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-item</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
<br />
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of "h-item" won't require any explicit properties at all (since microformats2 parsers will infer name, photo, and url properties from the structure of the element with "h-item" and its contained content/elements if any).<br />
<br />
=== h-product ===<br />
root class name: '''<code>h-product</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-product</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the product<br />
* '''<code>u-photo</code>''' - photo of the product<br />
* '''<code>p-brand</code>''' - manufacturer, can also be a nested <code>h-card</code><br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>e-description</code>'''<br />
* '''<code>u-url</code>''' - URL of the product<br />
* '''<code>u-identifier</code>''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.<br />
* '''<code>p-review</code>''' - a review of the product, can also be a nested <code>h-review</code><br />
* '''<code>p-price</code>''' - retail price of the product<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-product" is found, don't look for an "hproduct" on the same element.<br />
<br />
compat root class name: <code id="hproduct">hproduct</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>brand</code><br />
* <code>category</code><br />
* <code>description</code><br />
* <code>identifier</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>review</code> - including compat root class <code>hreview</code> in the absence of <code>h-review</code><br />
* <code>price</code><br />
<br />
Note: [[hProduct]] has at least one experimental property which has real world adoption due to [[Google]] and [[Bing]] search support of hProduct. Currently this is: price<br />
<br />
=== h-recipe ===<br />
root class name: '''<code>h-recipe</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-recipe</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - the name of the recipe<br />
* '''<code>p-ingredient</code>''' - describes one or more ingredients used in the recipe.<br />
* '''<code>p-yield</code>''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies <br />
* '''<code>e-instructions</code>''' - the method of the recipe.<br />
* '''<code>dt-duration</code>''' - the time it takes to prepare the meal described by the recipe.<br />
* '''<code>u-photo</code>''' - an accompanying image<br />
<br />
Experimental properties with wide adoption<br />
* '''<code>p-summary</code>''' - provides a short summary or introduction <br />
* '''<code>p-author</code>''' - the person who wrote the recipe with <code>h-card</code><br />
* '''<code>dt-published</code>''' - the date the recipe was published<br />
* '''<code>p-nutrition</code>''' - nutritional information like calories, fat, dietary fiber etc.<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-recipe" is found, don't look for an "hrecipe" on the same element.<br />
<br />
compat root class name: <code id="hrecipe">hrecipe</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>ingredient</code><br />
* <code>yield</code><br />
* <code>instructions</code> - parse as '''e-'''<br />
* <code>duration</code> - parse as '''dt-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>summary</code><br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>nutrition</code><br />
<br />
Note: [[hRecipe]] has a number of experimental properties which have real world adoption due to [[Google]] recipe search support of hRecipe. These are: summary, author, published and nutrition<br />
<br />
=== h-resume ===<br />
root class name: '''<code>h-resume</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-resume</nowiki><br />
<br />
properties:<br />
* '''<code>p-summary</code>''' - overview of qualifications and objectives<br />
* '''<code>p-contact</code>''' - current contact info in an <code>h-card</code><br />
* '''<code>p-education</code>''' - an education <code>h-calendar</code> event, years, nested <code>h-card</code> of the school, location.<br />
* '''<code>p-experience</code>''' - a job or other professional experience <code>h-calendar</code> event, years, nested <code>h-card</code> of the organization, location, job-title.<br />
* '''<code>p-skill</code>''' - a skill or ability, optionally including level and/or duration of experience<br />
* '''<code>p-affiliation</code>''' - an affiliation with an <code>h-card</code> organization<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-resume" is found, don't look for an "hresume" on the same element.<br />
<br />
compat root class name: <code id="hresume">hresume</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code><br />
* <code>contact</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>education</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>experience</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>skill</code><br />
* <code>affiliation</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
<br />
Note: skill has a [[hresume-skill-brainstorm|proposed expansion into competency]] with explicit summary, rating and/or duration components. Based on existing real world adoption, we should consider an h-competency vocabulary with p-summary, p-rating, and dt-duration properties.<br />
<br />
=== h-review ===<br />
root class name: '''<code>h-review</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-reviewer</code>''' - person who authored the review <br />
* '''<code>dt-reviewed</code>''' - date time of when the review was written<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating a rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>e-description</code>''' - the full text written evaluation and opinion of the reviewer<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review" is found, don't look for an "hreview" on the same element.<br />
<br />
compat root class name: <code id="hreview">hreview</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>reviewer</code> - including compat root vcard in the absence of h-card<br />
* <code>dtreviewed</code> - parse as '''dt-'''<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>description</code> - parse as '''e-'''<br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
Note: The [[hReview]] format has three properties which make use of <code>rel</code> attribute, these are <code>tag</code>, permalink (via the <code>self</code> and <code>bookmark</code> values) and <code>license</code>. Microformats 2 parsers {{should}} map these URLs into the page scoped rel collection.<br />
<br />
=== h-review-aggregate ===<br />
root class name: '''<code>h-review-aggregate</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review-aggregate</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating average rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>p-count</code>''' - number of reviews aggregated.<br />
* '''<code>p-votes</code>''' - number of reviewers who have rated the product, thus contributing to the average rating.<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer<br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review-aggregate" is found, don't look for an "hreview-aggregate" on the same element.<br />
<br />
compat root class name: <code id="hreview-aggregate">hreview-aggregate</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>count</code><br />
* <code>votes</code><br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
<br />
=== v2 vocab notes ===<br />
Notes: <br />
* All v2 vocabularies are defined as flat lists of properties of an object/item, and thus can be used in microformats-2 syntax as shown, or in microdata items, or RDFa. The microformats-2 property parsing prefixes "p-", "u-", "dt-", "e-" are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.<br />
* Profile URLs are provided for use with the HTML4 <code>profile</code> attribute, microdata <code>itemtype</code> attribute, and RDFa <code>vocab</code> &amp; <code>typeof</code> attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). <br />
* microformats 2 properties may also be explicitly bound as URIs using [[rel-profile]], the [[html5-profile]] attribute proposal, or an HTML5 'vocab' attribute instead. If URI bound terms are important to you, please express interest on [[rel-profile]], [[html5-profile]], or contribute to an [[html5-vocab]] draft.<br />
<br />
=== v2 vocab to-do ===<br />
To do: <br />
* actual profile documents at <nowiki>http://microformats.org/profile/h-*</nowiki> URLs mentioned above.<br />
* Provide any necessary microdata-specific language as needed (e.g. to be comparably understandable to the [http://www.whatwg.org/specs/web-apps/current-work/#vcard sample vCard4/hCard1 microdata vocabulary]. Also provide any necessary RDFa-specific language as needed. Both preferably in a generic vocabulary-independent way.<br />
* write a porting guide mapping v1 property -> v2 property<br />
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).<br />
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)<br />
* write a simple tutorial for creating/getting started with microformats-2 markup for new content<br />
<br />
== combining microformats ==<br />
Since microformats 2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.<br />
<br />
=== h-event location h-card ===<br />
Events commonly have venue information with additional structure, like address information. For example:<br />
<br />
<source lang=html4strict><br />
<div class="h-event"><br />
<a class="p-name u-url" href="http://indiewebcamp.com/2012"><br />
IndieWebCamp 2012<br />
</a><br />
from <time class="dt-start">2012-06-30</time> <br />
to <time class="dt-end">2012-07-01</time> at <br />
<span class="p-location h-card"><br />
<a class="p-name p-org u-url" href="http://geoloqi.com/"><br />
Geoloqi<br />
</a>, <br />
<span class="p-street-address">920 SW 3rd Ave. Suite 400</span>, <br />
<span class="p-locality">Portland</span>, <br />
<abbr class="p-region" title="Oregon">OR</abbr><br />
</span><br />
</div><br />
</source><br />
<br />
The nested h-card used to structure the p-location of the h-event is represented as a structured value for "location" in the JSON, which has an additional key, "value" that represents the plain text version parsed from the p-location.<br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-event"],<br />
"properties": {<br />
"name": ["IndieWebCamp 2012"],<br />
"url": ["http://indiewebcamp.com/2012"],<br />
"start": ["2012-06-30"],<br />
"end": ["2012-07-01"],<br />
"location": [{<br />
"value": "Geoloqi, 920 SW 3rd Ave. Suite 400, Portland, OR",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Geoloqi"],<br />
"org": ["Geoloqi"],<br />
"url": ["http://geoloqi.com/"],<br />
"street-address": ["920 SW 3rd Ave. Suite 400"],<br />
"locality": ["Portland"],<br />
"region": ["Oregon"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Questions:<br />
<div class="discussion"><br />
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, how do we avoid expansion of the JSON geometrically proportional to the depth of microformat nesting? (Or do we not worry about it?)<br />
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no, we stick with one canonical JSON for uf2 which is hierarchical. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, should the flattened JSON have references from properties to nested microformats that have been pushed to the top level per flattening? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
</div><br />
<br />
Notes:<br />
* The 'location' value reflects the visible text of its element, including spaces and punctuation, as well as the state abbreviation 'OR'. The 'h-card' property values are only what is marked up, and thus include structure values without extra punctuation, and the state takes the expanded form from the <code>title</code> attribute of its <code>&lt;abbr&gt;</code> element.<br />
<br />
=== h-card org h-card ===<br />
People often publish information general to their company rather than specific to them, in which case, they may wish to encapsulate that in separately nested microformat. E.g. here is a simple h-card example with org property:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)<br />
<br />
with source:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<span class="p-org">Mozilla Foundation</span>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": ["Mozilla Foundation"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Sometimes such organization affiliations are hyperlinked to the website of the organization:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])<br />
<br />
You can mark that up with a nested h-card:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an <code>&lt;a href&gt;</code> would.<br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
The nested 'h-card' could be marked up as an 'h-org' as well, which adds it to the nested microformat's type array, all as part of the property specified by the 'p-org'.<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card h-org" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card", "h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Without a property class name like 'p-org' holding all the nested objects together, we need to introduce another array for nested children (similar to the existing DOM element notion of children) of a microformat that are not attached to a specific property:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card","h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
Since there's no property class name on the element with classes 'h-card' and 'h-org', the microformat representing that element is collected into the children array.<br />
<br />
Such a nested microformat implies some relationship (containment, being related), but is not as useful as if the nested microformat was a specific property of its parent.<br />
<br />
For this reason it's recommended that authors should not publish nested microformats without a property class name, and instead, when nesting microformats, authors should always specify a property class name (like 'p-org') on the same element as the root class name(s) of the nested microformat(s) (like 'h-card' and/or 'h-org').<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Or the nested object could be only marked up with 'h-card'. Source:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
'''TO DO: Add h-event h-card example and JSON, per real world publishing examples like [http://www.swingtime.co.uk/List/ClSouth.html Swing Time: Classes in Southern England].'''<br />
<br />
== authoring ==<br />
=== minimal markup ===<br />
The best way to use microformats-2 is with as little additional markup as possible. This keeps your code cleaner, improves its maintainability, and thus the quality and longevity of your microformats.<br />
<br />
One big advantage of microformats-2 over previous microformats (and others) is the ability to add one class name to an existing element to create a structured item.<br />
<br />
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.<br />
<br />
Simple hCards work just by adding <code>class="h-card"</code> :<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
<br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
<br />
<img class="h-card" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
<br />
<a class="h-card" href="http://tantek.com"><br />
<img alt="Tantek Çelik" src="http://ttk.me/logo.jpg"/><br />
</a><br />
</source><br />
<br />
* Tip: Inside an open tag, put the <code>class</code> attribute <em>first</em>, then any human text content attributes (e.g. <code>alt</code>), then URL attributes (e.g. <code>href</code> <code>src</code>), and lastly other attributes (e.g. <code>style</code>). Putting the class attribute first ties it closely to the element name/tag itself, makes it more obvious, and thus more likely to be kept up to date.<br />
<br />
=== backward compatible ===<br />
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats-2]], you can include both existing microformats and microformats-2 markup.<br />
<br />
In short: use both sets of class names simultaneously. <br />
<br />
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.<br />
<br />
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a <code>&lt;span&gt;</code>) to separate the root class name element from explicit property class name elements:<br />
<br />
<source lang=html4strict><br />
<span class="h-card vcard"><br />
<span class="p-name fn">Frances Berriman</span><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="p-name fn u-url url" href="http://benward.me">Ben Ward</a><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<img class="p-name fn u-photo photo" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="u-url url" href="http://tantek.com"><br />
<img class="p-name fn u-photo photo" alt="Tantek Çelik" <br />
src="http://ttk.me/logo.jpg"/><br />
</a><br />
</span><br />
</source><br />
<br />
<br />
Tips:<br />
* use the microformats-2 class name first, e.g.<br />
** <code>class="h-card vcard"</code><br />
** <code>class="u-url url"</code><br />
* and pair them when using an element for multiple properties, e.g.:<br />
** <code>class="p-name fn u-url url"</code><br />
** <code>class="p-name fn u-photo photo"</code><br />
* put microformats classes after classes for CSS (since page authors will likely interact more with their own classes for design than with microformats classes), e.g. as used on individual microformats [[events]] pages:<br />
** <code>class="event-page h-event vevent"</code> <br />
<br />
The prefixes (h-, p-, etc.) of microformats2 class names provide easier recognition, and when followed by the similarly named existing class name, they're more easily recognized as related and thus kept together when the markup is maintained over time.<br />
<br />
Related FAQ: [[microformats2-faq#when_using_both_h-card_and_vcard_which_should_be_first_and_why|When using both h-card and vcard which should be first and why?]]<br />
<br />
== validators ==<br />
microformats2 validators:<br />
<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
Barnaby Walters has a hosted version of the open source php-mf2 [[parser]] where you can enter your markup into a textarea and see how it's parsed:<br />
* http://waterpigs.co.uk/php-mf2/<br />
<br />
See the [[validators]] page for a longer list of validators.<br />
<br />
== Examples in the wild ==<br />
Please add new examples in the wild of microformats-2 to the top of this list. When it gets too big we can move it to a separate page like [[microformats-2-examples-in-wild]].<br />
<br />
* ...<br />
* [http://www.w3.org/conf/ W3Conf 2013] uses h-event for the main event, and h-card for all the speakers and notable attendees. The h-cards make particularly good use of implied name, url, and photo properties.<br />
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*<br />
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages<br />
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].<br />
* Aaron Parecki uses h-card to markup both authorship and references to people in his notes permalinks, e.g. [http://aaronparecki.com/2012/230/reply/1 2012/230/reply/1].<br />
* [http://tantek.com/ Tantek Çelik] uses h-card, h-event, and h-entry on his home page, as well as h-entry on all post permalinks, e.g. [http://tantek.com/2012/243/t1/name-beats-title-modern-use-dubline-core-wrong-uf2 2012-243 post], with [[rel-prev]]/[[rel-next]] (if applicable) to indicate prev/next posts, and with [[rel-author]] to his home page with canonical hCard to indicate authorship.<br />
* [http://waterpigs.co.uk/ Barnaby Walters] uses h-card on his home page, h-card, h-entry and XFN markup on his [http://waterpigs.co.uk/notes notes page].<br />
** 2013-01-25 Barnaby Walters: <cite>[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]</cite> - describes how he's using microformats2 vocabularies: <code>h-adr</code>, <code>h-card</code>, <code>h-entry</code>, <code>h-event</code>, <code>h-geo</code>, <code>h-review</code>, and experimental vocabularies: <code>h-feed</code> (embedded for update histories), [[activity-streams]] objects <code>h-as-article</code>, <code>h-as-collection</code>, <code>h-as-note</code>, <code>h-as-update</code>, as well as experimental properties: <code>u-alternate</code> and <code>u-as-downstream-duplicate</code> (links to POSSE copies), and <code>u-in-reply-to</code> (links to content that the posts are in reply to). <br />
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.<br />
* [http://tantek.com/presentations/2012/06/pdf2012-indieweb.html Rise of the Indie Web hCards] (from Personal Democracy Forum 2012 #pdf12 #pdf2012) has [[microformats-2]] h-calendar and h-card markup<br />
* WebMaker by Mozilla has [[microformats-2]] h-calendar and h-card on event search (e.g. [https://webmaker.org/en-US/events/near/?lat=45.5234515&lng=-122.6762071 search near Portland Oregon]) and event pages (e.g. [https://webmaker.org/en-US/events/192f56eb9/ IndieWebCamp 2012]).[https://twitter.com/microformats/status/212207925643587585]<br />
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages<br />
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.<br />
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.<br />
<br />
== Implementations ==<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
<br />
Blogging tools:<br />
* '''Storytlr''' parses the 'target' from [http://indiewebcamp.com/pingback pingbacks] for [https://github.com/storytlr/storytlr/blob/master/protected/application/public/controllers/PingbackController.php#L63 h-entry with properties and nested h-card] for information to automatically display in the [http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html comments section on a post].<br />
<br />
<br />
Parsers and other implementations of microformats2, typically open source:<br />
<br />
Javascript:<br />
* '''microformat-node''' Node.js microformats2 parser<br />
** github open source: https://github.com/glennjones/microformat-node<br />
** test suite: https://github.com/microformats/tests<br />
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/<br />
** live: http://microformat2-node.jit.su/<br />
* '''microformat-shiv''' - cross browser javascript microformats 2 parser which can also be used in browser extensions.<br />
** http://microformatshiv.com/<br />
** github open source: https://github.com/glennjones/microformat-shiv<br />
PHP:<br />
* '''<span id="php-mf2">php-mf2</span>''' - PHP microformats2 parser<br />
** github open source: https://github.com/indieweb/php-mf2<br />
** Packagist: https://packagist.org/packages/mf2/mf2<br />
** live: <br />
*** textarea entry: http://waterpigs.co.uk/php-mf2/<br />
*** URL entry: http://pin13.net/ (where it says "Microformats Parser")<br />
Ruby:<br />
* '''G5/microformats2''' Ruby microformats2 parser<br />
** github open source: https://github.com/G5/microformats2<br />
<br />
== Presentations ==<br />
Presentations about microformats2:<br />
* 2013-01-24 <cite>[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]</cite> presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.<br />
* 2012-09-21 <cite>[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp; bits of HTML5: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.<br />
* 2012-07-21 <cite>[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-21-cascadesf|Innovators of the Web conference]] in San Francisco, CA.<br />
* 2012-07-14 <cite>[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-14-open-web-camp-4|Open Web Camp IV]] in San Jose, CA.<br />
<br />
== Testimonials ==<br />
* <blockquote class="twitter-tweet">To prove the web standards community can come up with better standards than the SE’s, compare this: http://microformats.org/wiki/microformats-2 with schema . org &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]</blockquote><br />
* <blockquote class="twitter-tweet">... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]</blockquote><br />
* <blockquote class="twitter-tweet">... But damn Microformats2 are sexy. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]</blockquote><br />
<br />
== About This Brainstorm ==<br />
The rest of this page is a brainstorm currently written in narrative / exploratory format, that is, acknowledging the success that microformats have had, why so, and then a walk through of known issues with microformats in general along with iteration of ways to address said issues, ending up with the current microformats 2 design as a conclusion.<br />
<br />
The proposals build on each other resulting in a solution that addresses the vast majority of general issues. The proposed changes merit a major version number increment, hence microformats 2.<br />
<br />
This mathematical proof/derivation style is used to explicitly encourage understanding (and double-checking) of the rational steps taken in the development of microformats 2. Reasons are documented, sometimes along with alternatives considered (and reasons for rejection of those alternatives).<br />
<br />
When the microformats 2 brainstorm has evolved sufficiently to demonstrate some degree of stability, usability, and implementability, it will be rewritten in a more declarative specification style, and this narrative/derivation will be archived to a background development page for historical purposes.<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
== Background ==<br />
<br />
2004: In early February microformats were introduced as a concept at eTech, and in September [[hCard]] and [[hCalendar]] were proposed at FOO Camp.<br />
<br />
2010:<br />
* 34% of webdevs use microformats ([http://www.webdirections.org/sotw10/markup/#semantics 2010 State of Web Development survey])<br />
* 1.88 billion hCards (per [[Yahoo]] SearchMonkey)<br />
* 36 million hCalendar events (ibid)<br />
<br />
* XFN -> Social Graph API -> Web as Social Network / Address Book<br />
<br />
== Addressing Issues ==<br />
=== AUTHORS and PUBLISHING ===<br />
Authors and publishers are perhaps the most important constituency in the microformats community. There are more of them than there are developers, programmers, parsers, etc. and they're the ones that solved the chicken-egg problem by publishing microformats even before tools were available for consuming them.<br />
<br />
Therefore we must first address author/publisher general issues with microformats.<br />
<br />
==== can we make the simplest case simpler ====<br />
Issue: '''How can we make it easier for authors to publish microformats?'''<br />
<br />
Currently the simplest hCard:<br />
<source lang=html4strict><br />
<span class="vcard"><br />
<span class="fn"><br />
Chris Messina<br />
</span><br />
</span><br />
</source><br />
<br />
requires 2 elements (nested, with perhaps at least one being pre-existing), and 2 class names.<br />
<br />
Web authors/designers are used to the simplicity of most HTML tags, e.g. to mark up a heading:<br />
<br />
<source lang=html4strict><br />
<h1>Chris Messina</h1><br />
</source><br />
<br />
requires just 1 element.<br />
<br />
[http://zeldman.com/ Jeffrey Zeldman] pointed out this apparent perceived incremental complexity (2 elements vs 1) during a microformats workshop in 2009 in New York City.<br />
<br />
'''How can we make microformats just as easy?'''<br />
<br />
'''Proposal: allow root class name only.'''<br />
<br />
This would enable:<br />
<br />
<source lang=html4strict><br />
<h1 class="vcard">Chris Messina</h1><br />
</source><br />
<br />
requiring only 1 class name for the simplest case.<br />
<br />
<br />
==== renaming for usability ====<br />
Otherwise known as, choosing one form of consistency over another.<br />
<br />
'''Can we do even better?'''<br />
<br />
One of the most common questions asked about hCard is:<br />
<br />
[[hcard-faq#Why_does_hCard_use_vcard_as_the_root_class_name|Why does hCard use vcard as the root class name?]]<br />
<br />
This slight inconsistency between the name of the format and the name of the root class name consistently causes confusion in a large percentage of newcomers to microformats.<br />
* See [[issues#hcard-vs-vcard-name]] for details/links.<br />
<br />
Though in microformats we believe very strongly in the [[principle]] of [[reuse]], we have to admit that in this case experience/evidence has shown that this may be a case where we re-used something too far beyond it's original meaning. Thus:<br />
<br />
'''Proposal: use root class name "hcard" instead of "vcard" for future hCards.'''<br />
<br />
This would result in:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard">Chris Messina</h1><br />
</source><br />
<br />
making the simple case even simpler:<br />
<br />
Just 1 additional class name, named the same as the format you're adding. Think hCard, markup class="hcard".<br />
<br />
At a minimum for compatibility we should document that parsers should accept "hcard" as an alternative to "vcard" as the root class name for hCard 1.0, and similarly for hCalendar 1.0: "hcalendar" in addition to "vcalendar", "hevent" in addition to "vevent".<br />
<br />
However, for [[microformats-2]] we are going to distinguish root class names further by using an "h-" prefix (e.g. "h-card"). Read on to understand why.<br />
<br />
==== simplifying to only needing one element ====<br />
It's very important for the simple case to be as simple as possible, to enable the maximum number of people to get started with minimum effort. (The idea of using a single class name for a microformat was proposed by Ryan Cannon in 2006 specifically [[hcard-implied|for hCard]], and rediscovered by [[User:Tantek|Tantek]] in 2010 and subsequently generalized to all microformats.)<br />
<br />
From there on, it's ok to require incremental effort for incremental return.<br />
<br />
E.g. to add any additional information about a person, add explicit property names.<br />
<br />
'''How does this simple root-only case work?'''<br />
<br />
* root class name reflects name of the microformat<br />
* every microformat must require at most 1 property (preferably 0)<br />
** admit that requiring a field in an application just results in noise (the 90210 problem - apps which require zip code get lots of false 90210 entries), and specify that any application use cases which appear to "require" specific properties must instead define how to imply sensible defaults for them.<br />
* when only a root class name is specified, imply the entire text contents of the element as the value of the primary property of the microformat. e.g.<br />
** "hcard" implies "fn"<br />
** hcalendar event - "hevent" - implies "summary"<br />
** "hreview" implies "summary"<br />
** "hentry" implies "entry-summary" (perhaps collapse into "summary" - in practice they're not sufficiently semantically distinct to require separate property names)<br />
** '''OR''' instead of making the one implied property be vocabulary specific, introduce a new generic (applicable to all vocabularies) 'p-name' property (subsuming hCard's 'fn'). See [[microformats-2-brainstorming#further_simplifications|microformats 2 brainstorming: further simplifications]] for latest thoughts along these lines, including the following specific mark-up implied generic properties across all microformats (based on existing published markup use-cases)<br />
*** 'p-name'<br />
*** 'u-url'<br />
*** 'u-photo'<br />
<br />
==== flat sets of properties ====<br />
'''What more can we simplify about microformats?'''<br />
<br />
Numerous individuals have provided the feedback that whenever there is more than one level of hierarchy in a microformat, many (most?) developers get confused - in particular Kavi Goel of Google / Rich Snippets provided this feedback at a microformats dinner. Thus depending on multiple levels of hierarchy is likely resulting in a loss of authorability, perhaps even accuracy as confusion undoubtedly leads to more errors. Thus:<br />
<br />
'''Proposal: simplify all microformats to flat sets of properties. '''<br />
<br />
What this means:<br />
* all microformats are simply an object with a set of properties with values.<br />
* no more subproperties- drop the notion of subproperties.<br />
* use composition of multiple microformats for any further hierarchy, e.g. the "location" of an hCalendar event can be an hCard, or the "agent" of one hCard can be another hCard.<br />
<br />
For example for hCard this would mean the following specific changes to keep relevant functionality:<br />
* drop "n", promote all "n" subproperties to full properties<br />
** given-name, family-name, additional-name, honorific-prefix, honorific-suffix<br />
* treat "geo" as a nested microformat<br />
* treat "adr" as a nested microformat (what to do about adr's "type"?)<br />
* treat "org" as a flat string and drop "organization-name" and "organization-unit" (in practice rarely used, also not revealed or ignored in contact management user interfaces - e.g. Address Book)<br />
<br />
Example: add a middle initial to the previous example Chris Messina's name, and markup each name component:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard"><br />
<span class="fn"><br />
<span class="given-name">Chris</span><br />
<abbr class="additional-name">R.</abbr><br />
<span class="family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
Note:<br />
# use of an explicit span with "fn" to markup his entire formatted name<br />
# use of the abbr element to explicitly indicate the semantic that "R." is merely an abbreviation for his additional-name.<br />
<br />
==== distinguishing properties from other classes ====<br />
Current microformats properties re-use generic terms like "summary", "photo", "updated" both for ease of use and understanding.<br />
<br />
However, through longer term experience, we've seen sites that accidentally drop (or break) their microformats support (e.g. Upcoming.org, Facebook) because web authors sometimes rewrite all their class names, and either are unaware that microformats were in the page, or couldn't easily distinguish microformats property class names from other site-specific class names.<br />
<br />
This issue has been reported by a number of web authors.<br />
* See: [[issues#class-collisions]]<br />
<br />
Thus microformats 2 uses ''prefixes'' for property class names, e.g.:<br />
* '''p-summary''' instead of ''summary''<br />
* '''u-photo''' instead of ''photo'' <br />
* '''dt-updated''' instead of ''updated''<br />
<br />
Such prefixing of all microformats class names was first suggested by Scott Isaacs of Microsoft to Tantek on a visit to Microsoft sometime in 2006/2007, but specifically aimed at making microformats easier to parse. At the time the suggestion was rejected since microformats were focused on web authors rather than parsers.<br />
<br />
However, since experience has shown that distinguishing property class names is an issue for '''both web authors and parser developers''', this is a key change that microformats 2 is adopting. See the next section for details.<br />
<br />
=== COMMUNITY and TOOLS ===<br />
The second most important constituency in the microformats community are the developers, programmers, tool-makers.<br />
<br />
A non-trivial number of them have been sufficiently frustrated with some general issues with microformats that they've done the significant extra work to support very different and less friendly alternatives (microdata, RDFa). Based on this real-world data (market behavior), it behooves us to address these general issues with microformats for this constituency.<br />
<br />
==== existing microformats parsing requirements ====<br />
COMMUNITY and TOOLS (that) USE MICROFORMATS <br />
* parser / parsing<br />
* structured<br />
* getting the data out<br />
* json - 1:1 mapping<br />
<br />
[[parsing]] microformats currently requires<br />
# a list of root class names of each microformat to be parsed<br />
# a list of properties for each specific microformats, along with knowledge of the type of each property in order to parse their data from potentially different portions of the HTML markup<br />
# some number of format-specific specific rules (markup/content optimizations)<br />
<br />
This has meant that whenever a new microformat is drafted/specificied/adopted, parsers need to updated to handle it correctly, at a minimum to parse them when inside other microformats and avoid errantly implying properties from one to the other (containment, [[mfo]] problem).<br />
<br />
==== naming conventions for generic parsing ====<br />
I think there is a fairly simple solution to #1 and #2 from the above list, and we can make progress towards minimizing #3. In short:<br />
<br />
'''Proposal: a set of naming conventions for microformat root class names and properties that make it obvious when:'''<br />
* a class name represents a microformat root class name<br />
* a class name represents a microformat property name<br />
* a class name represents a microformat property that needs special parsing (specific type of property).<br />
<br />
In particular - derived from the real world examples of existing proven microformats (rather than any abstraction of what a schema should have)<br />
* '''"h-*" for root class names''', e.g. "h-card", "h-event", "h-entry"<br />
** The 'h-' prefix is based on the existing microformats naming pattern of starting with 'h'.<br />
* '''"p-*" for simple (text) properties''', e.g. "p-fn", "p-summary"<br />
** vocabulary generic parsing, element text in general, treat certain HTML element/attribute combination as special and use those first, e.g. img/alt, abbr/title.<br />
** The 'p-' prefix is based on the word "property" starting with 'p'.<br />
* '''"u-*" for URL properties''', e.g. "u-url", "u-photo", "u-logo"<br />
** special parsing required: prefer a/href, img/src, object/data etc. attributes to element contents.<br />
** The 'u-' prefix is based on URL/URI starting with the letter 'u', which is the type of most of these related properties.<br />
* '''"dt-*" for datetime properties''', e.g. "dt-start", "dt-end", "dt-bday"<br />
** special parsing required: [[value-class-pattern]], in particular separate date time value parsing for better human readabillity / DRY balance.<br />
** The 'dt-' prefix is based on "date time" having the initials "dt" and the preponderance of existing date time properties starting with "dt", e.g. dtstart, dtend, dtstamp, dtreviewed.<br />
* '''"e-*" for element tree properties''' where the entire contained element hierarchy is the value, e.g. "e-content" (formerly "entry-content") for [[hAtom]]. The 'e-' prefix can also be mnemonically remembered as "element tree", "embedded markup", or "encapsulated markup".<br />
** special parsing required: follow the [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments HTML spec: Serializing HTML Fragments algorithm] to create a serialization.<br />
<br />
This provides a simpler transition/education story for existing microformats authors/publishers: <br />
* "h*" to "h-*", "dt*" to "dt-*", url-like properties to "u-*", entire embedded markup to "e-*", and "p-*" for all "plain text" properties.<br />
<br />
See [[microformats-2-prefixes]] for further thoughts and discussions on these and other class prefixes.<br />
<br />
Example: taking that simple heading hCard example forward:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card">Chris Messina</h1><br />
</source><br />
<br />
As part of microformats 2 we would immediately define root class names and property names for all existing microformats and drafts consistent with this naming convention, and require support thereof from all new implementations, as well as strongly encouraging existing implementations to adopt the simplified microformats 2 syntax and mechanism. Question: which microformats deserve explicit backward compatibility?<br />
<br />
As a community we would continue to use the microformats [[process]] both for researching and determining the need for new microformats, and for naming new microformat property names for maximum re-use and interoperability of a shared vocabulary.<br />
<br />
If it turns out we need a new property type in the future, we can use one of the remaining single-letter-prefixes to add it to microformats 2. This would require updating of parsers of course, but in practice the number of different types of properties has grown very slowly, and we know from other schema/programming languages that there's always some small limited number of scalar/atomic property types that you need, and using those you can create compound types/objects that represent richer / more complicated types of data. See [[microformats-2-prefixes]] for documentation of existing single-letter class name prefixes in practice.<br />
<br />
=== ADVANTAGES ===<br />
This has numerous advantages:<br />
* '''better maintainability''' - much more obvious to web authors/designers/publishers which class names are for/from microformats.<br />
* '''no chance of collision''' - for all practical purposes with existing class names and thus avoiding any need to add more complex CSS style rules to prevent unintended styling effects.<br />
* '''simpler parsing''' - parsers can now do a simple stream-parse (or in-order DOM tree walk) and parse out '''all''' microformat objects, properties, and values, without having to know anything about any specific microformats.<br />
* '''separation of syntax and vocabulary''' - by abstracting microformats 2 syntax independent of any vocabulary, it allows and encourages development of shared vocabularies that can work in alternative syntaxes.<br />
<br />
More examples: here is that same heading example with name components:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<span class="p-fn"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
with a hyperlink to Chris's URL:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<a class="p-fn u-url" href="http://factoryjoe.com/"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
=== COMPATIBILITY ===<br />
<br />
microformats 2 is backwards compatible in that in permits content authors to markup with both old and new class names for compatibility with old tools.<br />
<br />
Here is a simple example:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<span class="fn">Chris Messina</span><br />
</h1><br />
</source><br />
<br />
a microformats 2 parser would see the class name "h-card" and imply the one required property from the contents, while a microformats 1.0 parser would find the class name "vcard" and then look for the class name "fn". no data duplication is required. this is a very important continuing application of the <abbr title="don't repeat yourself">DRY</abbr> [[principle]].<br />
<br />
And the above hyperlinked example with both sets of class names:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<a class="p-fn u-url n fn url" href="http://factoryjoe.com/"><br />
<span class="p-given-name given-name">Chris</span><br />
<abbr class="p-additional-name additional-name">R.</abbr><br />
<span class="p-family-name family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
<br />
=== VENDOR EXTENSIONS ===<br />
<br />
(this section was only discussed verbally and not written up during discussions - capturing here as it is topical)<br />
<br />
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.<br />
<br />
Proprietary or experimental CSS3 property implementations have been very successful.<br />
<br />
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:<br />
<br />
* -moz-border-radius<br />
* -webkit-border-radius<br />
<br />
etc.<br />
<br />
Note that these are merely string '''prefixes''', not bound to any URL, and thus not namespaces in any practical sense of the word. This is quite an important distinction, as avoiding the need to bind to a URL has made them easier to support and use.<br />
<br />
This use of vendor specific CSS properties has in recent years allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.<br />
<br />
The benefits have been two-fold:<br />
* designers have been able to make more attractive sites sooner (at least in some browsers)<br />
* features have been market / real-world tested before being fully standardized, thus resulting in better features<br />
<br />
Implementers have used/introduced "x-" prefixes for IETF MIME/content-types for experimental content-types, MIME parameter extensions, and HTTP header extensions, per RFC 2045 Section 6.3, RFC 3798 section 3.3, and [https://secure.wikimedia.org/wikipedia/en/wiki/List_of_HTTP_header_fields#Common_non-standard_headers Wikipedia: HTTP header fields - non-standard headers] (could use RFC reference instead) respectively, like:<br />
<br />
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])<br />
* x-spam-score (in email headers)<br />
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])<br />
<br />
Some standard types started as experimental "x-" types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:<br />
<br />
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])<br />
<br />
There have been times when specific sites have wanted to extend microformats beyond what the set of properties in the microformat, and currently lack any '''experimental''' way to do so - to try and see if a feature (or even a whole format) is interesting in the real world before bothering to pursue researching and walking it through the microformats process. Thus:<br />
<br />
'''Proposal:'''<br />
* '*-x-' + '-' + meaningful name for root and property class names<br />
** where "*" indicates the single-character-prefix as defined above<br />
** where "x" indicates a literal 'x' for an experimental extension OR<br />
** OR "x" indicates a vendor prefix (more than one character, e.g. like CSS vendor extension abbreviations, or some stock symbols, avoiding first words/phrases/abbreviations of microformats properties like dt-)<br />
** e.g.<br />
** "h-bigco-one-ring" - a hypothetical "bigco" vendor-specific "one-ring" microformat root class name.<br />
** "p-goog-preptime" - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's "preptime" property extension] to [[hRecipe]] (aside: "duration" may be another property type to consider separate from "datetime" as it may be subject to different parsing rules.)<br />
** "p-x-prep-time" - a possible experimental property name to be added to hRecipe upon consideration/documentation of real-world usage/uptake.<br />
<br />
Background - this proposal is a composition of the following (at least somewhat) successful vendor extension syntaxes<br />
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]<br />
* IETF MIME/content-type "x-*" extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]<br />
* IETF MIME experimental fields (e.g. x-spam-score)<br />
* HTTP header extensions (e.g. x-pingback)<br />
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]<br />
<br />
=== USERS ===<br />
Need more tools and interfaces that:<br />
* publish<br />
* copy/paste<br />
* right-click on a microformat<br />
* share<br />
* search results<br />
<br />
discussed some existing like: [[H2VX]] converts hCard to vCard, hCalendar to iCalendar<br />
<br />
how would we re-implement Live Clipboard today, making it easier for publishers and developers?<br />
<br />
=== SEE ALSO ===<br />
* [[microformats2]]<br />
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.<br />
* [[microformats2-prefixes]]<br />
* [[microformats2-faq]]<br />
* [[microformats2-parsing]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=microformats2-ro&diff=54036
microformats2-ro
2013-06-06T10:37:33Z
<p>ChiefRA: </p>
<hr />
<div><entry-title>microformats 2</entry-title><br />
<br />
Bine ati venit pe pagina de microformate versiunea a 2 a<br />
<br />
== Sumar ==<br />
Microformatele v. 2 imbunatatesc si usureaza totodata implementarea de catre autori (publishers) si developeri ([[microformats2-parsing|parseri]] programatori), cu urmatoarele simplificari:<br />
<br />
# '''prefixele pentru numele de clase''' folosite pentru microformate, acelea care incep cu 'h-' 'p-' 'u-' 'dt-', 'e-' = '''sunt suntaxe independente de vocabular''' si pot fi imbunatatite mai departe separat.<br />
#* 'h-*' pentru numele de clase de root, ex. 'h-card'<br />
#* 'p-*' pentru proprietati simple (text), ex. 'p-name'<br />
#* 'u-*' pentru proprietati ale URL-urilor, ex. 'u-photo'<br />
#* 'dt-*' pentru proprietati de data/timp, ex. 'dt-bday'<br />
#* 'e-*' pentru proprietati de markup incorporate, ex. 'e-note'. Vezi [[microformats2#naming_conventions_for_generic_parsing|conventii de denumiri ale prefixelor]] pentru mai multe detalii.<br />
# '''seturi standard de proprietati optionale''' pentru toate microformatele (datele ierarhic aranjate folosesc microformate combinate). Proprietatile sunt toate optionale si pot contine mai multe valori (aplicatiile care necesita o singura iteratie pot folosi numai prima instanta).<br />
# '''marcarea unei singure clase pentru uzul comun''' - pentru tiparele simple de markup de uz comun, o simpla clasa de root a unui microformat poate contine de la sine cateva proprietati generice - nume, adresa URL, poza. De exemplu:<br />
<br />
=== exemple de microformate 2 simple ===<br />
Aici avem cateva exemple simple de microformate 2 care demonstreaza cele mai multe schimbari, impreuna cu canonicalele [[JSON]].<br />
<br />
* O referinta simpla catre o persoana:<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Frances Berriman"] <br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* O referinta simpla catre o persoana cu tot cu URL:<br />
<source lang=html4strict><br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Ben Ward"],<br />
"url": ["http://benward.me"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* O referinta simpla catre poza unei persoane:<br />
<source lang=html4strict><br />
<a class="h-card" href="http://rohit.khare.org/"><br />
<img alt="Rohit Khare"<br />
src="https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg" /><br />
</a><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Rohit Khare"],<br />
"url": ["http://rohit.khare.org"],<br />
"photo": ["https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Exemple de cazuri simple mai puteti gasi si in [[microformats-2-implied-properties]].<br />
<br />
<br />
----<br />
<br />
* Marcarea mai detaliata in cod a persoanelor (bazate pe exemple de microformate 2 din viata reala [https://webfwd.org/about/experts/]).<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<img class="u-photo" alt="photo of Mitchell"<br />
src="https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"/><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a><br />
(<a class="u-url" <br />
href="https://twitter.com/MitchellBaker"<br />
>@MitchellBaker</a>)<br />
<span class="p-org">Mozilla Foundation</span><br />
<p class="p-note"><br />
Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.<br />
</p><br />
<span class="p-category">Strategy</span><br />
<span class="p-category">Leadership</span><br />
</div><br />
</source><br />
<br />
JSON analizat:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"photo": ["https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"],<br />
"name": ["Mitchell Baker"],<br />
"url": [<br />
"http://blog.lizardwrangler.com/",<br />
"https://twitter.com/MitchellBaker"<br />
],<br />
"org": ["Mozilla Foundation"],<br />
"note": ["Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities."],<br />
"category": [<br />
"Strategy",<br />
"Leadership"<br />
]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
Note: <br />
# Codul JSON <code>"type"</code> foloseste toata clasa de root a microformatului (ex. <code>"h-card"</code>) pentru identificarea corecta de fiecare data.<br />
# toate proprietatile sunt optionale si sintactic sunt puse la plural cu valori asezate in ordinea de analizare a codului documentului; cazurile particulare de microformate ( si aplicatiile care le folosesc) s-ar putea sa aplice iteratii specifice/singulare primelor valori ale unei proprietati.<br />
<br />
== vocabular v.2 ==<br />
Status: '''<span id="draft_v2_vocabularies">draft</span>'''. Va rugam revizuiti si veniti cu sugestii pe canalul #microformats din [[IRC]].<br />
<br />
=== h-adr ===<br />
numele clasei radacina: '''<code>h-adr</code>'''<br/><br />
profil/tip: <nowiki>http://microformats.org/profile/h-adr</nowiki><br />
<br />
proprietati:<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>''' - nou in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-geo</code>''' (or '''<code>u-geo</code>''' din RFC 5870 geo: URL) - nou in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
* '''<code>p-longitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
* '''<code>p-altitude</code>''' - nou in [[vCard4]] ([[RFC6350]] din RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-adr" is found, don't look for an "adr" on the same element.<br />
<br />
compat root class name: <code id="adr">adr</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>post-office-box</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
<br />
=== h-card ===<br />
root class name: '''<code>h-card</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-card</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-honorific-prefix</code>'''<br />
* '''<code>p-given-name</code>'''<br />
* '''<code>p-additional-name</code>'''<br />
* '''<code>p-family-name</code>'''<br />
* '''<code>p-sort-string</code>'''<br />
* '''<code>p-honorific-suffix</code>'''<br />
* '''<code>p-nickname</code>'''<br />
* '''<code>u-email</code>'''<br />
* '''<code>u-logo</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-adr</code>'''<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>'''<br />
* '''<code>p-geo</code>''' or '''<code>u-geo</code>''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-tel</code>'''<br />
* '''<code>p-note</code>'''<br />
* '''<code>dt-bday</code>'''<br />
* '''<code>u-key</code>'''<br />
* '''<code>p-org</code>'''<br />
* '''<code>p-job-title</code>''' - previously 'title' in hCard, disambiguated.<br />
* '''<code>p-role</code><br />
* '''<code>u-impp</code>''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-sex</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-gender-identity</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>dt-anniversary</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* ...<br />
<br />
Reserved properties: (properties not used much (if at all) in practice)<br />
* '''<code>p-organization-name</code>'''<br />
* '''<code>p-organization-unit</code>'''<br />
* '''<code>p-tz</code>'''<br />
* '''<code>dt-rev</code>'''<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-card" is found, don't look for a "vcard" on the same element.<br />
<br />
compat root class name: <code id="vcard">vcard</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>honorific-prefix</code><br />
* <code>given-name</code><br />
* <code>additional-name</code><br />
* <code>family-name</code><br />
* <code>honorific-suffix</code><br />
* <code>nickname</code><br />
* <code>email</code> - parse as '''u-'''<br />
* <code>logo</code> - parse as '''u-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>uid</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>adr</code> - parse as '''<code>p-adr h-adr</code>''' including compat root class <code>adr</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
* <code>label</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root class <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* <code>tel</code><br />
* <code>note</code><br />
* <code>bday</code> - parse as '''dt-'''<br />
* <code>key</code> - parse as '''u-'''<br />
* <code>org</code><br />
* <code>organization-name</code><br />
* <code>organization-unit</code><br />
* <code>title</code> - parse as '''p-job-title'''<br />
* <code>role</code><br />
* ...<br />
<br />
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:<br />
* <code>tz</code><br />
* <code>rev</code> - parse as '''dt-'''<br />
* ...<br />
<br />
Note: use of 'value' within 'tel' should be automatically handled by the support of the [[value-class-pattern]]. And for now, the 'type' subproperty of 'tel' is dropped/ignored. If there is demonstrable documented need for additional tel types (e.g. fax), we can introduce new flat properties as needed (e.g. p-tel-fax).<br />
<br />
=== h-entry ===<br />
root class name: '''<code>h-entry</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-entry</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' (was p-entry-title, see issues)<br />
* '''<code>p-summary</code>''' (was p-entry-summary, see issues)<br />
* '''<code>e-content</code>''' (was e-entry-content, see issues)<br />
* '''<code>dt-published</code>'''<br />
* '''<code>dt-updated</code>'''<br />
* '''<code>p-author</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
<br />
This is an update to [[hAtom]]. <br />
<br />
Brainstorming:<br />
<br />
The following properties are proposed additions to h-entry above and beyond what hAtom (or Atom) provides, based on various existing link preview markup conventions:<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-audio</code>''' - consider special u- parsing rules for <code>&lt;audio></code><br />
* '''<code>u-video</code>''' - consider special u- parsing rules for <code>&lt;video></code><br />
* '''<code>u-in-reply-to</code>''' - for links to other posts that this post is a reply to (comment regarding, etc.)<br />
<br />
Backward compatibility: <br />
<br />
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer <code>p-name</code> over <code>p-entry-title</code>, and use <code>p-entry-title</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For hAtom backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-entry" is found, don't look for a "hentry" on the same element.<br />
<br />
compat root class name: <code id="hentry">hentry</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>entry-title</code> - parse as '''<code>p-name</code>'''<br />
* <code>entry-summary</code><br />
* <code>entry-content</code> - parse as '''e-'''<br />
* <code>published</code> - parse as '''dt-'''<br />
* <code>updated</code> - parse as '''dt-'''<br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>category</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
<span id="h-entry-faq">FAQ:</span><br />
<div class="discussion"><br />
* '''What is the <code>p-name</code> of a [http://indiewebcamp.com/note note]?'''<br />
** A few options, from simplest to most detailed.<br />
*** '''same as the p-content/e-content''' property.<br />
*** '''same as the <code>title</code> element''' on the note permalink post page. When publishing a note on its own permalink post page, the contents of the note are likely abbreviated for the title of the page. The same abbreviation can be used for the p-name.<br />
*** '''first sentence of the p-content/e-content''' property. It may be better for [http://indiewebcamp.com/syndication syndication] and [[link-preview]] purposes to provide just the first sentence of the note as the <code>p-name</code>. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the <code>p-summary</code>.<br />
* ...<br />
</div><br />
<br />
Resolved Issues:<br />
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:<br />
** Use '''<code>p-summary</code> instead of <code>p-entry-summary</code>'''. The historical semantic of "entry-summary" is not different from "summary" in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.<br />
** Use '''<code>e-content</code> instead of <code>e-entry-content</code>'''. Same point and advantage. In microformats2, entry-content is no more.<br />
** '''drop <code>p-entry-title</code>'''. Unnecessary and subsumed by "p-name". Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.<br />
<br />
=== h-event ===<br />
root class name: '''<code>h-event</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-event</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-summary</code>'''(*)<br />
* '''<code>dt-start</code>'''<br />
* '''<code>dt-end</code>'''<br />
* '''<code>dt-duration</code>'''<br />
* '''<code>p-description</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-location</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* ...<br />
<br />
This is an update to [[hCalendar]]. <br />
<br />
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer <code>p-name</code> over <code>p-summary</code>, and use <code>p-summary</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-event" is found, don't look for a "vevent" on the same element.<br />
<br />
compat root class name: <code id="vevent">vevent</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> - parse as '''<code>p-name</code>'''<br />
* <code>dtstart</code> - parse as '''<code>dt-start</code>'''<br />
* <code>dtend</code> - parse as '''<code>dt-end</code>'''<br />
* <code>duration</code> - parse as '''<code>dt-duration</code>'''<br />
* <code>description</code><br />
* <code>url</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>location</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code>, and compat root <code>adr</code> in the absence of <code>h-adr</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
=== h-geo ===<br />
root class name: '''<code>h-geo</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-geo</nowiki><br />
<br />
properties:<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-geo" is found, don't look for an "geo" on the same element.<br />
<br />
compat root class name: <code id="geo">geo</code><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>latitude</code><br />
* <code>longitude</code><br />
<br />
=== h-item ===<br />
root class name: '''<code>h-item</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-item</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
<br />
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of "h-item" won't require any explicit properties at all (since microformats2 parsers will infer name, photo, and url properties from the structure of the element with "h-item" and its contained content/elements if any).<br />
<br />
=== h-product ===<br />
root class name: '''<code>h-product</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-product</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the product<br />
* '''<code>u-photo</code>''' - photo of the product<br />
* '''<code>p-brand</code>''' - manufacturer, can also be a nested <code>h-card</code><br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>e-description</code>'''<br />
* '''<code>u-url</code>''' - URL of the product<br />
* '''<code>u-identifier</code>''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.<br />
* '''<code>p-review</code>''' - a review of the product, can also be a nested <code>h-review</code><br />
* '''<code>p-price</code>''' - retail price of the product<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-product" is found, don't look for an "hproduct" on the same element.<br />
<br />
compat root class name: <code id="hproduct">hproduct</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>brand</code><br />
* <code>category</code><br />
* <code>description</code><br />
* <code>identifier</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>review</code> - including compat root class <code>hreview</code> in the absence of <code>h-review</code><br />
* <code>price</code><br />
<br />
Note: [[hProduct]] has at least one experimental property which has real world adoption due to [[Google]] and [[Bing]] search support of hProduct. Currently this is: price<br />
<br />
=== h-recipe ===<br />
root class name: '''<code>h-recipe</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-recipe</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - the name of the recipe<br />
* '''<code>p-ingredient</code>''' - describes one or more ingredients used in the recipe.<br />
* '''<code>p-yield</code>''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies <br />
* '''<code>e-instructions</code>''' - the method of the recipe.<br />
* '''<code>dt-duration</code>''' - the time it takes to prepare the meal described by the recipe.<br />
* '''<code>u-photo</code>''' - an accompanying image<br />
<br />
Experimental properties with wide adoption<br />
* '''<code>p-summary</code>''' - provides a short summary or introduction <br />
* '''<code>p-author</code>''' - the person who wrote the recipe with <code>h-card</code><br />
* '''<code>dt-published</code>''' - the date the recipe was published<br />
* '''<code>p-nutrition</code>''' - nutritional information like calories, fat, dietary fiber etc.<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-recipe" is found, don't look for an "hrecipe" on the same element.<br />
<br />
compat root class name: <code id="hrecipe">hrecipe</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>ingredient</code><br />
* <code>yield</code><br />
* <code>instructions</code> - parse as '''e-'''<br />
* <code>duration</code> - parse as '''dt-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>summary</code><br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>nutrition</code><br />
<br />
Note: [[hRecipe]] has a number of experimental properties which have real world adoption due to [[Google]] recipe search support of hRecipe. These are: summary, author, published and nutrition<br />
<br />
=== h-resume ===<br />
root class name: '''<code>h-resume</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-resume</nowiki><br />
<br />
properties:<br />
* '''<code>p-summary</code>''' - overview of qualifications and objectives<br />
* '''<code>p-contact</code>''' - current contact info in an <code>h-card</code><br />
* '''<code>p-education</code>''' - an education <code>h-calendar</code> event, years, nested <code>h-card</code> of the school, location.<br />
* '''<code>p-experience</code>''' - a job or other professional experience <code>h-calendar</code> event, years, nested <code>h-card</code> of the organization, location, job-title.<br />
* '''<code>p-skill</code>''' - a skill or ability, optionally including level and/or duration of experience<br />
* '''<code>p-affiliation</code>''' - an affiliation with an <code>h-card</code> organization<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-resume" is found, don't look for an "hresume" on the same element.<br />
<br />
compat root class name: <code id="hresume">hresume</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code><br />
* <code>contact</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>education</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>experience</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>skill</code><br />
* <code>affiliation</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
<br />
Note: skill has a [[hresume-skill-brainstorm|proposed expansion into competency]] with explicit summary, rating and/or duration components. Based on existing real world adoption, we should consider an h-competency vocabulary with p-summary, p-rating, and dt-duration properties.<br />
<br />
=== h-review ===<br />
root class name: '''<code>h-review</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-reviewer</code>''' - person who authored the review <br />
* '''<code>dt-reviewed</code>''' - date time of when the review was written<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating a rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>e-description</code>''' - the full text written evaluation and opinion of the reviewer<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review" is found, don't look for an "hreview" on the same element.<br />
<br />
compat root class name: <code id="hreview">hreview</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>reviewer</code> - including compat root vcard in the absence of h-card<br />
* <code>dtreviewed</code> - parse as '''dt-'''<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>description</code> - parse as '''e-'''<br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
Note: The [[hReview]] format has three properties which make use of <code>rel</code> attribute, these are <code>tag</code>, permalink (via the <code>self</code> and <code>bookmark</code> values) and <code>license</code>. Microformats 2 parsers {{should}} map these URLs into the page scoped rel collection.<br />
<br />
=== h-review-aggregate ===<br />
root class name: '''<code>h-review-aggregate</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review-aggregate</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating average rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>p-count</code>''' - number of reviews aggregated.<br />
* '''<code>p-votes</code>''' - number of reviewers who have rated the product, thus contributing to the average rating.<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer<br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review-aggregate" is found, don't look for an "hreview-aggregate" on the same element.<br />
<br />
compat root class name: <code id="hreview-aggregate">hreview-aggregate</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>count</code><br />
* <code>votes</code><br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
<br />
=== v2 vocab notes ===<br />
Notes: <br />
* All v2 vocabularies are defined as flat lists of properties of an object/item, and thus can be used in microformats-2 syntax as shown, or in microdata items, or RDFa. The microformats-2 property parsing prefixes "p-", "u-", "dt-", "e-" are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.<br />
* Profile URLs are provided for use with the HTML4 <code>profile</code> attribute, microdata <code>itemtype</code> attribute, and RDFa <code>vocab</code> &amp; <code>typeof</code> attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). <br />
* microformats 2 properties may also be explicitly bound as URIs using [[rel-profile]], the [[html5-profile]] attribute proposal, or an HTML5 'vocab' attribute instead. If URI bound terms are important to you, please express interest on [[rel-profile]], [[html5-profile]], or contribute to an [[html5-vocab]] draft.<br />
<br />
=== v2 vocab to-do ===<br />
To do: <br />
* actual profile documents at <nowiki>http://microformats.org/profile/h-*</nowiki> URLs mentioned above.<br />
* Provide any necessary microdata-specific language as needed (e.g. to be comparably understandable to the [http://www.whatwg.org/specs/web-apps/current-work/#vcard sample vCard4/hCard1 microdata vocabulary]. Also provide any necessary RDFa-specific language as needed. Both preferably in a generic vocabulary-independent way.<br />
* write a porting guide mapping v1 property -> v2 property<br />
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).<br />
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)<br />
* write a simple tutorial for creating/getting started with microformats-2 markup for new content<br />
<br />
== combining microformats ==<br />
Since microformats 2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.<br />
<br />
=== h-event location h-card ===<br />
Events commonly have venue information with additional structure, like address information. For example:<br />
<br />
<source lang=html4strict><br />
<div class="h-event"><br />
<a class="p-name u-url" href="http://indiewebcamp.com/2012"><br />
IndieWebCamp 2012<br />
</a><br />
from <time class="dt-start">2012-06-30</time> <br />
to <time class="dt-end">2012-07-01</time> at <br />
<span class="p-location h-card"><br />
<a class="p-name p-org u-url" href="http://geoloqi.com/"><br />
Geoloqi<br />
</a>, <br />
<span class="p-street-address">920 SW 3rd Ave. Suite 400</span>, <br />
<span class="p-locality">Portland</span>, <br />
<abbr class="p-region" title="Oregon">OR</abbr><br />
</span><br />
</div><br />
</source><br />
<br />
The nested h-card used to structure the p-location of the h-event is represented as a structured value for "location" in the JSON, which has an additional key, "value" that represents the plain text version parsed from the p-location.<br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-event"],<br />
"properties": {<br />
"name": ["IndieWebCamp 2012"],<br />
"url": ["http://indiewebcamp.com/2012"],<br />
"start": ["2012-06-30"],<br />
"end": ["2012-07-01"],<br />
"location": [{<br />
"value": "Geoloqi, 920 SW 3rd Ave. Suite 400, Portland, OR",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Geoloqi"],<br />
"org": ["Geoloqi"],<br />
"url": ["http://geoloqi.com/"],<br />
"street-address": ["920 SW 3rd Ave. Suite 400"],<br />
"locality": ["Portland"],<br />
"region": ["Oregon"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Questions:<br />
<div class="discussion"><br />
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, how do we avoid expansion of the JSON geometrically proportional to the depth of microformat nesting? (Or do we not worry about it?)<br />
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no, we stick with one canonical JSON for uf2 which is hierarchical. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, should the flattened JSON have references from properties to nested microformats that have been pushed to the top level per flattening? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
</div><br />
<br />
Notes:<br />
* The 'location' value reflects the visible text of its element, including spaces and punctuation, as well as the state abbreviation 'OR'. The 'h-card' property values are only what is marked up, and thus include structure values without extra punctuation, and the state takes the expanded form from the <code>title</code> attribute of its <code>&lt;abbr&gt;</code> element.<br />
<br />
=== h-card org h-card ===<br />
People often publish information general to their company rather than specific to them, in which case, they may wish to encapsulate that in separately nested microformat. E.g. here is a simple h-card example with org property:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)<br />
<br />
with source:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<span class="p-org">Mozilla Foundation</span>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": ["Mozilla Foundation"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Sometimes such organization affiliations are hyperlinked to the website of the organization:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])<br />
<br />
You can mark that up with a nested h-card:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an <code>&lt;a href&gt;</code> would.<br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
The nested 'h-card' could be marked up as an 'h-org' as well, which adds it to the nested microformat's type array, all as part of the property specified by the 'p-org'.<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card h-org" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card", "h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Without a property class name like 'p-org' holding all the nested objects together, we need to introduce another array for nested children (similar to the existing DOM element notion of children) of a microformat that are not attached to a specific property:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card","h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
Since there's no property class name on the element with classes 'h-card' and 'h-org', the microformat representing that element is collected into the children array.<br />
<br />
Such a nested microformat implies some relationship (containment, being related), but is not as useful as if the nested microformat was a specific property of its parent.<br />
<br />
For this reason it's recommended that authors should not publish nested microformats without a property class name, and instead, when nesting microformats, authors should always specify a property class name (like 'p-org') on the same element as the root class name(s) of the nested microformat(s) (like 'h-card' and/or 'h-org').<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Or the nested object could be only marked up with 'h-card'. Source:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
'''TO DO: Add h-event h-card example and JSON, per real world publishing examples like [http://www.swingtime.co.uk/List/ClSouth.html Swing Time: Classes in Southern England].'''<br />
<br />
== authoring ==<br />
=== minimal markup ===<br />
The best way to use microformats-2 is with as little additional markup as possible. This keeps your code cleaner, improves its maintainability, and thus the quality and longevity of your microformats.<br />
<br />
One big advantage of microformats-2 over previous microformats (and others) is the ability to add one class name to an existing element to create a structured item.<br />
<br />
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.<br />
<br />
Simple hCards work just by adding <code>class="h-card"</code> :<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
<br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
<br />
<img class="h-card" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
<br />
<a class="h-card" href="http://tantek.com"><br />
<img alt="Tantek Çelik" src="http://ttk.me/logo.jpg"/><br />
</a><br />
</source><br />
<br />
* Tip: Inside an open tag, put the <code>class</code> attribute <em>first</em>, then any human text content attributes (e.g. <code>alt</code>), then URL attributes (e.g. <code>href</code> <code>src</code>), and lastly other attributes (e.g. <code>style</code>). Putting the class attribute first ties it closely to the element name/tag itself, makes it more obvious, and thus more likely to be kept up to date.<br />
<br />
=== backward compatible ===<br />
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats-2]], you can include both existing microformats and microformats-2 markup.<br />
<br />
In short: use both sets of class names simultaneously. <br />
<br />
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.<br />
<br />
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a <code>&lt;span&gt;</code>) to separate the root class name element from explicit property class name elements:<br />
<br />
<source lang=html4strict><br />
<span class="h-card vcard"><br />
<span class="p-name fn">Frances Berriman</span><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="p-name fn u-url url" href="http://benward.me">Ben Ward</a><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<img class="p-name fn u-photo photo" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="u-url url" href="http://tantek.com"><br />
<img class="p-name fn u-photo photo" alt="Tantek Çelik" <br />
src="http://ttk.me/logo.jpg"/><br />
</a><br />
</span><br />
</source><br />
<br />
<br />
Tips:<br />
* use the microformats-2 class name first, e.g.<br />
** <code>class="h-card vcard"</code><br />
** <code>class="u-url url"</code><br />
* and pair them when using an element for multiple properties, e.g.:<br />
** <code>class="p-name fn u-url url"</code><br />
** <code>class="p-name fn u-photo photo"</code><br />
* put microformats classes after classes for CSS (since page authors will likely interact more with their own classes for design than with microformats classes), e.g. as used on individual microformats [[events]] pages:<br />
** <code>class="event-page h-event vevent"</code> <br />
<br />
The prefixes (h-, p-, etc.) of microformats2 class names provide easier recognition, and when followed by the similarly named existing class name, they're more easily recognized as related and thus kept together when the markup is maintained over time.<br />
<br />
Related FAQ: [[microformats2-faq#when_using_both_h-card_and_vcard_which_should_be_first_and_why|When using both h-card and vcard which should be first and why?]]<br />
<br />
== validators ==<br />
microformats2 validators:<br />
<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
Barnaby Walters has a hosted version of the open source php-mf2 [[parser]] where you can enter your markup into a textarea and see how it's parsed:<br />
* http://waterpigs.co.uk/php-mf2/<br />
<br />
See the [[validators]] page for a longer list of validators.<br />
<br />
== Examples in the wild ==<br />
Please add new examples in the wild of microformats-2 to the top of this list. When it gets too big we can move it to a separate page like [[microformats-2-examples-in-wild]].<br />
<br />
* ...<br />
* [http://www.w3.org/conf/ W3Conf 2013] uses h-event for the main event, and h-card for all the speakers and notable attendees. The h-cards make particularly good use of implied name, url, and photo properties.<br />
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*<br />
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages<br />
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].<br />
* Aaron Parecki uses h-card to markup both authorship and references to people in his notes permalinks, e.g. [http://aaronparecki.com/2012/230/reply/1 2012/230/reply/1].<br />
* [http://tantek.com/ Tantek Çelik] uses h-card, h-event, and h-entry on his home page, as well as h-entry on all post permalinks, e.g. [http://tantek.com/2012/243/t1/name-beats-title-modern-use-dubline-core-wrong-uf2 2012-243 post], with [[rel-prev]]/[[rel-next]] (if applicable) to indicate prev/next posts, and with [[rel-author]] to his home page with canonical hCard to indicate authorship.<br />
* [http://waterpigs.co.uk/ Barnaby Walters] uses h-card on his home page, h-card, h-entry and XFN markup on his [http://waterpigs.co.uk/notes notes page].<br />
** 2013-01-25 Barnaby Walters: <cite>[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]</cite> - describes how he's using microformats2 vocabularies: <code>h-adr</code>, <code>h-card</code>, <code>h-entry</code>, <code>h-event</code>, <code>h-geo</code>, <code>h-review</code>, and experimental vocabularies: <code>h-feed</code> (embedded for update histories), [[activity-streams]] objects <code>h-as-article</code>, <code>h-as-collection</code>, <code>h-as-note</code>, <code>h-as-update</code>, as well as experimental properties: <code>u-alternate</code> and <code>u-as-downstream-duplicate</code> (links to POSSE copies), and <code>u-in-reply-to</code> (links to content that the posts are in reply to). <br />
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.<br />
* [http://tantek.com/presentations/2012/06/pdf2012-indieweb.html Rise of the Indie Web hCards] (from Personal Democracy Forum 2012 #pdf12 #pdf2012) has [[microformats-2]] h-calendar and h-card markup<br />
* WebMaker by Mozilla has [[microformats-2]] h-calendar and h-card on event search (e.g. [https://webmaker.org/en-US/events/near/?lat=45.5234515&lng=-122.6762071 search near Portland Oregon]) and event pages (e.g. [https://webmaker.org/en-US/events/192f56eb9/ IndieWebCamp 2012]).[https://twitter.com/microformats/status/212207925643587585]<br />
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages<br />
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.<br />
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.<br />
<br />
== Implementations ==<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
<br />
Blogging tools:<br />
* '''Storytlr''' parses the 'target' from [http://indiewebcamp.com/pingback pingbacks] for [https://github.com/storytlr/storytlr/blob/master/protected/application/public/controllers/PingbackController.php#L63 h-entry with properties and nested h-card] for information to automatically display in the [http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html comments section on a post].<br />
<br />
<br />
Parsers and other implementations of microformats2, typically open source:<br />
<br />
Javascript:<br />
* '''microformat-node''' Node.js microformats2 parser<br />
** github open source: https://github.com/glennjones/microformat-node<br />
** test suite: https://github.com/microformats/tests<br />
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/<br />
** live: http://microformat2-node.jit.su/<br />
* '''microformat-shiv''' - cross browser javascript microformats 2 parser which can also be used in browser extensions.<br />
** http://microformatshiv.com/<br />
** github open source: https://github.com/glennjones/microformat-shiv<br />
PHP:<br />
* '''<span id="php-mf2">php-mf2</span>''' - PHP microformats2 parser<br />
** github open source: https://github.com/indieweb/php-mf2<br />
** Packagist: https://packagist.org/packages/mf2/mf2<br />
** live: <br />
*** textarea entry: http://waterpigs.co.uk/php-mf2/<br />
*** URL entry: http://pin13.net/ (where it says "Microformats Parser")<br />
Ruby:<br />
* '''G5/microformats2''' Ruby microformats2 parser<br />
** github open source: https://github.com/G5/microformats2<br />
<br />
== Presentations ==<br />
Presentations about microformats2:<br />
* 2013-01-24 <cite>[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]</cite> presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.<br />
* 2012-09-21 <cite>[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp; bits of HTML5: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.<br />
* 2012-07-21 <cite>[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-21-cascadesf|Innovators of the Web conference]] in San Francisco, CA.<br />
* 2012-07-14 <cite>[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-14-open-web-camp-4|Open Web Camp IV]] in San Jose, CA.<br />
<br />
== Testimonials ==<br />
* <blockquote class="twitter-tweet">To prove the web standards community can come up with better standards than the SE’s, compare this: http://microformats.org/wiki/microformats-2 with schema . org &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]</blockquote><br />
* <blockquote class="twitter-tweet">... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]</blockquote><br />
* <blockquote class="twitter-tweet">... But damn Microformats2 are sexy. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]</blockquote><br />
<br />
== About This Brainstorm ==<br />
The rest of this page is a brainstorm currently written in narrative / exploratory format, that is, acknowledging the success that microformats have had, why so, and then a walk through of known issues with microformats in general along with iteration of ways to address said issues, ending up with the current microformats 2 design as a conclusion.<br />
<br />
The proposals build on each other resulting in a solution that addresses the vast majority of general issues. The proposed changes merit a major version number increment, hence microformats 2.<br />
<br />
This mathematical proof/derivation style is used to explicitly encourage understanding (and double-checking) of the rational steps taken in the development of microformats 2. Reasons are documented, sometimes along with alternatives considered (and reasons for rejection of those alternatives).<br />
<br />
When the microformats 2 brainstorm has evolved sufficiently to demonstrate some degree of stability, usability, and implementability, it will be rewritten in a more declarative specification style, and this narrative/derivation will be archived to a background development page for historical purposes.<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
== Background ==<br />
<br />
2004: In early February microformats were introduced as a concept at eTech, and in September [[hCard]] and [[hCalendar]] were proposed at FOO Camp.<br />
<br />
2010:<br />
* 34% of webdevs use microformats ([http://www.webdirections.org/sotw10/markup/#semantics 2010 State of Web Development survey])<br />
* 1.88 billion hCards (per [[Yahoo]] SearchMonkey)<br />
* 36 million hCalendar events (ibid)<br />
<br />
* XFN -> Social Graph API -> Web as Social Network / Address Book<br />
<br />
== Addressing Issues ==<br />
=== AUTHORS and PUBLISHING ===<br />
Authors and publishers are perhaps the most important constituency in the microformats community. There are more of them than there are developers, programmers, parsers, etc. and they're the ones that solved the chicken-egg problem by publishing microformats even before tools were available for consuming them.<br />
<br />
Therefore we must first address author/publisher general issues with microformats.<br />
<br />
==== can we make the simplest case simpler ====<br />
Issue: '''How can we make it easier for authors to publish microformats?'''<br />
<br />
Currently the simplest hCard:<br />
<source lang=html4strict><br />
<span class="vcard"><br />
<span class="fn"><br />
Chris Messina<br />
</span><br />
</span><br />
</source><br />
<br />
requires 2 elements (nested, with perhaps at least one being pre-existing), and 2 class names.<br />
<br />
Web authors/designers are used to the simplicity of most HTML tags, e.g. to mark up a heading:<br />
<br />
<source lang=html4strict><br />
<h1>Chris Messina</h1><br />
</source><br />
<br />
requires just 1 element.<br />
<br />
[http://zeldman.com/ Jeffrey Zeldman] pointed out this apparent perceived incremental complexity (2 elements vs 1) during a microformats workshop in 2009 in New York City.<br />
<br />
'''How can we make microformats just as easy?'''<br />
<br />
'''Proposal: allow root class name only.'''<br />
<br />
This would enable:<br />
<br />
<source lang=html4strict><br />
<h1 class="vcard">Chris Messina</h1><br />
</source><br />
<br />
requiring only 1 class name for the simplest case.<br />
<br />
<br />
==== renaming for usability ====<br />
Otherwise known as, choosing one form of consistency over another.<br />
<br />
'''Can we do even better?'''<br />
<br />
One of the most common questions asked about hCard is:<br />
<br />
[[hcard-faq#Why_does_hCard_use_vcard_as_the_root_class_name|Why does hCard use vcard as the root class name?]]<br />
<br />
This slight inconsistency between the name of the format and the name of the root class name consistently causes confusion in a large percentage of newcomers to microformats.<br />
* See [[issues#hcard-vs-vcard-name]] for details/links.<br />
<br />
Though in microformats we believe very strongly in the [[principle]] of [[reuse]], we have to admit that in this case experience/evidence has shown that this may be a case where we re-used something too far beyond it's original meaning. Thus:<br />
<br />
'''Proposal: use root class name "hcard" instead of "vcard" for future hCards.'''<br />
<br />
This would result in:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard">Chris Messina</h1><br />
</source><br />
<br />
making the simple case even simpler:<br />
<br />
Just 1 additional class name, named the same as the format you're adding. Think hCard, markup class="hcard".<br />
<br />
At a minimum for compatibility we should document that parsers should accept "hcard" as an alternative to "vcard" as the root class name for hCard 1.0, and similarly for hCalendar 1.0: "hcalendar" in addition to "vcalendar", "hevent" in addition to "vevent".<br />
<br />
However, for [[microformats-2]] we are going to distinguish root class names further by using an "h-" prefix (e.g. "h-card"). Read on to understand why.<br />
<br />
==== simplifying to only needing one element ====<br />
It's very important for the simple case to be as simple as possible, to enable the maximum number of people to get started with minimum effort. (The idea of using a single class name for a microformat was proposed by Ryan Cannon in 2006 specifically [[hcard-implied|for hCard]], and rediscovered by [[User:Tantek|Tantek]] in 2010 and subsequently generalized to all microformats.)<br />
<br />
From there on, it's ok to require incremental effort for incremental return.<br />
<br />
E.g. to add any additional information about a person, add explicit property names.<br />
<br />
'''How does this simple root-only case work?'''<br />
<br />
* root class name reflects name of the microformat<br />
* every microformat must require at most 1 property (preferably 0)<br />
** admit that requiring a field in an application just results in noise (the 90210 problem - apps which require zip code get lots of false 90210 entries), and specify that any application use cases which appear to "require" specific properties must instead define how to imply sensible defaults for them.<br />
* when only a root class name is specified, imply the entire text contents of the element as the value of the primary property of the microformat. e.g.<br />
** "hcard" implies "fn"<br />
** hcalendar event - "hevent" - implies "summary"<br />
** "hreview" implies "summary"<br />
** "hentry" implies "entry-summary" (perhaps collapse into "summary" - in practice they're not sufficiently semantically distinct to require separate property names)<br />
** '''OR''' instead of making the one implied property be vocabulary specific, introduce a new generic (applicable to all vocabularies) 'p-name' property (subsuming hCard's 'fn'). See [[microformats-2-brainstorming#further_simplifications|microformats 2 brainstorming: further simplifications]] for latest thoughts along these lines, including the following specific mark-up implied generic properties across all microformats (based on existing published markup use-cases)<br />
*** 'p-name'<br />
*** 'u-url'<br />
*** 'u-photo'<br />
<br />
==== flat sets of properties ====<br />
'''What more can we simplify about microformats?'''<br />
<br />
Numerous individuals have provided the feedback that whenever there is more than one level of hierarchy in a microformat, many (most?) developers get confused - in particular Kavi Goel of Google / Rich Snippets provided this feedback at a microformats dinner. Thus depending on multiple levels of hierarchy is likely resulting in a loss of authorability, perhaps even accuracy as confusion undoubtedly leads to more errors. Thus:<br />
<br />
'''Proposal: simplify all microformats to flat sets of properties. '''<br />
<br />
What this means:<br />
* all microformats are simply an object with a set of properties with values.<br />
* no more subproperties- drop the notion of subproperties.<br />
* use composition of multiple microformats for any further hierarchy, e.g. the "location" of an hCalendar event can be an hCard, or the "agent" of one hCard can be another hCard.<br />
<br />
For example for hCard this would mean the following specific changes to keep relevant functionality:<br />
* drop "n", promote all "n" subproperties to full properties<br />
** given-name, family-name, additional-name, honorific-prefix, honorific-suffix<br />
* treat "geo" as a nested microformat<br />
* treat "adr" as a nested microformat (what to do about adr's "type"?)<br />
* treat "org" as a flat string and drop "organization-name" and "organization-unit" (in practice rarely used, also not revealed or ignored in contact management user interfaces - e.g. Address Book)<br />
<br />
Example: add a middle initial to the previous example Chris Messina's name, and markup each name component:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard"><br />
<span class="fn"><br />
<span class="given-name">Chris</span><br />
<abbr class="additional-name">R.</abbr><br />
<span class="family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
Note:<br />
# use of an explicit span with "fn" to markup his entire formatted name<br />
# use of the abbr element to explicitly indicate the semantic that "R." is merely an abbreviation for his additional-name.<br />
<br />
==== distinguishing properties from other classes ====<br />
Current microformats properties re-use generic terms like "summary", "photo", "updated" both for ease of use and understanding.<br />
<br />
However, through longer term experience, we've seen sites that accidentally drop (or break) their microformats support (e.g. Upcoming.org, Facebook) because web authors sometimes rewrite all their class names, and either are unaware that microformats were in the page, or couldn't easily distinguish microformats property class names from other site-specific class names.<br />
<br />
This issue has been reported by a number of web authors.<br />
* See: [[issues#class-collisions]]<br />
<br />
Thus microformats 2 uses ''prefixes'' for property class names, e.g.:<br />
* '''p-summary''' instead of ''summary''<br />
* '''u-photo''' instead of ''photo'' <br />
* '''dt-updated''' instead of ''updated''<br />
<br />
Such prefixing of all microformats class names was first suggested by Scott Isaacs of Microsoft to Tantek on a visit to Microsoft sometime in 2006/2007, but specifically aimed at making microformats easier to parse. At the time the suggestion was rejected since microformats were focused on web authors rather than parsers.<br />
<br />
However, since experience has shown that distinguishing property class names is an issue for '''both web authors and parser developers''', this is a key change that microformats 2 is adopting. See the next section for details.<br />
<br />
=== COMMUNITY and TOOLS ===<br />
The second most important constituency in the microformats community are the developers, programmers, tool-makers.<br />
<br />
A non-trivial number of them have been sufficiently frustrated with some general issues with microformats that they've done the significant extra work to support very different and less friendly alternatives (microdata, RDFa). Based on this real-world data (market behavior), it behooves us to address these general issues with microformats for this constituency.<br />
<br />
==== existing microformats parsing requirements ====<br />
COMMUNITY and TOOLS (that) USE MICROFORMATS <br />
* parser / parsing<br />
* structured<br />
* getting the data out<br />
* json - 1:1 mapping<br />
<br />
[[parsing]] microformats currently requires<br />
# a list of root class names of each microformat to be parsed<br />
# a list of properties for each specific microformats, along with knowledge of the type of each property in order to parse their data from potentially different portions of the HTML markup<br />
# some number of format-specific specific rules (markup/content optimizations)<br />
<br />
This has meant that whenever a new microformat is drafted/specificied/adopted, parsers need to updated to handle it correctly, at a minimum to parse them when inside other microformats and avoid errantly implying properties from one to the other (containment, [[mfo]] problem).<br />
<br />
==== naming conventions for generic parsing ====<br />
I think there is a fairly simple solution to #1 and #2 from the above list, and we can make progress towards minimizing #3. In short:<br />
<br />
'''Proposal: a set of naming conventions for microformat root class names and properties that make it obvious when:'''<br />
* a class name represents a microformat root class name<br />
* a class name represents a microformat property name<br />
* a class name represents a microformat property that needs special parsing (specific type of property).<br />
<br />
In particular - derived from the real world examples of existing proven microformats (rather than any abstraction of what a schema should have)<br />
* '''"h-*" for root class names''', e.g. "h-card", "h-event", "h-entry"<br />
** The 'h-' prefix is based on the existing microformats naming pattern of starting with 'h'.<br />
* '''"p-*" for simple (text) properties''', e.g. "p-fn", "p-summary"<br />
** vocabulary generic parsing, element text in general, treat certain HTML element/attribute combination as special and use those first, e.g. img/alt, abbr/title.<br />
** The 'p-' prefix is based on the word "property" starting with 'p'.<br />
* '''"u-*" for URL properties''', e.g. "u-url", "u-photo", "u-logo"<br />
** special parsing required: prefer a/href, img/src, object/data etc. attributes to element contents.<br />
** The 'u-' prefix is based on URL/URI starting with the letter 'u', which is the type of most of these related properties.<br />
* '''"dt-*" for datetime properties''', e.g. "dt-start", "dt-end", "dt-bday"<br />
** special parsing required: [[value-class-pattern]], in particular separate date time value parsing for better human readabillity / DRY balance.<br />
** The 'dt-' prefix is based on "date time" having the initials "dt" and the preponderance of existing date time properties starting with "dt", e.g. dtstart, dtend, dtstamp, dtreviewed.<br />
* '''"e-*" for element tree properties''' where the entire contained element hierarchy is the value, e.g. "e-content" (formerly "entry-content") for [[hAtom]]. The 'e-' prefix can also be mnemonically remembered as "element tree", "embedded markup", or "encapsulated markup".<br />
** special parsing required: follow the [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments HTML spec: Serializing HTML Fragments algorithm] to create a serialization.<br />
<br />
This provides a simpler transition/education story for existing microformats authors/publishers: <br />
* "h*" to "h-*", "dt*" to "dt-*", url-like properties to "u-*", entire embedded markup to "e-*", and "p-*" for all "plain text" properties.<br />
<br />
See [[microformats-2-prefixes]] for further thoughts and discussions on these and other class prefixes.<br />
<br />
Example: taking that simple heading hCard example forward:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card">Chris Messina</h1><br />
</source><br />
<br />
As part of microformats 2 we would immediately define root class names and property names for all existing microformats and drafts consistent with this naming convention, and require support thereof from all new implementations, as well as strongly encouraging existing implementations to adopt the simplified microformats 2 syntax and mechanism. Question: which microformats deserve explicit backward compatibility?<br />
<br />
As a community we would continue to use the microformats [[process]] both for researching and determining the need for new microformats, and for naming new microformat property names for maximum re-use and interoperability of a shared vocabulary.<br />
<br />
If it turns out we need a new property type in the future, we can use one of the remaining single-letter-prefixes to add it to microformats 2. This would require updating of parsers of course, but in practice the number of different types of properties has grown very slowly, and we know from other schema/programming languages that there's always some small limited number of scalar/atomic property types that you need, and using those you can create compound types/objects that represent richer / more complicated types of data. See [[microformats-2-prefixes]] for documentation of existing single-letter class name prefixes in practice.<br />
<br />
=== ADVANTAGES ===<br />
This has numerous advantages:<br />
* '''better maintainability''' - much more obvious to web authors/designers/publishers which class names are for/from microformats.<br />
* '''no chance of collision''' - for all practical purposes with existing class names and thus avoiding any need to add more complex CSS style rules to prevent unintended styling effects.<br />
* '''simpler parsing''' - parsers can now do a simple stream-parse (or in-order DOM tree walk) and parse out '''all''' microformat objects, properties, and values, without having to know anything about any specific microformats.<br />
* '''separation of syntax and vocabulary''' - by abstracting microformats 2 syntax independent of any vocabulary, it allows and encourages development of shared vocabularies that can work in alternative syntaxes.<br />
<br />
More examples: here is that same heading example with name components:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<span class="p-fn"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
with a hyperlink to Chris's URL:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<a class="p-fn u-url" href="http://factoryjoe.com/"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
=== COMPATIBILITY ===<br />
<br />
microformats 2 is backwards compatible in that in permits content authors to markup with both old and new class names for compatibility with old tools.<br />
<br />
Here is a simple example:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<span class="fn">Chris Messina</span><br />
</h1><br />
</source><br />
<br />
a microformats 2 parser would see the class name "h-card" and imply the one required property from the contents, while a microformats 1.0 parser would find the class name "vcard" and then look for the class name "fn". no data duplication is required. this is a very important continuing application of the <abbr title="don't repeat yourself">DRY</abbr> [[principle]].<br />
<br />
And the above hyperlinked example with both sets of class names:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<a class="p-fn u-url n fn url" href="http://factoryjoe.com/"><br />
<span class="p-given-name given-name">Chris</span><br />
<abbr class="p-additional-name additional-name">R.</abbr><br />
<span class="p-family-name family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
<br />
=== VENDOR EXTENSIONS ===<br />
<br />
(this section was only discussed verbally and not written up during discussions - capturing here as it is topical)<br />
<br />
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.<br />
<br />
Proprietary or experimental CSS3 property implementations have been very successful.<br />
<br />
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:<br />
<br />
* -moz-border-radius<br />
* -webkit-border-radius<br />
<br />
etc.<br />
<br />
Note that these are merely string '''prefixes''', not bound to any URL, and thus not namespaces in any practical sense of the word. This is quite an important distinction, as avoiding the need to bind to a URL has made them easier to support and use.<br />
<br />
This use of vendor specific CSS properties has in recent years allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.<br />
<br />
The benefits have been two-fold:<br />
* designers have been able to make more attractive sites sooner (at least in some browsers)<br />
* features have been market / real-world tested before being fully standardized, thus resulting in better features<br />
<br />
Implementers have used/introduced "x-" prefixes for IETF MIME/content-types for experimental content-types, MIME parameter extensions, and HTTP header extensions, per RFC 2045 Section 6.3, RFC 3798 section 3.3, and [https://secure.wikimedia.org/wikipedia/en/wiki/List_of_HTTP_header_fields#Common_non-standard_headers Wikipedia: HTTP header fields - non-standard headers] (could use RFC reference instead) respectively, like:<br />
<br />
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])<br />
* x-spam-score (in email headers)<br />
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])<br />
<br />
Some standard types started as experimental "x-" types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:<br />
<br />
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])<br />
<br />
There have been times when specific sites have wanted to extend microformats beyond what the set of properties in the microformat, and currently lack any '''experimental''' way to do so - to try and see if a feature (or even a whole format) is interesting in the real world before bothering to pursue researching and walking it through the microformats process. Thus:<br />
<br />
'''Proposal:'''<br />
* '*-x-' + '-' + meaningful name for root and property class names<br />
** where "*" indicates the single-character-prefix as defined above<br />
** where "x" indicates a literal 'x' for an experimental extension OR<br />
** OR "x" indicates a vendor prefix (more than one character, e.g. like CSS vendor extension abbreviations, or some stock symbols, avoiding first words/phrases/abbreviations of microformats properties like dt-)<br />
** e.g.<br />
** "h-bigco-one-ring" - a hypothetical "bigco" vendor-specific "one-ring" microformat root class name.<br />
** "p-goog-preptime" - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's "preptime" property extension] to [[hRecipe]] (aside: "duration" may be another property type to consider separate from "datetime" as it may be subject to different parsing rules.)<br />
** "p-x-prep-time" - a possible experimental property name to be added to hRecipe upon consideration/documentation of real-world usage/uptake.<br />
<br />
Background - this proposal is a composition of the following (at least somewhat) successful vendor extension syntaxes<br />
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]<br />
* IETF MIME/content-type "x-*" extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]<br />
* IETF MIME experimental fields (e.g. x-spam-score)<br />
* HTTP header extensions (e.g. x-pingback)<br />
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]<br />
<br />
=== USERS ===<br />
Need more tools and interfaces that:<br />
* publish<br />
* copy/paste<br />
* right-click on a microformat<br />
* share<br />
* search results<br />
<br />
discussed some existing like: [[H2VX]] converts hCard to vCard, hCalendar to iCalendar<br />
<br />
how would we re-implement Live Clipboard today, making it easier for publishers and developers?<br />
<br />
=== SEE ALSO ===<br />
* [[microformats2]]<br />
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.<br />
* [[microformats2-prefixes]]<br />
* [[microformats2-faq]]<br />
* [[microformats2-parsing]]</div>
ChiefRA
https://microformats.org/wiki/index.php?title=microformats2&diff=54035
microformats2
2013-06-06T10:33:25Z
<p>ChiefRA: minor correction</p>
<hr />
<div><entry-title>microformats 2</entry-title><br />
<br />
Welcome to the microformats 2 home page.<br />
<br />
== Summary ==<br />
Microformats 2 improves ease of use and implementation for <em>both</em> authors (publishers) and developers ([[microformats2-parsing|parser]] implementers), with the following simplifications:<br />
<br />
# '''prefixes for which class names''' are used for microformats, those that start with 'h-' 'p-' 'u-' 'dt-', 'e-' = '''syntax independent from vocabularies''' which can then be developed separately.<br />
#* 'h-*' for root class names, e.g. 'h-card'<br />
#* 'p-*' for simple (text) properties, e.g. 'p-name'<br />
#* 'u-*' for URL properties, e.g. 'u-photo'<br />
#* 'dt-*' for date/time properties, e.g. 'dt-bday'<br />
#* 'e-*' for embedded markup properties, e.g. 'e-note'. See [[microformats2#naming_conventions_for_generic_parsing|prefix naming conventions]] for more details.<br />
# '''flat sets of optional properties''' for all microformats (hierarchical data uses nested microformats). Properties are all optional and potentially multivalued (applications needing a singular semantic may use first instance).<br />
# '''single class markup for common uses''' - for common simple markup patterns, just a microformat root class name can imply a few generic properties - name, url, photo. For example:<br />
<br />
=== simple microformats 2 examples ===<br />
Here are a few simple microformats 2 examples the demonstrate a most of the changes, along with canonical [[JSON]].<br />
<br />
* Simple person reference:<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Frances Berriman"] <br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* Simple hyperlinked person reference<br />
<source lang=html4strict><br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Ben Ward"],<br />
"url": ["http://benward.me"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
<br />
* Simple hyperlinked person image<br />
<source lang=html4strict><br />
<a class="h-card" href="http://rohit.khare.org/"><br />
<img alt="Rohit Khare"<br />
src="https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg" /><br />
</a><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Rohit Khare"],<br />
"url": ["http://rohit.khare.org"],<br />
"photo": ["https://s3.amazonaws.com/twitter_production/profile_images/53307499/180px-Rohit-sq_bigger.jpg"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Additional simple cases details in [[microformats-2-implied-properties]].<br />
<br />
<br />
----<br />
<br />
* More detailed person (based on real world microformats-2 example[https://webfwd.org/about/experts/]).<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<img class="u-photo" alt="photo of Mitchell"<br />
src="https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"/><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a><br />
(<a class="u-url" <br />
href="https://twitter.com/MitchellBaker"<br />
>@MitchellBaker</a>)<br />
<span class="p-org">Mozilla Foundation</span><br />
<p class="p-note"><br />
Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities.<br />
</p><br />
<span class="p-category">Strategy</span><br />
<span class="p-category">Leadership</span><br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"photo": ["https://webfwd.org/content/about-experts/300.mitchellbaker/mentor_mbaker.jpg"],<br />
"name": ["Mitchell Baker"],<br />
"url": [<br />
"http://blog.lizardwrangler.com/",<br />
"https://twitter.com/MitchellBaker"<br />
],<br />
"org": ["Mozilla Foundation"],<br />
"note": ["Mitchell is responsible for setting the direction and scope of the Mozilla Foundation and its activities."],<br />
"category": [<br />
"Strategy",<br />
"Leadership"<br />
]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
----<br />
Notes: <br />
# The JSON <code>"type"</code> uses the full microformat root class name (e.g. <code>"h-card"</code>) for consistent identification.<br />
# all properties are optional and syntactically plural with parsed values provided in document order; particular microformats (and applications there-of) may apply specific/singular semantics to first value of a property.<br />
<br />
== v2 vocabularies ==<br />
Status: '''<span id="draft_v2_vocabularies">draft</span>'''. Please review and provide feedback in [[IRC]].<br />
<br />
=== h-adr ===<br />
root class name: '''<code>h-adr</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-adr</nowiki><br />
<br />
properties:<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>''' - new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-geo</code>''' (or '''<code>u-geo</code>''' with a RFC 5870 geo: URL) - new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-longitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-adr" is found, don't look for an "adr" on the same element.<br />
<br />
compat root class name: <code id="adr">adr</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>post-office-box</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
<br />
=== h-card ===<br />
root class name: '''<code>h-card</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-card</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-honorific-prefix</code>'''<br />
* '''<code>p-given-name</code>'''<br />
* '''<code>p-additional-name</code>'''<br />
* '''<code>p-family-name</code>'''<br />
* '''<code>p-sort-string</code>'''<br />
* '''<code>p-honorific-suffix</code>'''<br />
* '''<code>p-nickname</code>'''<br />
* '''<code>u-email</code>'''<br />
* '''<code>u-logo</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-adr</code>'''<br />
* '''<code>p-post-office-box</code>'''<br />
* '''<code>p-extended-address</code>'''<br />
* '''<code>p-street-address</code>'''<br />
* '''<code>p-locality</code>'''<br />
* '''<code>p-region</code>'''<br />
* '''<code>p-postal-code</code>'''<br />
* '''<code>p-country-name</code>'''<br />
* '''<code>p-label</code>'''<br />
* '''<code>p-geo</code>''' or '''<code>u-geo</code>''' with a RFC 5870 geo: URL, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
* '''<code>p-tel</code>'''<br />
* '''<code>p-note</code>'''<br />
* '''<code>dt-bday</code>'''<br />
* '''<code>u-key</code>'''<br />
* '''<code>p-org</code>'''<br />
* '''<code>p-job-title</code>''' - previously 'title' in hCard, disambiguated.<br />
* '''<code>p-role</code><br />
* '''<code>u-impp</code>''' per RFC 4770, new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-sex</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>p-gender-identity</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* '''<code>dt-anniversary</code>''' new in [[vCard4]] ([[RFC6350]])<br />
* ...<br />
<br />
Reserved properties: (properties not used much (if at all) in practice)<br />
* '''<code>p-organization-name</code>'''<br />
* '''<code>p-organization-unit</code>'''<br />
* '''<code>p-tz</code>'''<br />
* '''<code>dt-rev</code>'''<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-card" is found, don't look for a "vcard" on the same element.<br />
<br />
compat root class name: <code id="vcard">vcard</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>honorific-prefix</code><br />
* <code>given-name</code><br />
* <code>additional-name</code><br />
* <code>family-name</code><br />
* <code>honorific-suffix</code><br />
* <code>nickname</code><br />
* <code>email</code> - parse as '''u-'''<br />
* <code>logo</code> - parse as '''u-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>uid</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>adr</code> - parse as '''<code>p-adr h-adr</code>''' including compat root class <code>adr</code><br />
* <code>extended-address</code><br />
* <code>street-address</code><br />
* <code>locality</code><br />
* <code>region</code><br />
* <code>postal-code</code><br />
* <code>country-name</code><br />
* <code>label</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root class <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* <code>tel</code><br />
* <code>note</code><br />
* <code>bday</code> - parse as '''dt-'''<br />
* <code>key</code> - parse as '''u-'''<br />
* <code>org</code><br />
* <code>organization-name</code><br />
* <code>organization-unit</code><br />
* <code>title</code> - parse as '''p-job-title'''<br />
* <code>role</code><br />
* ...<br />
<br />
Reserved: (backward compat properties that parsers {{may}} implement, if they do, they {{must}} implement in this way:<br />
* <code>tz</code><br />
* <code>rev</code> - parse as '''dt-'''<br />
* ...<br />
<br />
Note: use of 'value' within 'tel' should be automatically handled by the support of the [[value-class-pattern]]. And for now, the 'type' subproperty of 'tel' is dropped/ignored. If there is demonstrable documented need for additional tel types (e.g. fax), we can introduce new flat properties as needed (e.g. p-tel-fax).<br />
<br />
=== h-entry ===<br />
root class name: '''<code>h-entry</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-entry</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' (was p-entry-title, see issues)<br />
* '''<code>p-summary</code>''' (was p-entry-summary, see issues)<br />
* '''<code>e-content</code>''' (was e-entry-content, see issues)<br />
* '''<code>dt-published</code>'''<br />
* '''<code>dt-updated</code>'''<br />
* '''<code>p-author</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>u-uid</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
<br />
This is an update to [[hAtom]]. <br />
<br />
Brainstorming:<br />
<br />
The following properties are proposed additions to h-entry above and beyond what hAtom (or Atom) provides, based on various existing link preview markup conventions:<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-audio</code>''' - consider special u- parsing rules for <code>&lt;audio></code><br />
* '''<code>u-video</code>''' - consider special u- parsing rules for <code>&lt;video></code><br />
* '''<code>u-in-reply-to</code>''' - for links to other posts that this post is a reply to (comment regarding, etc.)<br />
<br />
Backward compatibility: <br />
<br />
(*)hAtom-specific implementations that perform custom display or translation (e.g. to Atom XML) {{should}} prefer <code>p-name</code> over <code>p-entry-title</code>, and use <code>p-entry-title</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For hAtom backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-entry" is found, don't look for a "hentry" on the same element.<br />
<br />
compat root class name: <code id="hentry">hentry</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>entry-title</code> - parse as '''<code>p-name</code>'''<br />
* <code>entry-summary</code><br />
* <code>entry-content</code> - parse as '''e-'''<br />
* <code>published</code> - parse as '''dt-'''<br />
* <code>updated</code> - parse as '''dt-'''<br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>category</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
<span id="h-entry-faq">FAQ:</span><br />
<div class="discussion"><br />
* '''What is the <code>p-name</code> of a [http://indiewebcamp.com/note note]?'''<br />
** A few options, from simplest to most detailed.<br />
*** '''same as the p-content/e-content''' property.<br />
*** '''same as the <code>title</code> element''' on the note permalink post page. When publishing a note on its own permalink post page, the contents of the note are likely abbreviated for the title of the page. The same abbreviation can be used for the p-name.<br />
*** '''first sentence of the p-content/e-content''' property. It may be better for [http://indiewebcamp.com/syndication syndication] and [[link-preview]] purposes to provide just the first sentence of the note as the <code>p-name</code>. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the <code>p-summary</code>.<br />
* ...<br />
</div><br />
<br />
Resolved Issues:<br />
* 2012-245 Resolved. See [http://krijnhoetmer.nl/irc-logs/microformats/20120830#l-120 2012-243 IRC discussion/consensus] for:<br />
** Use '''<code>p-summary</code> instead of <code>p-entry-summary</code>'''. The historical semantic of "entry-summary" is not different from "summary" in any significant (or discernible way). Collapsing the two will simplify the overall microformats2 vocabularies further. In microformats2, entry-summary is no more.<br />
** Use '''<code>e-content</code> instead of <code>e-entry-content</code>'''. Same point and advantage. In microformats2, entry-content is no more.<br />
** '''drop <code>p-entry-title</code>'''. Unnecessary and subsumed by "p-name". Would consider move to backward compat only if cases are presented - known publishing uses are expected to be updated shortly.<br />
<br />
=== h-event ===<br />
root class name: '''<code>h-event</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-event</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>p-summary</code>'''(*)<br />
* '''<code>dt-start</code>'''<br />
* '''<code>dt-end</code>'''<br />
* '''<code>dt-duration</code>'''<br />
* '''<code>p-description</code>'''<br />
* '''<code>u-url</code>'''<br />
* '''<code>p-category</code>'''<br />
* '''<code>p-location</code>'''<br />
* '''<code>p-geo</code>'''<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* ...<br />
<br />
This is an update to [[hCalendar]]. <br />
<br />
(*)hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer <code>p-name</code> over <code>p-summary</code>, and use <code>p-summary</code> value(s) as a fallback if there is no <code>p-name</code>.<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-event" is found, don't look for a "vevent" on the same element.<br />
<br />
compat root class name: <code id="vevent">vevent</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> - parse as '''<code>p-name</code>'''<br />
* <code>dtstart</code> - parse as '''<code>dt-start</code>'''<br />
* <code>dtend</code> - parse as '''<code>dt-end</code>'''<br />
* <code>duration</code> - parse as '''<code>dt-duration</code>'''<br />
* <code>description</code><br />
* <code>url</code> - parse as '''u-'''<br />
* <code>category</code><br />
* <code>location</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code>, and compat root <code>adr</code> in the absence of <code>h-adr</code><br />
* <code>geo</code> - parse as '''<code>p-geo h-geo</code>''' including compat root <code>geo</code><br />
* <code>latitude</code><br />
* <code>longitude</code><br />
* ...<br />
<br />
=== h-geo ===<br />
root class name: '''<code>h-geo</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-geo</nowiki><br />
<br />
properties:<br />
* '''<code>p-latitude</code>'''<br />
* '''<code>p-longitude</code>'''<br />
* '''<code>p-altitude</code>''' - new in [[vCard4]] ([[RFC6350]] from RFC 5870)<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-geo" is found, don't look for an "geo" on the same element.<br />
<br />
compat root class name: <code id="geo">geo</code><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>latitude</code><br />
* <code>longitude</code><br />
<br />
=== h-item ===<br />
root class name: '''<code>h-item</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-item</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>'''<br />
* '''<code>u-photo</code>'''<br />
* '''<code>u-url</code>'''<br />
<br />
Note: in practice, due to the microformats2 implied property rules, it is expected that most uses of "h-item" won't require any explicit properties at all (since microformats2 parsers will infer name, photo, and url properties from the structure of the element with "h-item" and its contained content/elements if any).<br />
<br />
=== h-product ===<br />
root class name: '''<code>h-product</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-product</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the product<br />
* '''<code>u-photo</code>''' - photo of the product<br />
* '''<code>p-brand</code>''' - manufacturer, can also be a nested <code>h-card</code><br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>e-description</code>'''<br />
* '''<code>u-url</code>''' - URL of the product<br />
* '''<code>u-identifier</code>''' - includes type (e.g. mpn, upc, isbn, issn, sn, vin, sku etc.) and value.<br />
* '''<code>p-review</code>''' - a review of the product, can also be a nested <code>h-review</code><br />
* '''<code>p-price</code>''' - retail price of the product<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-product" is found, don't look for an "hproduct" on the same element.<br />
<br />
compat root class name: <code id="hproduct">hproduct</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>brand</code><br />
* <code>category</code><br />
* <code>description</code><br />
* <code>identifier</code> - parse as '''u-'''<br />
* <code>url</code> - parse as '''u-'''<br />
* <code>review</code> - including compat root class <code>hreview</code> in the absence of <code>h-review</code><br />
* <code>price</code><br />
<br />
Note: [[hProduct]] has at least one experimental property which has real world adoption due to [[Google]] and [[Bing]] search support of hProduct. Currently this is: price<br />
<br />
=== h-recipe ===<br />
root class name: '''<code>h-recipe</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-recipe</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - the name of the recipe<br />
* '''<code>p-ingredient</code>''' - describes one or more ingredients used in the recipe.<br />
* '''<code>p-yield</code>''' - Specifies the quantity produced by the recipe, like how many persons it satisfyies <br />
* '''<code>e-instructions</code>''' - the method of the recipe.<br />
* '''<code>dt-duration</code>''' - the time it takes to prepare the meal described by the recipe.<br />
* '''<code>u-photo</code>''' - an accompanying image<br />
<br />
Experimental properties with wide adoption<br />
* '''<code>p-summary</code>''' - provides a short summary or introduction <br />
* '''<code>p-author</code>''' - the person who wrote the recipe with <code>h-card</code><br />
* '''<code>dt-published</code>''' - the date the recipe was published<br />
* '''<code>p-nutrition</code>''' - nutritional information like calories, fat, dietary fiber etc.<br />
* ...<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-recipe" is found, don't look for an "hrecipe" on the same element.<br />
<br />
compat root class name: <code id="hrecipe">hrecipe</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>fn</code> - parse as '''<code>p-name</code>'''<br />
* <code>ingredient</code><br />
* <code>yield</code><br />
* <code>instructions</code> - parse as '''e-'''<br />
* <code>duration</code> - parse as '''dt-'''<br />
* <code>photo</code> - parse as '''u-'''<br />
* <code>summary</code><br />
* <code>author</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>nutrition</code><br />
<br />
Note: [[hRecipe]] has a number of experimental properties which have real world adoption due to [[Google]] recipe search support of hRecipe. These are: summary, author, published and nutrition<br />
<br />
=== h-resume ===<br />
root class name: '''<code>h-resume</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-resume</nowiki><br />
<br />
properties:<br />
* '''<code>p-summary</code>''' - overview of qualifications and objectives<br />
* '''<code>p-contact</code>''' - current contact info in an <code>h-card</code><br />
* '''<code>p-education</code>''' - an education <code>h-calendar</code> event, years, nested <code>h-card</code> of the school, location.<br />
* '''<code>p-experience</code>''' - a job or other professional experience <code>h-calendar</code> event, years, nested <code>h-card</code> of the organization, location, job-title.<br />
* '''<code>p-skill</code>''' - a skill or ability, optionally including level and/or duration of experience<br />
* '''<code>p-affiliation</code>''' - an affiliation with an <code>h-card</code> organization<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-resume" is found, don't look for an "hresume" on the same element.<br />
<br />
compat root class name: <code id="hresume">hresume</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code><br />
* <code>contact</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
* <code>education</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>experience</code> - including compat root <code>vevent</code> in the absence of <code>h-event</code><br />
* <code>skill</code><br />
* <code>affiliation</code> - including compat root <code>vcard</code> in the absence of <code>h-card</code><br />
<br />
Note: skill has a [[hresume-skill-brainstorm|proposed expansion into competency]] with explicit summary, rating and/or duration components. Based on existing real world adoption, we should consider an h-competency vocabulary with p-summary, p-rating, and dt-duration properties.<br />
<br />
=== h-review ===<br />
root class name: '''<code>h-review</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-reviewer</code>''' - person who authored the review <br />
* '''<code>dt-reviewed</code>''' - date time of when the review was written<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating a rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>e-description</code>''' - the full text written evaluation and opinion of the reviewer<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer <br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review" is found, don't look for an "hreview" on the same element.<br />
<br />
compat root class name: <code id="hreview">hreview</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>reviewer</code> - including compat root vcard in the absence of h-card<br />
* <code>dtreviewed</code> - parse as '''dt-'''<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>description</code> - parse as '''e-'''<br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
Note: The [[hReview]] format has three properties which make use of <code>rel</code> attribute, these are <code>tag</code>, permalink (via the <code>self</code> and <code>bookmark</code> values) and <code>license</code>. Microformats 2 parsers {{should}} map these URLs into the page scoped rel collection.<br />
<br />
=== h-review-aggregate ===<br />
root class name: '''<code>h-review-aggregate</code>'''<br/><br />
profile/itemtype: <nowiki>http://microformats.org/profile/h-review-aggregate</nowiki><br />
<br />
properties:<br />
* '''<code>p-name</code>''' - name of the review<br />
* '''<code>p-item</code>''' - thing been reviewed i.e. business or person (h-card), event (h-event), place (h-adr or h-geo), product (h-product), website, url, or other item (h-item).<br />
* '''<code>p-rating</code>''' - value from 1-5 indicating average rating for the item (5 best).<br />
* '''<code>p-best</code>''' - define best rating value. can be numerically lower than worst.<br />
* '''<code>p-worst</code>''' - define worst rating value. can be numerically higher than best. <br />
* '''<code>p-count</code>''' - number of reviews aggregated.<br />
* '''<code>p-votes</code>''' - number of reviewers who have rated the product, thus contributing to the average rating.<br />
* '''<code>p-category</code>''' - freeform categories or tags applied to the item by the reviewer<br />
* '''<code>u-url</code>''' - URL of the review<br />
<br />
For backward compatibility, microformats 2 parsers {{should}} detect the following root class name and property names. A microformats 2 parser may use existing microformats [[parsers]] to extract these properties. If an "h-review-aggregate" is found, don't look for an "hreview-aggregate" on the same element.<br />
<br />
compat root class name: <code id="hreview-aggregate">hreview-aggregate</code><br/><br />
properties: (parsed as '''p-''' plain text unless otherwise specified)<br />
* <code>summary</code> parse as '''<code>p-name</code>'''<br />
* <code>fn</code> - parse as '''p-name''' of the item being reviewed (p-item h-item p-name)<br />
* <code>photo</code> - parse as '''u-photo''' of the item being reviewed (p-item h-item u-photo)<br />
* <code>url</code> - parse as '''u-url''' of the item being reviewed (p-item h-item u-url)<br />
* <code>rating</code><br />
* <code>best</code><br />
* <code>worst</code><br />
* <code>count</code><br />
* <code>votes</code><br />
* <code>rel=tag</code> - parse as '''p-category'''<br />
* <code>rel="self bookmark"</code> - parse as '''u-url'''. note that <code>rel</code> attribute value is treated as a space separated set, thus any presence of "self" and "bookmark" within such a set in a rel value is accepted.<br />
<br />
<br />
=== v2 vocab notes ===<br />
Notes: <br />
* All v2 vocabularies are defined as flat lists of properties of an object/item, and thus can be used in microformats-2 syntax as shown, or in microdata items, or RDFa. The microformats-2 property parsing prefixes "p-", "u-", "dt-", "e-" are omitted when using defined properties in microdata itemprop and RDFa property as those syntaxes have their own element-specific parsing rules.<br />
* Profile URLs are provided for use with the HTML4 <code>profile</code> attribute, microdata <code>itemtype</code> attribute, and RDFa <code>vocab</code> &amp; <code>typeof</code> attributes (though the latter requires slicing off the trailing segment of the profile for the typeof attribute, and leaving the rest in vocab). <br />
* microformats 2 properties may also be explicitly bound as URIs using [[rel-profile]], the [[html5-profile]] attribute proposal, or an HTML5 'vocab' attribute instead. If URI bound terms are important to you, please express interest on [[rel-profile]], [[html5-profile]], or contribute to an [[html5-vocab]] draft.<br />
<br />
=== v2 vocab to-do ===<br />
To do: <br />
* actual profile documents at <nowiki>http://microformats.org/profile/h-*</nowiki> URLs mentioned above.<br />
* Provide any necessary microdata-specific language as needed (e.g. to be comparably understandable to the [http://www.whatwg.org/specs/web-apps/current-work/#vcard sample vCard4/hCard1 microdata vocabulary]. Also provide any necessary RDFa-specific language as needed. Both preferably in a generic vocabulary-independent way.<br />
* write a porting guide mapping v1 property -> v2 property<br />
** use-case: simple search/replace in templates (e.g. in case web author doesn't remember existing microformats vocabs and where they used them).<br />
** advise using *both* in existing templates (e.g. in case some CSS depends on the existing microformats)<br />
* write a simple tutorial for creating/getting started with microformats-2 markup for new content<br />
<br />
== combining microformats ==<br />
Since microformats 2 uses simple flat sets of properties for each microformat, multiple microformats are combined to indicate additional structure.<br />
<br />
=== h-event location h-card ===<br />
Events commonly have venue information with additional structure, like address information. For example:<br />
<br />
<source lang=html4strict><br />
<div class="h-event"><br />
<a class="p-name u-url" href="http://indiewebcamp.com/2012"><br />
IndieWebCamp 2012<br />
</a><br />
from <time class="dt-start">2012-06-30</time> <br />
to <time class="dt-end">2012-07-01</time> at <br />
<span class="p-location h-card"><br />
<a class="p-name p-org u-url" href="http://geoloqi.com/"><br />
Geoloqi<br />
</a>, <br />
<span class="p-street-address">920 SW 3rd Ave. Suite 400</span>, <br />
<span class="p-locality">Portland</span>, <br />
<abbr class="p-region" title="Oregon">OR</abbr><br />
</span><br />
</div><br />
</source><br />
<br />
The nested h-card used to structure the p-location of the h-event is represented as a structured value for "location" in the JSON, which has an additional key, "value" that represents the plain text version parsed from the p-location.<br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-event"],<br />
"properties": {<br />
"name": ["IndieWebCamp 2012"],<br />
"url": ["http://indiewebcamp.com/2012"],<br />
"start": ["2012-06-30"],<br />
"end": ["2012-07-01"],<br />
"location": [{<br />
"value": "Geoloqi, 920 SW 3rd Ave. Suite 400, Portland, OR",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Geoloqi"],<br />
"org": ["Geoloqi"],<br />
"url": ["http://geoloqi.com/"],<br />
"street-address": ["920 SW 3rd Ave. Suite 400"],<br />
"locality": ["Portland"],<br />
"region": ["Oregon"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Questions:<br />
<div class="discussion"><br />
* Should the nested hCard be present also as a top-level item in the JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, how do we avoid expansion of the JSON geometrically proportional to the depth of microformat nesting? (Or do we not worry about it?)<br />
* Should there be a canonical hierarchical JSON and a canonical flattened JSON? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
** My current (2012-243) leaning is no, we stick with one canonical JSON for uf2 which is hierarchical. - [[User:Tantek|Tantek]] 18:53, 30 August 2012 (UTC)<br />
** If so, should the flattened JSON have references from properties to nested microformats that have been pushed to the top level per flattening? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
*** If so, what convention does/do JSON follow for such synthetic local reference identifiers? - [[User:Tantek|Tantek]] 02:02, 19 June 2012 (UTC)<br />
</div><br />
<br />
Notes:<br />
* The 'location' value reflects the visible text of its element, including spaces and punctuation, as well as the state abbreviation 'OR'. The 'h-card' property values are only what is marked up, and thus include structure values without extra punctuation, and the state takes the expanded form from the <code>title</code> attribute of its <code>&lt;abbr&gt;</code> element.<br />
<br />
=== h-card org h-card ===<br />
People often publish information general to their company rather than specific to them, in which case, they may wish to encapsulate that in separately nested microformat. E.g. here is a simple h-card example with org property:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] (Mozilla Foundation)<br />
<br />
with source:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<span class="p-org">Mozilla Foundation</span>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": ["Mozilla Foundation"]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Sometimes such organization affiliations are hyperlinked to the website of the organization:<br />
<br />
[http://blog.lizardwrangler.com Mitchell Baker] ([http://mozilla.org/ Mozilla Foundation])<br />
<br />
You can mark that up with a nested h-card:<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
Note: the nested h-card has implied 'name' and 'url' properties, just like any other root-class-name-only h-card on an <code>&lt;a href&gt;</code> would.<br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
The nested 'h-card' could be marked up as an 'h-org' as well, which adds it to the nested microformat's type array, all as part of the property specified by the 'p-org'.<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="p-org h-card h-org" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"],<br />
"org": [{<br />
"value": "Mozilla Foundation",<br />
"type": ["h-card", "h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
}<br />
}]<br />
}<br />
}]<br />
}<br />
</source><br />
<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Without a property class name like 'p-org' holding all the nested objects together, we need to introduce another array for nested children (similar to the existing DOM element notion of children) of a microformat that are not attached to a specific property:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-org h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card","h-org"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
Since there's no property class name on the element with classes 'h-card' and 'h-org', the microformat representing that element is collected into the children array.<br />
<br />
Such a nested microformat implies some relationship (containment, being related), but is not as useful as if the nested microformat was a specific property of its parent.<br />
<br />
For this reason it's recommended that authors should not publish nested microformats without a property class name, and instead, when nesting microformats, authors should always specify a property class name (like 'p-org') on the same element as the root class name(s) of the nested microformat(s) (like 'h-card' and/or 'h-org').<br />
<br />
'''FOR PARSERS ONLY:'''<br />
<br />
Or the nested object could be only marked up with 'h-card'. Source:<br />
<br />
<source lang=html4strict><br />
<div class="h-card"><br />
<a class="p-name u-url"<br />
href="http://blog.lizardwrangler.com/" <br />
>Mitchell Baker</a> <br />
(<a class="h-card" <br />
href="http://mozilla.org/"<br />
>Mozilla Foundation</a>)<br />
</div><br />
</source><br />
<br />
Parsed JSON:<br />
<source lang=javascript><br />
{<br />
"items": [{ <br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mitchell Baker"],<br />
"url": ["http://blog.lizardwrangler.com/"]<br />
},<br />
"children": [{<br />
"type": ["h-card"],<br />
"properties": {<br />
"name": ["Mozilla Foundation"],<br />
"url": ["http://mozilla.org/"]<br />
} <br />
}]<br />
}]<br />
}<br />
</source><br />
<br />
'''TO DO: Add h-event h-card example and JSON, per real world publishing examples like [http://www.swingtime.co.uk/List/ClSouth.html Swing Time: Classes in Southern England].'''<br />
<br />
== authoring ==<br />
=== minimal markup ===<br />
The best way to use microformats-2 is with as little additional markup as possible. This keeps your code cleaner, improves its maintainability, and thus the quality and longevity of your microformats.<br />
<br />
One big advantage of microformats-2 over previous microformats (and others) is the ability to add one class name to an existing element to create a structured item.<br />
<br />
See the [[microformats-2#simple_microformats_2_examples|simple examples at the top]] for a start, e.g.<br />
<br />
Simple hCards work just by adding <code>class="h-card"</code> :<br />
<source lang=html4strict><br />
<span class="h-card">Frances Berriman</span><br />
<br />
<a class="h-card" href="http://benward.me">Ben Ward</a><br />
<br />
<img class="h-card" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
<br />
<a class="h-card" href="http://tantek.com"><br />
<img alt="Tantek Çelik" src="http://ttk.me/logo.jpg"/><br />
</a><br />
</source><br />
<br />
* Tip: Inside an open tag, put the <code>class</code> attribute <em>first</em>, then any human text content attributes (e.g. <code>alt</code>), then URL attributes (e.g. <code>href</code> <code>src</code>), and lastly other attributes (e.g. <code>style</code>). Putting the class attribute first ties it closely to the element name/tag itself, makes it more obvious, and thus more likely to be kept up to date.<br />
<br />
=== backward compatible ===<br />
If you depend on current microformats [[implementations]], while they're being updated to support [[microformats-2]], you can include both existing microformats and microformats-2 markup.<br />
<br />
In short: use both sets of class names simultaneously. <br />
<br />
When doing so, use them on the same element, with the microformats-2 class name first, followed immediately by the existing microformats class name.<br />
<br />
Here are the microformats-2 hCards from above with current [[hCard]] markup as well, which may require adding a wrapping element (e.g. a <code>&lt;span&gt;</code>) to separate the root class name element from explicit property class name elements:<br />
<br />
<source lang=html4strict><br />
<span class="h-card vcard"><br />
<span class="p-name fn">Frances Berriman</span><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="p-name fn u-url url" href="http://benward.me">Ben Ward</a><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<img class="p-name fn u-photo photo" alt="Sally Ride" <br />
src="http://upload.wikimedia.org/wikipedia/commons/a/a4/Ride-s.jpg"/><br />
</span><br />
<br />
<span class="h-card vcard"><br />
<a class="u-url url" href="http://tantek.com"><br />
<img class="p-name fn u-photo photo" alt="Tantek Çelik" <br />
src="http://ttk.me/logo.jpg"/><br />
</a><br />
</span><br />
</source><br />
<br />
<br />
Tips:<br />
* use the microformats-2 class name first, e.g.<br />
** <code>class="h-card vcard"</code><br />
** <code>class="u-url url"</code><br />
* and pair them when using an element for multiple properties, e.g.:<br />
** <code>class="p-name fn u-url url"</code><br />
** <code>class="p-name fn u-photo photo"</code><br />
* put microformats classes after classes for CSS (since page authors will likely interact more with their own classes for design than with microformats classes), e.g. as used on individual microformats [[events]] pages:<br />
** <code>class="event-page h-event vevent"</code> <br />
<br />
The prefixes (h-, p-, etc.) of microformats2 class names provide easier recognition, and when followed by the similarly named existing class name, they're more easily recognized as related and thus kept together when the markup is maintained over time.<br />
<br />
Related FAQ: [[microformats2-faq#when_using_both_h-card_and_vcard_which_should_be_first_and_why|When using both h-card and vcard which should be first and why?]]<br />
<br />
== validators ==<br />
microformats2 validators:<br />
<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
Barnaby Walters has a hosted version of the open source php-mf2 [[parser]] where you can enter your markup into a textarea and see how it's parsed:<br />
* http://waterpigs.co.uk/php-mf2/<br />
<br />
See the [[validators]] page for a longer list of validators.<br />
<br />
== Examples in the wild ==<br />
Please add new examples in the wild of microformats-2 to the top of this list. When it gets too big we can move it to a separate page like [[microformats-2-examples-in-wild]].<br />
<br />
* ...<br />
* [http://www.w3.org/conf/ W3Conf 2013] uses h-event for the main event, and h-card for all the speakers and notable attendees. The h-cards make particularly good use of implied name, url, and photo properties.<br />
* [http://wordpress.org/extend/themes/sempress SemPress] is a WordPress theme that supports h-card, h-feed/h-entry and h-as-*<br />
* [http://the-pastry-box-project.net/ The Pastry Box Project] use h-card and h-entry markup on their homepage and individual thoughts pages<br />
* Tom Morris uses h-card and [[XFN]] to markup [http://tommorris.org/pages/blogroll his blogroll].<br />
* Aaron Parecki uses h-card to markup both authorship and references to people in his notes permalinks, e.g. [http://aaronparecki.com/2012/230/reply/1 2012/230/reply/1].<br />
* [http://tantek.com/ Tantek Çelik] uses h-card, h-event, and h-entry on his home page, as well as h-entry on all post permalinks, e.g. [http://tantek.com/2012/243/t1/name-beats-title-modern-use-dubline-core-wrong-uf2 2012-243 post], with [[rel-prev]]/[[rel-next]] (if applicable) to indicate prev/next posts, and with [[rel-author]] to his home page with canonical hCard to indicate authorship.<br />
* [http://waterpigs.co.uk/ Barnaby Walters] uses h-card on his home page, h-card, h-entry and XFN markup on his [http://waterpigs.co.uk/notes notes page].<br />
** 2013-01-25 Barnaby Walters: <cite>[http://waterpigs.co.uk/articles/experimental-markup Experimental Markup]</cite> - describes how he's using microformats2 vocabularies: <code>h-adr</code>, <code>h-card</code>, <code>h-entry</code>, <code>h-event</code>, <code>h-geo</code>, <code>h-review</code>, and experimental vocabularies: <code>h-feed</code> (embedded for update histories), [[activity-streams]] objects <code>h-as-article</code>, <code>h-as-collection</code>, <code>h-as-note</code>, <code>h-as-update</code>, as well as experimental properties: <code>u-alternate</code> and <code>u-as-downstream-duplicate</code> (links to POSSE copies), and <code>u-in-reply-to</code> (links to content that the posts are in reply to). <br />
* [http://tantek.com/presentations/2012/06/microformats microformats.org at 7 years] presentation with h-event and h-card markup for people and organizations.<br />
* [http://tantek.com/presentations/2012/06/pdf2012-indieweb.html Rise of the Indie Web hCards] (from Personal Democracy Forum 2012 #pdf12 #pdf2012) has [[microformats-2]] h-calendar and h-card markup<br />
* WebMaker by Mozilla has [[microformats-2]] h-calendar and h-card on event search (e.g. [https://webmaker.org/en-US/events/near/?lat=45.5234515&lng=-122.6762071 search near Portland Oregon]) and event pages (e.g. [https://webmaker.org/en-US/events/192f56eb9/ IndieWebCamp 2012]).[https://twitter.com/microformats/status/212207925643587585]<br />
* WebFWD by Mozilla has [[microformats-2]] h-card markup on [https://webfwd.org/about/experts/ experts] and [https://webfwd.org/about/team/ team] pages<br />
* [http://indiewebcamp.com IndieWebCamp] has [[microformats-2]] h-event markup with nested h-cards for the organizers and the location.<br />
* [https://wiki.mozilla.org/Events Mozilla Events] page has [[microformats-2]] h-event markup with attendees marked up with h-card.<br />
<br />
== Implementations ==<br />
{{new}} Test your microformatted web page with: <br />
* http://pin13.net/ (where it says "Microformats Parser")<br />
<br />
<br />
Blogging tools:<br />
* '''Storytlr''' parses the 'target' from [http://indiewebcamp.com/pingback pingbacks] for [https://github.com/storytlr/storytlr/blob/master/protected/application/public/controllers/PingbackController.php#L63 h-entry with properties and nested h-card] for information to automatically display in the [http://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html comments section on a post].<br />
<br />
<br />
Parsers and other implementations of microformats2, typically open source:<br />
<br />
Javascript:<br />
* '''microformat-node''' Node.js microformats2 parser<br />
** github open source: https://github.com/glennjones/microformat-node<br />
** test suite: https://github.com/microformats/tests<br />
** blog post: http://glennjones.net/2013/01/brand-new-microformats-2-parser/<br />
** live: http://microformat2-node.jit.su/<br />
* '''microformat-shiv''' - cross browser javascript microformats 2 parser which can also be used in browser extensions.<br />
** http://microformatshiv.com/<br />
** github open source: https://github.com/glennjones/microformat-shiv<br />
PHP:<br />
* '''<span id="php-mf2">php-mf2</span>''' - PHP microformats2 parser<br />
** github open source: https://github.com/indieweb/php-mf2<br />
** Packagist: https://packagist.org/packages/mf2/mf2<br />
** live: <br />
*** textarea entry: http://waterpigs.co.uk/php-mf2/<br />
*** URL entry: http://pin13.net/ (where it says "Microformats Parser")<br />
Ruby:<br />
* '''G5/microformats2''' Ruby microformats2 parser<br />
** github open source: https://github.com/G5/microformats2<br />
<br />
== Presentations ==<br />
Presentations about microformats2:<br />
* 2013-01-24 <cite>[http://waterpigs.co.uk/presentations/microformats-2/ Microformats 2]</cite> presentation by [[User:Barnabywalters|Barnaby Walters]] at the [[events/2013-01-24-exeter-web-meetup|Exeter Web Meetup]] in Devon, UK.<br />
* 2012-09-21 <cite>[http://tantek.com/presentations/2012/09/microformats2/ microformats2 &amp; bits of HTML5: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-09-21-refreshlx|RefreshLX]] in Lisbon, Portugal.<br />
* 2012-07-21 <cite>[http://tantek.com/presentations/2012/07/html5-uf2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-21-cascadesf|Innovators of the Web conference]] in San Francisco, CA.<br />
* 2012-07-14 <cite>[http://tantek.com/presentations/2012/07/html5-microformats2/ HTML5 and microformats2: The Evolution Of Web Data]</cite> presentation by [[User:Tantek|Tantek Çelik]] ([http://twitter.com/t @t]) at [[events/2012-07-14-open-web-camp-4|Open Web Camp IV]] in San Jose, CA.<br />
<br />
== Testimonials ==<br />
* <blockquote class="twitter-tweet">To prove the web standards community can come up with better standards than the SE’s, compare this: http://microformats.org/wiki/microformats-2 with schema . org &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298907685452124160 2013-02-05 13:35]</blockquote><br />
* <blockquote class="twitter-tweet">... I’m hoping SE’s will pick up microformats2. It’s SO much cleaner. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298911287117758464 2013-02-05 13:49]</blockquote><br />
* <blockquote class="twitter-tweet">... But damn Microformats2 are sexy. &mdash; Joost de Valk (@yoast) [https://twitter.com/yoast/status/298912179292344320 2013-02-05 13:53]</blockquote><br />
<br />
== About This Brainstorm ==<br />
The rest of this page is a brainstorm currently written in narrative / exploratory format, that is, acknowledging the success that microformats have had, why so, and then a walk through of known issues with microformats in general along with iteration of ways to address said issues, ending up with the current microformats 2 design as a conclusion.<br />
<br />
The proposals build on each other resulting in a solution that addresses the vast majority of general issues. The proposed changes merit a major version number increment, hence microformats 2.<br />
<br />
This mathematical proof/derivation style is used to explicitly encourage understanding (and double-checking) of the rational steps taken in the development of microformats 2. Reasons are documented, sometimes along with alternatives considered (and reasons for rejection of those alternatives).<br />
<br />
When the microformats 2 brainstorm has evolved sufficiently to demonstrate some degree of stability, usability, and implementability, it will be rewritten in a more declarative specification style, and this narrative/derivation will be archived to a background development page for historical purposes.<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
== Background ==<br />
<br />
2004: In early February microformats were introduced as a concept at eTech, and in September [[hCard]] and [[hCalendar]] were proposed at FOO Camp.<br />
<br />
2010:<br />
* 34% of webdevs use microformats ([http://www.webdirections.org/sotw10/markup/#semantics 2010 State of Web Development survey])<br />
* 1.88 billion hCards (per [[Yahoo]] SearchMonkey)<br />
* 36 million hCalendar events (ibid)<br />
<br />
* XFN -> Social Graph API -> Web as Social Network / Address Book<br />
<br />
== Addressing Issues ==<br />
=== AUTHORS and PUBLISHING ===<br />
Authors and publishers are perhaps the most important constituency in the microformats community. There are more of them than there are developers, programmers, parsers, etc. and they're the ones that solved the chicken-egg problem by publishing microformats even before tools were available for consuming them.<br />
<br />
Therefore we must first address author/publisher general issues with microformats.<br />
<br />
==== can we make the simplest case simpler ====<br />
Issue: '''How can we make it easier for authors to publish microformats?'''<br />
<br />
Currently the simplest hCard:<br />
<source lang=html4strict><br />
<span class="vcard"><br />
<span class="fn"><br />
Chris Messina<br />
</span><br />
</span><br />
</source><br />
<br />
requires 2 elements (nested, with perhaps at least one being pre-existing), and 2 class names.<br />
<br />
Web authors/designers are used to the simplicity of most HTML tags, e.g. to mark up a heading:<br />
<br />
<source lang=html4strict><br />
<h1>Chris Messina</h1><br />
</source><br />
<br />
requires just 1 element.<br />
<br />
[http://zeldman.com/ Jeffrey Zeldman] pointed out this apparent perceived incremental complexity (2 elements vs 1) during a microformats workshop in 2009 in New York City.<br />
<br />
'''How can we make microformats just as easy?'''<br />
<br />
'''Proposal: allow root class name only.'''<br />
<br />
This would enable:<br />
<br />
<source lang=html4strict><br />
<h1 class="vcard">Chris Messina</h1><br />
</source><br />
<br />
requiring only 1 class name for the simplest case.<br />
<br />
<br />
==== renaming for usability ====<br />
Otherwise known as, choosing one form of consistency over another.<br />
<br />
'''Can we do even better?'''<br />
<br />
One of the most common questions asked about hCard is:<br />
<br />
[[hcard-faq#Why_does_hCard_use_vcard_as_the_root_class_name|Why does hCard use vcard as the root class name?]]<br />
<br />
This slight inconsistency between the name of the format and the name of the root class name consistently causes confusion in a large percentage of newcomers to microformats.<br />
* See [[issues#hcard-vs-vcard-name]] for details/links.<br />
<br />
Though in microformats we believe very strongly in the [[principle]] of [[reuse]], we have to admit that in this case experience/evidence has shown that this may be a case where we re-used something too far beyond it's original meaning. Thus:<br />
<br />
'''Proposal: use root class name "hcard" instead of "vcard" for future hCards.'''<br />
<br />
This would result in:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard">Chris Messina</h1><br />
</source><br />
<br />
making the simple case even simpler:<br />
<br />
Just 1 additional class name, named the same as the format you're adding. Think hCard, markup class="hcard".<br />
<br />
At a minimum for compatibility we should document that parsers should accept "hcard" as an alternative to "vcard" as the root class name for hCard 1.0, and similarly for hCalendar 1.0: "hcalendar" in addition to "vcalendar", "hevent" in addition to "vevent".<br />
<br />
However, for [[microformats-2]] we are going to distinguish root class names further by using an "h-" prefix (e.g. "h-card"). Read on to understand why.<br />
<br />
==== simplifying to only needing one element ====<br />
It's very important for the simple case to be as simple as possible, to enable the maximum number of people to get started with minimum effort. (The idea of using a single class name for a microformat was proposed by Ryan Cannon in 2006 specifically [[hcard-implied|for hCard]], and rediscovered by [[User:Tantek|Tantek]] in 2010 and subsequently generalized to all microformats.)<br />
<br />
From there on, it's ok to require incremental effort for incremental return.<br />
<br />
E.g. to add any additional information about a person, add explicit property names.<br />
<br />
'''How does this simple root-only case work?'''<br />
<br />
* root class name reflects name of the microformat<br />
* every microformat must require at most 1 property (preferably 0)<br />
** admit that requiring a field in an application just results in noise (the 90210 problem - apps which require zip code get lots of false 90210 entries), and specify that any application use cases which appear to "require" specific properties must instead define how to imply sensible defaults for them.<br />
* when only a root class name is specified, imply the entire text contents of the element as the value of the primary property of the microformat. e.g.<br />
** "hcard" implies "fn"<br />
** hcalendar event - "hevent" - implies "summary"<br />
** "hreview" implies "summary"<br />
** "hentry" implies "entry-summary" (perhaps collapse into "summary" - in practice they're not sufficiently semantically distinct to require separate property names)<br />
** '''OR''' instead of making the one implied property be vocabulary specific, introduce a new generic (applicable to all vocabularies) 'p-name' property (subsuming hCard's 'fn'). See [[microformats-2-brainstorming#further_simplifications|microformats 2 brainstorming: further simplifications]] for latest thoughts along these lines, including the following specific mark-up implied generic properties across all microformats (based on existing published markup use-cases)<br />
*** 'p-name'<br />
*** 'u-url'<br />
*** 'u-photo'<br />
<br />
==== flat sets of properties ====<br />
'''What more can we simplify about microformats?'''<br />
<br />
Numerous individuals have provided the feedback that whenever there is more than one level of hierarchy in a microformat, many (most?) developers get confused - in particular Kavi Goel of Google / Rich Snippets provided this feedback at a microformats dinner. Thus depending on multiple levels of hierarchy is likely resulting in a loss of authorability, perhaps even accuracy as confusion undoubtedly leads to more errors. Thus:<br />
<br />
'''Proposal: simplify all microformats to flat sets of properties. '''<br />
<br />
What this means:<br />
* all microformats are simply an object with a set of properties with values.<br />
* no more subproperties- drop the notion of subproperties.<br />
* use composition of multiple microformats for any further hierarchy, e.g. the "location" of an hCalendar event can be an hCard, or the "agent" of one hCard can be another hCard.<br />
<br />
For example for hCard this would mean the following specific changes to keep relevant functionality:<br />
* drop "n", promote all "n" subproperties to full properties<br />
** given-name, family-name, additional-name, honorific-prefix, honorific-suffix<br />
* treat "geo" as a nested microformat<br />
* treat "adr" as a nested microformat (what to do about adr's "type"?)<br />
* treat "org" as a flat string and drop "organization-name" and "organization-unit" (in practice rarely used, also not revealed or ignored in contact management user interfaces - e.g. Address Book)<br />
<br />
Example: add a middle initial to the previous example Chris Messina's name, and markup each name component:<br />
<br />
<source lang=html4strict><br />
<h1 class="hcard"><br />
<span class="fn"><br />
<span class="given-name">Chris</span><br />
<abbr class="additional-name">R.</abbr><br />
<span class="family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
Note:<br />
# use of an explicit span with "fn" to markup his entire formatted name<br />
# use of the abbr element to explicitly indicate the semantic that "R." is merely an abbreviation for his additional-name.<br />
<br />
==== distinguishing properties from other classes ====<br />
Current microformats properties re-use generic terms like "summary", "photo", "updated" both for ease of use and understanding.<br />
<br />
However, through longer term experience, we've seen sites that accidentally drop (or break) their microformats support (e.g. Upcoming.org, Facebook) because web authors sometimes rewrite all their class names, and either are unaware that microformats were in the page, or couldn't easily distinguish microformats property class names from other site-specific class names.<br />
<br />
This issue has been reported by a number of web authors.<br />
* See: [[issues#class-collisions]]<br />
<br />
Thus microformats 2 uses ''prefixes'' for property class names, e.g.:<br />
* '''p-summary''' instead of ''summary''<br />
* '''u-photo''' instead of ''photo'' <br />
* '''dt-updated''' instead of ''updated''<br />
<br />
Such prefixing of all microformats class names was first suggested by Scott Isaacs of Microsoft to Tantek on a visit to Microsoft sometime in 2006/2007, but specifically aimed at making microformats easier to parse. At the time the suggestion was rejected since microformats were focused on web authors rather than parsers.<br />
<br />
However, since experience has shown that distinguishing property class names is an issue for '''both web authors and parser developers''', this is a key change that microformats 2 is adopting. See the next section for details.<br />
<br />
=== COMMUNITY and TOOLS ===<br />
The second most important constituency in the microformats community are the developers, programmers, tool-makers.<br />
<br />
A non-trivial number of them have been sufficiently frustrated with some general issues with microformats that they've done the significant extra work to support very different and less friendly alternatives (microdata, RDFa). Based on this real-world data (market behavior), it behooves us to address these general issues with microformats for this constituency.<br />
<br />
==== existing microformats parsing requirements ====<br />
COMMUNITY and TOOLS (that) USE MICROFORMATS <br />
* parser / parsing<br />
* structured<br />
* getting the data out<br />
* json - 1:1 mapping<br />
<br />
[[parsing]] microformats currently requires<br />
# a list of root class names of each microformat to be parsed<br />
# a list of properties for each specific microformats, along with knowledge of the type of each property in order to parse their data from potentially different portions of the HTML markup<br />
# some number of format-specific specific rules (markup/content optimizations)<br />
<br />
This has meant that whenever a new microformat is drafted/specificied/adopted, parsers need to updated to handle it correctly, at a minimum to parse them when inside other microformats and avoid errantly implying properties from one to the other (containment, [[mfo]] problem).<br />
<br />
==== naming conventions for generic parsing ====<br />
I think there is a fairly simple solution to #1 and #2 from the above list, and we can make progress towards minimizing #3. In short:<br />
<br />
'''Proposal: a set of naming conventions for microformat root class names and properties that make it obvious when:'''<br />
* a class name represents a microformat root class name<br />
* a class name represents a microformat property name<br />
* a class name represents a microformat property that needs special parsing (specific type of property).<br />
<br />
In particular - derived from the real world examples of existing proven microformats (rather than any abstraction of what a schema should have)<br />
* '''"h-*" for root class names''', e.g. "h-card", "h-event", "h-entry"<br />
** The 'h-' prefix is based on the existing microformats naming pattern of starting with 'h'.<br />
* '''"p-*" for simple (text) properties''', e.g. "p-fn", "p-summary"<br />
** vocabulary generic parsing, element text in general, treat certain HTML element/attribute combination as special and use those first, e.g. img/alt, abbr/title.<br />
** The 'p-' prefix is based on the word "property" starting with 'p'.<br />
* '''"u-*" for URL properties''', e.g. "u-url", "u-photo", "u-logo"<br />
** special parsing required: prefer a/href, img/src, object/data etc. attributes to element contents.<br />
** The 'u-' prefix is based on URL/URI starting with the letter 'u', which is the type of most of these related properties.<br />
* '''"dt-*" for datetime properties''', e.g. "dt-start", "dt-end", "dt-bday"<br />
** special parsing required: [[value-class-pattern]], in particular separate date time value parsing for better human readabillity / DRY balance.<br />
** The 'dt-' prefix is based on "date time" having the initials "dt" and the preponderance of existing date time properties starting with "dt", e.g. dtstart, dtend, dtstamp, dtreviewed.<br />
* '''"e-*" for element tree properties''' where the entire contained element hierarchy is the value, e.g. "e-content" (formerly "entry-content") for [[hAtom]]. The 'e-' prefix can also be mnemonically remembered as "element tree", "embedded markup", or "encapsulated markup".<br />
** special parsing required: follow the [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments HTML spec: Serializing HTML Fragments algorithm] to create a serialization.<br />
<br />
This provides a simpler transition/education story for existing microformats authors/publishers: <br />
* "h*" to "h-*", "dt*" to "dt-*", url-like properties to "u-*", entire embedded markup to "e-*", and "p-*" for all "plain text" properties.<br />
<br />
See [[microformats-2-prefixes]] for further thoughts and discussions on these and other class prefixes.<br />
<br />
Example: taking that simple heading hCard example forward:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card">Chris Messina</h1><br />
</source><br />
<br />
As part of microformats 2 we would immediately define root class names and property names for all existing microformats and drafts consistent with this naming convention, and require support thereof from all new implementations, as well as strongly encouraging existing implementations to adopt the simplified microformats 2 syntax and mechanism. Question: which microformats deserve explicit backward compatibility?<br />
<br />
As a community we would continue to use the microformats [[process]] both for researching and determining the need for new microformats, and for naming new microformat property names for maximum re-use and interoperability of a shared vocabulary.<br />
<br />
If it turns out we need a new property type in the future, we can use one of the remaining single-letter-prefixes to add it to microformats 2. This would require updating of parsers of course, but in practice the number of different types of properties has grown very slowly, and we know from other schema/programming languages that there's always some small limited number of scalar/atomic property types that you need, and using those you can create compound types/objects that represent richer / more complicated types of data. See [[microformats-2-prefixes]] for documentation of existing single-letter class name prefixes in practice.<br />
<br />
=== ADVANTAGES ===<br />
This has numerous advantages:<br />
* '''better maintainability''' - much more obvious to web authors/designers/publishers which class names are for/from microformats.<br />
* '''no chance of collision''' - for all practical purposes with existing class names and thus avoiding any need to add more complex CSS style rules to prevent unintended styling effects.<br />
* '''simpler parsing''' - parsers can now do a simple stream-parse (or in-order DOM tree walk) and parse out '''all''' microformat objects, properties, and values, without having to know anything about any specific microformats.<br />
* '''separation of syntax and vocabulary''' - by abstracting microformats 2 syntax independent of any vocabulary, it allows and encourages development of shared vocabularies that can work in alternative syntaxes.<br />
<br />
More examples: here is that same heading example with name components:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<span class="p-fn"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</span><br />
</h1><br />
</source><br />
<br />
with a hyperlink to Chris's URL:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card"><br />
<a class="p-fn u-url" href="http://factoryjoe.com/"><br />
<span class="p-given-name">Chris</span><br />
<abbr class="p-additional-name">R.</abbr><br />
<span class="p-family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
=== COMPATIBILITY ===<br />
<br />
microformats 2 is backwards compatible in that in permits content authors to markup with both old and new class names for compatibility with old tools.<br />
<br />
Here is a simple example:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<span class="fn">Chris Messina</span><br />
</h1><br />
</source><br />
<br />
a microformats 2 parser would see the class name "h-card" and imply the one required property from the contents, while a microformats 1.0 parser would find the class name "vcard" and then look for the class name "fn". no data duplication is required. this is a very important continuing application of the <abbr title="don't repeat yourself">DRY</abbr> [[principle]].<br />
<br />
And the above hyperlinked example with both sets of class names:<br />
<br />
<source lang=html4strict><br />
<h1 class="h-card vcard"><br />
<a class="p-fn u-url n fn url" href="http://factoryjoe.com/"><br />
<span class="p-given-name given-name">Chris</span><br />
<abbr class="p-additional-name additional-name">R.</abbr><br />
<span class="p-family-name family-name">Messina</span><br />
</a><br />
</h1><br />
</source><br />
<br />
<br />
=== VENDOR EXTENSIONS ===<br />
<br />
(this section was only discussed verbally and not written up during discussions - capturing here as it is topical)<br />
<br />
Proprietary extensions to formats have typically been shortlived experimental failures with one big recent exception.<br />
<br />
Proprietary or experimental CSS3 property implementations have been very successful.<br />
<br />
There has been much use of border radius properties and animations/transitions which use CSS properties with vendor-specific prefixes like:<br />
<br />
* -moz-border-radius<br />
* -webkit-border-radius<br />
<br />
etc.<br />
<br />
Note that these are merely string '''prefixes''', not bound to any URL, and thus not namespaces in any practical sense of the word. This is quite an important distinction, as avoiding the need to bind to a URL has made them easier to support and use.<br />
<br />
This use of vendor specific CSS properties has in recent years allowed the larger web design/development/implementor communities to experiment and iterate on new CSS features while the features were being developed and standardized.<br />
<br />
The benefits have been two-fold:<br />
* designers have been able to make more attractive sites sooner (at least in some browsers)<br />
* features have been market / real-world tested before being fully standardized, thus resulting in better features<br />
<br />
Implementers have used/introduced "x-" prefixes for IETF MIME/content-types for experimental content-types, MIME parameter extensions, and HTTP header extensions, per RFC 2045 Section 6.3, RFC 3798 section 3.3, and [https://secure.wikimedia.org/wikipedia/en/wiki/List_of_HTTP_header_fields#Common_non-standard_headers Wikipedia: HTTP header fields - non-standard headers] (could use RFC reference instead) respectively, like:<br />
<br />
* application/x-latex (per [https://secure.wikimedia.org/wikipedia/en/wiki/Internet_media_type#Type_x Wikipedia Internet media type: Type x])<br />
* x-spam-score (in email headers)<br />
* X-Pingback (per [http://en.wikipedia.org/wiki/Pingback Wikipedia:Pingback])<br />
<br />
Some standard types started as experimental "x-" types, thus demonstrating this experiment first, standardize later approach has worked for at least some cases:<br />
<br />
* image/x-png (standardized as image/png, both per [http://tools.ietf.org/html/rfc2083 RFC2083])<br />
<br />
There have been times when specific sites have wanted to extend microformats beyond what the set of properties in the microformat, and currently lack any '''experimental''' way to do so - to try and see if a feature (or even a whole format) is interesting in the real world before bothering to pursue researching and walking it through the microformats process. Thus:<br />
<br />
'''Proposal:'''<br />
* '*-x-' + '-' + meaningful name for root and property class names<br />
** where "*" indicates the single-character-prefix as defined above<br />
** where "x" indicates a literal 'x' for an experimental extension OR<br />
** OR "x" indicates a vendor prefix (more than one character, e.g. like CSS vendor extension abbreviations, or some stock symbols, avoiding first words/phrases/abbreviations of microformats properties like dt-)<br />
** e.g.<br />
** "h-bigco-one-ring" - a hypothetical "bigco" vendor-specific "one-ring" microformat root class name.<br />
** "p-goog-preptime" - to represent [http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Google's "preptime" property extension] to [[hRecipe]] (aside: "duration" may be another property type to consider separate from "datetime" as it may be subject to different parsing rules.)<br />
** "p-x-prep-time" - a possible experimental property name to be added to hRecipe upon consideration/documentation of real-world usage/uptake.<br />
<br />
Background - this proposal is a composition of the following (at least somewhat) successful vendor extension syntaxes<br />
* [http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords CSS 2.1 4.1.2.1 Vendor-specific extensions]<br />
* IETF MIME/content-type "x-*" extensions per RFC 2045 Section 6.3. [http://en.wikipedia.org/wiki/Internet_media_type]<br />
* IETF MIME experimental fields (e.g. x-spam-score)<br />
* HTTP header extensions (e.g. x-pingback)<br />
* note also [http://www.mnot.net/blog/2009/02/18/x- some critical thoughts from mnot]<br />
<br />
=== USERS ===<br />
Need more tools and interfaces that:<br />
* publish<br />
* copy/paste<br />
* right-click on a microformat<br />
* share<br />
* search results<br />
<br />
discussed some existing like: [[H2VX]] converts hCard to vCard, hCalendar to iCalendar<br />
<br />
how would we re-implement Live Clipboard today, making it easier for publishers and developers?<br />
<br />
=== SEE ALSO ===<br />
* [[microformats2]]<br />
* [[microformats2-brainstorming]] - moving more experimental / undeveloped / and rejected thoughts ideas here to simplify/progress *this* page further.<br />
* [[microformats2-prefixes]]<br />
* [[microformats2-faq]]<br />
* [[microformats2-parsing]]</div>
ChiefRA